Конвертировать WGS84 lat / long в GGRS87 - PullRequest
0 голосов
/ 07 мая 2019

Здравствуйте, я использую GMapsFX для своего приложения JavaFX. Я получаю долготу и широту от Google Maps с помощью API, но я хочу GGRS87 также.

По-гречески называется EGSA87. Searched искал все. Возможно, есть решение для библиотек Geotools или proj4j, но я не очень хорошо знаю java, и особенно я не могу найти решения в таких больших библиотеках, как эти.

Я хочу, чтобы какой-нибудь математический тип вычисления или библиотека решили мою проблему. Не какой-то сайт для расчетов Я сам нашел много сайтов.

Заранее спасибо.

1 Ответ

0 голосов
/ 07 мая 2019

Вы можете использовать для этого библиотеку GDAL, но ее настройка довольно сложна.Вам придется установить GDAL в вашей системе (она находится в пакетах Debian) и затем создать для нее привязки Java JNI [1].[2] также весьма полезно для того, чтобы заставить его работать.

Затем вы можете использовать библиотеку Java GDAL:

<dependency>
    <groupId>org.gdal</groupId>
    <artifactId>gdal</artifactId>
</dependency>

и сделать что-то вроде:

final SpatialReference source = new SpatialReference();
source.ImportFromEPSG(4326); // EPSG code for WGS84, see www.epsg.io
final SpatialReference target = new SpatialReference();
target.ImportFromEPSG(4121); // EPSG code for GGRS87, see www.epsg.io
this.coordinateTransform = CoordinateTransformation.CreateCoordinateTransformation(source, target);
final Geometry geometry = ogr.CreateGeometryFromWkt(String.format("POINT (%f %f)", longitude, latitude));
geometry.Transform(coordinateTransform);
final double ggrsX = geometry.GetX();
final double ggrsY = geometry.GetY();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...