【发布时间】:2023-03-09 02:08:01
【问题描述】:
我正在使用 Geopandas 通过读取已投影到 EPSG:3735(俄亥俄州南平面,美国英尺)的 shapefile (.shp) 来创建地理数据框。现在我想将另一个地理数据框加入到这个中。第二个地理数据框是通过读取 .csv 文件创建的,该文件包含 lon、lat 格式的 x、y 坐标。所以我将第二个地理数据框的 crs 定义为 EPSG:4326 (WGS 1984)。要使用空间连接功能,两个geodataframe的crs需要相同,所以我尝试使用to_crs将第一个geodatafame重新投影到EPSG:4326。在重新投影之前,Geodataframe gdf 如下所示:
| TAZ | County | AreaType | District | FAZ | SHAPE_Leng | SHAPE_Area | ID | zone_type | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1656 | 2261 | 029 | 1 | 248 | 16 | 46500.252569 | 1.147235e+08 | 2261 | OD | POLYGON ((1286831.480 474763.929, 1286845.315 ... |
如果我写:
gdf_proj = gdf.to_crs("EPSG:4326")
结果原来是这样的:
| TAZ | County | AreaType | District | FAZ | SHAPE_Leng | SHAPE_Area | ID | zone_type | geometry | |
|---|---|---|---|---|---|---|---|---|---|---|
| 1656 | 2261 | 029 | 1 | 248 | 16 | 46500.252569 | 1.147235e+08 | 2261 | OD | POLYGON ((inf inf, inf inf, inf inf, inf inf, ... |
我还尝试将第二个 gdf 从 EPSG:4326 转换为 EPSG:3735,但第二个 gdf 中的点几何图形也将变为 Point(inf, inf)。我不确定这里有什么问题。任何人都可以提出一种在地理数据框中重新拒绝多边形的好方法吗?
我只是稍后尝试了其他一些 crs。其中一些会起作用(不会变成无限),例如 3785、3035。我还尝试了其他一些 State Plane PCS,但其中一些起作用,而另一些不起作用。俄亥俄州南部 (3735) 和北部 (3734) 不工作。印第安纳东部 (2965) 不工作,但西部 (2966) 工作。 NAD83 GCS (4269) 的项目也无法正常工作。
【问题讨论】:
-
您的数据框格式错误。您的几何图形仅存在一行并且位于错误的列中
-
@PaulH 数据框不是问题。这只是因为我发布问题时的编辑。我是堆栈溢出的新手,所以也许我在编辑时做错了。但是python中的数据框本身没有问题。
标签: projection geopandas