มือใหม่ที่นี่ต้องดิ้นรนกับ GIS ฉันพยายามที่จะแผนที่ออกวอร์ดสำหรับเมือง Milwuakee โดยใช้ shapefiles พบได้บนเว็บไซต์ของพวกเขาเขตเว็บไซต์เขต ฉันติดตามกระทู้ที่นี่ด้วยความสำเร็จ รหัสของฉันให้:
from pyproj import Proj, transform
# wisconsing EPSG:32054
# epsg:4326 is for the entire world, wgs 84...not obvious
inProj = Proj(init='epsg:32054')
outProj = Proj(init='epsg:4326')
x1,y1 = 2560131.496875003, 406816.434375003
x2,y2 = transform(inProj,outProj,x1,y1)
print(x2,y2)
กับเอาท์พุท
-65.70220967836329 43.08590211722421
ปัญหานี้เป็นสิ่งที่ผิด The lon / lat สำหรับมิลวอกีคือ -87.863984 และ 42.920816
ประการที่สองฉันจะทำสิ่งนี้โดยทางโปรแกรมสำหรับ shapefile ทั้งหมดได้อย่างไร ฉันต้องการพล็อตเรื่องนี้ลงในแผนที่ฐาน เมื่อฉันพยายามติดตามกระทู้นี้ฉันได้รับรหัสข้อผิดพลาด:
with fiona.open("ward2012/ward.shp") as shp:
ori = Proj(init='epsg:32054' ),
dest= Proj(init='EPSG:4326',preserve_units=True)
with fiona.open('ward2012/MKE_wards_lat_lon.shp', 'w', 'ESRI Shapefile', shp.schema.copy(), crs=from_epsg(4326))as output:
for point in shp:
x,y = point['geometry']['coordinates']
point['geometry']['coordinates'] = transform(ori, dest,x,y)
output.write(point)
ข้อผิดพลาด:
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
<ipython-input-139-a5079ab39f99> in <module>()
4 with fiona.open('ward2012/MKE_wards_lat_lon.shp', 'w', 'ESRI Shapefile', shp.schema.copy(), crs=from_epsg(4326))as output:
5 for point in shp:
----> 6 x,y = point['geometry']['coordinates']
7 point['geometry']['coordinates'] = transform(ori, dest,x,y)
8 output.write(point)
ValueError: not enough values to unpack (expected 2, got 1)