"होल के बाहर स्थित झूठ कैसे ठीक करें"


10

मुझे बहुभुज आकृतियों के साथ एक डाटासेट मिला, जिसमें ज्यामिति को क्यूजीआईएस प्लगइन " ज्यामिति अपडेटर " द्वारा अद्यतन किया गया था । अब मुझे यह समस्या है कि PostGIS में मुझे त्रुटि संदेश "होल झूठ बाहर खोल" के साथ अवैध ज्यामिति मिलती है । लेकिन जब QGIS में ज्यामिति का अवलोकन करते हैं, तो वास्तव में दो आकृतियाँ होती हैं, जहाँ एक मुख्य ज्यामिति होती है और दूसरी (शायद) छिद्र।

यहाँ छवि विवरण दर्ज करें

मैंने सोचा कि इसका कारण यह था कि ज्यामिति का प्रकार निर्धारित था ST_Polygon। लेकिन इसे बदलने के बाद भी ST_MultiPolygon, त्रुटि अभी भी बनी हुई है। किसी को एक विचार है कि इसे कैसे ठीक किया जाए? मैन्युअल रूप से QGIS में भी ठीक होगा।

संपादित करें:

यह चित्र में आकृति का मूल WKT है (इसे बदलने से पहले ST_MultiPolygon):

बहुभुज ((681328,211640639 5312556.84866055,681333.876018639 5312566.85338355,681344.126811639 5312584.17146655,681360.13777864 5312605.81168455,681368.571629639 5312620.16794654,681375.15817664 5312633.84801255,681380.74133464 5312647.74367554,681384.01769064 5312658.41482554,681392.01169764 5312694.63471254,681393.07199764 5312701.83700354,681389.16681464 5312705.85459254,681379.79126564 5312704.26135554,681393.93193764 5312715.39845154,681401.81727164 5312723.43382354,681398.09962564 5312710.95653254,681395.19739764 5312693,68448654 , 681387.20535464 5312657.40285554,681383.87846764 5312644.38168654,681378.69327164 5312632.35257854,681367.00831364 5312610.47778954,681346.401239639 5312581.83289054,681336.365640639 5312564.27437955,681340.423191639 5312560.69415655,681365.23709764 5312567.84133655,681374.16498264 5312570.47104354,681390।52225764 5312565.30077054,681395.29993964 5312563.90629854,681410.98915364 5312545.67508754,681413.79585564 5312536.98783954,681415.77221864 5312530.93185454,681416.991529641 5312523.86320254,681406.38747164 5312515.12414654,681403.96790864 5312507.57002154,681395.94924164 5312514.30082354,681394.08765664 5312516.71419154,681390.91027864 5312518.71529654,681387.07111564 5312520.63375054,681381.90838164 5312522.38690354,681376.13571264 5312525.04785255,681366.362498639 5312530.79640254,681349.071127639 5312540.57236955,681332.287335639 5312550,05537054 , ६८१३२१.९९२४३०६३९ 5312555.23135255,681328.211640639 ५३,१२,५५६.८,४८,६६,०५५), (681306,938491638 5312528.24474655,681318.811081639 5312521.75881455,681324.059996639 5312518.58690655,681330.950098639 5312514.72509155,681336.554227639 5312510.82277555,681341.802513639 5312506.35305054,681352.668573639 5312497।54885354,681356.654879639 5312493.59559054,681360.976303639 5312488.23147354,681363.302624639 5312486.88334655,681366.15656264 5312485.92264755,681369.80127664 5312486.22287554,681375.12800564 5312488.49191954,681382.62287464 5312493.11590554,681385.88903564 5312494.88743254,681387.74606564 5312495.25494754,681393.90959164 5312496.00535955,681389.15656464 5312487.38890554,681365.00476264 5312481.62211554,681327.726005639 5312490.52129555,681306.883836639 5312494.37629255,681298.999414638 5312496.84720955,681306.938491638 5312528,24474655) )90959164 5312496.00535955,681389.15656464 5312487.38890554,681365.00476264 5312481.62211554,681327.72675656 5312490.52.55.56.686466486466486449849649649849449649649449649849496494494648644649644649644649894496494496496496496496496496497494494 मोबाइल नंबर की जानकारी प्राप्त करें।90959164 5312496.00535955,681389.15656464 5312487.38890554,681365.00476264 5312481.62211554,681327.72675656 5312490.52.55.56.686466486466486449849649649849449649649449649849496494494648644649644649644649894496494496496496496496496496497494494 मोबाइल नंबर की जानकारी प्राप्त करें।


3
आम तौर पर यह कोने की दिशा के कारण होता है। यदि पॉलीगनों में से एक घड़ी की दिशा में है और दूसरा काउंटर-क्लॉकवाइज है तो यह सोचता है कि दूसरा छेद है। यह सिर्फ एक विचार है, दुर्भाग्य से मुझे नहीं पता कि इसे कैसे ठीक किया जाए
ylka

यदि आप एक पाठ संपादक में कॉपी और पेस्ट सुविधा तो आप शायद एक multipolygon के लिए इसे बदल और QuickWKT का उपयोग कर reimport कर सकते हैं
इयान Turton

क्या आप अपनी सुविधा का WKT पोस्ट कर सकते हैं?
थिबुतग

@thibautg मैं सिर्फ
जोबे

जवाबों:


11

वास्तव में, PostGIS में ST_IsValidReason रिटर्नHole lies outside shell[681306.938491638 5312528.24474655]

ST_MakeValid ने इसे MULTIPOLYGON में बदल दिया:

MULTIPOLYGON(((681306.938491638 5312528.24474655,681318.811081639 5312521.75881455,681324.059996639 5312518.58690655,681330.950098639 5312514.72509155,681336.554227639 5312510.82277555,681341.802513639 5312506.35305054,681352.668573639 5312497.54885354,681356.654879639 5312493.59559054,681360.976303639 5312488.23147354,681363.302624639 5312486.88334655,681366.15656264 5312485.92264755,681369.80127664 5312486.22287554,681375.12800564 5312488.49191954,681382.62287464 5312493.11590554,681385.88903564 5312494.88743254,681387.74606564 5312495.25494754,681393.90959164 5312496.00535955,681389.15656464 5312487.38890554,681365.00476264 5312481.62211554,681327.726005639 5312490.52129555,681306.883836639 5312494.37629255,681298.999414638 5312496.84720955,681306.938491638 5312528.24474655)),((681328.211640639 5312556.84866055,681333.876018639 5312566.85338355,681344.126811639 5312584.17146655,681360.13777864 5312605.81168455,681368.571629639 5312620.16794654,681375.15817664 5312633.84801255,681380.74133464 5312647.74367554,681384.01769064 5312658.41482554,681392.01169764 5312694.63471254,681393.07199764 5312701.83700354,681389.16681464 5312705.85459254,681379.79126564 5312704.26135554,681393.93193764 5312715.39845154,681401.81727164 5312723.43382354,681398.09962564 5312710.95653254,681395.19739764 5312693.68448654,681387.20535464 5312657.40285554,681383.87846764 5312644.38168654,681378.69327164 5312632.35257854,681367.00831364 5312610.47778954,681346.401239639 5312581.83289054,681336.365640639 5312564.27437955,681340.423191639 5312560.69415655,681365.23709764 5312567.84133655,681374.16498264 5312570.47104354,681390.52225764 5312565.30077054,681395.29993964 5312563.90629854,681410.98915364 5312545.67508754,681413.79585564 5312536.98783954,681415.77221864 5312530.93185454,681416.991529641 5312523.86320254,681406.38747164 5312515.12414654,681403.96790864 5312507.57002154,681395.94924164 5312514.30082354,681394.08765664 5312516.71419154,681390.91027864 5312518.71529654,681387.07111564 5312520.63375054,681381.90838164 5312522.38690354,681376.13571264 5312525.04785255,681366.362498639 5312530.79640254,681349.071127639 5312540.57236955,681332.287335639 5312550.05537054,681321.992430639 5312555.23135255,681328.211640639 5312556.84866055)))

3

मेरे पास OpenJUMP के "मेक जियोमेट्रीज़ वैलिड" टूल के साथ एक कोशिश थी और यह एक ज्यामितीय के रूप में सही ज्यामिति लौटाता है। OpenJUMP यह अपने स्वयं के MakeValid फ़ंक्शन का उपयोग कर रहा है। मुझे नहीं पता कि QGIS का समतुल्य कार्य है या नहीं, क्योंकि आपके पास PostGIS में पहले से ही सुविधा है, आप बस ST_MakeValid http://postgis.net/docs/ST_MakeValid.html का उपयोग कर सकते हैं ।

MULTIPOLYGON (((६,८१,३२८.२११६४०६३९ ५३,१२,५५६.८,४८,६६,०५५, ६,८१,३३३.८७६०१८६३९ ५३,१२,५६६.८,५३,३८,३५५, ६,८१,३४४.१२६८११६३९ ५३,१२,५८४.१,७१,४६,६५५, ६,८१,३६०.१,३७,७७,८६४ ५३,१२,६०५.८,११,६८,४५५, ६,८१,३६८.५७१६२९६३९ ५३,१२,६२०.१,६७,९४,६५४, ६,८१,३७५.१,५८,१७,६६४ ५३,१२,६३३.८,४८,०१,२५५, ६,८१,३८०.७,४१,३३,४६४ ५३,१२,६४७.७,४३,६७,५५४, ६,८१,३८४.०,१७,६९,०६४ ५३,१२,६५८.४,१४,८२,५५४, ६,८१,३९२.०,११,६९,७६४ ५३,१२,६९४.६,३४,७१,२५४, ६,८१,३९३.०,७१,९९,७६४ ५३,१२,७०१.८,३७,००,३५४, ६,८१,३८९.१,६६,८१,४६४ ५३,१२,७०५.८,५४,५९,२५४, ६,८१,३७९.७,९१,२६,५६४ ५३,१२,७०४.२,६१,३५,५५४, ६,८१,३९३.९,३१,९३,७६४ ५३,१२,७१५.३,९८,४५,१५४, ६,८१,४०१.८,१७,२७,१६४ ५३,१२,७२३.४,३३,८२,३५४, ६,८१,३९८.०,९९,६२,५६४ ५३,१२,७१०.९,५६,५३,२५४, ६,८१,३९५.१,९७,३९,७६४ 5312693.68448654, 681387.20535464 5312657.40285554,681383.87846764 5312644.38168654, 681378.69327164 5312632.35257854, 681367.00831364 5312610.47778954, ६,८१,३४६.४०१२३९६३९ ५३,१२,५८१.८,३२,८९,०५४, ६,८१,३३६.३६५६४०६३९ ५३,१२,५६४.२,७४,३७,९५५, ६,८१,३४०.४२३१९१६३९ ५३,१२,५६०.६,९४,१५,६५५, ६,८१,३६५.२,३७,०९,७६४ ५३,१२,५६७.८,४१,३३,६५५, ६,८१,३७४.१,६४,९८,२६४ ५३,१२,५७०.४,७१,०४,३५४, ६,८१,३९०.५,२२,२५,७६४ ५३,१२,५६५.३,००,७७,०५४, ६,८१,३९५.२,९९,९३,९६४ ५३,१२,५६३.९,०६,२९,८५४, ६,८१,४१०.९,८९,१५,३६४ ५३,१२,५४५.६,७५,०८,७५४, ६,८१,४१३.७,९५,८५,५६४ ५३,१२,५३६.९,८७,८३,९५४, ६,८१,४१५.७,७२,२१,८६४ ५३,१२,५३०.९,३१,८५,४५४, ६,८१,४१६.९९१५२९६४१ ५३,१२,५२३.८,६३,२०,२५४, ६,८१,४०६.३,८७,४७,१६४ ५३,१२,५१५.१,२४,१४,६५४, ६,८१,४०३.९,६७,९०,८६४ ५३,१२,५०७.५,७०,०२,१५४, ६,८१,३९५.९,४९,२४,१६४ ५३,१२,५१४.३,००,८२,३५४ , 681394।08765664 5312516.71419154, 681390.91027864 5312518.71529654, 681387.07111564 5312520.63375054, 681381.90838164 5312522.38690354, 681376.13571264 5312525.04785255, ६,८१,३६६.३६२४९८६३९ ५३,१२,५३०.७,९६,४०,२५४, ६,८१,३४९.०७११२७६३९ ५३,१२,५४०.५,७२,३६,९५५, ६,८१,३३२.२८७३३५६३९ ५३,१२,५५०.०,५५,३७,०५४, ६,८१,३२१.९९२४३०६३९ ५३,१२,५५५.२,३१,३५,२५५, ६,८१,३२८.२११६४०६३९ ५३,१२,५५६.८,४८,६६,०५५)), ((६,८१,३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५, ६,८१,३१८.८११०८१६३९ ५३,१२,५२१.७,५८,८१,४५५, ६,८१,३२४.०५९९९६६३९ ५३,१२,५१८.५,८६,९०,६५५, ६,८१,३३०.९५००९८६३९ ५३,१२,५१४.७,२५,०९,१५५, ६,८१,३३६.५५४२२७६३९ ५३,१२,५१०.८,२२,७७,५५५, ६,८१,३४१.८०२५१३६३९ 5312506.35305054, 681352.668573639 5312497.54885354, 681356।654879639 5312493.59559054, ६,८१,३६०.९७६३०३६३९ ५३,१२,४८८.२,३१,४७,३५४, ६,८१,३६३.३०२६२४६३९ ५३,१२,४८६.८,८३,३४,६५५, ६,८१,३६६.१,५६,५६,२६४ ५३,१२,४८५.९,२२,६४,७५५, ६,८१,३६९.८,०१,२७,६६४ ५३,१२,४८६.२,२२,८७,५५४, ६,८१,३७५.१,२८,००,५६४ ५३,१२,४८८.४,९१,९१,९५४, ६,८१,३८२.६,२२,८७,४६४ ५३,१२,४९३.१,१५,९०,५५४, ६,८१,३८५.८,८९,०३,५६४ ५३,१२,४९४.८,८७,४३,२५४, ६,८१,३८७.७,४६,०६,५६४ ५३,१२,४९५.२,५४,९४,७५४, ६,८१,३९३.९,०९,५९,१६४ ५३,१२,४९६.०,०५,३५,९५५, ६,८१,३८९.१,५६,५६,४६४ ५३,१२,४८७.३,८८,९०,५५४, ६,८१,३६५.०,०४,७६,२६४ ५३,१२,४८१.६,२२,११,५५४, ६,८१,३२७.७२६००५६३९ ५३,१२,४९०.५,२१,२९,५५५, ६,८१,३०६.८८३८३६६३९ ५३,१२,४९४.३,७६,२९,२५५, ६,८१,२९८.९९९४१४६३८ ५३,१२,४९६.८,४७,२०,९५५, ६,८१,३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५)))६८१३६३.३०२६२४६३९ ५३,१२,४८६.८,८३,३४,६५५, ६,८१,३६६.१,५६,५६,२६४ ५३,१२,४८५.९,२२,६४,७५५, ६,८१,३६९.८,०१,२७,६६४ ५३,१२,४८६.२,२२,८७,५५४, ६,८१,३७५.१,२८,००,५६४ ५३,१२,४८८.४,९१,९१,९५४, ६,८१,३८२.६,२२,८७,४६४ ५३,१२,४९३.१,१५,९०,५५४, ६,८१,३८५.८,८९,०३,५६४ ५३,१२,४९४.८,८७,४३,२५४, ६,८१,३८७.७,४६,०६,५६४ ५३,१२,४९५.२,५४,९४,७५४, ६,८१,३९३.९,०९,५९,१६४ ५३,१२,४९६.०,०५,३५,९५५, ६,८१,३८९.१,५६,५६,४६४ ५३,१२,४८७.३,८८,९०,५५४, ६,८१,३६५.०,०४,७६,२६४ ५३,१२,४८१.६,२२,११,५५४, ६८१३२७.७२६००५६३९ ५३,१२,४९०.५,२१,२९,५५५, ६८१३०६.८८३८३६६३९ ५३,१२,४९४.३,७६,२९,२५५, ६८१२९८.९९९४१४६३८ ५३,१२,४९६.८,४७,२०,९५५, ६८१३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५)))६८१३६३.३०२६२४६३९ ५३,१२,४८६.८,८३,३४,६५५, ६,८१,३६६.१,५६,५६,२६४ ५३,१२,४८५.९,२२,६४,७५५, ६,८१,३६९.८,०१,२७,६६४ ५३,१२,४८६.२,२२,८७,५५४, ६,८१,३७५.१,२८,००,५६४ ५३,१२,४८८.४,९१,९१,९५४, ६,८१,३८२.६,२२,८७,४६४ ५३,१२,४९३.१,१५,९०,५५४, ६,८१,३८५.८,८९,०३,५६४ ५३,१२,४९४.८,८७,४३,२५४, ६,८१,३८७.७,४६,०६,५६४ ५३,१२,४९५.२,५४,९४,७५४, ६,८१,३९३.९,०९,५९,१६४ ५३,१२,४९६.०,०५,३५,९५५, ६,८१,३८९.१,५६,५६,४६४ ५३,१२,४८७.३,८८,९०,५५४, ६,८१,३६५.०,०४,७६,२६४ ५३,१२,४८१.६,२२,११,५५४, ६८१३२७.७२६००५६३९ ५३,१२,४९०.५,२१,२९,५५५, ६८१३०६.८८३८३६६३९ ५३,१२,४९४.३,७६,२९,२५५, ६८१२९८.९९९४१४६३८ ५३,१२,४९६.८,४७,२०,९५५, ६८१३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५)))681375.12800564 5312488.49191954, 681382.62287464 5312493.11590554, 681385.88903564 5312494.88743254, 681387.74606564 5312495.25494754, 681393.90959164 5312496.00535955, 681389.15656464 5312487.38890554, 681365.00476264 5312481.62211554, ६८१३२७.७२६००५६३९ ५३,१२,४९०.५,२१,२९,५५५, ६८१३०६.८८३८३६६३९ ५३,१२,४९४.३,७६,२९,२५५, ६८१२९८.९९९४१४६३८ ५३,१२,४९६.८,४७,२०,९५५, ६८१३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५)))681375.12800564 5312488.49191954, 681382.62287464 5312493.11590554, 681385.88903564 5312494.88743254, 681387.74606564 5312495.25494754, 681393.90959164 5312496.00535955, 681389.15656464 5312487.38890554, 681365.00476264 5312481.62211554, ६८१३२७.७२६००५६३९ ५३,१२,४९०.५,२१,२९,५५५, ६८१३०६.८८३८३६६३९ ५३,१२,४९४.३,७६,२९,२५५, ६८१२९८.९९९४१४६३८ ५३,१२,४९६.८,४७,२०,९५५, ६८१३०६.९३८४९१६३८ ५३,१२,५२८.२,४४,७४,६५५)))681365.00476264 5312481.62211554, 681327.726005639 5312490.52129555, 681306.883836639 5312494.37629255, 681298.999414638 5312496.84720955, 681306.938495556166166166।681365.00476264 5312481.62211554, 681327.726005639 5312490.52129555, 681306.883836639 5312494.37629255, 681298.999414638 5312496.84720955, 681306.938495556166166166।


JTS / GEOS वास्तव में एक makeValidफ़ंक्शन नहीं है । OpenJUMP में से एक उस एप्लिकेशन के लिए कस्टम-बिल्ट है, जैसा कि PostGIS है। '
dbaston

@dbaston, धन्यवाद, मुझे तथ्यों sourceforge.net/p/jts-topo-suite/mailman/message/34695185 की जाँच करनी चाहिए थी ।
user30184

मैंने उत्तर संपादित किया। MakeValid इच्छा सूची जेटीएस पर हो रहा है slideshare.net/jgarnett/state-of-jts-2017
user30184
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.