在我的GIS应用程序中,数据有时存储在“Google Mercator”(以米为单位)中,有时存储在WGS84 LatLon中。 我想要一个可靠的库来轻松地以“科学”的方式转换这些数据,而不是手动搞乱它,冒着很大的错误。
我遇到了 Proj4 ,显然能够做到这一点:http://trac.osgeo.org/proj
但我找不到类似的Java库(或Groovy)。 鉴于这些预测在在线应用中越来越普遍,这样的项目将是非常有益的。一个小罐子会很棒: - )
有一个Java端口,但没有任何文件可供下载:http://www.jhlabs.com/java/maps/proj/
基本上我需要进行这种转换:http://proj4js.org
有关如何在Java中执行此操作的想法吗?
谢谢, Mulone
答案 0 :(得分:5)
看看GeoTools。不好的是你没有得到一个小罐子,但大约有一百个。
This Tutorial可能会显示出您想要完成的内容。
答案 1 :(得分:0)
JH Labs的Java端口,现在由俄勒冈州立大学的制图和地理可视化组维护,现在在GitHub上: https://github.com/OSUCartography/JMapProjLib
答案 2 :(得分:0)
我还推荐GeoTools:看看CRS课程:
http://docs.geotools.org/latest/userguide/library/referencing/crs.html
使用Maven:
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-api</artifactId>
<version>8-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-referencing</artifactId>
<version>8-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-hsql</artifactId>
<version>8-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-epsg-extension</artifactId>
<version>${version.geotools}</version>
</dependency>
gt-epsg-hsql基本上包含一个HSQL数据库,其中已加载了CRS定义。但是,您也可以使用WKT手动加载定义:
CRS.parseWKT( txt )
这意味着您可以弹出http://spatialreference.org/,获取OGC WKT定义并将其连接到其中。
此外,如果你想要走这条路线,Proj4确实有JNI绑定。