首页 / 浏览问题 / 组件GIS / 问题详情
将度对应的坐标系修改为米对应的坐标系
16EXP 2025年04月27日
请问一下,仅通过下面代码是否可以将度的坐标系该为米坐标系,通过下面代码转换后dataset中getpart显示的依然为经纬度。
GeoCoordSys coordSys = new GeoCoordSys(GeoCoordSysType.GCS_WGS_1984,GeoSpatialRefType.SPATIALREF_EARTH_PROJECTION);
Projection projection=new Projection();
projection.setType(ProjectionType.PRJ_SPHERE_MERCATOR);
PrjParameter PrjParameter=new PrjParameter();
PrjCoordSys prjCoordSys3D = new PrjCoordSys(coordSys,projection,PrjParameter,"new");
prjCoordSys3D.setEPSGCode(3857);
dataset.setPrjCoordSys(prjCoordSys3D);

1个回答

您好 这个写法是错误的,您是直接指定了数据为3857坐标系,但数据其实是其他地理坐标系

可以参考以下代码:

GeoLine geometry = (GeoLine) recordset.getGeometry();
System.out.println(geometry.getLength());
boolean isSuccess = CoordSysTranslator.convert(geometry, dataset.getPrjCoordSys(), PrjCoordSys.fromEPSG(3857), new CoordSysTransParameter(), CoordSysTransMethod.China_2D_7P);
System.out.println(geometry.getLength());
1,230EXP 2025年04月27日
您好,我们尝试过这种方法,将坐标系全部进行更改,但是这种在构建管线三维网络数据集的时候拓扑结构出现问题,管线出现了乱连的问题,请问一下是哪里出现了问题呢
构建网络后数据不要改了,你计算长度的话,可以只针对一条数据复制后单独处理,我给你的代码就是针对某条数据的
...