ArcGIS Engine中空间参照(地理坐标)相关方法总结转
ArcGIS Engine中空间参照(地理坐标)相关方法总结
来自:http://blog.csdn.net/u011170962/article/details/38776101
1.创建空间参考
- /// <summary>
- /// 根据prj文件创建空间参考
- /// </summary>
- /// <param name="strProFile">空间参照文件</param>
- /// <returns></returns>
- public static ISpatialReference CreateSpatialReference(string strProFile)
- {
- ISpatialReferenceFactory pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass();
- ISpatialReference pSpatialReference = pSpatialReferenceFactory.CreateESRISpatialReferenceFromPRJFile(strProFile);
- return pSpatialReference;
- }
- /// <summary>
- /// 创建地理坐标系
- /// </summary>
- /// <param name="gcType">esriSRProjCS4Type</param>
- /// <returns></returns>
- public static ISpatialReference CreateGeographicCoordinate(esriSRProjCS4Type gcsType)
- {
- ISpatialReferenceFactory pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass();
- ISpatialReference pSpatialReference = pSpatialReferenceFactory.CreateGeographicCoordinateSystem((int)gcsType);
- return pSpatialReference;
- }
- /// <summary>
- /// 创建投影坐标系
- /// </summary>
- /// <param name="pcType">esriSRProjCS4Type</param>
- /// <returns></returns>
- public static ISpatialReference CreateProjectedCoordinate(esriSRProjCS4Type pcsType)
- {
- ISpatialReferenceFactory2 pSpatialReferenceFactory = new SpatialReferenceEnvironmentClass();
- ISpatialReference pSpatialReference = pSpatialReferenceFactory.CreateProjectedCoordinateSystem((int)pcsType);
- return pSpatialReference;
- }
- /// <summary>
- /// 获取空投影
- /// </summary>
- /// <returns></returns>
- public static ISpatialReference CreateUnKnownSpatialReference()
- {
- ISpatialReference pSpatialReference = new UnknownCoordinateSystemClass();
- pSpatialReference.SetDomain(0, 99999999, 0, 99999999);//设置空间范围
- return pSpatialReference;
- }
2.获取空间参考
- /// <summary>
- /// 获取要素集空间参考
- /// </summary>
- /// <param name="pFeatureDataset">要素集</param>
- /// <returns></returns>
- public static ISpatialReference GetSpatialReference(IFeatureDataset pFeatureDataset)
- {
- IGeoDataset pGeoDataset = pFeatureDataset as IGeoDataset;
- ISpatialReference pSpatialReference = pGeoDataset.SpatialReference;
- return pSpatialReference;
- }
- /// <summary>
- /// 获取要素层空间参考
- /// </summary>
- /// <param name="pFeatureLayer">要素层</param>
- /// <returns></returns>
- public static ISpatialReference GetSpatialReferenc(IFeatureLayer pFeatureLayer)
- {IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;
- IGeoDataset pGeoDataset = pFeatureClass as IGeoDataset;
- ISpatialReference pSpatialReference = pGeoDataset.SpatialReference;
- return pSpatialReference;
- }
- /// <summary>
- /// 获取要素类空间参考
- /// </summary>
- /// <param name="pFeatureClass">要素类</param>
- /// <returns></returns>
- public static ISpatialReference GetSpatialReference(IFeatureClass pFeatureClass)
- {
- IGeoDataset pGeoDataset = pFeatureClass as IGeoDataset;
- ISpatialReference pSpatialReference = pGeoDataset.SpatialReference;
- return pSpatialReference;
- }
3.修改空间参考
- /// <summary>
- /// 修改要素集空间参考
- /// </summary>
- /// <param name="pFeatureDataset">要素集</param>
- /// <param name="pSpatialReference">新空间参考</param>
- public static void AlterSpatialReference(IFeatureDataset pFeatureDataset, ISpatialReference pSpatialReference)
- {
- IGeoDataset pGeoDataset = pFeatureDataset as IGeoDataset;
- IGeoDatasetSchemaEdit pGeoDatasetSchemaEdit = pGeoDataset as IGeoDatasetSchemaEdit;
- if (pGeoDatasetSchemaEdit.CanAlterSpatialReference == true)
- pGeoDatasetSchemaEdit.AlterSpatialReference(pSpatialReference);
- }
- /// <summary>
- /// 修改要素类空间参考
- /// </summary>
- /// <param name="pFeatureClass">要素类</param>
- /// <param name="pSpatialReference">新空间参考</param>
- public static void AlterSpatialReference(IFeatureClass pFeatureClass, ISpatialReference pSpatialReference)
- {
- IGeoDataset pGeoDataset = pFeatureClass as IGeoDataset;
- IGeoDatasetSchemaEdit pGeoDatasetSchemaEdit = pGeoDataset as IGeoDatasetSchemaEdit;
- if (pGeoDatasetSchemaEdit.CanAlterSpatialReference == true)
- pGeoDatasetSchemaEdit.AlterSpatialReference(pSpatialReference);
- }
ArcGIS Engine中空间参照(地理坐标)相关方法总结转的更多相关文章
- ArcGIS Engine中空间参照(地理坐标)相关方法总结
转自原文 ArcGIS Engine中空间参照(地理坐标)相关方法总结 1.创建空间参考 /// <summary> /// 根据prj文件创建空间参考 /// </summary& ...
- ArcGIS Engine中的8种数据访问 (转)
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGI ...
- ArcGIS Engine中的数据访问
ArcGIS Engine中的数据访问 数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文 ...
- [转载]ArcGIS Engine 中的多线程使用
ArcGIS Engine 中的多线程使用 原文链接 http://anshien.blog.163.com/blog/static/169966308201082441114173/ 一直都想写 ...
- ArcGIS Engine中的8种数据访问
数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGI ...
- ArcGIS engine中Display类库——Display
转自原文 ArcGIS engine中Display类库——Display Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这 ...
- ArcGIS Engine 中的多线程使用
转自原文ArcGIS Engine 中的多线程使用 一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速 ...
- ArcGIS engine中Display类库 (局部刷新)
转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...
- ArcGIS Engine中的重点类库介绍
转自原文ArcGIS Engine中的重点类库介绍 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他类库提供服务的组件.System ...
随机推荐
- hdu 5833(欧拉路)
The Best Path Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tot ...
- Remove Duplicates from Sorted List II——简单的指针问题
Given a sorted linked list, delete all nodes that have duplicate numbers, leaving only distinct numb ...
- vue 条件渲染与列表渲染
本文是对官方文档的整理 因为 v-if 是一个指令,所以必须将它添加到一个元素上.但是如果想切换多个元素呢?此时可以把一个 <template> 元素当做不可见的包裹元素,并在上面使用 v ...
- MySQL的表管理
首先,先选择数据库(极其特别重要,如果不选择,将默认为第一个数据库) mysql > use db_name; 查看所有表 mysql > show tables; 1.创建表 creat ...
- MFC+WinPcap编写一个嗅探器之零(目录)
零零散散写了三天,完成了编写嗅探器的文章,旨在让自己加深印象,是初学者少走一些弯路.因为先前未接触MFC,之后也不打算精通,完全是0基础,所以文章技术含量不高,但难点基本上都都包括了,凑合这看吧,接下 ...
- 基于Ubuntu系统搭建以太坊go-ethereum源码的开发环境
第一.先安装geth的CLI环境sudo apt-get install geth,这个很重要 第二.下载源代码 git clone https://github.com/ethereum/go-et ...
- 转:VMMAP内存查看工具
转:http://blog.csdn.net/woddle/article/details/45337767 下面我根据VMMap来详细介绍一下内存的分类. 内存是一个很复杂的系统,其中的paging ...
- 洛谷P3052 [USACO12MAR]摩天大楼里的奶牛 [迭代加深搜索]
题目传送门 摩天大楼里的奶牛 题目描述 A little known fact about Bessie and friends is that they love stair climbing ra ...
- Python类总结-析构函数和__call__方法
class Foo: def __init__(self): pass #析构函数 def __del__(self): print('解释器要销毁我了,我要做最后一次呐喊') def __call_ ...
- mysql树形结构递归查询
之前一直用的是Oracle,对于树形查询可以使用start with ... connect by ' connect by id = prior parent_id; 没错,这是Oracle所支持的 ...