2013-03-24 2 views
2

Как преобразовать проекцию моего латинского текста в EPSG 3857 с помощью геотекста или другой библиотеки java? У меня возникли проблемы с поиском подходящих методов. Я знаю, что OpenLayers (javascript) может сделать это легко, но я не вижу четкого пути к преобразованию этих координат.Java: Преобразование lat/lon из EPSG: 4236 в EPSG: 3857

I would like to see this transformation 
source lon, lat: -71.017942, 42.366662  
destination lon, lat: -71 1.25820, 42 22.0932 

Так что я создал свой CRS

final CoordinateReferenceSystem source = CRS.decode("EPSG:4236"); 
final CoordinateReferenceSystem dest = CRS.decode("EPSG:3857"); 

final MathTransform transform = CRS.findMathTransform(source, dest); 

Но создание геометрии не кажется прямой с точками, так как они требуют геометрии, завод или что-то ..

Я m новых для геоинформационных инструментов и геопространственных данных, спасибо за любое направление.

ответ

2

Вот решение для Вас:

CoordinateReferenceSystem sourceCRS = CRS.decode("EPSG:4326"); 
CoordinateReferenceSystem targetCRS = CRS.decode("EPSG:3857"); 
MathTransform transform = CRS.findMathTransform(sourceCRS, targetCRS, false); 
GeometryFactory geometryFactory = new GeometryFactory(new PrecisionModel(), 4326); 
Point point = geometryFactory.createPoint(new Coordinate(lon, lat)); 
Point targetPoint = (Point) JTS.transform(point, transform); 
+0

немного поздно, но ваши sourceCRS неправильно (4326 -> 4236) – dwana

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

  • Нет связанных вопросов^_^