SQL Server Dattypes المكاني
-
19-09-2019 - |
سؤال
لقد قمت بتصدير شكل ESRI إلى SQL Server 2008 باستخدام مشعب، مما يعطيني عمود "شكل" Geometry
. وبعد يبدو ملف .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 خطأ؟ إذا كان ذلك ينبغي أن يكون هذه الحالة، كيف يمكنني الحصول على الصحيح؟
المحلول
حل المشكلة: الترتيب الصحيح للحجج هو geometry::Point(long,lat,SRID)
. وبعد أنا على الرغم من أنها ستكون LAT، طويل، SRID ..
لا تنتمي إلى StackOverflow