GIS二次开发05
- 格式:ppt
- 大小:545.50 KB
- 文档页数:61
采用二次开发方法的成果管理GIS系统设计与实现二次开发方法指的是在现有系统的基础上进行二次开发,以适应更多的需求和功能。
在成果管理GIS系统中,二次开发方法可以帮助系统更好地满足用户的需求,提高系统的效率和便利性。
本文将从设计与实现两个方面,介绍采用二次开发方法的成果管理GIS系统的相关内容。
一、设计1.需求分析在进行二次开发之前,首先需要进行详细的需求分析,充分了解用户的需求和期望。
成果管理GIS系统通常包括地图管理、数据管理、成果分析等功能,因此在需求分析阶段需要明确每一个功能模块的具体需求,并根据实际情况进行调整和优化。
用户可能需要在地图上标注多种类型的成果点,需要进行数据的快速查询和统计分析等。
2.架构设计在设计阶段,需要考虑系统的整体架构,包括前端界面设计、后端数据库设计和系统整体的交互流程。
由于成果管理GIS系统需要处理大量的地理信息数据,因此前端界面设计需要考虑到用户体验和交互性,后端数据库设计需要考虑到数据的存储和管理,系统整体的交互流程需要考虑到用户操作的便捷性和系统的稳定性。
3.功能设计根据需求分析的结果,对系统的功能进行设计。
功能设计需要考虑到用户的操作习惯和使用场景,尽可能地让系统变得简单易用。
地图管理功能需要支持多种地图图层的叠加和切换,数据管理功能需要支持数据的导入和导出,成果分析功能需要支持多种统计分析方法的应用等。
4.安全性设计在设计阶段需要考虑系统的安全性,包括用户权限管理、数据的加密传输和存储等。
成果管理GIS系统通常涉及到重要的地理信息数据,因此需要做好数据的安全保护工作,防止数据泄露和不法操作。
因此在设计阶段需要考虑到系统的安全性设计。
二、实现1.技术选型在实现阶段需要选择合适的开发技术和工具。
成果管理GIS系统通常需要采用地理信息系统相关的开发技术,例如地图API、空间数据库等。
在选择技术的同时需要考虑到系统的可扩展性和性能,尽量选择成熟可靠的技术和工具。
成绩批阅日期重庆交通大学测量与空间信息处理实验报告实验课程:GIS二次开发程序设计实验名称: GIS二次开发班级:学号:姓名:实验日期: 2012 年 6 月 25 日实验一界面设计一、实验目的和要求1、学会对MO进行安装。
2、熟悉Visual Basic和Map Object程序的基本操作。
3、掌握toolbar的操作步骤。
4、设置GIS二次开发的界面,要求界面具有菜单、工具条及设计程序时用到的各种控件等。
二、实验内容1、利用Visual Basic相应控件和操作以及Map Object完成界面设计,运用所安装的MO的控件进行所需界面设计。
2、在设计的界面上一次添加菜单、工具条、图例控件、map控件、状态栏等,并熟练掌握其操作步骤。
三、实验步骤1、在有MO和VB的环境中进行所设计的界面设计。
1)菜单的设计。
要求具有一些常用的功能。
如下图所示:2、对toolbar进行设计。
在菜单栏下面进行插入Button按钮,并在按钮上插入相应图像。
步骤如下图:3、插入map、legend、status等控件,并调整其大小。
得到最后成果图如下图所示:四、实验总结4.1、实验中遇到的困难在进行界面设计时,会遇到一些意想不到的困难,比如在插入toolbar 中的Button时,如果没有加入imagelist控件时,就不能在Button上插入图像。
还有在进行菜单操作时,有时会因为空格运行不当,而不能得到理想的下拉菜单。
4.2、处理方法和技巧在进行设计时,一定要记住操作的先后顺序,不然不能不到效果。
插入map 和legend等控件时,适当调节其大小,使界面更美观。
4.3、经验体会和收获刚开始做实验时感觉好难,不知怎么下手,可在完成这几次实验后我熟悉了MO的最基本功能,发现用VB对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; = sBookmarkName;}//通过IMaoBookmarks接口访问当前地图,并向地图中加入新建书签IMapBookmarks bookmarks = axMapControl1.Map as IMapBookmarks;if (bookmarks != null){bookmarks.AddBookmark(aoiBookmark);}//将新建书签名加入组合框中,用于之后调用对应书签cbBookmarkList.Items.Add();}2.添加“书签名成设置”窗体(1)点击项目添加Windows窗体,该窗体命名为“AdmitBookmarkName.cs”,点击添加后,转入设计窗口。
一、安装VS2005。
全部安装。
二、安装VB三、 1.安装arcgis93pjwj\破解文件ArcGIS 9.3\Crack\Crack\license_server_setup中的LMSetup.exe。
2. 选择默认项,点Browse选license_server_setup文件夹下的37102011.efl9文件作为许可文件安装,如下图,安装后重起电脑。
3.重启后,复制arcgis93pjwj\破解文件ArcGIS 9.3\Crack\Crack\license_server_crack文件夹和license_server_setup文件夹下的所有文件到安装目录下:C:\Program Files\ESRI\license\arcgis9x;若无法覆盖原来文件,可能是安装许可文件后ARCGIS.exe和lmgrd.exe已经在运行,可通过任务管理器先结束他们的进程(ArcGIS.exe和lmgrd.exe)。
然后再复制那些文件覆盖掉原来的文件。
4.在license_server_setup文件夹中,用记事本打开37102011.efl9文件,删除第1.2行和倒数第1.2行。
修改里面的机器名。
(将tian-pc修改成自己电脑的机器名,电脑的机器名可以点击我的电脑右键查看属性——计算机名—完整的计算机名称),如下图。
另存为37102011.lic文件,并把37102011.lic复制到安装目录下:C:\Program Files\ESRI\license\arcgis9x 中。
5.在开始菜单中点击程序->ArcGIS->License Manager(9.x)->License ManagerTools.6. 单击“Configuration using Services ”,选择"ArgGIS license manager"6. 然后单击Configure Services选项卡,设置Path to the license file :Path to the lmgrd.exe file点Browse选:C:\Program Files\ESRI\license\arcgis9x\lmgrd.exe;Path to the license file点Browse选:C:\Program Files\ESRI\license\arcgis9x\37102011.licPath to the debug log file 点Browse选C:\Program Files\ESRI\License\arcgis9x\ARCGIS_LM.LOG然后点Save Service.如下图*在Start/Stop/Reread选项中,点Stop Server,Start Server,ReRead License File.显示Server Start Successful表示许可文件已经安装成功。
实验五PageLayout属性设置与元素绘制1、新建项目,设置窗体界面如下:2、在主窗体的Load事件中添加如下代码:private void FormMain_Load(object sender, EventArgs e){Microsoft.Win32.RegistryKey pRegKey =Microsoft.Win32.Registry.LocalMachine.OpenSubKey("SOFTWARE\\ESRI\\CoreRuntime", true);axSymbologyControl1.LoadStyleFile(pRegKey.GetValue("InstallDir") +"\\Styles\\ESRI.ServerStyle");axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassBackgrounds).Update ();axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassBorders).Update();axSymbologyControl1.GetStyleClass(esriSymbologyStyleClass.esriStyleClassShadows).Update(); }3、在“设置边框”按钮的Click事件中添加如下代码:private void ButtonBorder_Click(object sender, EventArgs e){axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassBorders; }4、在“设置阴影”按钮的Click事件中添加如下代码:private void ButtonShadows_Click(object sender, EventArgs e){axSymbologyControl1.StyleClass = esriSymbologyStyleClass.esriStyleClassShadows; }5、在“设置背景”按钮的Click事件中添加如下代码:private void ButtonBackground_Click(object sender, EventArgs e){axSymbologyControl1.StyleClass =esriSymbologyStyleClass.esriStyleClassBackgrounds;}6、在axSymbologyControl1控件的OnItemSelected事件中添加如下代码:private void axSymbologyControl1_OnItemSelected(object sender, ISymbologyControlEvents_OnItemSelectedEvent e){IStyleGalleryItem pStyleGalleryItem = e.styleGalleryItem as IStyleGalleryItem;IFrameProperties pFrameProperties =axPageLayoutControl1.GraphicsContainer.FindFrame(axPageLayoutControl1.ActiveView.FocusMap) as IFrameProperties;if (pStyleGalleryItem.Item is IBackground){pFrameProperties.Background = pStyleGalleryItem.Item as IBackground;}else if (pStyleGalleryItem.Item is IBorder){pFrameProperties.Border = pStyleGalleryItem.Item as IBorder;}else if (pStyleGalleryItem.Item is IShadow){pFrameProperties.Shadow = pStyleGalleryItem.Item as IShadow;}axPageLayoutControl1.Refresh(esriViewDrawPhase.esriViewBackground, null, null); }7、在“设置网格”按钮的Click事件中添加如下代码:private void ButtonGrid_Click(object sender, EventArgs e){IActiveView pActiveView = axPageLayoutControl1.PageLayout as IActiveView;IMap pMap = pActiveView.FocusMap;IMeasuredGrid pMeasuredGrid = new MeasuredGridClass();IMapGrid pMapGrid = pMeasuredGrid as IMapGrid;pMeasuredGrid.FixedOrigin = true;pMeasuredGrid.Units = pMap.MapUnits;pMeasuredGrid.XIntervalSize = 10;pMeasuredGrid.YIntervalSize = 10;pMeasuredGrid.XOrigin = -180;pMeasuredGrid.YOrigin = -90;IProjectedGrid pProjectedGrid = pMeasuredGrid as IProjectedGrid;pProjectedGrid.SpatialReference = pMap.SpatialReference; = "Measured Grid";IGraphicsContainer pGraphicsContainer = pActiveView as IGraphicsContainer;IMapFrame pMapFrame = pGraphicsContainer.FindFrame(pMap) as IMapFrame;IMapGrids pMapGrids = pMapFrame as IMapGrids;pMapGrids.AddMapGrid(pMapGrid);pActiveView.PartialRefresh(esriViewDrawPhase.esriViewBackground, null, null); }8、程序运行最终界面如下:思考题:1、IStyleGalleryItem接口有哪些属性,各属性有何作用?2、叙述实现“设置网格”功能的编程思路。
gis 二次开发的基本方法与简单知识GIS(地理信息系统)是一种用于捕捉、存储、管理、分析和展示地理数据的技术。
GIS的二次开发是在GIS软件基础上进行的开发工作,通过编写代码和利用GIS提供的开发工具,对GIS软件进行自定义功能的扩展和定制,以满足特定的需求。
二次开发的基本方法主要包括以下几个方面:1. 环境搭建:进行GIS二次开发前,需要先搭建开发环境。
通常使用的开发环境有ArcGIS、QGIS等,根据自身需求选择合适的开发环境,并安装相应的开发工具和插件。
2. 学习相关知识:在进行GIS二次开发之前,需要学习相关的GIS 基础知识和编程语言知识。
熟悉GIS的基本概念、数据结构、坐标系统等,同时掌握一种或多种编程语言,如Python、Java、C#等。
3. API调用:GIS软件通常提供了一系列的API(应用程序接口),通过调用这些API可以实现对GIS软件的访问和操作。
开发者可以利用API提供的函数和方法,实现自定义的功能。
4. 数据处理:GIS二次开发中,经常需要对地理数据进行处理和分析。
可以利用GIS软件提供的工具和函数,进行数据的查询、过滤、分析等操作,以满足特定的需求。
5. 用户界面设计:在GIS二次开发中,通常需要设计用户界面,使用户可以方便地进行操作。
可以利用界面设计工具,如ArcGIS SDK、Qt等,进行用户界面的设计和开发。
6. 功能扩展:GIS软件通常提供了丰富的功能和工具,但有时候需要根据特定需求进行功能的扩展。
通过二次开发,可以添加自定义的功能和工具,以满足特定的需求。
在进行GIS二次开发时,需要掌握一些基本的知识:1. 地理坐标系统:地理坐标系统是用于描述地理位置的一种坐标系统,通常采用经度和纬度表示地理位置。
不同的地理坐标系统有不同的标准和转换方法,开发者需要了解并正确使用地理坐标系统。
2. 空间数据模型:空间数据模型是用于描述地理数据的一种模型,通常包括点、线、面等几何要素。
中图分类号:TP311.52文献标识码:A文章编号:1009-2552(2008)08-0065-03GIS二次开发方法与实现杨宏鹏,王阿川,王妍玮(东北林业大学信息与计算机工程学院,哈尔滨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 developmentYA 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 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 development20世纪中叶以后,伴随着计算机科学、现代数学、计算机图形学和虚拟现实技术的发展,地理信息系统(GIS)应运而生,该技术将数字地图和地理分析功能以及数据库操作集合在一起,可对地理信息进行综合分析和处理。