像素点、投影、经纬度坐标的转换

前言:在开发过程中,经常会遇到各种坐标的转换,下面将实现几个常用的坐标的转换:像素坐标、投影坐标、经纬度坐标

1.像素坐标
屏幕左上角为坐标原点,向右为X轴正方向,向下为Y轴正方向,单位为px像素

2.投影坐标
WebGIS中以Mercator投影为主

Beijing 1954 3 Degree GK Zone 39意思是
3度分带法的北京54坐标系,中央经线在东117度的分带坐标,横坐标前加带号

3.经纬度坐标(地理坐标)
Beijing54、Xian80、WGS84(WKID值为4326)等


你必须知道的地理坐标系和投影坐标系

https://blog.csdn.net/qq_34149805/article/details/65634252

WKID对照表

 https://blog.csdn.net/yangtang_newton/article/details/6409463


基于Arcgis for Android SDK
public class PointTransUtil {//像素点
static Point pixelsPoint =new Point(0.0,0.0);
//投影坐标点
static Point projectPoint=new Point(0.0,0.0);
//经纬度点
static Point llPoint=new Point(0.0,0.0);/**** @param mPixelsPoint* @param mapView* @return*/
public static Point pixelsPoint2ProjectPoint(Point mPixelsPoint, MapView mapView){projectPoint=mapView.toMapPoint((float) mPixelsPoint.getX(),(float) mPixelsPoint.getY());return projectPoint;
}/**** @param mProjectPoint* @param mapView* @return*/
public static Point projectPoint2PixelsPoint(Point mProjectPoint, MapView mapView){pixelsPoint=mapView.toScreenPoint(mProjectPoint);return pixelsPoint;
}/**** @param mLlPoint* @param mapView* @param spatialReference* @return*/
public static Point llPoint2ProjectPoint(Point mLlPoint, MapView mapView,SpatialReference spatialReference){projectPoint=(Point) GeometryEngine.project(mLlPoint ,spatialReference,mapView.getSpatialReference());return projectPoint;
}/**** @param mProjectPoint* @param mapView* @param spatialReference* @return*/
public static Point projectPoint2LlPoint(Point mProjectPoint, MapView mapView,SpatialReference spatialReference){llPoint=(Point) GeometryEngine.project(mProjectPoint ,mapView.getSpatialReference(),spatialReference);return llPoint;
}/**** @param mPixelsPoint* @param mapView* @param spatialReference* @return*/
public static Point pixelsPoint2LlPoint(Point mPixelsPoint, MapView mapView,SpatialReference spatialReference){llPoint=projectPoint2LlPoint(pixelsPoint2ProjectPoint(mPixelsPoint,mapView),mapView,spatialReference);return llPoint;
}/**** @param mLlPoint* @param mapView* @param spatialReference* @return*/
public static Point llPoint2PixelsPoint(Point mLlPoint, MapView mapView,SpatialReference spatialReference){pixelsPoint=projectPoint2PixelsPoint(llPoint2ProjectPoint(mLlPoint,mapView,spatialReference),mapView);return pixelsPoint;
}
}



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部