zoukankan      html  css  js  c++  java
  • ArcGIS Engine中空间参照(地理坐标)相关方法总结

    转自原文 ArcGIS Engine中空间参照(地理坐标)相关方法总结

    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); }
  • 相关阅读:
    TLS1.3&TLS1.2形式化分析(二)
    浏览器代理设置和取消代理
    jdk在window系统中的配置
    pycharm2017.3版本永久激活
    Scyther 形式化分析工具资料整理(三)
    百度快照的检索和反馈删除
    Scyther-Semantics and verification of Security Protocol 翻译 (第二章 2.2.2----2.3)
    双一流学校名单
    Scyther tools 协议形式化分析帮助文档翻译
    全国书画艺术之乡-----通渭
  • 原文地址:https://www.cnblogs.com/arxive/p/6885321.html
Copyright © 2011-2022 走看看