ওপেন-সোর্স সরঞ্জাম ব্যবহার করে শেপফাইলে কীভাবে প্রজেকশন যুক্ত করবেন?


10

একটি প্রজেকশন ছাড়াই আমাকে কিছু শেফফিল দেওয়া হয়েছে। গুগল ম্যাপে এটি প্রদর্শনের জন্য আমার প্রজেকশনটি যুক্ত করতে হবে। আমার প্রয়োজন প্রক্ষেপণ তথ্যটি http://spatialreferences.org/ref/epsg/2066 এ পেয়েছি ।

প্রশ্ন:
আমি ওপেন সোর্স পদ্ধতি ব্যবহার করে কীভাবে প্রজেকশন যুক্ত করতে পারি (ইএসআরআই এর সফ্টওয়্যারটিতে অ্যাক্সেস নেই)?

ধন্যবাদ
ক্রিস

উত্তর:


16

জিডিএল থেকে ogr2ogr ব্যবহার করুন :

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

ওজিআর সম্পর্কে পরিষ্কার ঝুলি হ'ল এটি কোনও বিদ্যমান পিআরজে ফাইলটি ইনপুট হিসাবেও ব্যবহার করতে পারে:

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


2
আমি উপরের ইউটিলিটিটি চেষ্টা করার সময় আমি নিম্নলিখিত ত্রুটিটি পাচ্ছি: "স্থানাঙ্কগুলি রূপান্তর করতে পারে না, উত্স স্তরের কোনও সমন্বয় ব্যবস্থা নেই one একটি সেট করতে -s_srs ব্যবহার করুন" "
ক্রিসজে

@ ক্রিস আমি ভুল ব্যবহার লিখেছি, সুতরাং আউটপুট প্রজেকশনটি "বরাদ্দ" করতে a_srs চেষ্টা করুন
সল্টডন

আপনি কি .a_srs একটি .prj সরবরাহ করতে পারে তা জানেন না। ধন্যবাদ!
এড্রুউ

7

.Shp ফাইলে প্রজেকশনটি শেফফিলনাম.প্রিজায় রয়েছে। এটি মূলত আপনি যে তথ্য পেয়েছেন তা সহ পাঠ্য ফাইল। আপনার কয়েকটি আকৃতির ফাইলগুলি দেখুন এবং কীভাবে তথ্য লিখিত আছে তা সন্ধান করুন। বা কম প্রশংসিত, আপনার যদি একই প্রক্ষেপণে অন্য .shp ফাইল থাকে তবে কেবল এটি অনুলিপি করুন এবং নামটি অ্যাকর্ডিন্যাগলি পরিবর্তন করুন।


আমি অনলাইনে যে তথ্য পেয়েছি সেগুলি সহ আমি নিজে একটি ফাইল তৈরি করেছি। তবে এটি এখনও সঠিকভাবে প্রদর্শিত হচ্ছে না। এই ডেটা দিয়ে প্রজেকশন ফাইল তৈরি করতে আমি কি কোনও ইউটিলিটি ব্যবহার করতে পারি ??
ক্রিসজে

3
আপনি spatialreferences.org ব্যবহার করতে পারেন যেখানে আপনি একটি .PRJ ফাইল সন্ধান এবং ডাউনলোড করতে পারেন, তারপরে .SHP ফাইলের মতো একই উপসর্গটির নাম পরিবর্তন করুন
মাইক টি

5

আপনার শেপফাইলের (যেমন foo.prj) একই বেসনামের সাথে একটি .prj ফাইল তৈরি করুন, কোনও পাঠ্য সম্পাদককে ফাইলটি খুলুন এবং এই ক্ষেত্রে, http://spatialreferences.org/ref/epsg/2066/ এর বিষয়বস্তু যুক্ত করুন prj /


2

আপনার পোস্ট করা লিঙ্কটিতে .prj ফাইলটি ডাউনলোড করুন এবং তারপরে আপনার আকার আকৃতির ফাইলটির সাথে মিল রাখতে নাম পরিবর্তন করুন name


1
এটি সম্ভবত সবচেয়ে সহজ পদ্ধতিটিও দেওয়া হয়েছে যে কোনও মধ্যবর্তী ডেটা তৈরি করার দরকার নেই
সল্টডন

0

একটি সামান্য স্ক্রিপ্ট সংযুক্ত করুন যা spatialreferences.org থেকে একটি প্রাইজ ফাইলে প্রক্ষেপণ রেফারেন্স লিখবে। এটি একটি ডিরেক্টরিতে সমস্ত নির্দিষ্ট ফাইলগুলিতে একটি প্রক্ষেপণ ফাইল যুক্ত করে। উদাহরণস্বরূপ, ডিরেক্টরি E: \। সমস্ত প্রকারের ফাইলগুলি আপনি যে প্রজেকশন এম্বেড করতে চান তার ইপিএসজি কোড, আপনি যে প্রোজেকশন ফাইলটি যুক্ত করতে চান সেই ফাইলগুলির এক্সটেনশন এবং এই ডিরেক্টরিটি যেখানে রয়েছে সেগুলি সম্পর্কে উদ্বিগ্ন। এটি পুনরাবৃত্তভাবে সমস্ত উপ-ডিরেক্টরিতে যাবে, তাই যত্ন সহ ব্যবহার করুন।

    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

জিওকেটেল ব্যবহার করার চেষ্টা করুন http://www.spatialytics.org/ এটি শেফফাইলগুলি পড়ে এবং এর রূপান্তরগুলিতে একটি এসআরএস যুক্ত করার বিকল্প রয়েছে। অন্যথায় শ্রীদটি দেখতে ogr2ogr gui (কেবল উইন্ডো) ব্যবহার করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.