将shapefile转换为地理坐标

时间:2019-02-03 23:34:58

标签: python geospatial shapefile matplotlib-basemap ogr2ogr

geospatial数据来说是新手-我正在努力获取一组在NUTS1定义的正确地理区域内标记的邮政编码。我认为最好的方法是:

  1. 获取NUTS1区域的坐标;
  2. 将它们转换为多边形;
  3. 获取邮政编码的坐标,并查看其位于哪个多边形

但是-我在步骤(1)上遇到了障碍-来自NUTS区域的ONS数据不是我收集的经度/纬度格式(请参见下面的源和错误)。从类似的问题中,我收集到ogr2ogr是转换它的方法-因此,我下载了OSGeo4W,其中有ogr2ogr,但是我并不完全应该在{ {1}} Power Shell进行适当的转换。

我也参考了下面的备忘单,但是仍然没有运气。

我收集geopandas对我的问题有一个非常简单的答案-但是,在尝试安装此软件包2天后,我仍然没有任何运气,因此我暂时退出了该途径(单独说明) ,如果有人有运气用python 3.7安装geopandas,请向我指出正确的方向。我尝试了conda安装并单独下载所有的whl文件,但似乎都行不通。

我想知道是否有人能够为新手拼出我需要运行的精确命令来解决问题。

谢谢!

数据源:http://geoportal.statistics.gov.uk/datasets/nuts-level-1-january-2018-full-extent-boundaries-in-the-united-kingdom/data

  

错误:ValueError:shapefile必须具有纬度/经度顶点

好像这个有顶点 在地图投影坐标中。您可以将shapefile转换为地理文件 使用OSGeo4W工具中的shpproj实用程序进行坐标 (http://shapelib.maptools.org/shapelib-tools.html

备忘单:http://www.bostongis.com/PrinterFriendly.aspx?content_name=ogr_cheatsheet

1 个答案:

答案 0 :(得分:0)

您的第一步是使用-t_srs cli程序的ogr2ogr选项将原始数据转换为无所不在的WGS84坐标参考系统。详细了解ogr2ogr here的所有当前选项。

ogr2ogr boundaries.shp NUTS_Level_1_January_2018_Full_Extent_Boundaries_in_the_United_Kingdom.shp -t_srs epsg:4326

数据集已经采用“ ST_Polygon”格式,因此第2步尚无定论。

我将保留它作为练习,让您自己找出第3步;提示:您可以使用-sql -dialect sqlite使用ogr2​​ogr进行空间连接。