أكثر

كيف أقوم بإنشاء نقطة ، وحفظها مؤقتًا ، والتقاطع مع هندسة المضلع؟

كيف أقوم بإنشاء نقطة ، وحفظها مؤقتًا ، والتقاطع مع هندسة المضلع؟


الهدف من sql أدناه هو إنشاء نقطة من معرفة X و Y. يجب بعد ذلك تخزين النقطة بمسافة معروفة. أخيرًا ، يجب أن يتقاطع SQL مع المخزن المؤقت مع طبقة مضلع أساسية ويعيد حقل الاسم من المضلع الذي يتقاطع فيه المخزن المؤقت. يبدو واضحًا.

حدد الاسم من المضلعات t1 حيث sde.st_intersects (sde.st_buffer (sde.st_point (x ، y) ، المخزن المؤقت) ، t1.SHAPE) = 1

عندما أقوم بتشغيل SQL ، أحصل على ما يلي:

خطأ في السطر 3 ORA-20003: النوع الهندسي "" ليس نوع شكل صالحًا. ORA-06512: عند "SDE.ST_GEOM_UTIL" ، السطر 275 ORA-06512: عند "SDE.ST_POINT" ، السطر 21

ما الخطأ الذي أفعله وكيف يمكنني إصلاحه؟ إن X ، Y الذي أستخدمه موجودان بالتأكيد في المنطقة الصحيحة ، لذا لا ينبغي أن يكون التخزين المؤقت وإيجاد التقاطع مشكلة.

أنا أستخدم st_geometry في Oracle من Arc 10.1


تحتاج إلى إضافة SRID إلى ST_POINT.

حدد الاسم من المضلعات t1 حيث sde.st_intersects (sde.st_buffer (sde.st_point (x ، y ، SRID) ، المخزن المؤقت) ، t1.SHAPE) = 1

شاهد الفيديو: وحدة الهندسة درس المضلعات للصف الخامس