我正在尝试使用geopandas在地图上绘制一些信息。我要做的第一件事是上传纽约市的形状文件:
nyc_boroughBoundaries = geopandas.read_file ("nybb_19b2")
这将返回地理数据框:
type (nyc_boroughBoundaries)
geopandas.geodataframe.GeoDataFrame
并具有一个几何列:
geometry
(POLYGON ((1012821.805786133 229228.2645874023...
(POLYGON ((970217.0223999023 145643.3322143555...
(POLYGON ((1029606.076599121 156073.8142089844...
我正在重复相同的过程以加载有关纽约市新建筑的一些信息
geo_df_NB_2018["Coordinates"]
POINT (40.62722 -73.969634)
POINT (40.764575 -73.955421)
POINT (40.525584 -74.166414)
POINT (40.742845 -73.89083100000001)
POINT (40.679859 -73.93992
然后,我尝试在一张地图中绘制两个地理数据框,并执行以下操作:
fig, ax = plt.subplots (figsize = (15,15))
geo_df_NB_2018.plot(ax = ax, alpha = 0.7, color = "pink")
nyc_boroughBoundaries.plot(ax = ax)
但是,它们显示在图中的不同部分。
谢谢!
答案 0 :(得分:1)
您有不同的预测。它们必须相同才能一起绘制。看你的坐标,它们显然是不同的。此外,正如@steven所指出的,您已经切换了纬度和经度。先解决该问题,然后重新投影:
# convert CRS to the same as nyc_boroughBoundaries has
geo_df_NB_2018 = geo_df_NB_2018.to_crs(nyc_boroughBoundaries.crs)
fig, ax = plt.subplots(figsize=(15, 15))
geo_df_NB_2018.plot(ax=ax, alpha=0.7, color="pink")
nyc_boroughBoundaries.plot(ax=ax)