0
我已經使用Manifold將ESRI shapefile導出到SQL Server 2008,這給了我一個類型爲Geometry
的「Shape」列。該歧管.prj文件看起來像這樣SQL Server空間數據類型
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],
PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
所以我假設SRID是4326?然而,當我運行此查詢我希望它返回美國,但我沒有得到任何行:
DECLARE @lat float
DECLARE @long float
DECLARE @g geometry
SET @lat = 40.0
SET @long = -90.0
SET @g = geometry::Point(@lat,@long,4326);
SELECT * FROM Countries WHERE Shape.STContains(@g) = 1;
我已經測試過,工作這麼一些其他查詢我猜SRID是錯誤的?如果那應該是這種情況,我如何得到正確的?
你必須特別注意SQL Server中的參數排序。我相信x,y排序在幾何和地理之間是不同的(或者是在beta版本中)。 – 2009-11-17 21:38:31