2018.4.18 :刚刚发现我这里的wifi(电信的宽带)打不开下面的其中几个网站,需要使用网络工具才行。 但是用手机流量(联通)是可以直接打开的。
2018.1.25 :方法二的网站又恢复了。
2018.1.18 :又发现了一个网站,见方法三。
2018.1.16 : 方法一的网站月底就停止服务了,不过里面提到有替代的服务。
OSM(openstreetmap)
开放街道地图(英语:OpenStreetMap,缩写为OSM)是一个建构自由内容之网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图,并且让一般便宜的移动设备有方便的导航方案。
*这个是osm上常规数据(道路、河流、建筑物等)的获取办法:osm数据获取-知乎
*osm上的行政区划不能直接下载,所以要通过下面的方法获取*
*为什么我要获取这个数据,是因为论文要用,但是网上能找到免费的到县级的矢量数据似乎太老了(“花县”、“花都市”分别是几十年和十几年前的叫法了)*
方法一:
1.从 https://mapzen.com/data/borders/ 上下载geojson文件(不过数据在2016年10月14日停止了更新,也就是更新到到16年,仍在更新的数据见方法二或三
【2018.1.16:方法二的网站目前挂了,之前改过一次地址,不知会不会再恢复】)
直接找到“China”点击便是。(下图可见osm提供的是众源地理数据,在这里可以下载世界各个国家的行政区划数据。)
2.打开网站mapshaper
http://mapshaper.org/
点击 select 找到下载下来并且解压后的.geojson文件
不同的level数值代表不同等级的行政区,各个国家行政区等级编号不同,打开看看就知道了。
中国的level 2是国家范围(可以见到有明显错误。
很容易注意到有争议区域,毕竟不是官方数据)
level 6就是我要找的县这个级别了
还可以查看属性表
3.右上角export,将它导出,要注意导出shapefile外还要导出csv也就是它的属性表。
之所以要导出这个csv也就是属性表,是因为导出的shp文件的属性表中文的部分是乱码的。这是网络字符编码和本地不一样的原因。(具体我也不知道)
4.解决乱码的方法:用notepad++(等记事本程序)打开csv文件,将编码改成ANSI,保存,csv属性表就会正常显示。然后用连接表的方式将属性表关联到shp的要素上就行了。(匹配字段是“FID_1”)
方法二:
直接从OSMBoundariesMap中获取(可直接导出为shp格式)
这个网站需要登录(osm账号)才可以下载。
这个简直太简单了。而且仍在更新。
2017.6.11
补充一下,如下图所示,最下面还有几个选项是控制选择的数据,其中land和water这个应该分别对应陆地和包括海域的行政区划数据,点选后可以对选择的数据进行预览。
2017.5.22
第二种方法的这个网站下载相当的慢,今天用了下只有5k左右的速度,挂了ss也是一样。
方法三:
网址polygons,网站数据似乎是最新的。
该网站要用行政区在osm上的ID来获取它的GeoJSON,然后按方法一的步骤应该就可以转成shp了。遗憾的是数据似乎只有带上水域的版本,对于沿海地区不太方便。而且这个方法只能得到图形(polygon),没有属性。