ओपन-सोर्स टूल का उपयोग करके शेपफाइल में प्रक्षेपण कैसे जोड़ा जाए?


10

मुझे प्रक्षेपण के बिना कुछ आकार-प्रकार दिए गए हैं। इसलिए मुझे इसे Google मानचित्र पर प्रदर्शित करने के लिए प्रक्षेपण को जोड़ने की आवश्यकता है। मुझे http://spatialreference.org/ref/epsg/2066 पर प्रोजेक्शन की जानकारी चाहिए ।

प्रश्न:
मैं एक ओपन सोर्स विधि का उपयोग करके प्रक्षेपण को कैसे जोड़ सकता हूं (ईएसआरआई के सॉफ्टवेयर तक पहुंच नहीं है)?

धन्यवाद
क्रिस

जवाबों:


16

GDAL से ogr2ogr का उपयोग करें :

ogr2ogr -a_srs EPSG:2066 output.shp input.shp

Ogr के बारे में क्या साफ है कि यह मौजूदा PRJ फाइल को इनपुट के रूप में उपयोग कर सकता है:

ogr2ogr -a_srs input.prj output.shp input.shp


2
जब मैं उपरोक्त उपयोगिता को आज़माता हूं तो मुझे निम्न त्रुटि हो रही है: "निर्देशांक नहीं बदल सकते, स्रोत परत में कोई समन्वय प्रणाली नहीं है। एक सेट करने के लिए -s_srs का उपयोग करें।"
क्रिसजेल

@chris मैंने गलत उपयोग लिखा है, इसलिए a_srs को एक आउटपुट प्रोजेक्शन "असाइन" करने का प्रयास करें
SaultDon

पता नहीं था कि आप एक .prj -a_srs की आपूर्ति कर सकते हैं। धन्यवाद!
aendrew

7

.Shp फ़ाइल में प्रोजेक्शन आकृतिफिल्मे .prj में है। यह मूल रूप से टेक्स्ट फाइल है, जिसकी जानकारी आपको मिली है। अपनी कुछ आकृति फ़ाइलों पर एक नज़र डालें और पता लगाएँ कि जानकारी कैसे लिखी जाती है। या कम शिकायत की गई है, यदि आपके पास एक ही प्रक्षेपण में अन्य .shp फ़ाइल है, तो बस इसे कॉपी करें और नाम में परिवर्तन करें।


मैंने ऑनलाइन मिली जानकारी के साथ मैन्युअल रूप से एक फ़ाइल बनाई। लेकिन यह अभी भी सही ढंग से प्रदर्शित नहीं किया जा रहा है। क्या इस डेटा के साथ प्रक्षेपण फ़ाइल बनाने के लिए उपयोग की जा सकने वाली कोई उपयोगिता है ??
क्रिस जेए

3
आप spatialreference.org का उपयोग भी कर सकते हैं, जहाँ आप .PRJ फ़ाइल को ढूँढ और डाउनलोड कर सकते हैं, फिर इसे उसी उपसर्ग के रूप में नाम बदल सकते हैं जैसे .SHP फ़ाइल
माइक टी

5

अपने शेपफाइल (यानी foo.prj) के रूप में एक ही बेसन के साथ .prj फाइल बनाएं, एक टेक्स्ट एडिटर में फाइल खोलें और इस मामले की सामग्री जोड़ें, http://spatialreference.org/ref/epsg/2066/ PRJ /


2

आपके द्वारा पोस्ट किए गए लिंक पर .prj फ़ाइल डाउनलोड करें और फिर अपनी आकृति फ़ाइल से मिलान करने के लिए इसका नाम बदलें।


1
यह भी शायद सबसे आसान तरीका है जो किसी भी मध्यवर्ती डेटा बनाने की आवश्यकता नहीं है
SaultDon

0

संलग्न एक छोटी स्क्रिप्ट खोजें जो spatialreference.org से प्रक्षेपण संदर्भ को .prj फ़ाइल में लिखती है। यह एक निर्देशिका में सभी निर्दिष्ट फ़ाइलों के लिए एक प्रक्षेपण फ़ाइल जोड़ता है। उदाहरण के लिए, डायरेक्टरी E के सभी शेपफाइल्स: \। बस जिस एप्स को आप एम्बेड करना चाहते हैं, उसके EPSG कोड के बारे में चिंता करें, उन फाइल्स के विस्तार के लिए जिन्हें आप प्रोजेक्शन फाइल को जोड़ना चाहते हैं और डायरेक्टरी जहां ये हैं। यह पुन: सभी उपनिर्देशिकाओं के माध्यम से जाएगा, इसलिए देखभाल के साथ उपयोग करें।

    import os

    def getWKT_PRJ (epsg_code):
     import urllib.request, urllib.parse, urllib.error

    # Access projection information
     wkt = urllib.request.urlopen("http://spatialreference.org/ref/epsg/{0}/prettywkt/".format(epsg_code))
     decoded = (wkt.read().decode('utf-8')) 

    # Remove spaces between charachters
     remove_spaces = decoded.replace(" ","")        
    # Place all the text on one line
     output = remove_spaces.replace("\n","")
     return output

    def referencer(folder_path, extension):
        for path, subdirs, files in os.walk(folder_path):
            for name in files:
                file_extension = os.path.splitext(name)[-1]
                if(extension in file_extension):
                    file_path = os.path.join(path,name)
                    file_name = os.path.splitext(file_path)[0]
                    prj = file_name + ".prj"
                    projection = open(prj,"w")
                    projection.write(epsg)
                    projection.close()

    epsg = getWKT_PRJ("25831")              
    referencer('E:\Testfolder', '.shp')

-1

Geokettle http://www.spatialytics.org/ का उपयोग करने का प्रयास करें यह आकार-प्रकार पढ़ता है और इसके परिवर्तनों में SRS जोड़ने का विकल्प होता है। अन्यथा श्रीड को देखने के लिए ogr2ogr gui (केवल विंडोज़) का उपयोग करें

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