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);
             IGeoDataset pGeoDataset = featureCls as IGeoDataset;
             var spatialReference = pGeoDataset.SpatialReference;
 
             IProjectedCoordinateSystem pProCoordSys = spatialReference as IProjectedCoordinateSystem;//平面
             IGeographicCoordinateSystem pGeographCoordinateSys = pProCoordSys.GeographicCoordinateSystem;//地理
             */
 
 
             //1、从文件中获取
             ESRI.ArcGIS.Geometry.ISpatialReferenceFactory spatialRefFactory = new ESRI.ArcGIS.Geometry.SpatialReferenceEnvironmentClass();
             ESRI.ArcGIS.Geometry.ISpatialReference spatialReference = spatialRefFactory.CreateESRISpatialReferenceFromPRJFile(shpfile.ToLower().Replace(".shp", ".prj"));
 
             //2、自定义
             IProjectedCoordinateSystem geographicCoordinateSystem = spatialRefFactory.CreateProjectedCoordinateSystem((int)ESRI.ArcGIS.Geometry.esriSRProjCSType.esriSRProjCS_World_Mercator);
 
             //3、从文件中获取
             Type factoryType = Type.GetTypeFromProgID("esriGeometry.SpatialReferenceEnvironment");
             System.Object obj = Activator.CreateInstance(factoryType);
             ISpatialReferenceFactory spatialReferenceFactory = obj as ISpatialReferenceFactory;
 
             IProjectedCoordinateSystem projectedCoordinateSystem = spatialReferenceFactory.CreateESRISpatialReferenceFromPRJFile(shpfile.ToLower().Replace(".shp", ".prj")) as IProjectedCoordinateSystem;
             return projectedCoordinateSystem;
 
         }

ArcGis 获取地理、平面坐标系的更多相关文章

  1. ARCGIS进行地理配准并加载到谷歌地球中查看

    普通的地图图片如何能让其附有经纬度坐标和投影信息,如何能将普通的地图图片加载到诸如谷歌地球等相关的三维地球软件当中进行生产或学习使用呢,这就要用到gis当中常用的一种功能,叫做地理配准.地理配准并不复 ...

  2. unity3d的三种平面坐标系

    unity3d有如下三种平面坐标系: 1.屏幕坐标系 2.视口坐标系viewport 3.GUI坐标系

  3. ArcGis地理坐标系转投影坐标系问题的思考与处理

    博主又不知道标题该咋写了,凑合看吧. 国庆前帮人处理了这样一个问题:Shapefile数据,加载到ArcMap后呈懵逼状态,缩放功能完蛋.求助者希望对数据进行投影,由CGCS2000的GCS坐标系投影 ...

  4. ArcGIS 10——地理数据库管理GIS数据

    写本文的最初意向是当前正在进行的项目中有实现ESRI版本化数据管理的功能模块,碰到一些棘手的问题,几经周折还是决定系统学习ArcGIS10的帮助文档.(文章摘抄的比较多) 地理数据库是用于保存数据集集 ...

  5. 获取Canvas当前坐标系矩阵

    前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...

  6. 软件项目技术点(2)——Canvas之获取Canvas当前坐标系矩阵

    AxeSlide软件项目梳理   canvas绘图系列知识点整理 前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操 ...

  7. 微信小程序:获取地理定位和显示相应的城市名称。

    最近在看微信小程序,遇到地理定位显示城市名称的问题.本文就是记录这一过程. 解决方案                                                          ...

  8. ArcGIS后台地理处理(64 位)

    注: 后台地理处理(64 位) 可用作 ArcGIS 10.1 for Desktop.Service Pack 1 及更高版本上的独立安装.只有在已安装 后台地理处理(64 位) 产品的情况下,以下 ...

  9. ARCGIS获取图层下的要素信息及要素类转换为要素

    /// <summary> /// 得到需要的字段名和字段值 /// </summary> /// <param name="layer">&l ...

随机推荐

  1. 【github】github 使用教程初级版

    github 是一个基于 git 的代码托管平台,付费用户可以建私人仓库,免费用户只能使用公共仓库.对于一般人来说公共仓库就已经足够了,而且也没多少代码来管理.下面简单介绍如何使用 github,供初 ...

  2. Android Java 自定义异常

    1.自定义异常 package com; public class ZeroException extends Exception { private static final long serial ...

  3. 浅谈URLEncoder编码算法

    一.为什么要用URLEncoder 客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将 ...

  4. Jeff Somers's N Queens Solutions 最快的n皇后算法

    /* Jeff Somers * * Copyright (c) 2002 * * jsomers@alumni.williams.edu * or * allagash98@yahoo.com * ...

  5. swift GCD使用指南

    swift GCD使用指南 Grand Central Dispatch(GCD)是异步执行任务的技术之一.一般将应用程序中记述的线程管理用的代码在系统级中实现.开发者只需要定义想执行的任务并追加到适 ...

  6. Windows Server 2012 R2下通过80端口访问Odoo ERP

    背景 Odoo 9.0系统,安装于Windows Server 2012R2,同时与IIS并存.Odoo自带web服务器,使用端口8069.因客户需要用80端口访问,因此需要进一步设置,且8069端口 ...

  7. eclipse发布项目时,会自动还原server.xml和content.xml文件

    因为Tomcat的端口冲突,导致eclipse发布项目时,失败.于是到server.xml文件中修改端口,重启使用eclipse发布项目,发现依然报端口冲突的错误,其原因时,刚才对server.xml ...

  8. Linux Shell 03 条件测试

    条件测试 方式一:在Bash中 test命令和[]是等价的. test命令: if test $n1 -eq $n2 then echo "The two number are equal& ...

  9. c++基础回顾

    #include <iostream> #include <vector> #include <string> int main(int argc, const c ...

  10. JQ插件

    什么是插件 插件(plugin)是JQuery的扩展(Extension),以JQuery的核心代码为基础,是一种遵循一定规范的应用程序接口编写出来的程序. 插件的引入 引入jquery.js文件 引 ...