आकृति-प्रोजेक्ट को फिर से कैसे करें?


10

मैं QGIS प्रोजेक्ट को फिर से प्रोजेक्ट करना चाहता था, लेकिन ऐसा कोई विकल्प नहीं है। जब मैं ogr2ogrप्रत्येक वेक्टर लेयर (इस उदाहरण में आकारबद्ध) को पुन: प्रोजेक्ट करके इस कार्य के लिए सुझाए गए उत्तर की खोज करता हूं । हालाँकि मुझे अपेक्षित परिणाम नहीं मिले:

C:\temp>ogrinfo -al -so misc.shp
INFO: Open of `misc.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc
Geometry: Line String
Feature Count: 10
Extent: (21.267388, 42.015857) - (21.270225, 42.017470)
Layer SRS WKT:
PROJCS["MGI_Balkans_zone_7_deprecated",
    GEOGCS["GCS_MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",21],
    PARAMETER["scale_factor",0.9999],
    PARAMETER["false_easting",7500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]
id: Integer (10.0)

C:\temp>ogr2ogr -t_srs EPSG:4326 misc_re.shp misc.shp

C:\temp>ogrinfo -al -so misc_re.shp
INFO: Open of `misc_re.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc_re
Geometry: Line String
Feature Count: 10
Extent: (-34.004490, 0.000230) - (-34.004490, 0.000230)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984",
        SPHEROID["WGS_84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]]
id: Integer (10.0)

इसलिए नई फ़ाइल ने भौगोलिक समन्वय प्रणाली को बदल दिया है, लेकिन यह अनुमानित नहीं है।
उसको कैसे करे?


क्या आप किसी आकृति को दोबारा बनाने की कोशिश कर रहे हैं? एक प्रोजेक्ट फ़ाइल में एक .qqsसमाप्ति होती है, एक आकृति फाइल समाप्त होती है .shp। मुझे नहीं लगता कि आप एक परियोजना फ़ाइल को फिर से प्रोजेक्ट कर सकते हैं लेकिन मैं गलत हो सकता हूं।
djq

1
मुझे लगता है कि आप पहले से ही QGIS में "फ्लाई ऑन द फ्लाई" अस्वीकृति को जानते हैं जो किसी भी वेक्टर परत को पुन: उत्पन्न करने में सक्षम बनाता है।
स्टेको

@steko: अगर "फ्लाई पर" djq द्वारा उत्तर दिया गया है, तो हाँ मुझे पहले से ही पता था।
zetah

1
नहीं, यह एक और तरीका है और यह डेटा को स्थायी रूप से बदल देगा। मक्खी की अस्वीकृति पर केवल QGIS परियोजना में परिभाषित किया गया है और यह प्रभावित करेगा कि परतें कैसे कल्पना की जाती हैं लेकिन अंतर्निहित फ़ाइलों को स्पर्श नहीं करती हैं।
स्टेको

धन्यवाद मुझे उस बारे में नहीं पता था, और Googling ने मुझे दिखाया कि आपका क्या मतलब है। यह वही है जो मुझे चाहिए था। यदि आप कल ही अपनी अंतिम टिप्पणी पोस्ट कर सकते थे ... मैंने वहां पहुंचने के लिए बहुत कुछ किया था;)
zetah

जवाबों:


20

मान लें कि आप किसी आकृति को फिर से बनाना चाहते हैं, तो एक तरीका QGISयह है कि फ़ाइल right-clickको परत पर लोड किया जाए , चयन करें Save As…, और फिर निम्न विंडो दिखाई देती है:

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

यदि आप browseबगल में क्लिक करते हैं तो आप CRSअपनी फ़ाइल को सहेजने के लिए एक नया प्रक्षेपण चुन सकते हैं।

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

सभी शेपफाइल्स को एक फोल्डर में रीप्रोजेक्ट करने के लिए, कुछ इस तरह से काम कर सकता है:

set "str1=_projected"
for %f in (E:\data\*.shp) do ogr2ogr -t_srs EPSG:4326 %str1%"misc_re.shp %f

(मैंने इसका परीक्षण नहीं किया है और मैं विंडोज़ पर स्ट्रिंग कॉन्फैटेनेशन से अपरिचित हूं, न ही मैं ogr2ogr समस्या को हल कर रहा हूं - लेकिन यह कोड एक फ़ोल्डर के माध्यम से लूप करता है और प्रत्येक फ़ाइल पर कुछ चलाता है।)


हां यह बहुत अच्छा है, लेकिन मुझे हर परत के लिए ऐसा करना होगा, जो समय लेने वाली हो। कमांड लाइन का उपयोग करके मैं एक ही बार में सभी
लूपफाइल्स

क्या सभी फ़ोल्डर एक फ़ोल्डर में हैं?
djq

हां, वे एक ही फ़ोल्डर में
zetah

आपके प्रयास के लिए धन्यवाद, लेकिन क्या आपने वास्तव में मेरा प्रश्न पढ़ा है?
zetah

3
हाँ ... आप एक qgis प्रोजेक्ट फ़ाइल को अस्वीकार नहीं कर सकते, यही वजह है कि मैंने अपना पहला उत्तर दिया। तब मुझे एहसास हुआ कि आप थोक में आकार-प्रकार को फिर से बनाना चाहते हैं। ऐसा करने का एक तरीका ओगर के साथ कमांड लाइन का उपयोग करके एक फ़ोल्डर में सभी फ़ाइलों के माध्यम से लूप करना है (दूसरे को यह देखना होगा कि क्या आप ऑग्रे को एक आकृति के फ़ोल्डर में पास कर सकते हैं)।
djq
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.