• ArcEngine 坐标系变换


    arcgis中对于坐标的管理有三个:

      1、数据文件本身的坐标系,体现在数据坐标x,y上。

      2、空间参考文件,一般是和数据配套存在的。详细定义数据的地理坐标、投影坐标等,主要是在arcgis相关软件加载数据的时候使用。

      3、arcgis等软件显示时的坐标,是在加载数据的时候动态投影变换得到的。在软件中的一些操作都是以此为基础的。(对于toolbox中的工具是否使用此坐标,现在我还不知道)

    对于坐标的变换:

      IGeometry接口提供了SpatialReference属性和Project方法来直接变换IGeometry对象的坐标

      1)地理坐标转投影坐标:

              IPolygon iparea;
                    ISpatialReferenceFactory ispReferenceFactory = new SpatialReferenceEnvironmentClass();
                    IProjectedCoordinateSystem ipCoorSys = ispReferenceFactory.CreateProjectedCoordinateSystem(2383);//2362xian 80 38度带  2383 xian 114
                    IGeographicCoordinateSystem earthref = ispReferenceFactory.CreateGeographicCoordinateSystem((int)esriSRGeoCS3Type.esriSRGeoCS_Xian1980); //西安80地理坐标4610
                    iparea.SpatialReference = earthref;
                    iparea.Project(ipCoorSys);

      2)投影到地理的方法正好相反:

      3)这里需要注意的是,IPolygon如果是COM对象的话转换不过来,只能重新构造新的面对象进行转换。(自己编程中遇到的,也不知道是不是所有的都是这样)

      4)IArea计算面积,只能先将对应几何对象的坐标转为投影坐标才能得到正确的面积。(IArea计算面积应该是直接利用点集的坐标,直接算的,没有考虑其坐标系类型)

  • 相关阅读:
    简易httpserver 和客户端调用
    exe打包简易教程
    图像二值化和显示3D 的算法实现
    gitlab 生成标签
    Nginx 使用小结
    FFMPEG 切片过于占用cpu的问题
    神奇 linux 命令行 窗体穿越
    使用 SSH 在 Linux 上远程调试 .NET Core 实例 演示
    CentOS 7 yum 安装 Nginx 以及 TCP流转发
    Centos7 自动挂载分区硬盘 u盘的操作
  • 原文地址:https://www.cnblogs.com/z964166725/p/4228939.html
Copyright © 2020-2023  润新知