发布于 2022-06-27 14:43:53
这段代码应该可以完成
lin_shp = shapefile.Reader("al212021_best_track/AL212021_lin")
coords = [s.points for s in lin_shp.shapes()]
lin_shp.close()al212021_best_track dir的内容如下
.
..
AL212021_lin.dbf
AL212021_lin.prj
AL212021_lin.shp
AL212021_lin.shp.xml
AL212021_lin.shx
AL212021_pts.dbf
AL212021_pts.prj
AL212021_pts.shp
AL212021_pts.shp.xml
AL212021_pts.shx
AL212021_radii.dbf
AL212021_radii.prj
AL212021_radii.shp
AL212021_radii.shp.xml
AL212021_radii.shx
AL212021_windswath.dbf
AL212021_windswath.prj
AL212021_windswath.shp
AL212021_windswath.shp.xml
AL212021_windswath.shx发布于 2022-01-24 15:56:26
您正在正确地检索坐标。谷歌地球要求所有数据为EPSG:4326 - WGS84地理。NOAA将该数据转换为KML文件,但是shapefiles处于一个深奥的投影中,QGIS将其标识为该页面上的shapefiles的“基于Authalic投影的未知数据”。您发送的数据下载页面的一半处的地图可能在该投影中。
你的选择是:
您的项目和环境限制加上您对这些工具的熟悉程度,将决定这些选项中哪一个是最好的。
基于您在pts.shp bbox上遇到的错误,问题是您试图在一个只包含一个点的形状记录上获得一个边界框。边框只适用于每个记录至少有两个点的shapefile类型,例如此数据集中的行shapefile。在每个shapefile类型上,始终可以在文件级别上获得边框。
https://stackoverflow.com/questions/70827438
复制相似问题