Tìm một tập lệnh nhỏ đính kèm tham chiếu chiếu từ spatialreference.org vào tệp .prj. Nó thêm một tệp chiếu vào tất cả các tệp được chỉ định trong một thư mục. Chẳng hạn, tất cả các shapefile trong thư mục E: \. Hãy lo lắng về mã EPSG của phép chiếu mà bạn muốn nhúng, phần mở rộng của các tệp bạn muốn thêm tệp chiếu vào và thư mục chứa các tệp này. Nó sẽ đệ quy đi qua tất cả các thư mục con, vì vậy hãy cẩn thận khi sử dụng.
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')