أكثر

تحويل عمود PostGIS الهندسي بنوع هندسي غير معروف؟

تحويل عمود PostGIS الهندسي بنوع هندسي غير معروف؟


أقوم بتشغيل PostgreSQL 9.1 و PostGIS 2.0. لدي جدول يحتوي على عمود هندسة واحد.

لكن هذا العمود يحتوي على نقاط وخطوط مضلعات وما إلى ذلك.

لذلك قمت بتعيينه على هذا النحو ،

ALTER TABLE jake أضف COLUMN هندسة jake_geom ؛

وبعد ذلك قمت بتعيين بعض القيود لتمكين الهندسة ، ولكن لا تقتصر على نوع هندسي واحد

ALTER TABLE jake أضف CONSTRAINTforce_dims_geom CHECK (st_ndims (jake_geom) = 2) ؛ ALTER TABLE jake أضف CONSTRAINTforce_srid_geom CHECK (st_srid (jake_geom) = 900913) ؛

الآن ، أريد إعادة إسقاط الأشكال الهندسية في هذا العمود إلى4326.

وفقًا لهذا ، لكي يعمل التحويل ، أحتاج إلى تعيين نوع هندسي.

(الهندسة النوع (مضلع متعدد ، 2163)جزء)

لكن لا يحتوي عمودي على نوع هندسي معين. كيف أستمر؟

أو يمكنني أن أفعل ذلك ببساطة

ALTER COLUMN geom باستخدام ST_Transform (geom ، 2163) ؛

تجنب تحديد نوع؟


تحتاج أولاً إلى إسقاط قيد srid لديك على طاولتك. حتى مع وجود نوع هندسي غير مقيد ، يمكنك إجراء فحص srid في تعريف عمود Typmod لذلك لا داعي للجوء إلى القيد

ALTER TABLE jake DROP CONSTRAINTforce_srid_geom ؛ ALTER TABLE jake ALTER COLUMN هندسة jake_geom (الهندسة ، 2163) باستخدام ST_Transform (jake_geom ، 2163) ؛

شاهد الفيديو: تصميم الاعمدة وحساب الأحمال الرأسية بطريقة المساحات المؤثرة Area Method