2009-11-04 14 views
2

Существуют ли какие-либо библиотеки с открытым исходным кодом или «свободные» для Java, где я могу выполнять преобразования координат из одной пространственной системы в другую?Преобразование координат

Я нашел Opengeo http://opengeo.org/, но это огромная и всеобъемлющая библиотека для всех видов пространственных вещей.

Есть ли что-нибудь меньшее? Мне нужно конвертировать из MGA56 в WGS84.

+0

Что преобразование вам нужно (от чего к чему)? – Seth

ответ

3

Простым решением является PROJ.4, но у него нет привязок Java, поэтому работа с ним может быть немного сложной задачей. Более полным (но, вероятно, большим, чем вы хотите) решением будет GeoTools. Но быстрый поиск нашел Java Map Projection Library, который выглядит как Java-порт PROJ.4. Я бы попробовал.

Поскольку, похоже, вам нужно выполнить сдвиг нулевой точки, а не только проецирование, вам понадобится какая-то база данных системы координат. Самый простой способ получить базу данных EPSG - PROJ.4 поставляется с файлом сопоставления EPSG, который должен быть достаточно хорош для большинства целей.

Похоже, что MGA56 является EPSG:28356, и, конечно, WGS84 - EPSG:4326.

+0

OP, похоже, уже использует GeoTools: http://stackoverflow.com/questions/1676940/google-maps-spatial-reference-system –

+0

PROJ.4 выглядит великолепно. Я использовал ProjectionFactory.getNamedPROJ4CoordinateSystem() для захвата проекций. Но трансформация невозможна. Я прочитал документы, в которых говорится: «Отсутствует система координат и геодезическое преобразование нулей». – JavaRocky

+0

Если вы используете GeoTools, не утруждайте себя работой с PROJ4 напрямую - используйте 'CRSAuthorityFatory.createCoordinateReferenceSystem (epsgString)', для строк EPSG ' «EPSG: 28356» и «EPSG: 4326», а затем выполните «CRS.findMathTransform (sourceCRS, targetCRS, true)». Вам нужно будет иметь один из JAR GeoTools EPSG в вашем пути к классам - я бы порекомендовал 'gt-epsg-hsql', с которым проще всего работать. –

3

Существует легкая библиотека, полностью написанная на Java.

Комплект преобразования координат (сокращенный CTS) представляет собой библиотеку, разработанную для выполнения преобразований координат с использованием известных геодезических алгоритмов и наборов параметров.

CTS ручки 4257 системы координат (3910 EPSG).

Исходный код этого проекта расположен по адресу:

https://github.com/irstv/CTS

Смежные вопросы