我正在尝试使用 pyproj 将加州国家平面区域 5 X-Y 坐标转换为纬度、经度。
为了验证,我认为CA Zone 5 X-Y坐标(6559361.78613,1834842.95456(是地址13422 Ankerton St,Bassett,CA。纬度、经度应为 (34.0342403°, -118.0076074°(。
inProj = Proj(init='epsg:2229')
outProj = Proj(init='epsg:4326')
x1,y1 = x1,y1=6559361.78613, 1834842.95456
LONGITUDE,LATITUDE = transform(inProj,outProj,x1,y1)
print(LATITUDE,LONGITUDE)
然而,输出是 (34.65142393815357°, -65.96879755500356°)
,位于大西洋的某个地方,远离加利福尼亚 5 区。
inProj = Proj(init='epsg:2229', preserve_units=True)
outProj = Proj(init='epsg:4326')
x1,y1 = x1,y1=la_df['X_COORDINATE'][0], la_df['Y_COORDINATE'][0]
LONGITUDE,LATITUDE = transform(inProj,outProj,x1,y1)
print(LATITUDE,LONGITUDE)
事实证明,pyproj 假设您以米为单位工作。要继续使用英制系统,您必须包含选项 preserve_units=True
。