zoukankan      html  css  js  c++  java
  • 平面坐标和经纬度转化

    经纬度到平面坐标的相互转换 作者:gispower  出处:GIS动力站

     现在好多人在使用ArcObject的时候都可能需要作经纬度和平面坐标的相互转换。由于经纬度是球面坐标,平面坐标是X-Y的笛卡尔坐标系统,所以这是一个看起来比较难的问题。

    #此前在首页部分显示#

          好多人一上来就搬出地图学、地图投影学或者测绘学中的投影公式(如高斯投影 或 墨卡托投影),又是基准坐标又是角度的搞的人头都大了。

          实际上要想实现这个功能非常easy。 ARC Engine中的IPoint就可以进行投影和反投影运算了。

    投影过程(C#):

    ///  flatref 投影的坐标系统,这里的54013是世界投影  ,世界投影所有经纬度都可以转换为平面坐标,但是由于投影面积大失真也会比较大(相当于把整个地球劈成一片片的,然后拉伸最后贴到平面上,失真当然大了)。当然也可以选择精度更高的平面如:esriSRProjCS_Beijing1954GK_23N      对应数值21483  仅仅把北京附近的地球平面拉伸铺在平面上,由于投影面积变小,所以投影经度提高。但是由于面积变小,所以有些经度纬度不能转换,比如所美国的精度纬度用北京投影就投不了。

            flatref = pfactory.CreateProjectedCoordinateSystem(54013);

    //没什么说的,标准大地经纬度,可以将X-Y逆投影为经度和纬度

      earthref = pfactory.CreateGeographicCoordinateSystem((int)esriSRGeoCSType.esriSRGeoCS_NAD1983);


            /// 将经纬度点转换为平面坐标。
          
            private IPoint GetProject(double x, double y)
            {

                IPoint pt = new PointClass();
              
                pt.PutCoords(x, y);

                IGeometry geo = (IGeometry)pt;
                geo.SpatialReference = earthref;
                geo.Project(flatref);

            
                return pt;
            }

               /// 将平面坐标转换为经纬度。
             private IPoint GetGeo(double x, double y)
            {

                IPoint pt = new PointClass();

                pt.PutCoords(x, y);

                IGeometry geo = (IGeometry)pt;
                geo.SpatialReference = flatref;
                geo.Project(earthref);
                double xx = pt.X;
                return pt;
            }

     实际上IPoint的投影和任何地图都没什么大关系,完全可以不用地图,直接调用IPoint进行投影的转换

  • 相关阅读:
    arcgis api 3.x for js 入门开发系列八聚合效果(附源码下载)
    arcgis api 3.x for js 入门开发系列七图层控制(附源码下载)
    arcgis api 3.x for js 入门开发系列六地图分屏对比(附源码下载)
    arcgis api 3.x for js 入门开发系列五地图态势标绘(附源码下载)
    arcgis api 3.x for js 入门开发系列四地图查询(附源码下载)
    Java里面获取当前服务器的IP地址
    Flutter at Google I/O 2018
    Modbus RTU 协议使用汇总
    plsql 创建表空间、用户、赋予权限
    Oracle:ODP.NET Managed 小试牛刀
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1488528.html
Copyright © 2011-2022 走看看