डेटा को ogr2ogr पर पाइप करना


10

क्या डेटा को सीधे पाइप करना संभव है ogr2ogr? मैं curlGeoJSON फ़ाइल की कोशिश कर रहा हूं और ogr2ogrइसे दूसरे प्रारूप में कवर करने के लिए पाइप करता हूं ।

एक पाइप का उपयोग किए बिना, मैं पहली बार एक फ़ाइल लिखकर और फिर निम्न कमांड का उपयोग करके इसे परिवर्तित करने में सक्षम था, लेकिन मैं उत्सुक हूं कि क्या उस चरण को छोड़ना संभव है।

curl "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson" -o "countries.geojson" && ogr2ogr -f "KML" countries.kml countries.geojson

मैंने इसे पाइप करने के बजाय कर्ल आउटपुट के साथ एक चर बनाने की कोशिश की, लेकिन ogr2ogrइसे पढ़ने में सक्षम नहीं था:

DATA=$(curl -s "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson") && ogr2ogr -f "KML" countries.kml $DATA

जवाबों:


18

ओजीआर के पास स्टडिन के लिए अपना मुहावरा है /vsistdin/। इसका उपयोग ogr2ogr के पहले तर्क (dst_datasource_name) के रूप में करें और आप कर्ल के आउटपुट को इसके साथ जोड़ सकते हैं:

curl "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson" | ogr2ogr -f "KML" countries.kml /vsistdin/

2
कम से कम विंडोज पर यह इस तरह भी काम करता है: trac.osgeo.org/gdal/wiki/UserDocs/ReadInZipogrinfo -ro -al -so /vsicurl/http://svn.osgeo.org/gdal/trunk/autotest/ogr/data/poly.shp पर अन्य उदाहरण
user30184

8

आप URL का उपयोग OGR डेटा स्रोतों के पथ के रूप में कर सकते हैं, इसलिए आपको कर्ल या पाइप की आवश्यकता नहीं है।

ogr2ogr -f KML countries.kml https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson

1
वह तो कमाल है! मुझे पता नहीं था कि एक संभावना थी। यह स्वीकृत उत्तर की तुलना में एक क्लीनर समाधान है, लेकिन प्रश्न स्पष्ट रूप से पाइपिंग के बारे में था ogr2ogr
jczaplew

2
अच्छा एक, माइक! मैं उनमें से किसी को भी सुपर क्लीन नहीं कहूंगा (स्रोत से पहले आने वाले डेस्टिनेशन को ओआरजी 2 ओआरजी लगाता है)। एक URL को एक स्थानीय फ़ाइल के रूप में मानना ​​काम करता है ... जब तक कि यह नहीं होता है। और कर्ल में बहुत सारे विकल्प हैं (क्रिया मोड, सुरक्षा) जो ओगर 2 नहीं करता है।
sgillies

अंतिम सूचीबद्ध की जा रही स्रोत फाइलें एक उचित विकल्प है, क्योंकि एक से अधिक हो सकते हैं।
स्टीव बेनेट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.