अजगर: एक बहुभुज के "आंतरिक केन्द्रक" (जिसे आर्कपीप में लेबलबॉप के रूप में भी जाना जाता है) की गणना करने की विधि खोजें


13

मैं एक (अनियमित) बहुभुज के X, Y एक आंतरिक बिंदु के समन्वय (जिसे सेमीकैप के रूप में भी जाना जाता है) का समन्वय करने के लिए एक विधि की तलाश कर रहा हूं। मैं आर्कगिस मॉड्यूल के उपयोग के बिना एक समाधान खोजने की कोशिश कर रहा हूं

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

एक "सेंट्रोइड" और एक लेबलबोन के बीच का अंतर यह है कि सेंट्रो पॉलीगॉन के बाहर हो सकता है।

मैं सुडौल मॉड्यूल का उपयोग कर रहा हूं

से आकार में। ज्यामिति आयात बहुभुज

ref_polygon = Polygon(points)
# get the x and y coordinate of the centroid
ref_polygon.centroid.wkt
'POINT (558768.9293489187300000 6361851.0362532493000000)'

निम्नलिखित डेटा का उपयोग करना (मेरे बहुभुज का शीर्ष)

मदद और सुझावों के लिए अग्रिम धन्यवाद

points = [(560036.4495758876, 6362071.890493258),
          (560036.4495758876, 6362070.890493258),
          (560036.9495758876, 6362070.890493258),
          (560036.9495758876, 6362070.390493258),
          (560037.4495758876, 6362070.390493258),
          (560037.4495758876, 6362064.890493258),
          (560036.4495758876, 6362064.890493258),
          (560036.4495758876, 6362063.390493258),
          (560035.4495758876, 6362063.390493258),
          (560035.4495758876, 6362062.390493258),
          (560034.9495758876, 6362062.390493258),
          (560034.9495758876, 6362061.390493258),
          (560032.9495758876, 6362061.390493258),
          (560032.9495758876, 6362061.890493258),
          (560030.4495758876, 6362061.890493258),
          (560030.4495758876, 6362061.390493258),
          (560029.9495758876, 6362061.390493258),
          (560029.9495758876, 6362060.390493258),
          (560029.4495758876, 6362060.390493258),
          (560029.4495758876, 6362059.890493258),
          (560028.9495758876, 6362059.890493258),
          (560028.9495758876, 6362059.390493258),
          (560028.4495758876, 6362059.390493258),
          (560028.4495758876, 6362058.890493258),
          (560027.4495758876, 6362058.890493258),
          (560027.4495758876, 6362058.390493258),
          (560026.9495758876, 6362058.390493258),
          (560026.9495758876, 6362057.890493258),
          (560025.4495758876, 6362057.890493258),
          (560025.4495758876, 6362057.390493258),
          (560023.4495758876, 6362057.390493258),
          (560023.4495758876, 6362060.390493258),
          (560023.9495758876, 6362060.390493258),
          (560023.9495758876, 6362061.890493258),
          (560024.4495758876, 6362061.890493258),
          (560024.4495758876, 6362063.390493258),
          (560024.9495758876, 6362063.390493258),
          (560024.9495758876, 6362064.390493258),
          (560025.4495758876, 6362064.390493258),
          (560025.4495758876, 6362065.390493258),
          (560025.9495758876, 6362065.390493258),
          (560025.9495758876, 6362065.890493258),
          (560026.4495758876, 6362065.890493258),
          (560026.4495758876, 6362066.890493258),
          (560026.9495758876, 6362066.890493258),
          (560026.9495758876, 6362068.390493258),
          (560027.4495758876, 6362068.390493258),
          (560027.4495758876, 6362068.890493258),
          (560027.9495758876, 6362068.890493258),
          (560027.9495758876, 6362069.390493258),
          (560028.4495758876, 6362069.390493258),
          (560028.4495758876, 6362069.890493258),
          (560033.4495758876, 6362069.890493258),
          (560033.4495758876, 6362070.390493258),
          (560033.9495758876, 6362070.390493258),
          (560033.9495758876, 6362070.890493258),
          (560034.4495758876, 6362070.890493258),
          (560034.4495758876, 6362071.390493258),
          (560034.9495758876, 6362071.390493258),
          (560034.9495758876, 6362071.890493258),
          (560036.4495758876, 6362071.890493258)]

जवाबों:


8

मुझे लगता है कि प्रतिनिधि बिंदु वह है जो आप खोज रहे हैं

http://toblerity.github.com/shapely/manual.html#object.representative_point

अनिवार्य रूप से, आप बस ref_polygon.repretative_point () का उपयोग करेंगे। सेंट्रो विधि के बजाय wkt।

वास्तविक उदाहरण प्रदान करने के लिए संपादित किया गया।


+1, मुझे संदेह है कि गियानी एक आर्क-केंद्रित पृष्ठभूमि के साथ शुरू हुई थी, क्योंकि ईएसआरआई वास्तव labelPointमें उनके सिस्टम में इसका उल्लेख करता है। मुझे यह जानकर खुशी हुई कि अन्य तकनीकों और एपीआई में इसके लिए एक पर्याय है।
एलोब्रिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.