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 ...
随机推荐
- Binary Tree Zigzag Level Order Traversal——关于广度优先的经典面试题
Given a binary tree, return the zigzag level order traversal of its nodes' values. (ie, from left to ...
- 【Mac】appium的环境搭建
1.下载appium并安装,进入官网下载即可 http://appium.io 2.下载安装pip,因为pip执行命令的安装,会出现某些包的下载失败,因此使用brew进行 https://pypi.o ...
- php面向对象中public与var的区别
public和var的作用差不多 因为 var定义的变量如果没有加protected 或 private则默认为public php4 中一般是用 varphp5 中就一般是用 public了 现在基 ...
- **[权限控制] 利用CI钩子实现权限认证
http://codeigniter.org.cn/forums/thread-10877-1-1.html 一直没找到CI的权限认证扩展,以前好像找到过一个老外的扩展,不过不怎么好用,现在记不清了, ...
- day2、购物商城
作业:购物商城 商品展示,价格 买,加入购物车 付款,钱不够 代码如下: import codecs #登录接口,用户名密码都正确登录成功,否则失败 def login(your_name,your_ ...
- 如何设计一个基于Node.js和Express的网站架构?
前言 今年七月份,我和几个小伙伴们合伙建立了一个开发团队.业务开展如火如荼的同时,团队宣传就提上了日程,所以迫切需要搭建公司网站出来.确定目标后我们就开始考虑如果构建一个企业网站.先是进行业内调查,看 ...
- 久邦数码(3G门户)面试
久邦数码(3G门户)面试 1.数组和链表的区别(为什么数组带有索引) 2.数据库(手写选出一个公司年龄最大的100个员工) 3.一百个数查找一个数 利用二分查找一个数在最差的情况下至少比较多少次 4. ...
- 使用CSS更改图标的颜色
我们经常在很多网站上见到更改网站的主题时,图标的颜色也改变了,我们总是觉的这一项功能非常伟大,因为我们知道使用CSS是无法完成更改图片的颜色的.那么,网站上随心所欲的图标颜色是采用N多个图片不断的切换 ...
- CodeVS1380 没有上司的舞会 [树形DP]
题目传送门 没有上司的舞会 题目描述 Description Ural大学有N个职员,编号为1~N.他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司.每个职员有一个 ...
- 使用Jedis
前言 借助Jedis可以在Java上操作Redis. Jedis 到https://mvnrepository.com/去找jar包下载即可. 如果是maven项目: <!-- https:// ...