我正在用Java编写一个地理游戏,我希望得到一些关于国家边界位置的数据,但我能找到的只是shapefile,我无法获得纬度/经度数据其中,我只能找到每个国家的单一坐标。
我在哪里可以找到
编辑:
它不需要准确;对于除了俄罗斯,中国,美国和巴西之外的任何东西,10坐标可能就足够了。群岛也不重要。我只想知道能够相对准确地计算出两国之间的最短距离。
答案 0 :(得分:5)
从此处下载广义国家/地区边界:http://www.baruch.cuny.edu/geoportal/data/esri/esri_intl.htm。这些可能比您想要的更详细(加拿大的顶点数最多为3316),但这是我在网上找到的唯一免费粗略边界数据集。
要将shapefile中的坐标作为文本,请转到MyGeodata Converter
现在你有GeoJSON format的边界,可以使用GeoJSON解析器或更简单的文本解析器来获取坐标数据。
如果这工作太多,您还可以使用各种Java shapefile框架之一解析shapefile。有关选项,请参阅Does anyone know of a library in Java that can parse ESRI Shapefiles?。
答案 1 :(得分:0)
下载osm文件并导入到postgresql + postgis(通过osm2pgsql工具可以)。 如果您需要另一个数据库,请将postgresql迁移到所需的数据库
答案 2 :(得分:0)
MyGeodata转换器目前仅抛出500错误,所以我不得不进一步观察并最终偶然发现了大致描述每个国家大纲的KML文件。我在this related question上发布了这个链接,所以有人可能会想看那里。