Ogr2ogr या gpc के साथ बहुभुज को भंग / एकत्रित करें?


16

मेरे पास अमेरिकी काउंटियों की सीमाओं का प्रतिनिधित्व करने वाले बहुसंख्यक बहुभुज हैं जिन्हें मुझे यथासंभव कुछ बहुभुजों में विलय करने की आवश्यकता है।

क्या गैर-व्यावसायिक सॉफ़्टवेयर, या उचित मूल्य के सॉफ़्टवेयर के साथ ऐसा करना संभव है?

PostGIS उपलब्ध नहीं है, न ही जावा, लेकिन C है।


OpenSourceSoftware चीजों का एक बहुत कुछ कर सकता है, आपको क्या चाहिए ... एक उपकरण, एक पुस्तकालय और एक सी कंपाइलर भी किस वातावरण / ऑपरेटिंग सिस्टम में काम करता है?
हक्फिन

डाउनलोड www.ggis.org से एंटिजियो
एंटोनियो लोकेन्ड्रो

@ हफ़्फ़िन: मैं सेंटोस पर हूँ, और कमांड लाइन टूल या पर्ल-एक्सएस या सी लाइब्रेरी आदर्श होगी, पूछने के लिए धन्यवाद। मेरा स्रोत डेटा ESRI शेपफाइल्स में है, हालांकि मेरे पास बहुभुज की प्रतियां MySQL में हैं। मैं ogr2ogr है, लेकिन MySQL बोली नहीं है।
लीगी

मुझे लगता है कि gpcशीर्षक में संदर्भित GPC है - मैनचेस्टर विश्वविद्यालय से जनरल बहुभुज क्लिपर पुस्तकालय
मैट विल्की

जवाबों:


31

साथ ogr2ogr(GDAL> = 1.10 SpatiaLite समर्थन के साथ):

ogr2ogr output.shp input.shp -dialect sqlite -sql "SELECT ST_Union(geometry), dissolve_field FROM input GROUP BY dissolve_field"

1
क्या विंडोज के लिए Gdal / Ogr में से कोई भी निर्माण करता है, जिसमें Spatialite समर्थन, MS4W, OSGeo4w, gisinternals, geoinformatica शामिल हैं?
klewis

AFAIK OSGeo4W और पैकेज सुनिश्चित करने के लिए तामस ज़ेकेरेस ( vbkto.dyndns.org/sdk ) द्वारा बनाए रखा गया है।
एंटोनियो फालियानो

1
GDAL के किस संस्करण का आप उपयोग कर रहे हैं ( gdalinfo --version)? वर्कअराउंड के रूप में, आप पहले एक आकृति बनाने की कोशिश कर सकते हैं और फिर इसे केएमएल में बदल सकते हैं, क्योंकि केएमएल चालक की कुछ सीमाएँ हैं।
एंटोनियो फाल्कियानो

3
मेरे पास एक समय का एक शैतान था जो यह निर्धारित करता था कि "ज्यामिति" के लिए क्या उपयोग करना है, इस तरह के कॉलम में त्रुटि नहीं मिल रही थी : ज्यामिति । स्टैक पर और संदर्भ डॉक्स में इसी तरह के उदाहरण के सभी भी भू या the_geom जैसे टूटे हुए वेरिएंट का उपयोग करते हैं । अंत में मैंने ओग्रीनोफ़ -so सारांश का केवल स्विच खोजा : ogrinfo -so somedata.gdb my_layer_nameऔर "ज्योमेट्री कॉलम =" के लिए फ़िल्टर
मैट विल्की

3
इसके अलावा, यदि आप आकार के सभी बहुभुजों को केवल एक बड़े बहुभुज में घोलना चाहते हैं, तो आप कर सकते हैं: ogr2ogr output_dissolved.shp input.shp -dialect sqlite -sql "SELECT ST_Union (ज्यामिति) AS ज्यामिति से इनपुट" याद रखें, यदि आप GDAL का निर्माण करते हैं। अपने आप को, आपको साइक्लाइट स्थापित करने की आवश्यकता है और कॉन्फ़िगरेशन में कम से कम स्केलाइट और स्पैटियलाइट शामिल करना चाहिए, अर्थात झंडे - साथ-स्क्लाइट - बीच-स्पैटियलाइट = हाँ या समान।
सेमी 1

3

आप एक शुद्ध हल्के वजन सी पहुँच चाहते हैं, आप के combiantion उपयोग कर सकते हैं shapelib फ्रैंक Warmerdam से और gpc एलन Murta से। मुझे लगता है कि आकार में DBF हैंडलिंग थोड़ा मुश्किल है, लेकिन इसे पढ़ना ठीक है। पर्ल के लिए आप उन्हें भू :: Shapelib और गणित :: ज्यामिति :: GPC प्रविष्टियों के तहत CPAN रिपोजिटरी में पा सकते हैं । जियो के अलावा :: समन्वय परिवर्तन के लिए प्रोज 4 में आप जीआईएस परिचालनों के लिए न्यूनतम पहुंच रख सकते हैं। मुझे वह पसंद है।


धन्यवाद - मैंने वह कोशिश की, लेकिन यह बहुत धीमी गति से लग रहा था: एक मैकबुकप्रो 4 जीजी पर 2,000 काउंटियों को एकत्र करने के लिए एक घंटे से अधिक। शायद यह मेरी कोडिंग है :)
लीगी

क्या आप उदाहरण के लिए किसी भी प्रकार के अनुक्रमण, ओवरलैपिंग बॉक्स का उपयोग करते हैं?
हक्फिन

नहीं - मैं चारों ओर अंधेरे में ठोकर खा रहा हूं, रिफ को ढूंढना मुश्किल है जो यह नहीं मानते हैं कि मैं वर्षों से ऐसा कर रहा हूं, या पोस्टजीआईएस चला रहा हूं।
लीगी

लेकिन आप Postgresql / PostGIS का उपयोग सभी उन्नत सामान अनुक्रमण, संबंध ... संचालन के साथ कर सकते हैं। आकार के लिए डेटा आयात उपकरण shp2pg के साथ बहुत आसान है। और SQL सिंटैक्स को सीखना इतना मुश्किल नहीं है ...
huckfinn

पोस्टजीआईएस को यह पता लगाने में सेकंड लगते हैं - खूबसूरती से सरल, विशेष रूप से ऑग्रे 2ogr के साथ। लेकिन मैं बजाय GPC का उपयोग कर रहा हूँ: मैं फ़ाइलों से बहुभुज संचित कर रहा हूँ, हर बार एक UNION बनाने में, और यह करने में घंटों लग गए जो PostGIS ने सचमुच सेकंड में किए, यही कारण है कि मुझे यह कहना चाहिए कि यह डॉक्स का मेरा गलत प्रसार होना चाहिए ।
19
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.