当前位置:文档之家› C# GIS二次开发代码1

C# GIS二次开发代码1

C# GIS二次开发代码1
C# GIS二次开发代码1

GIS二次开发实验报告

GIS二次开发实验报告 学号: 姓名: 班级: 专业: 指导老师: 二零一五年11月15日

目录 1 实验一:软件安装与AOI书签开发 (2) 1.1 实验目的 (2) 1.2 实验内容 (2) 1.3 实验结果 (2) 2 实验二:地图数据组织与访问 (5) 2.1 实验目的 (5) 2.2 实验内容 (5) 2.3 实验结果 (5) 3 实验三:地图渲染与制图输出 (9) 3.1 实验目的 (9) 3.2 实验内容 (9) 3.3 实验结果 (9) 4 实验四:空间数据处理 (14) 4.1 实验目的 (14) 4.2 实验内容 (14) 4.3 实验结果 (14) 5 实验五:GIS分析 (20) 5.1 实验目的 (20) 5.2 实验内容 (20) 5.3 实验结果 (20) 6实验六:栅格数据处理 (25) 4.1 实验目的 (25) 4.2 实验内容 (25) 4.3 实验结果 (25) 7实验总结 (31)

1实验一:软件安装与AOI书签开发 1.1实验目的 ?掌握AOI书签程序开发 1.2实验内容 ?实现AOI书签的创建 ?实现AOI书签的调用 1.3实验步骤与结果 安装程序后,新建地图显示项目。在程序的主窗体上端添加添加菜单项,文本属性为创建书签,控件名为miCreateBookmark,在旁边添加组合框,控件名为cbBookmarkList。 1.右击引用选择AddArcGIS Reference在弹出的对话框中添加引用在主窗体(即MainForm.cs)中添加代码; (1)首先添加引用代码:using ESRI.ArcGIS.Display; using ESRI.ArcGIS.esriSystem; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Controls; using ESRI.ArcGIS.ADF; using ESRI.ArcGIS.SystemUI; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using ESRI.ArcGIS.DataSourcesFile; using ESRI.ArcGIS.DataSourcesRaster; (此引用代码都需添加引用后才可以使用,上述引用代码为本类中所需要的所有引用,在之后的编程中,可以不用重复引用) (2)添加“创建书签”函数 在MainForm类中添加成员函数CreateBookMark,代码如下: public void CreateBookmark(string sBookmarkName)//参数为书签名 { //通过IAOIBookmark接口创建一个变量,其类型为AOIBookmark,用于保存当前地图的范围 IAOIBookmark aoiBookmark = new AOIBookmarkClass(); if (aoiBookmark != null) { aoiBookmark.Location = axMapControl1.ActiveView.Extent;

gis二次开发能实现那些功能

第一题:GIS二次开发能实现那些功能? 符号化显示全要素地图 对图层的的管理和操作 支持地图放大,缩小漫游等各种操作 可以对地图进行标注 可以实现几何参数查询,空间定位查询等功能 空间分析功能 空间数据库访问功能 地图打印功能 GPS导航功能 第二题,MO做专题地图有哪几种? 标注渲染,按值渲染,点密度渲染,分类渲染,图表渲染,z值渲染,组渲染 建立缓冲区查找缓冲区的城市代码: Dim dc As New MapObjects2.DataConnection '定义一个数据连接对象 Dim lyr As New MapObjects2.MapLayer '定义一个数据图层对象 Dim fname As String Dim fnames() As String '定义了一个字符数组 Dim rectline As MapObjects2.Recordset '定义一个数据集对象 Dim resutstate As MapObjects2.Recordset Dim resultshape As MapObjects2.Polygon Dim flag As Integer Dim fname2 As String Dim max As Integer Dim flagitem As Integer Dim intersetj As MapObjects2.Polygon Dim k As MapObjects2.Polygon Dim setflash(100) As MapObjects2.Polygon '足条件的记录,用于后面的闪烁Dim freset(100) As String '记录满足条件的记录州名Dim jilu As Integer '统计满足条件的记录个数 Private Sub Combo1_Click() fname2 = Combo1.Text '在组合框的单机事件中完成的任务为: For i = 0 To max '用户选中组合框中的图层名,通过循环使其与fnames(i)保存的 If fnames(i) = fname2 Then '图层名进行对比查找,如果找到就将图层索引保存到flagitem中 flagitem = max - i '通过变量flagitem将地图索引传给函数https://www.doczj.com/doc/0e8112178.html,yers(flagitem).SearchByDistance(p, Map1.ToMapDistance(100), "") Exit For '目的是在用户选择的图层中找到用户选中的图形 End If

GIS二次开发经典代码

1、保存栅格数据(注意:保存的时候不要忘记要将栅格数据保存到栅格数据集工作空间中,同时还有栅格的扩展名一定要加上。)内容来自GIS公园 Public Sub SaveRaster() Dim pMxDoc As IMxDocument Dim pMap As IMap Set pMxDoc = Application.Document Set pMap = pMxDoc.FocusMap pMap.DeleteLayer https://www.doczj.com/doc/0e8112178.html,yer(0) Dim pRasterDataset As IRasterDataset Dim pWks As IRasterWorkspace Dim pWksFact As IWorkspaceFactory Set pWksFact = New RasterWorkspaceFactory Set pWks = pWksFact.OpenFromFile("D:\Projects\ZLS\temp", 0) Dim pRBC As IRasterBandCollection Set pRasterDataset = pWks.OpenRasterDataset("test") 'Dim pRBC As IRasterBandCollection Dim pRLayer As IRasterLayer Set pRLayer = New RasterLayer pRLayer.CreateFromDataset pRasterDataset Dim pRaster As IRaster Set pRaster = pRLayer.Raster Set pRBC = pRaster Dim pDs As IDataset Set pDs = pRBC.SaveAs("test", pWks, "TIFF") copyright https://www.doczj.com/doc/0e8112178.html, pMap.AddLayer pRLayer End Sub 2、根据已有数据字段,创建shape文件,并将数据插入到shape文件中(delphi代码)GIS公园https://www.doczj.com/doc/0e8112178.html, function CreateNewShape(pCursor: IFeatureCursor; pFCls: IFeatureClass; pPath: WideString; pNewFClsName:WideString): IFeatureClass; var pShapeFieldName, ConfigKeyword: WideString; pNewFCls: IFeatureClass; pFeature: IFeature; pNewFCursor: IFeatureCursor;

《GIS二次开发》课程设计报告

《GIS二次开发课程设计》报告

目录 1 设计目标 (1) 2 需求分析 (1) 2.1 业务构成... .. (1) 2.2 数据内容... .. (1) 3 系统设计 (1) 3.1 总体设计 (1) 3.2 数据库设计 (2) 3.3 平台选择 (2) 3.4 详细设计 (2) 4 功能实现 (3) 4.1 基本功能 (3) 4.2 符号化 (3) 小结 ............................ 错误!未定义书签。

1 设计目标 通过本系统的实施,建立全国各省人口分布和人均GDP排名系统,通过各种地图符号和色彩信息,将地图数据符号化,借此来制作全国各省人口比重、贫富差距大小等专题图。 2 需求分析 2.1 业务构成 中国人口在世界各国中位居首位,约占世界总人口的19%,根据2015年1月20日国家统计局网站公布2014年中国经济数据,2014年末,中国大陆总人口达136782万人,比上年末增加710万人。其中,男性人口70079万人,女性人口66703万人,男性人口比女性多3376万人。中国是人口大国,因此中国的人口分布情况和人口管理显得至关重要。 随着经济的发展,中国的经济状况日益增强。但是整体而言贫富差距还是很大,所以将地图数据符号化来更好地分析各地区的人均GDP对国家掌控各地经济情况是十分有用的。 2.2 数据内容 数据主要包括全国各省的人口数量、总的GDP和人均GDP。通过这些数据来处理地图,将地图做成不同属性的专题图。 3 系统设计 3.1 总体设计 此次设计的初衷即是开发一个可以制作专题地图的系统。以全国

人口数量和全国各省人均GDP为例进行制作和开发。 第一步就是找全国省区底图;接着找所需数据(全国各省人口数量和全国各省人均GDP。)最后,通过VS设计系统,实现专题图制作功能。 3.2 数据库设计 刚开始是想将找到的数据以表格的形式导入arccatalog中,希望经过处理可以直接使用,但是做到最后发现并不能将表格直接导入底图。解决办法是在arcmap中编辑底图的属性表将找到的数据输入,保存。 还有就是在用VS系统开发时的登录界面时,用到sqlserver。 在sqlserver中创建数据库,在已创建的数据库中创建表格,表格中输入“用户名”和“密码”相关信息。 3.3 平台选择 系统开发平台:VS2010和arcengine。 3.4 详细设计 1、首先设计登录界面:登录界面加入所需控件。

GIS地理信息与二次开发专业面试宝典(130912)

GIS地理信息系统与二次开发专业面试宝典 一、简述题 1、什么是GIS: GIS(geographic information system),即地理信息系统,是利用现代计算机图形技术和数据库技术,输入、存储、编辑、分析、显示空间信息及其属性信息的地理资料系统。在地GIS信息数据分两大类:第一类是地图数据,即图形数据。第二类是属性信息,即属性数据(也可称为文字数据,非图形数据)。通过GIS 系统这两类信息的特有管理方式,在它们之间建立双向对应关系,实现图形和数据的互查互用。 2、GIS与CAD系统的区别: 首先,GIS 是图形和属性的结合体,而CAD 是单纯的图形,很难和大数据量的属性信息关联;其次,GIS 中的图形有拓扑信息,可以进行各种复杂的空间分析,而CAD 图形要素之间的关系是松散的,没有空间的概念;再次,GIS 可以做多种基于图形或属性的查询统计,也能制作各种表现形式的专题图,而CAD 一般不能;最后,GIS 能理大数据量,甚至是高达数十G 的海量数据,也能读写存储于数据库中的空间图形,而CAD 不能。 二、名词解释 3.地理参考系统(geographic Coordinate system):地理信息包含有明确的地理参照系统,例如经度和纬度坐标,或者是国家网格坐标。 4.地图投影:地图投影就是指建立地球表面上的点与投影平面上点之间一一对应关系的数学方法。地图投影是解决地球椭球面上地物绘制到平面图纸上的问题。 5. 空间分析:是基于空间对象的位置和形态特征的空间数据分析技术。常见的有拓扑叠加分析、缓冲区分析、网格分析和地形分析等。

6.1954 年北京坐标系Beijing Geodetic Coordinate System l9541954 年我国决定采用的国家大地坐标系,实质上是由原苏联普尔科沃为原点1942 年坐标系的延伸。 7.1956 年黄海高程系统Huang hai Vertical Datum l956以青岛验潮站根据1950 年一1956 年的验潮资料计算确定的平均海面作为基准面,据以计算地面点高程的系统。 8.1985 国家高程基准National Vertical Datum 1985:1987 年颁布命名的,以青岛验潮站1952 年一1979 年验潮资料计算确定的平均海面作为基准面的高程基准。 9.WGS-84 坐标系WGS-84 Coordinate System: 一种国际上采用的地心坐标系。坐标原点为地球质心,称为1984 年世界大地坐标系统。 10.城市地理信息Urban Geographic lnformation: 城市地理信息是城市中一切与地理分布有关的各种地理要素图形信息、属性信息及其相互间空间关系信息的总称。 11. 城市基础地理信息Urban FundamentaI Geographic lnformation: 城市基础地理信息是指城市最基本的地理信息,包括各种平面和高程控制点、界址点、建筑物、道路、水系、境界、地形、植被、地名及某些属性信息等,用于表示城市基本面貌并作为各种专题信息空间定位的载体。它具有统一性、精确性和基础性的特点。 12.等高线contour: 地图上地面高程相等的相邻点所连成的曲线在平面上的投影。

arcgis 二次开发

gis的开发方法有三种,即独立开发,宿主型二次开发,基于gis组件的二次开发,其中独立开发为底层开发,不依赖于任何gis工具软件,开发难度太大,后两者是基于一种软件的二次开发,这样的二次开发则相对较简单,他的好处也是显而易见的。 宿主型二次开发是指基于GIS平台软件上进行应用系统开发。大多数GIS 平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI的ArcView提供 了Avenue语言,Maplnfo公司的MapInfo Professional提供了MapBasic语言 等等。用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的 针对不同应用对象的应用程序。这种方式省时省心,但进行二次开发的脚本语言, 作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发 的系统不能脱离GIS平台软件,是解释执行的,效率不高。相比基于组件的二次开发可以根据自己的需要扩展系统的功能,并且可以脱离原gis平台软件,综合看来,单纯二次开发受gis基础平台提供的编程语言的限制,而基于组件式的二次开发不仅能提高开发效率,同时可靠性好,易于移植,便于维护。所以,结合gis基础平台软件与当今可视化开发语言的组件式二次开发成为gis开发的主流。但是二次开发也不是十全十美的,只要我们使其中的瑕疵减少,误差也就会减少。 ArcGIS Engine开发工具包是一个基于组件的软件开发产品,用于建立和部署自定义GIS和制图应用程序。ArcGIS Engine开发工具包不是一个终端用户产品,而是一个应用程序开发人员的工具包。可以用ArcGIS Engine开发工具包建立基本的地图浏览器或综合、动态的GIS编辑工具。使用ArcGIS Engine开发工具包,开发人员在建立定制的地图接口方面具有前所未有的灵活性。开发人员可以使用几个API中的任何一个来建立独一无二的应用程序,或者将ArcGIS Engine组件与其他软件组件组合起来实现地图与用户管理信息之间的协同关系。 (可选资料) 从第一个GIS系统一加拿大地理信息系统(CGIS)到目前用户可以自己定制 的GIS系统,GIS二次开发经历了巨大的变化。在这个发展过程中主要出现了两 种GIS二次方式,即宿主型二次开发和基于GIS组件的二次开发131。 GIS开发过程中常用的两种构架(c/s和B/S) 基于c/s结构的GIS是 由客户机完成GIS分析、输出工作。GIS数据和分析工具最初放在服务器上,运 行时下载到客户机,操作灵活。但是c/s应用软件模式大都是基于“胖客户机” 结构下的两层结构应用软件。客户端软件一般由应用程序及相应的数据库连接程 序组成,服务器端软件一般是某种数据库系统。客户机端软件的主要功能是处理 与用户的交互、按照某种应用逻辑实现与数据库系统的交互;服务器端软件的主 要功能是数据库系统根据客户端软件的请求进行数据库操作,然后将结果传送到 客户端软件。客户端软件与服务器端软件之问的通信主要是通过SQL语句。两层 C/S结构应用软件的开发工作主要集中在客户端,客户端端软件不但要完成用户

gis二次开发实习总结

gis二次开发实习总结 篇一:gis二次开发实习报告 重庆交通大学 测量与空间信息处理实验报告 实验课程:GIS二次开发程序设计 实验名称:设计程序完成图像基本操作 班级:测绘一班 学号: 09210111 姓名:程佳琦 实验日期:2012年 6 月 5 日 一、实验目的和要求 通过编写程序完成以不同的方式(包括菜单、对话框和命令按钮)加载图像,并完成对图像的基本操作,包括放大、缩小和平移。要求程序简洁界面整洁排列有序,能在正确设计程序的基础上达到对于图像加载及简单操作的程序的熟练程度,为二次开发的学习打下良好的基础。 二、实验内容 运用Visual Basic设计程序,分别完成以菜单、对话框和命令按钮为对象的像加载,在加载的基础上实现对图像的一些简单操作,设计程序完成对于图像的一些简单的操作,如放大、缩小和平移等。 三、实验步骤

1.设计程序完成菜单加载,并且完成相应放大、缩小和平移。 1)设计程序如下: 2)程序运行: 3)打开图像并放大: 4)图像缩小: 5)图像平移: 2.设计程序完成对话框图像加载,并完成相应的基本操作,包括图像的放大、缩小和平移。 1)设计程序: 2)程序运行: 篇二:GIS开发实习报告 学号 1221030205 实习报告 GIS程序设计实习 起止日期: 2015 年 7 月13 日至 2015年 7 月19 日 学 班 成生姓名级绩吴馁 12级地信2 班 指导教师(签字)

地质与测绘学院 2015年 7 月 20 日 GIS程序设计实习 一、实习目的 通过GIS程序设计实习,使学生了解需求分析、项目管理方案设计、系统总体设计以及系统详细设计、系统实施、运行和维护等阶段要完成的具体工作;掌握在C#和ArcEngine环境下构建应用型地理信息系统的方法。 二、实习内容 熟悉开发环境: Visual Studio 2010; C#; Arc Engine 10.1 功能需求分析 基于组件技术开发应用型地理信息系统 组件式技术已成为当今软件技术的潮流之一。组件式GIS软件的基本思想是把GIS各大功能模块划分为几个控件。各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便地通过可视化的软件开发工具集成起来,形成最终的GIS应用。 重点完成的工作包括:1)建立ArcGIS Engine 应用程序框架;2)实现对矢量数据(Shape File格式)的访问;3)实现采用简单、唯一值、分类等多种方式对面状矢量数据进行渲染(Render)。

GIS二次开发—专题图主窗体代码

namespace MapLayout.PageLayout { public class PageLayout { #region 打印输出 ///

/// pageLayout输出图片 /// /// ture为成功,false为失败 public static bool ExportMapToImage(AxPageLayoutControl axPageLayoutControl1) { try { SaveFileDialog pSaveDialog = new SaveFileDialog(); pSaveDialog.FileName = ""; pSaveDialog.Filter = "JPG图片(*.JPG)|*.jpg|tif图片(*.tif)|*.tif|PDF文档(*.PDF)|*.pdf"; if (pSaveDialog.ShowDialog() == DialogResult.OK) { double iScreenDispalyResolution = axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.Resolution; IExporter pExporter = null; if (pSaveDialog.FilterIndex == 0) { pExporter = new JpegExporterClass(); } else if (pSaveDialog.FilterIndex == 1) { pExporter = new TiffExporterClass(); } else if (pSaveDialog.FilterIndex == 2) { pExporter = new PDFExporterClass(); } pExporter.ExportFileName = pSaveDialog.FileName; pExporter.Resolution = (short)iScreenDispalyResolution; tagRECT deviceRect = axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.get_DeviceFrame(); IEnvelope pDeviceEnvelope = new EnvelopeClass(); pDeviceEnvelope.PutCoords(deviceRect.left, deviceRect.bottom,

GIS平台软件简介

GIS平台软件简介 1.相关概念介绍 地理信息系统(Geographic Information System 简称GIS)是用于回答具有物质属性和空间坐标且与时间相关联问题的艺术、科学、工程和技术的统称,是集计算机科学、地理科学、测绘科学、环境科学、城市科学、空间科学、信息科学和管理科学为一体的新兴边缘学科。它作为对地域空间分布相关的地理数据及其属性数据进行采集、存储、管理、分析的软件系统和开发工具,是一个图形与数据完美结合的系统,它不仅能将所需要的数据更形象、更直观地与图形紧密联系起来,而且能把结果以图形的方式显示出来,这给管理决策人员科学、更直观、更准确、更及时地制定计划、处理问题提供了依据。目前GIS 已经快速的应用到各个领域,发展速度非常快,好多高校相应也开设了相关专业。 GIS平台,是指Mapinfo、Arcinfo、Supermap、MAPGIS等GIS平台,是成型的商品软件。这些软件具有强大的通用的GIS功能,可以在其上用开发工具(.NET、JAVA、Delphi 等等)开发出各种GIS软件。然而GIS 的开发平台众多,开发平台也各有优势,在进行GIS 开发过程中,选择一个好的平台无疑是尤为重要的。 GIS软件一般是指应用到用户那里的、结合用户的业务开发出来的软件。例如在电力、水利、国土资源、交通等等行业正在应用的软件。这些软件一般都是在GIS平台上开发的,应用的时候要先安装GIS平台,再安装开发人员在平台之上开发出来的软件才能运行。国外的常用的GIS软件有AutoCAD Map3d、ArcGIS、MapInfo等,而国内比较知名的GIS软件则是Supermap、MapGIS、GeoStar等。 2. GIS平台软件技术发展回顾 从二十世纪九十年代末到现在的十年期间,GIS软件技术的发展经历了“四化”,即:组件化、Web化、微型化和数据库化。这“四化”深深地影响了过去十年的GIS应用开发方式,并把GIS的应用推到前所未有的高度。 2.1 组件化 在GIS软件诞生之初,不同研究机构分别独立开发了完成不同功能的模块,称为GIS

09210104 GIS二次开发实验报告

重庆交通大学 测量与空间信息处理实验报告 实验课程:GIS二次开发程序设计 实验名称:页面设计与实现地图操作班级:测绘工程一班 学号:09210104 姓名:陈富林 实验日期:2012 年6 月5 日

一、实验目的和要求 1、熟悉Visual Basic和MapObject的基本操作 2、学会设计一个简单的页面系统来实现对地图的放大、缩小、平移、视图等各种操作功能。 3、分别用①command命令实现shape文件加载、平移、放大、缩小 操作; ②用菜单的方式实现shape文件的加载、平移、放大、缩 小等操作; ③用button的方式实现对shape文件的放大、缩小、平移、 全视图等各项操作 ④用类模块的方式实现对shape文件进行加载 二、实验内容 1、command命令实现shape文件加载、平移、放大、缩小操作; 2、用菜单的方式实现shape文件的加载、平移、放大、缩小等操作; 3、用button的方式实现对shape文件的放大、缩小、平移、全视图 等各项操作 4、用类模块的方式实现对shape文件进行加载 三、实验步骤

首先打开VB程序,然后在工具栏中加载MO的三个部件、commongdialog等6个部件. (实验一)、使用command命令实现对图层的各种操作 1、先设计窗体界面map1、和5个command命令、commondialog命令 2、双击打开图层进行代码编写 3、同样对界面上的各个命令进行代码编写,慢慢完成整个界面上代码的编程。 Dim I As Integer Private Sub Command1_Click() Dim dConn As New MapObjects2.DataConnection Dim shpLayer As New MapObjects2.MapLayer Dim filename As String

GIS二次开发方法与实现

中图分类号:TP311.52文献标识码:A文章编号:1009-2552(2008)08-0065-03 GIS二次开发方法与实现 杨宏鹏,王阿川,王妍玮 (东北林业大学信息与计算机工程学院,哈尔滨150040) 摘要:介绍了地理信息系统二次开发的三种方法:独立二次开发、单纯二次开发和集成二次开发。随后比较各自的优缺点。采用ESRI公司提供的ArcObjects组件库和M apControl控件以及Scene View er C ontrol控件。用VisualC++6.0在ArcGIS8.3环境下进行了G IS的二次开发。 关键词:地理信息系统;ArcO bjects;二次开发 Method and implementation of GIS secondary development YA NG Hong2peng,WA NG A2chuan,W AN G Yan2w ei (School of Information and Computer Engineer ing,Nor theast For estr y University,Harbin150040,China) Abstract:The paper introduces three methods of GIS sec ondary development,they are independent secondary development,simple secondary development and integrated secondary development.Then it c ompares the advantages and disadvantages of each https://www.doczj.com/doc/0e8112178.html,ing A rcO bjects component library and M apControl controls and Scene View er Control controls provided by ESRI company,this paper makes secondary development of GIS under ArcGIS8.3environment based on VisualC++6.0. Key w or ds:GI S;ArcObjects;secondary development 20世纪中叶以后,伴随着计算机科学、现代数学、计算机图形学和虚拟现实技术的发展,地理信息系统(GIS)应运而生,该技术将数字地图和地理分析功能以及数据库操作集合在一起,可对地理信息进行综合分析和处理。现有的地理信息系统软件主要集中于描述二维空间信息,将实际的三维事物采用二维的方式表示,具有很大的局限性,大量的多维空间信息无法得到利用。而且在许多实际应用中,诸如:环境仿真、设施管理、森林防火的模型分析与辅助决策,用户需要三维可交互GIS的支持,以便三维可视化、动态交互地处理、分析、显示他们的多种地理相关数据。现有的GIS系统已经不能满足用户在个别领域的专项研究,因此对地理信息系统进行二次开发,尤其是进行三维可视化的开发与设计就具有非常重要的意义。 目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发的[1]。组件化技术从根本上改变了传统的软件开发思想,实现了软件的复用和健壮更新。 1GIS的开发方法 应用型GIS的二次开发通常有三种方法[2]:独立二次开发、单纯二次开发和集成二次开发。 1.1独立二次开发 独立二次开发是指不依赖任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C++,D elphi,C++Builder, VJ++等,在一定的操作系统平台上编辑实现。 这种方式的好处在于无需依赖任何商业GIS工具软件,减少了开发成本,同时程序员可以对程序的各个方面进行总体控制。因此,系统各个组成部分之间的联系最为紧密,综合程度和操作效率最高。但由于地理信息系统的复杂性,开发的工作量是十分庞大的,开发周期长。对于大多数开发者来说,能力、时间、财力方面的限制使其开发处理的产品很难在功能上与商业化GIS工具软件相比。 1.2单纯二次开发 单纯二次开发指完全借助于地理信息系统工具 收稿日期:2007-12-18 作者简介:杨宏鹏(1982-),男,东北林业大学信息与计算机工程学院硕士研究生,主要研究方向为人工智能与智能控制。 ) 65 )

gis二次开发

GIS的二次开发——使用pb调用mapx控件(原创)///新建图层的函数 //wf_add_layer oleobject aLayer,lb_dataset,LayerInfo,Flds ole_1.object.Geoset='H:\water_pt_map.gst' alayer=Create OleObject alayer.ConnectToNewObject("https://www.doczj.com/doc/0e8112178.html,yer.5") LayerInfo=Create OleObject LayerInfo.ConnectToNewObject("https://www.doczj.com/doc/0e8112178.html,yerInfo.5") Flds=Create OleObject Flds.ConnectToNewObject("MapX.fields.5") Flds.AddStringField ("ID", 12 ) Flds.AddStringField ("Name", 50) //新建图层 LayerInfo.Type = 6 LayerInfo.AddParameter ("NAME", 'meteruse') LayerInfo.AddParameter ("Fields", Flds ) LayerInfo.AddParameter ("AUTOCREATEDATASET", 1) LayerInfo.AddParameter ("DATASETNAME", "PT_WATER") alayer = ole_https://www.doczj.com/doc/0e8112178.html,yers.Add(LayerInfo, 1) //设置活动图层 ole_https://www.doczj.com/doc/0e8112178.html,yers.animationlayer = alayer // //======================== //name:wf_add_dot //dec{3} ldc_x,ldc_y // //增加点的函数,分级别显示 //

基于GIS的校园管理系统

班级:硕士1505班姓名: 学号:

基于GIS的校园系统设计与实现 一、设计目的 电子地图是空间信息表达与可视化的主要形式,电子地图作为一种新型地图,无论在地理信息的地图表示方面,还是在地图信息的利用方面,都有其独特的优势。通过该系统实现电子地图的管理与使用 空间查询与空间分析是GIS的核心特征之一,也是空间信息服务实现中的关键问题。如何在网络地图服务场景下提供高效能的空间查询与空间分析功能是网络地图服务器设计与实现中的挑战性问题。 采用嵌入式的GIS组件库ArcEngine10.0嵌入Visual Studio 2010C#.NET开发环境中开发一个GIS 应用系统,以此熟悉和了解GIS 二次开发的流程和方法。二、需求分析 (1)教师、学生 学生、教师是学校的主体,开发优质的功能齐全的校园地理信息系统,对他们的需求分析不容忽视。武汉大学在校生近五万人,宿舍楼,教学楼、办公室、实验室布局分配也比较复杂。可见,教师和学生的需求主要是对各种信息的获取,具体可分为: 1)办公楼信息:要实现学校党政机关各部门位置及属性、各院系办公室位 置及属性等查询显示功能。 2)教学楼信息:要能够调用学校各教学楼位置及属性,实现教室资源信息 的浏览、查询以及当前教室排课情况的查询功能。 3)图书馆信息:要能够调用图书馆的位置及属性、学生自习室及阅览室信 息等的查询功能。 (2)游览者 对于大部分游览者而言,主要在于各种目标物位置的获取,具体可分为: 1)用户在用户当前位置某一范围内目标的位置及其属性,主要包括商店、 公共卫生设置。 2)对于游览者而言,学校的道路走向是不熟悉的,校园GIS需要实现从出

GIS二次开发设计书

黑龙江科技大学 GIS二次开发设计书 内容名称:鹰眼空间查询统计栅格分析姓名:田海燕 班级:测绘14-2班 学号:2014020984(08) 日期:2017 年5 月5 日

鹰眼图设计 一、设计内容 1、熟悉地理信息系统软件二次开发环境; 2、利用地理信息系统软件或开发平台,进行简单的二次开发; 3、利用MapControl控件制作鹰眼程序。 4、实现打开地图 5、实现地图操作 6、实现地图浏览 7、实现加载与保存数据 二、运用技术 1、地理信息系统软件或开发平台,进行简单的二次开发 2、利用MapControl控件制作鹰眼程序。 3、根据ArcGIS中有关地图操作与浏览相关知识进行二次开发 三、设计步骤 (1)、新建项目 启动 VS2012,选择“文件|新建|项目”,在项目类型中选择 Visual C#,再选择 Windows 应用程序模板,输入名称,点击确定。 2、修改窗体名称及工程名称 (2)、添加控件 1、选择工具箱中的“菜单和工具栏|MenuStrip”,将其拖入窗体。并添加选项:加载数据,保存,地图浏览等,并建立下拉子目录。 2、选择工具箱中的“ArcGIS Windows Forms”节,将“ToolbarControl”控件拖入窗体,并将其属性中的Dock 设置为Top。设置buddy为mainmapcontrol,实现关联。在Items中选择工具条。

3、选择工具箱中的“菜单和工具栏|StatusStrip”,将其拖入到窗体。 4、选择工具箱中的“容器|SplitContainer”容器拖入窗体,并将其属性中的 Dock 设置为 Fill。 5、将 TabControl 控件拖入 Panel1,将 Alignment 属性设置为 Bottom,Dock 属性设置为 Fill。点击 TabPages 属性右边的按钮, 6、弹出TabPage 集合编辑器,将tabPage1 的Name 设置为tabPageLayer,Text 设置为图层,将 tabPage2 的 Name 设置为 7、tabPageProperty,Text 设置为属性。 选择“图层”选项卡,拖入 TOCControl 控件,设置 Dock 属性为 Fill。 选择“属性”选项卡,拖入 DataGridView 控件,设置 Dock 属性为 Fill。 拖入 TabControl 控件到 Panel2,设置 Dock 属性为 Fill。并上述类似的方法,将两个选项卡的 Name 和 Text 分别设置为:(tabPageMap、地图),(tabPageLayout,制版)。 选择“地图”选项卡,拖入 MapControl 控件,设置 Dock 属性为 Fill。 选择“制版”选项卡,拖入 PageLayoutControl 控件,设置 Dock 属性为Fill。 最后将 LicenseControl 控件拖入到窗体的任意地方。 按 F5 编译运行,可以看到刚才布局好的程序界面了。 (3)、控件绑定 通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。 分别右击ToolbarControl、TOCControl 控件,将Buddy 设置为axMapControl1。 (4)、粘贴代码,调试运行 调试中出现的问题说明及措施

GIS二次开发综合实习

实验一ArcGIS Engine控件的使用 一.实验目的 使用MapControl、PageLayoutControl、ToolbarControl、TOCControl四个控件建立起基本的桌面GIS应用程序框架。 二.实验步骤 1.新建项目 启动Visual Studio 2010,选择“文件|新建|项目”,在项目类型中选择Visual C#,再选择Windows应用程序模板,输入名称“GISControlDemo”,点击确定。 在解决方案管理器中将“Form1.cs”重命名为“GISControlForm.cs”,在设计视图中,选中窗体,将其属性中的“Text”改为“GISControlDemo”。 2.添加控件 选择工具箱中的“菜单和工具栏|MenuStrip”,将其拖入窗体。 选择工具箱中的“ArcGIS Windows Forms”,将ToolbarControl控件拖入窗体,并将其Dock 属性设置为Top。 选择工具箱中的“菜单和工具栏|StatusStrip”,将其拖入到窗体。 选择工具箱中的“容器|SplitContainer”容器拖入窗体,并将其Dock属性设置为Fill。 选择工具箱中的“ArcGIS Windows Forms”,将TOCControl控件拖入SplitContainer控件的Panel1面板,并将其Dock属性设置为Fill。 选择工具箱中的“ArcGIS Windows Forms”,将MapControl控件拖入SplitContainer控件的Panel1面板,并将其Dock属性设置为Fill。 最后将LicenseControl控件拖入到窗体的任意地方。

相关主题
文本预览
相关文档 最新文档