zoukankan      html  css  js  c++  java
  • ArcGis 获取地理、平面坐标系

     1 IProjectedCoordinateSystem LoadProjectedCoordinateSystem(string shpfile)
     2         {
     3             /*  IFeatureClass从中获取地理坐标、平面坐标
     4             string shpDir = System.IO.Path.GetDirectoryName(shpfile);
     5             string shpfilename = System.IO.Path.GetFileName(shpfile);
     6             IWorkspaceFactory wsFactory = new ShapefileWorkspaceFactoryClass();
     7             IWorkspace ws = wsFactory.OpenFromFile(shpDir, 0);
     8             IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)ws;
     9             IFeatureClass featureCls = featureWorkspace.OpenFeatureClass(shpfilename);
    10             IGeoDataset pGeoDataset = featureCls as IGeoDataset;
    11             var spatialReference = pGeoDataset.SpatialReference;
    12 
    13             IProjectedCoordinateSystem pProCoordSys = spatialReference as IProjectedCoordinateSystem;//平面
    14             IGeographicCoordinateSystem pGeographCoordinateSys = pProCoordSys.GeographicCoordinateSystem;//地理
    15             */
    16 
    17 
    18             //1、从文件中获取
    19             ESRI.ArcGIS.Geometry.ISpatialReferenceFactory spatialRefFactory = new ESRI.ArcGIS.Geometry.SpatialReferenceEnvironmentClass();
    20             ESRI.ArcGIS.Geometry.ISpatialReference spatialReference = spatialRefFactory.CreateESRISpatialReferenceFromPRJFile(shpfile.ToLower().Replace(".shp"".prj"));
    21 
    22             //2、自定义
    23             IProjectedCoordinateSystem geographicCoordinateSystem = spatialRefFactory.CreateProjectedCoordinateSystem((int)ESRI.ArcGIS.Geometry.esriSRProjCSType.esriSRProjCS_World_Mercator);
    24 
    25             //3、从文件中获取
    26             Type factoryType = Type.GetTypeFromProgID("esriGeometry.SpatialReferenceEnvironment");
    27             System.Object obj = Activator.CreateInstance(factoryType);
    28             ISpatialReferenceFactory spatialReferenceFactory = obj as ISpatialReferenceFactory;
    29 
    30             IProjectedCoordinateSystem projectedCoordinateSystem = spatialReferenceFactory.CreateESRISpatialReferenceFromPRJFile(shpfile.ToLower().Replace(".shp"".prj")) as IProjectedCoordinateSystem;
    31             return projectedCoordinateSystem;
    32 
    33         }
  • 相关阅读:
    某一字段分组取最大(小)值所在行的数据
    【JVM】01虚拟机内存模型
    POJ 1845 Sumdiv (求某个数的所有正因子的和)
    POJ 2992 Divisors (求因子个数)
    POJ 3696 The Luckiest number (欧拉函数,好题)
    POJ 1811 Prime Test (Pollard rho 大整数分解)
    POJ 2429 GCD & LCM Inverse (Pollard rho整数分解+dfs枚举)
    POJ 1305 Fermat vs. Pythagoras (毕达哥拉斯三元组)
    POJ 2142 The Balance (解不定方程,找最小值)
    POJ 1006 Biorhythms (中国剩余定理)
  • 原文地址:https://www.cnblogs.com/94cool/p/4323370.html
Copyright © 2011-2022 走看看