0

Manifold を使用して ESRI シェイプファイルを SQL Server 2008 にエクスポートしました。これにより、type の列「Shape」が得られますGeometry。Manifold .prj ファイルは次のようになります。

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 が間違っていると思いますか? その場合、どうすれば正しいものになりますか?

4

1 に答える 1

2

問題解決: 引数の正しい順序は ですgeometry::Point(long,lat,SRID)。私はそれが緯度、経度、SRIDになると思いました..

于 2009-11-11T16:12:47.763 に答える