projection - Geopandas to_file 给出空白的 prj 文件

标签 projection shapefile geopandas

我正在尝试将 GeoPandas 用于一个(稍微)更复杂的项目,但目前我无法以投影方式写出一个包含单个点的简单 shapefile。

以下代码生成的 shapefile 通常看起来不错 - 但 .prj 是空的:

import pandas as pd
from geopandas import GeoDataFrame
from shapely.geometry import Point

df=pd.read_csv("richmond.csv")
geometry = [Point(xy) for xy in zip(df.x, df.y)]
crs = {'init': 'epsg:4326'}
geo_df = GeoDataFrame(df, crs=crs, geometry=geometry)

geo_df.to_file("geopan.shp")

csv 是 2 行 2 列(标题行,然后是第二行的经度和纬度):

a really basic csv

我是否遗漏了一些明显的东西?我搜索了 stackoverflow、geopandas 文档等。所有这些似乎都暗示 to_file() 应该可以正常工作。

从长远来看,目标是创建一些函数供我的学生在实验室中使用 - 一个沿着美国的宽度/高度的纬度或经度绘制一条线,另一个将线剪裁成多边形(各州),以便学生能够找出每个州中最宽的点,作为对使用空间数据的温和介绍。我试图避免使用 arcpy,因为它是 Python 2,我认为(并且认为)我通过教他们 Python 3 的方式来做正确的事。我希望他们能够通过能够调试他们的方法尽管在 Arc 中打开线路,因此进行了此测试。

最佳答案

所以,在玩过这个之后,我确定在当前版本的 Anaconda 下,问题出在 Windows 机器上的 crs = {'init': 'epsg:4326'} 上。这在 Mac 上运行良好,但在我或我学生的任何 Windows 系统上都不起作用。更改此行以使用 proj4 字符串 crs = {'proj': 'latlong', 'ellps': 'WGS84', 'datum': 'WGS84', 'no_defs': True}相反工作得很好。与其说是实际解决方案,不如说是变通办法,但它似乎始终有效。

关于projection - Geopandas to_file 给出空白的 prj 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54963638/

相关文章:

r - ggplot2 的功能强化错误

python - geopandas 对 sjoin 函数的误解

spring - 为什么接口(interface)投影比 Spring Data JPA with Hibernate 中的构造函数投影和实体投影慢得多?

c# - 使用 linq 解析样式属性集合

projection - 光线追踪相机 - 正交到透视投影

python - 生成落在多边形内的经纬度坐标网格

google-maps - 2008 年 TIGER/Line® Shapefiles from Census.gov -> Google Maps

python - 如何成功安装 pyproj 和 geopandas?

python - 使用 Geopandas 将 NYC shapefile 子集到曼哈顿

r - 如何使用 rgdal 包将 NAD 83 坐标转换为纬度和经度?