/** * 经纬度坐标转换到地图坐标 * * @param map * @param pt */ public static void Longitude_LatitudeToMap(Map map, Point2D pt) { // 获取当前地图坐标系 PrjCoordSys srcPrjCoordSys = map.getPrjCoordSys(); // 当投影不是经纬坐标系时,则对点进行投影转换 if (srcPrjCoordSys.getType() != PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE) { Point2Ds points = new Point2Ds(); points.add(pt); PrjCoordSys desPrjCoorSys = new PrjCoordSys(); desPrjCoorSys.setType(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE); CoordSysTranslator.convert( points, desPrjCoorSys, srcPrjCoordSys, new CoordSysTransParameter(), CoordSysTransMethod.MTH_GEOCENTRIC_TRANSLATION); pt = points.getItem(0); } }
/** * 地图坐标转换到经纬度坐标 * * @param map * @param pt */ public static void MapToLongitude_Latitude(Map map, Point2D pt) { // 获取当前地图坐标系 PrjCoordSys srcPrjCoordSys = map.getPrjCoordSys(); if (srcPrjCoordSys.getType() != PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE) { Point2Ds point2Ds = new Point2Ds(); point2Ds.add(pt); PrjCoordSys destPrjCoordSys = new PrjCoordSys(); // 设置目标坐标系类型 destPrjCoordSys.setType(PrjCoordSysType.PCS_EARTH_LONGITUDE_LATITUDE); // 转换投影坐标 CoordSysTranslator.convert( point2Ds, srcPrjCoordSys, destPrjCoordSys, new CoordSysTransParameter(), CoordSysTransMethod.MTH_GEOCENTRIC_TRANSLATION); pt = point2Ds.getItem(0); } }