Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 查找最近的坐标(wgs84)_Sql_Database_Wgs84 - Fatal编程技术网

Sql 查找最近的坐标(wgs84)

Sql 查找最近的坐标(wgs84),sql,database,wgs84,Sql,Database,Wgs84,我得到了一个充满地址和WGS84坐标的数据库,在0到50公里的范围内,我计算了参数中有多少地址 SQL: 表2(然后我想将壁橱与表1数据进行匹配!) 如何找到距离lat='55497922'和Long='845101581'最近的WGS84。 在这方面,我的sql技能似乎有限。我试过使用“WHERE Table.wgs84long=LIKE xxx”,但效果不太好 文章也将非常感谢:)结果是否包括除第二个条目以外的条目(第二个条目应该是与给定lat-long(不是给定lat-long)最近的点)

我得到了一个充满地址和WGS84坐标的数据库,在0到50公里的范围内,我计算了参数中有多少地址

SQL:

表2(然后我想将壁橱与表1数据进行匹配!)

如何找到距离lat='55497922'和Long='845101581'最近的WGS84。 在这方面,我的sql技能似乎有限。我试过使用“WHERE Table.wgs84long=LIKE xxx”,但效果不太好


文章也将非常感谢:)

结果是否包括除第二个条目以外的条目(第二个条目应该是与给定lat-long(不是给定lat-long)最近的点)?@JerryFederspiel:是的!对不起,如果我不清楚自己的意思,英语不是我的第一语言:)我提供的样本是第二张表!我可以提供一个小样本我的主要表,我希望比较@JerryFederspiel:我现在提供了主表:)您想将表1中的每个点与表2中最近的点进行匹配吗?反过来。我想将表2中的点与表1中的点进行匹配!问题是结果中包含的条目不是第二个条目(应该是与给定lat-long(不是给定lat-long)最近的点)?@JerryFederspiel:是的!对不起,如果我不清楚自己的意思,英语不是我的第一语言:)我提供的样本是第二张表!我可以提供一个小样本我的主要表,我希望比较@JerryFederspiel:我现在提供了主表:)您想将表1中的每个点与表2中最近的点进行匹配吗?反过来。我想将表2中的点与表1中的点进行匹配!
DECLARE @Lat float, @Long float;
DECLARE @MaxRange int, @MinRange int, @RangeDivisor float, @RangeEnhed varchar(10);
SET @MinRange = 0; -- Minimumsafstand fra punkt
SET @MaxRange = 50; -- Maksimumaftand fra punkt
SET @RangeDivisor = 1000; -- Enhedslængde
SET @RangeEnhed = 'KM'; -- Enhed

USE Potentiale
SELECT @Lat = dbo.HeleDanmark_DAWA.wgs84koordinat_bredde, @Long = dbo.HeleDanmark_DAWA.wgs84koordinat_længde
FROM dbo.HeleDanmark_DAWA WHERE KVHx = '10100040014010000'; -- Skiftes ud så vi har noget at søge på (Std.: Abel Catrhines Gade 14 = 10100040014010000)

WITH Distance AS (
SELECT
  KVHx,
  wgs84koordinat_bredde,
  wgs84koordinat_længde,
  Geog.STDistance(geography::Point(@Lat, @Long, 4326))/@RangeDivisor [Afstand],
  @RangeEnhed [Enhed]
FROM dbo.HeleDanmark_DAWA)

SELECT KVHx, wgs84koordinat_længde AS Long, wgs84koordinat_bredde AS Lat, Afstand, Enhed
FROM Distance
WHERE Afstand <= @MaxRange AND Afstand >= @MinRange 
ORDER BY Afstand
Latitude          |     Longitude
-------------------------------------
55.5313963845829  | 8.35251516977335
55.5312443688612  | 8.35277495818283
55.5301254735429  | 8.35153843756768
55.5611352006539  | 8.47886488626897
55.5604841267899  | 8.47779554332068
55.5624113202676  | 8.47854023997904
55.560663076283   | 8.47289325417751
Latitude    | Longitude
-------------------------
55,497922   | 8,45101581
55,60777589 | 8,504865646
55,12208021 | 9,066325298
55,81149643 | 8,642359956
55,55564138 | 8,846147399
55,26855212 | 9,180423727
55,61868893 | 8,474493713
55,73017722 | 8,221978913