Конвертируйте шейп-файл центроидов DataSet NYC Taxi в Lat Long - PullRequest
0 голосов
/ 03 ноября 2018

У меня есть шейп-файл от http://www.nyc.gov/html/exit-page.html?url=https://s3.amazonaws.com/nyc-tlc/misc/taxi_zones.zip. Есть файлы полигонов (границы) каждой зоны, и я получил центроид для каждой. Мне нужны центроиды, чтобы я мог построить их на Gephi и использовать для анализа сети. Моя проблема в том, что Gephi требует, чтобы координаты были в широте и долготе (-74.001648, 40.724243), но полученные мной центроиды находятся в UTM (например, 935996.821, 191376.7495). Как я могу конвертировать UTM в lat / long в Python? Я попробовал этот код, но он вернул странную широту:

import pyproj as pp
from mpl_toolkits.basemap import Basemap
import pandas as pd

zones = list(range(1,264))
x = []
y = []
for z in zones:
    x.append(ny_map[ny_map['OBJECTID'] == z].geometry.centroid.x.values[0])
    y.append(ny_map[ny_map['OBJECTID'] == z].geometry.centroid.y.values[0])

ny_map['x'] = pd.Series(x)
ny_map['y'] = pd.Series(y)

#32618 is the code for NY as per my Google search but not sure
utm18_wgs84 = pp.Proj(init='epsg:32618')
ny_map[['lat', 'long']] = ny_map.apply(lambda row:utm18_wgs84(row['x'], row['y'], inverse=True), axis=1).apply(pd.Series)
...