• 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计算面积应该是直接利用点集的坐标,直接算的,没有考虑其坐标系类型)

  • 相关阅读:
    flask 本地局域网连接
    python
    Python 有关网址
    Python 字典(Dictionary)操作详解
    Elasticsearch集成HanLP分词器-个人学习
    知识图谱构建
    项目实战:如何构建知识图谱
    10分钟上手图数据库Neo4j
    知识图谱技术原理介绍
    知识图谱的应用
  • 原文地址:https://www.cnblogs.com/z964166725/p/4228939.html
Copyright © 2020-2023  润新知