Могу ли я использовать Proj4 для проецирования точек на плоскую плоскость?
Я работаю над пакетным процессом для обобщения данных (используя комбинацию алгоритмов, в том числе Дугласа Пекера). Поскольку как исходные данные (из файлов форм ESRI), так и данные требуемого выходного формата могут находиться в различных системах координат, я использую Proj4j для преобразования данных между ними. Возможно ли использовать Proj4j для проецирования точки из исходного значения реального мира на плоскую плоскость и обратно?
То есть: если бы я писал приложение для просмотра этих данных, я обычно брал свои геометрии, применял к ним это преобразование для преобразования данных в плоскую плоскость, а затем применял к результату AffineTransform для выполнения таких операций, как панорамирование и масштабирование. Если бы я использовал WGS84, расстояния между проецируемыми точками были бы растянуты к полюсам, но это не обязательно должно быть в случае с другими системами координат.
Кажется, в API есть много возможностей для преобразования между системами координат, но я не видел способа простого проецирования данных. (То, что я предположил бы, было бы дополнительной функциональностью.)
Любая информация о способах сделать это в Proj4, Proj4j или Proj4js будет полезна. Если это не удастся, может кто-нибудь указать мне в направлении библиотеки / API, который может делать то, что я ищу?
1 ответ
Это относительно просто
CoordinateReferenceSystem crs = ...
Projection projection = crs.getProjection();
ProjCoordinate latLng = new ProjCoordinate(45, 35);
ProjCoordinate projected = new ProjCoordinate();
projection.transform(latLng, projected);