संलग्न एक छोटी स्क्रिप्ट खोजें जो 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')