سؤال

لقد قمت بتصدير شكل 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 ..

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top