java - 国家边界坐标数据

标签 java shapefile geography gis

我正在用 Java 编写一个地理游戏,我想要一些关于国家边界位置的数据,但我只能找到 shapefile,而且我无法获取纬度/经度数据其中,否则我只能为每个国家找到一个坐标。

我在哪里可以找到

  • 在 Java 或文本文件中将经度/纬度数据提取为可用数据的方法?
  • 提供可在 java 程序中使用的国家边界免费数据的网站?

编辑:

它不需要精确;对于除俄罗斯、中国、美国和巴西以外的几乎所有国家,10 个坐标可能就足够了。岛屿也不重要。我只是想知道能不能比较准确地计算出两国之间的最短距离。

最佳答案

从这里下载通用的国家边界:http://www.baruch.cuny.edu/geoportal/data/esri/esri_intl.htm .这些可能比您想要的更详细(加拿大的顶点最多,有 3316 个),但这是我能在网上找到的唯一免费的粗略边界数据集。

要从 shapefile 中获取坐标作为文本,请转至 MyGeodata Converter

  1. 运行 vector 转换器
  2. 上传您刚刚下载的 zip 文件。
  3. 检查可用操作
  4. 导出到 GeoJSON
  5. 从 MyGeodata Converter 下载 Zip 文件
  6. 解压缩文件。

现在您在 GeoJSON format 中有了边界并且可以使用 GeoJSON 解析器或更简单的文本解析器来获取坐标数据。

如果工作量太大,您还可以使用现有的各种 Java shapefile 框架之一来解析 shapefile。参见 Does anyone know of a library in Java that can parse ESRI Shapefiles?一些选项。

关于java - 国家边界坐标数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18523950/

相关文章:

java - 如何在按钮组中添加单选按钮?

java - 从 Camel 路由在 ActiveMQ 上强制套接字超时?

R:将 map 绘制为条形图中的插图

algorithm - 在现有轮廓线之间插入缺失的轮廓线

java - maven中最新的javax.servlet.jsp jsp-api版本稳定吗?

java - 编写一个不带参数并返回 true 或 false 的方法 isAbleToFly()?

java - 从 Java 中的 InputStream 读取 ESRI shapefile

postgresql - 列名的问题在 PostgreSQL 中包含冒号

math - 计算地球表面任意多边形包围的面积