当前位置:首页 » 操作系统 » arcengine源码

arcengine源码

发布时间: 2022-09-09 01:41:24

‘壹’ GIS的主要应用软件有哪些试分析各个软件的优势与应用方面 GIS常用软件 国外的: ArcGIS(包括ArcGIS,

我是gis专业的。。我就我用过的跟你讲下感受吧
1、mapinfo:个人觉得非常有用的一个软件,十分适合初学者上手用。而且,有自带编程的mapbasic。当然,已经被时代所淘汰。。生成tab文件。多用于各种gis图象的创建与分析。
2、arcgis:目前主流,跟mapinfo很像,但功能更多更强劲。配合他的有arcengine,arccatalog。生成shp文件,绝大多数gis软件都支持此格式。多用于各种gis图象的创建与分析。
3、erdas:用来遥感图像的处理。通过增强、分类等操作,对图进行处理,得到更易用于分析的图。目前遥感图像处理的主流。
4、CAD:相当强大的画图工具,但是仅限于画图,很多行业都能用,不单是gis。
5、apache、php、mysql、c#等开发软件:我们学了,但gis体现不强,不多介绍了。
老师在课上也给我们介绍了很多其他的软件。比如geostar,mapgis,supermap等。但基本上都换汤不换药。。
楼主想深究,推荐arcgis+erdas。。
以上均个人观点、有所偏颇。希望对楼主有所启发而已

‘贰’ 如何实现 ArcEngine+C# 中实现栅格数据投影转换求救,急急!!!答案有帮助的加分。

搜索半天没一个靠谱的答案,自己写了一个下面 的代码仅供参考public bool ChangeRasterCoordinate(string prjPath, string inputRasterPath, string outRasterPath)
{
var prj = SpatialReferenceHelper.ReadSR(prjPath);//prjPath即你要转换成的坐标系的prj文件;inputRasterPath:需要转换的文件路径;outRasterPath转换完成后的文件路径
Geoprocessor gp = new Geoprocessor();
ProjectRaster projectRaster = new ProjectRaster();
projectRaster.in_raster = inputRasterPath;
projectRaster.out_raster = outRasterPath;
projectRaster.cell_size = "10000";
projectRaster.out_coor_system = prj;
IGeoProcessorResult tGPResult = (IGeoProcessorResult)gp.Execute(projectRaster, null);
if (tGPResult.Status == ESRI.ArcGIS.esriSystem.esriJobStatus.esriJobSucceeded)
{
return true;
}
return false;
}

‘叁’ 零基础如何参加gis竞赛

我觉得会JAVA就够了,arcgis有各种语言的API,你去Arcgis资源中心查一下就知道(ps:很多现成的程序源码例子可以下载,还有在线实例,直接可以套用就够了,如果要求不是特别高)。gis竞赛肯定涉及一些专业名词的理解。开发肯定不是单纯的开发,arcgis开发跟专业挂钩很强,如果你对专业名词没有足够的理解,你在开发帮助文档中会无所适从。个人觉得arcengine作为入门很不错,你可以看一些专业书理解专业名词,然后接着看一些arcmap教程,理解数据的制作,然后去找一些arcengine的书看一些类库的含义,然后基本你就可以依照例子自己做一些修改 查看原帖>>

‘肆’ 牟乃夏的《arcengine 地理信息系统开发教程》随书源码

一类书如同“怎么用word”,二类书如同“怎么自己做一个word”。如果想速成,那么直接看二类书,如果想基础好,一类书必须要看,你只有懂了arcgis的一个软件怎么用,才能开发出类似的功能,才不会走弯路。因为ArcGIS就是用类似于ArcEngine的东西开发的,他们俩的“祖宗”是完全一样的,都是ArcObjects。

‘伍’ 海洋小比例尺矿产储量计算方法研究

邵长高梁建陈宏文曾文娟

(广州海洋地质调查局 广州 510760)

第一作者简介:邵长高(1983—),男,硕士,主要研究方向:3S技术在资源调查和生态环境动态监测、数字海洋中的应用和开发。E-mail:zkyscg@ yahoo.com.cn。

摘要传统矿产储量计算模型基于欧式测量,应用于小比例尺海洋矿产储量计算时存在精度差的问题,论文通过对WGS1984投影、墨卡托投影、兰勃托投影以及阿尔伯斯投影等特性的研究,提出将矿产实体进行切片处理,计算切片间矿物实体的体积累加和的方法,实现了海洋小比例尺地图投影下储量的精确量测及体积计算,系统地论述了在不规则地球椭球体下如何实现海洋矿产储量计算,为我国海洋资源探测和军事战略方面提供基础服务。

关键词海洋量测地理信息系统地图投影储量计算

1前言

近年来资源勘探已经覆盖大部分陆地区域。越来越多的国家把目光投向海洋。海洋作为一个巨大的能源和资源宝库在国民经济、军事战略等的重要性也日益显现。各个国家竞相制定海洋科技开发规划、战略计划,优先发展海洋新技术[1]。海洋研究成为一个热点,技术的革新也日新月异。

由于海洋是一个大面积的区域,其与陆地的资源勘探技术存在较大区别,尤其在大范围海洋区域的矿产储量计算方面区别甚大。地球是一个不规则的椭球体,采用传统基于平面的欧式测量方法进行小比例尺海洋地图测量时,由于地图投影等方面的原因将会导致变形,严重影响储量计算的精确度[2]。包括欧洲石油勘探组织在内的国内外机构为了消除这种影响建立了一系列的投影转换公式。这些投影转换应用到二维投影当中一定程度上提高了地图量算的精确度。但是对于地球变形引起三维储量计算方面的误差目前并未提供行之有效的方法。本文在前人研究的基础上通过引入基于投影转换的方法,通过对WGS1984投影、墨卡托投影、兰勃托投影以及阿尔伯斯投影等特性的研究,提出将矿产实体进行切片处理,计算切片间矿物实体的体积累加和的方法,实现了海洋小比例尺地图投影下储量的精确量测及体积计算,系统地论述了在不规则地球椭球体下如何实现海洋矿产储量计算,为我国海洋资源探测和军事战略方面提供基础服务。

2海洋投影概述

我国的海洋基本比例尺地形图中,海区小于1:50万的地形图多用等角正轴圆柱投影,又叫墨卡托投影(Mercator)[1]。现在我国企事业单位科研人员用的海图大部分为墨卡托投影。但是在海洋小比例尺下计算矿物储量时必须消除墨卡托投影引起的地图变形误差。论文引入了阿尔伯斯投影,利用其在投影变换中面积不变的特性计算储量来消除误差。在矿物深度方向上,切片间距离值取深度值的差值。

3技术路线

海洋大面积矿产实体,跨度大,地图投影变形明显,形状不规则,因此大大增加了计算储量的难度。论文引入切片技术把矿产实体切成实体面,利用切片间实体的累加和计算实体面之间体积的总和即得矿产实体储量。示意图(图1)如下:

图1 矿物实体切片Fig.1 The slice of the mineral reserve

图1中海洋矿物实体被分割为n个切面,切面间体积和相加即为整个实体的体积。当n趋向于无穷大时则与实际体积越接近。n的值取决于实测数据的精度,也就是经纬度和深度的值的精度。

3.1数据预处理

3.1.1数据来源

1)多波速水深数据:多波束数据经常应用于湖泊盆地等的体积运算。多波束水深其工作原理是通过声波发射与接收换能器阵进行声波广角度定向发射、接收,通过各种传感器(卫星定位系统、运动传感器、电罗经、声速剖面仪等)对各个波束测点的空间位置归算,从而获取在与航向垂直的条带式高密度水深数据[6]

2)地震剖面数据:海洋矿产储量数据主要来自海洋地震剖面断层数据。地震勘探方法是在地面上布置一条条的测线,沿各条测线进行地震施工采集地震信息,然后经过电子计算机处理就得出一张张地震剖面图。经过地质解释的地震剖面图就像从地面向下切了一刀,在二维空间(长度和深度方向)上显示了地下的地质构造情况(图2)[7]。海洋地震剖面中可以根据断层的层位读取炮点号,并结合导航数据读取矿产储层的坐标数据。

图2 二维地震剖面示意图Fig.1 Two dimensional seismic data

3.1.2数据入库

从多波束或者地震剖面中提取出的位置数据,数据整理按照如下数据库格式入库:

表1 矿物储量数据结构Table.1 The data sheet of the mineral reserve

表中数据的经度、纬度需存储经投影转换处理后变成的阿尔伯斯投影数据。

3.2切面面积计算

3.2.1 切面绘制

运用sql语言搜索深度相同的多边形的边界值,绘制切面。方法为:

1)用sql语言搜索出数据库数据中深度值相同的数据。

2)取所有数据中一个特定数据(a1,b1),此数据需要位于所有坐标值(ax,bx)之间。

3)从(a1,b1)的0度角开始逆时针计算两者之间距离值L=sqrt[(b2-b12+(a2-a12]。同时计算角度差。如果过角度差相等则取L值较大的点。

4)把所有3)中取出数据连接成多边形即为此切面。

3.2.2切面计算

为了保持面积计算结果不受地球椭球体影响需要将墨卡托投影转换为阿尔伯斯投影。墨卡托投影转阿尔伯斯投影在ArcEngine下方法如下[4]:

Dim pPoint As esriGeometry.IPoint

Set pPoint=New Point

pPoint.PutCoords mx,my

Set pPoint.SpatialReference=pSpRef2

pPoint.Project pSpRef1‘此处先实现由墨卡托投影到WGS1984投影中

lon=pPoint.X

lat=pPoint.Y

Set pPCS=pSpRFc.(esriSRProjCS_NAD1983USA_Albers)

Set pSpRef2=pPCS

pPoint.Project pSpRef2‘实现由WGS1984投影到阿尔伯斯投影的转换

lon=pPoint.X‘lon即为在阿尔伯斯投影中的经度值

lat=pPoint.Y‘lat即为阿尔伯斯投影中的纬度值[4’

ArcEngine是目前地理信息系统处理方面比较流行的二次开发工具。墨卡托投影转化为阿尔伯斯投影时,每一个坐标点均要做转换,通常是采用W GS1984投影作为中间转换投影。先将墨卡托投影转化到WGS1984投影,然后将转化来的WGS1984投影转化成阿尔伯斯投影。

阿尔伯斯投影最大的特点是投影前后面积保持不变,本文采用质心量算法进行面积计算,具体步骤是先寻找多边形的质心,然后由质心到各多边形顶点引直线,最后把每个多边形的面积相加即得结果。计算步骤如图3[4]

方法为[4]:

1)首先遍历数据库,读取数据库中高程相等数据的坐标值组成平面多边形。找出多边形质心。

2)连接多边形每个点与质心。

3)计算每个小多边形的面积然后相加。S=s1+s2+s3………。其中S表示多边形面积,s1、s2、s3等表示小三角形面积[4]

设L为边长,L两端点坐标值为(a1,b1),(a2,b2)。如图4所示:

则:L=sqrt[(b2-b12+(a2-a12]

每个小三角形面积计算源代码为[4]:

s=(L1+L2+L3)/2

S=sqrt[s*(s-L1))*(s-L2)*(s-L3)]

图3 多边形的面积量算[4]Fig.3 Area measurement of the polygon

图4 每个小三角形面积计算Fig.4 The calculation of every triangle

此处S值即为切面面积。切面面积的计算结果考虑了地球椭球体引起的误差更接近实际值。

3.3切面间体积计算

将矿物实体分割切片后其中每个切面间体积v的计算模拟梯形计算模式,S为上切面面积,S为下切面面积,h为切面间高度差。如图5所示:

图5 单个切面实体Fig.5 Single slice object

则切面间体积v=(S+S)h/2。图1和5中当切面数n趋向于无穷大时,切面1和切面2之间的面积差值越小,相应的两个多边形的形状也就最接近,h值也就最小。此时可以得到误差较为小的切面体积计算结果。

3.4矿物储量计算

将矿产实体分割成n个切面后,每个小切面的体积的累加和即为整个矿产实体的储量。切面数n的值越大所切割的体积个数越多,则切面值越接近实际值。体积值V即是每个小切面间体积v的累加和。

南海地质研究.2010

式中:V即为整个矿物储量。它累加了所有的切面间实体的体积之和,切面间实体的个数取决于n的大小。当n趋向于无穷大时最接近实际值。

4结语

本文介绍了基于投影转换的海洋小比例尺矿产储量的计算方法,同时提供了基于Ar-cEngine的投影转换方法。矿产储量的计算模式不同于传统的计算模式,关键在于考虑到了小比例尺下由于地球椭球体变形引起的误差。所以论文引入了投影变换的方法,从一定程度上降低了地球的不规则性引起的误差。但是此方法只适应于固体矿产的储量计算,对于石油、水合物等的储量计算只能做体积计算的一个参数。

参考文献

[1]单宝强,毛永强.GIS中的坐标系定义与转换[J].黑龙江国土资源,2005,11,38~39

[2]欧洲石油勘探组.Coordinate Conversions and Transformation including Formulas[M].国际石油技术软件开放公司,2008

[3]苏国辉,戴勤奋,魏合龙.海洋地质数据库数据的存储结构[J].海洋地质动态,2003,19(6):5~7

[4]邵长高,谭建军等.海洋小比例尺地图精确测量及计算方法[J].地理与地理信息科学,2009,25(2):42~45

[5]http://www.cngr.cn/article/61/388/2006/2006071814431-2.shtml

[6]http://ke..com/view/1607857.htm

[7]http://ke..com/view/113903.htm

Method of Precise Measurem ent and Calculation of Small Scale Mineral Reserve Calculation

Shao Changgao,Liang Jian,Chen Hongwen,Zeng Wenjuan

(Guangzhou Marine Geological Survey,Guangzhou,510760)

Abstract:To the small-scale map in ocean mine reserve field,the traditional measurement method computes the reserve with a relatively coarse precision.In order to improve that,a new method has been provided in this study,which uses Arc Engine technology to finish the conversion between different projections and measure the earth's area as well as other information precisely.And then cut the mine reserve object into several pieces,so we can calculate the volume of the reserve by summing every piece.The different projections,such as WGS1984,Mercator,and Albers,also have been discussed,which can provide a good service for the military strategy and exploration of ocean resources.

Key words:Ocean measurements,GIS,Map projection,Reserve Calculation

‘陆’ 项目草案公示还需重新测绘吗

项目草案公示是不需要重新测绘的,只要你的证据什么都是正确的就可以了

‘柒’ 请教一下ArcGis engine中遇到的问题

不知道楼主是用的什么环境,不过建议用C#.net+AE来进行二次开发,加载地图的步骤如下:
首先需要在窗体视图中添加一个MapControl控件以便将地图加载到其中,然后需要一个触发机制来完成打开地图的行为,通常会是一个button控件或一个菜单选项,以button为例,添加button控件后双击该控件并在Click事件中写如以下代码
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = new OpenFileDialog();
openFileDialog.Title = "加载地图";
openFileDialog.Filter = "map document(*.mxd)|*.mxd";
openFileDialog.ShowDialog();
string filePath;
filePath = openFileDialog.FileName;
axMapControl1.LoadMxFile(filePath, 0, Type.Missing);
}
这就实现了最简单的加载mxd地图文档的方法。

‘捌’ 跪求ArcEngine+C#开发大神

实现:通过鼠标选择要素并高亮显示:
---------------------------------------------------------------------------------------------------------

●·● ISelectionEnvironment 接口:
---------------------------------------------------------------------------------------------------------

通过 IMap 接口的 SelectByShape 方法来实现!同时可以修改高亮显示的颜色!

private void axMapControl1_OnMouseDown(object sender, IMapControlEvents2_OnMouseDownEvent e)
{
axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault;
IMap pMap = axMapControl1.Map;
IGeometry pGeometry = axMapControl1.TrackRectangle(); //获取框选几何
ISelectionEnvironment pSelectionEnv = new SelectionEnvironment(); //新建选择环境
IRgbColor pColor = new RgbColor();
pColor.Red = 255;
pSelectionEnv.DefaultColor = pColor; //设置高亮显示的颜色!

pMap.SelectByShape(pGeometry, pSelectionEnv, false); //选择图形!
axMapControl1.Refresh(esriViewDrawPhase.esriViewGeoSelection, null, null);
}

‘玖’ 跪求经纬度转西安80坐标系ArcEngine源代码

这个计算很复杂的,我有一个VC编的程序,高斯投影下的坐标正反算,你可以直接用。

热点内容
python查看进程 发布:2024-05-19 22:59:37 浏览:158
androidhtml颜色 发布:2024-05-19 22:58:34 浏览:847
米3系统存储和内存设备 发布:2024-05-19 22:50:50 浏览:214
途乐有哪些越野配置 发布:2024-05-19 22:49:53 浏览:673
php检测变量 发布:2024-05-19 22:45:31 浏览:322
结构与算法 发布:2024-05-19 22:32:22 浏览:588
ubuntuphp版本 发布:2024-05-19 21:59:12 浏览:929
解压文案馆 发布:2024-05-19 21:58:54 浏览:871
苏宁访问数 发布:2024-05-19 21:53:49 浏览:581
湿地下载ftp 发布:2024-05-19 21:46:10 浏览:487