Система пространственной привязки Google Maps
-
16-09-2019 - |
Вопрос
Что использует система пространственной привязки карты Google, когда вы вводите широту и длину в строку поиска карт?
Я нашел намеки на то, что это может быть WGS84, но после преобразования в эту систему координат ничего не появляется, когда я вставляю координаты в окно поиска карт Google.
Конвертирую из GDA MGA 56.
Образец:
- Введите координаты MGA56:336301, 6253363
- Ожидаемые координаты WGS86:-33.8473340793201, 151.230631835944
- Я получил:16834916.928327594 -4008321.1020318186
Пространственные системы координат:
- EPSG: 28356 для MGA56
- EPSG: 900913 для WGS86 (карты Google)
Я использую геоинструменты для преобразования:
CoordinateReferenceSystem crsMga56 = CRS.parseWKT(mga56);
CoordinateReferenceSystem crsGmaps = CRS.parseWKT(gmaps);
Coordinate coordinate = new Coordinate(336301, 6253363);
Point point = new GeometryFactory().createPoint(coordinate);
MathTransform transform = CRS.findMathTransform(crsMga56, crsGmaps);
Geometry geometry = JTS.transform(point, transform);
Я знаю, что преобразование неверно, поскольку, когда я использую онлайн-инструмент, он дает мне правильные координаты. http://www.environment.gov.au/cgi-bin/transform/mga2geo_gda.pl?east=336301&north=6253363&zone=56
Решение
Google использует сферическую проекцию Меркатора на основе WGS84.Есть записать на сайте OpenLayers.
Другие советы
Если это будет полезно, мы обнаружили, что GeoTools меняли JVM так, что широта и долгота были противоположными (т.е.151,-33), что может объяснить, почему вы выходите за пределы поля {151 > 90}) найти это было кошмаром