পোলিগন থেকে পোস্টজিআইএস-এ মাল্টিপলগলিয়নে কীভাবে টাইপকাস্ট রূপান্তর করবেন?


30

বহুভুজ টাইপ বহুবিধ টাইপস্টাস্ট করার কোন উপায় আছে?

উদাহরণস্বরূপ, আমি একটি পয়েন্টে ST_Buffer () ব্যবহার করে একটি বৃত্ত তৈরি করেছি। ফাংশনটির রিটার্ন টাইপ বহুভুজ টাইপের is সমস্যাটি হ'ল জ্যামিতি কলামে এটিকে মাল্টিপলিগন টাইপের মধ্যে সীমাবদ্ধ করার একটি সীমাবদ্ধতা রয়েছে। সুতরাং, আমি একটি সহজ বহুভুজ sertোকাতে পারি না।

আমি ST_MPolyFromText () ফাংশনটি ব্যবহার করেছি, তবে যথারীতি এটি এর জন্য বাতিল হয়ে যাচ্ছে এবং এসT_ডাম্প () সঠিক আউটপুট দিচ্ছে না।

সীমাবদ্ধতা হ'ল:

CONSTRAINT enforce_geotype_geom CHECK (geometrytype(geom) = 'MULTIPOLYGON'::text OR geom IS NULL),

একটি বহুভুজের সীমাবদ্ধতা যুক্ত করার কোনও কারণ আছে? বহুবিধে সীমাবদ্ধতা পরিবর্তন করার বিষয়ে কীভাবে?
আন্ডার ডার্ক

এটি কি শিশুদের gis.stackex بدل . com / Quetions / 14198 / … নিয়ে প্রশ্ন নয় ?
unicoletti

এটি হ'ল, তবে এটি আবারও স্ট্যান্ড-একা প্রশ্ন হতে পারে।
আন্ডার ডার্ক

হ্যাঁ এটি একটি শিশুদের প্রশ্ন, তবে সমস্যাটি যখন আপনি পোলগিজের মধ্যে শেগফাইলটি আমদানি করেন যা বহুভুজ স্তর ধারণ করে তখন স্বয়ংক্রিয়ভাবে এটি বহুগুণের জ্যামিতি তৈরি করে। তারপরে ডেটাটাইপটিকে বহুভুজ থেকে বহুভুতে রূপান্তর করা কিছুটা ক্লান্তিকর .. কারণ এটি ক্লায়েন্ট দ্বারা সম্পন্ন হবে। সুতরাং পোস্টপিস দ্বারা নির্মিত সেই ধরণের কলম্বনে আউটপুট সংরক্ষণ করতে হবে ..
ভিকি

PS: বিপরীতটি করতে, বহু-বহু থেকে বহু ব্যবহার করতে st_geometryn(geom, 1)
পিটার ক্রাউস

উত্তর:


55

ST_ মাল্টী - জ্যামিতিকে একটি মাল্টি * জ্যামিতি হিসাবে ফিরিয়ে দেয় । যদি জ্যামিতিটি ইতিমধ্যে একটি মাল্টি * হয় তবে তা অপরিবর্তিত অবস্থায় ফিরে আসে।

উদাহরণ:

SELECT ST_AsText(ST_Multi(ST_GeomFromText('POLYGON((743238 2967416,743238 2967450,
        743265 2967450,743265.625 2967416,743238 2967416))')));
        st_astext
        --------------------------------------------------------------------------------------------------
        MULTIPOLYGON(((743238 2967416,743238 2967450,743265 2967450,743265.625 2967416,
        743238 2967416)))
        (1 row)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.