【问题标题】:Conformal + Distortion Coordinate Transform保形+失真坐标变换
【发布时间】:2021-08-30 01:00:50
【问题描述】:

我正在尝试使用 java geotools api 和 opengis 库将澳大利亚一些地块的几何坐标参考系统转换为另一个。即 WSG84 (EPSG:4326) 至 GDA2020 / MGA zone 50 (EPSG:7850),或 WSG84 (EPSG:4326) 至 GDA2020 / PCG2020 (EPSG:8031)。到目前为止,转换后的坐标与它假设的原始坐标有一些偏差。现在我的要求是执行本文中解释的 Conformal + Distortion 转换更准确 - https://www.icsm.gov.au/datum/gda-transformation-products-and-tools/transformation-grids

但是我不太确定我需要对当前代码进行哪些更改才能执行上述操作。我做了一些谷歌查找一些代码示例,但找不到我想要的。任何帮助将不胜感激。

Query       query       = new Query();
DataStore   dataStore   = getDataStore();
FeatureSource<SimpleFeatureType, SimpleFeature> source = dataStore.getFeatureSource(featureTypeName);

query.setFilter(ECQL.toFilter("land_id='" + landID + "'"));

FeatureCollection           collection      = source.getFeatures(query);
FeatureIterator             iterator        = collection.features();
CoordinateReferenceSystem   sourceCRS       = collection.getSchema().getCoordinateReferenceSystem(); // WSG 84
List<Geometry>              geometryList    = new ArrayList<Geometry>();
CoordinateReferenceSystem   targetCRS       = getCRS(targetEPSGCode); // GDA2020 / MGA zone 50

while (iterator.hasNext())
{
    Feature             feature =   (Feature) iterator.next();
    GeometryAttribute   geom    =   feature.getDefaultGeometryProperty();
    Object              geomVal =   geom.getValue();

    if (geomVal instanceof Geometry)
    {
        MathTransform   mathTransform       = CRS.findMathTransform(sourceCRS, targetCRS);
        Geometry        transformedGeometry = JTS.transform((Geometry) geomVal, mathTransform);

        geometryList.add(transformedGeometry);
    }
}

// Use geometryList for further stuff

【问题讨论】:

    标签: java coordinate-systems coordinate-transformation geotools


    【解决方案1】:

    您需要下载所需的NTv2 grid file 并将其保存到您的项目src/main/resources/org/geotools/referencing/factory/gridshift 文件夹并重新编译该项目。有更多的讨论和一些示例代码可以帮助您检查它是否在这个answer 上被https://gis.stackexchange.com 提取

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-09
    • 2012-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    相关资源
    最近更新 更多