国家边界坐标数据
Posted
技术标签:
【中文标题】国家边界坐标数据【英文标题】:Country border coordinate data 【发布时间】:2013-08-30 02:22:00 【问题描述】:我正在用 Java 编写一个地理游戏,我想要一些关于国家边界位置的数据,但我只能找到 shapefile,我无法获取纬度/经度数据其中,否则我只能为每个国家/地区找到一个坐标。
我在哪里可以找到
一种将经度/纬度数据提取到 Java 或文本文件中的可用数据的方法? 一个包含可用于 Java 程序的免费国家边界数据的网站?编辑:
不需要很精确;对于除了俄罗斯、中国、美国和巴西之外的几乎任何地方,10 个坐标可能就足够了。岛屿也无所谓。我只是想知道能不能比较准确地计算出两国之间的最短距离。
【问题讨论】:
【参考方案1】:从此处下载广义国家边界:http://www.baruch.cuny.edu/geoportal/data/esri/esri_intl.htm。这些可能比您想要的更详细(加拿大在 3316 处拥有最多的顶点),但这是我可以在网上找到的唯一免费的粗边界数据集。
要以文本形式从 shapefile 获取坐标,请转到 MyGeodata Converter
-
运行矢量转换器
上传您刚刚下载的 zip 文件。
检查可用操作
导出到 GeoJSON
从 MyGeodata Converter 下载 Zip 文件
解压文件。
现在您有了GeoJSON format 中的边界,并且可以使用 GeoJSON 解析器或更简单的文本解析器来获取坐标数据。
如果工作量太大,您还可以使用现有的各种 Java shapefile 框架之一来解析 shapefile。请参阅Does anyone know of a library in Java that can parse ESRI Shapefiles? 了解一些选项。
【讨论】:
+1 感谢您提供 MyGeodata 转换器链接。稍后我会研究它,如果它有效,我会接受。 你能更新链接吗,它似乎不再指向资源了。【参考方案2】:下载osm文件并导入postgresql+postgis(通过osm2pgsql工具即可)。 如果您需要另一个数据库,请将 postgresql 迁移到您想要的数据库
http://planet.openstreetmap.org/
【讨论】:
这是一个 59GB 的 XML 文件。有关如何从中提取国家边界的说明会很有帮助。【参考方案3】:MyGeodata 转换器目前只抛出 500 错误,所以我不得不进一步查看,最后偶然发现了大致描述每个国家/地区轮廓的 KML 文件。我在this related question 上发布了链接,所以有人可能想看看那里。
【讨论】:
以上是关于国家边界坐标数据的主要内容,如果未能解决你的问题,请参考以下文章