国家边界坐标数据

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 上发布了链接,所以有人可能想看看那里。

【讨论】:

以上是关于国家边界坐标数据的主要内容,如果未能解决你的问题,请参考以下文章

Three.js地球开发—2.读取JSON坐标数据渲染生成国家边界线

如何获得每个国家的边界

从 topojson 获取各个国家的边界​​框

子集空间点以提取多边形内部的空间点(国家边界)

如何在国家边界内乘以栅格的像元值

国家边界的纬度/经度数据集[关闭]