gis软件开发
GIS开发工程师的岗位要求

GIS开发工程师的岗位要求岗位要求1:1.三年以上GIS地图后端开发经验,有大公司、大项目GIS开发经验的优先考虑2.精通Arcgis\SDE\engine等应用,有地图数据处理和二次开发经验3.熟悉空间数据模型和拓扑关系运算4.至少熟悉一种后端开发语言.net/java/python等5.熟悉地图服务的发布和维护6.有路网数据集处理和优化的经验优先考虑有arcgis runtime for andriod开发经验优先考虑岗位要求2:1、测绘、地理信息系统、遥感等相关专业,全日制统招大学本科及以上学历(学信网可查);2、一年以上GIS项目开发工作经验,应届毕业生有实习经验也可以;3、熟练使用C#语言,具有GIS软件的二次开发能力(如ArcGIS Engine、MapWinGIS、GDAL等);4、熟练使用Oracle,PostGIS,SQL Server等数据库进行应用开发;5、具有较强的逻辑思维和表达能力,责任心强;6、具有较好的沟通能力和团队合作精神。
7、有Webgis开发经验者优先。
岗位要求3:1. 大专及以上学历,2年以上前端开发经验。
2.精通JavaScript,HTML,CSS,Jquery,Bootstrap,layui,H5前端开发技术。
3.熟练掌握arcgis js api,cesium等webgis前端开发框架优先。
4.学习能力强,热衷技术,喜欢钻研,有github或个人作品者优先。
5.具备良好的沟通和团队协作能力,工作积极主动,思路清晰,责任心强。
岗位要求4:1、2年以上相关工作经验,本科及以上学历,有GIS工作经验优先;2、精通Javascript、HTML5、CSS3、AJAX等前端开发技术,掌握JavaScript面向对象编程方法;3、具有leaflet、mapbox、openlayers等WebGIS开发经验;4、熟悉jQuery、Bootstrap、requireJS等js库使用;5、工作态度认真,善于沟通,有良好的团队合作能力。
地理信息系统专业软件开发的概述

地理信息系统专业软件开发的概述地理信息系统(Geographic Information System,简称GIS)是一种集地理空间信息采集、存储、管理、分析、展示于一体的技术系统。
GIS在各行各业的应用越来越广泛,如城市规划、环境保护、自然资源管理、农业、气象等领域。
而地理信息系统专业软件开发则是GIS技术应用的核心之一,为系统提供功能强大、高效可靠的软件支持。
地理信息系统专业软件开发的核心目的是利用计算机技术构建强大的地理信息系统,以辅助用户进行空间数据的处理、分析、模拟和展示。
这些软件系统涵盖了数据采集、存储、管理、处理、分析等功能,通过对地理数据进行处理和分析,为用户提供灵活、准确的空间决策支持。
在地理信息系统专业软件开发中,最核心的环节是数据处理和空间分析。
数据处理包括数据采集、数据存储和数据管理等方面。
数据采集将现实世界的地理数据通过各种传感器、GPS定位仪、遥感影像等设备收集到计算机系统中。
数据存储和管理则是将这些采集到的数据进行组织和存储,以便后续的分析和应用。
另一个核心环节是空间分析,也叫地理分析。
空间分析是利用地理信息系统对地理空间数据进行处理和分析的过程,通过对地理数据的测量、计算、统计、模拟等处理方法,揭示地理现象的规律和趋势,提取有用信息。
地理分析的常见方法包括缓冲区分析、叠加分析、网络分析、3D分析等。
这些分析方法可以帮助用户了解地理现象的空间分布和相互关系,为决策提供科学依据。
此外,在地理信息系统专业软件开发中,还需要考虑用户的需求,人机交互以及系统的可靠性和稳定性。
软件开发人员需要充分了解用户的需求和使用场景,以确保开发出符合用户期望的功能和界面。
同时,需要进行充分的测试和优化,以确保软件系统的稳定性和可靠性,提升用户体验。
地理信息系统专业软件开发所涉及的技术包括数据库管理、图形图像处理、地理空间分析、WebGIS等。
常见的开发工具和语言有ArcGIS、QGIS、Java、Python等。
三维GIS开发岗位职责

三维GIS开发岗位职责
三维GIS开发岗位职责主要包括以下方面:
1. 开发三维GIS软件系统。
根据客户需求及规划要求,编写三
维GIS软件系统的程序代码,实现系统的功能设计与开发。
2. 三维数据处理。
根据三维数据库的要求,对各种类型的数据
进行处理及转换,保证数据的可用性和完整性。
3. 三维数据可视化。
通过三维数据的可视化技术,将数据以立
体的形式呈现出来,使数据更加直观、生动。
4. 地图制作与更新。
制作三维地图并更新地图信息,协助GIS
技术人员解决项目实施中的相关技术问题。
5. 集成应用开发。
根据客户的需求,将三维GIS技术与其他
GIS技术进行集成开发,满足不同用户的需求。
6. 负责相关文档撰写。
如软件设计文档、开发文档、测试报告、最终用户手册等。
7. 研究新技术。
不断关注新技术及新方向,不断学习新的编程
语言、软件等知识,为公司的技术发展提供支持。
以上是三维GIS开发岗位的主要职责,需要具备编程语言的掌
握能力和GIS相关的基本知识,需熟悉ArcGIS、SuperMap、
MapInfo等GIS软件,掌握三维GIS软件开发的基本流程。
同时,
需要良好的沟通协调能力以及团队合作精神,能够承担有一定压力
的工作。
GIS开发工程师的岗位职责8个

GIS开发工程师的岗位职责8个岗位职责1:1. 负责服务器、GIS数据产品的客户支持工作;2. 通过电话、现场等方式为客户提供技术服务;3. 面向客户的技术培训、技术咨询等高级技术服务;4. 与客户、研发部门保持良好的沟通,提供优质的技术支持服务;5. 配合相关部门,完成指定技术支持工作。
岗位职责2:1.参与项目技术的设计与开发;2.基于GIS软件平台的应用设计、开发及测试;3.升级与维护GIS软件;4.编写相关的开发文档;5.参与技术预研;6.完成上级交办的其他任务。
岗位职责3:1. 深入研究WEBGIS相关技术,开发WebGIS功能;2. 研究Cesium平台下的渲染机制,提高模型在Cesium平台上的展示效果;3. 基于产品规划或项目需求进行产品研发和相关文档编写工作;4. 努力学习新技术,不断提升自身技术能力;5. 配合产品经理进行系统测试和产品交付;6. 完成领导交办的其它工作;岗位职责4:1、参与GIS项目/产品的研发工作,包括需求分析和研发方案设计;2、参与公司相关软件产品的分析讨论,根据设计文档完成代码编写、调试、测试、维护工作;3、负责软件代码的编写和相关开发文档的编写;岗位职责5:1、负责GIS软件的设计、编码、测试、部署及开发相关文档编制;2、参与项目GIS相关的需求分析、功能设计、代码设计以及相关文档的编写工作;3、参与GIS数据自动化处理、空间分析算法等工作;4、配合项目经理完成相关任务目标。
岗位职责6:负责智慧城市平台及业务系统的GIS、BIM等空间数据可视化应用开发工作岗位职责7:1.空间数据的坐标转换、入库和维护;2.数据在统计意义上的空间分布情况、路径规划等应用;3.矢量数据栅格化(脱密)及其接口制作;4.以地理空间关系为依据的数据整理和筛查,并制作成数据接口;5.二维/三维地图的前端展示和UI响应;覆盖物、几何体、模型在web页面中的添加与集成。
岗位职责8:1、参与项目需求分析、系统框架和核心模块的技术设计;2、按照需求和设计进行软件开发和测试工作;3、参与规划GIS软件产品及根据需要完善软件。
gis开发的职责

gis开发的职责GIS开发者是负责处理和管理地理信息系统(GIS)开发的专业人员。
GIS开发者负责所有与GIS应用程序的开发、部署、测试、维护和改进相关的工作。
其职责包括:1.数据处理和管理:GIS开发者负责收集、处理、管理和分析各种地理信息数据,并将其存储在可访问且易于操作的信息系统中,以供进一步分析和处理。
2.地图制作:GIS开发者可以使用各种GIS软件来生成、编辑和更新地图。
他们需要了解地图投影、坐标系和其他空间数据,以便正确地创建和维护地图。
3.应用程序开发:GIS开发者需要编写、测试和维护GIS应用程序,以便让其他人可以轻松地使用地理信息和空间数据。
应用程序可以包括桌面、Web和移动设备上的应用程序。
4.地理分析和建模:GIS开发者可以使用GIS工具进行地理分析和模型构建。
这包括空间查询、空间数据挖掘、网络分析、地形分析和地理统计等方面。
5.数据集成和交互:GIS开发者可以使用GIS工具来集成多个地理信息数据源,并实现它们之间的交互性。
这可以使用户轻松地进行跨源分析和多源数据组合。
6.项目管理:GIS开发者有时需要管理整个GIS项目,包括项目计划、预算管理、任务分配、工作跟踪等方面。
7.技术支持:GIS开发者有时需要为GIS用户提供技术支持,解决各种GIS软件、硬件和数据问题。
GIS开发者需要具备以下技能和资格:1.熟练掌握GIS软件,例如ArcGIS、QGIS等。
2.掌握编程语言和数据库技术,如Python、Java、SQL等。
3.具备GIS数据分析和建模技能。
4.良好的沟通和协调能力,可以与各种人员合作,包括GIS分析师、GIS数据管理员、地理学家、市政官员等。
5.具有数据管理和项目管理经验。
6.具备GIS行业证书,例如GIS专业人员认证(GISP)等。
总之,GIS开发者在地理信息系统(GIS)应用程序开发的所有方面都扮演着关键角色。
他们需要了解各种GIS软件、数据库技术和编程语言,并能够处理和管理各种地理信息数据。
gis软件开发课程设计

gis软件开发课程设计一、课程目标知识目标:1. 让学生理解GIS软件的基本原理,掌握GIS软件开发的核心技术;2. 使学生掌握GIS软件的操作方法,能独立进行地图制作、空间分析和地理信息可视化;3. 帮助学生了解我国GIS软件发展的现状和趋势,拓宽知识视野。
技能目标:1. 培养学生运用GIS软件解决实际地理问题的能力;2. 培养学生独立进行GIS软件操作和简单二次开发的能力;3. 提高学生团队协作、沟通表达和问题解决的能力。
情感态度价值观目标:1. 培养学生对地理信息科学和GIS技术的兴趣,激发学习热情;2. 培养学生严谨的科学态度,注重实践操作和问题分析;3. 增强学生的国家意识,认识到GIS技术在国家发展和国防建设中的重要作用。
课程性质:本课程为实践性较强的专业课程,以培养学生的实际操作能力和技术应用能力为主要目标。
学生特点:高中生具备一定的地理知识和计算机操作能力,对新鲜事物充满好奇,具备较强的学习意愿。
教学要求:结合课本知识,注重理论与实践相结合,充分调动学生的主观能动性,提高学生的实际操作能力和创新能力。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. GIS基本概念与原理:介绍地理信息系统的定义、功能、发展历程,以及GIS的基本组成和原理,对应课本第一章内容。
2. GIS软件操作与使用:讲解主流GIS软件(如ArcGIS、SuperMap等)的基本操作、地图制作、空间分析等功能,对应课本第二章内容。
3. GIS二次开发技术:学习GIS软件的二次开发方法,包括WebGIS开发、桌面应用开发等,对应课本第三章内容。
4. 实际案例分析:分析我国GIS软件在地理信息产业、城市规划、环境保护等领域的应用案例,对应课本第四章内容。
5. 实践操作与项目实践:安排实践操作环节,让学生动手操作GIS软件,完成地图制作、空间分析等任务。
同时,组织项目实践,培养学生团队协作和问题解决能力。
GIS软件开发基础

武 汉 大 学
资 环 蔡 境 忠 学 亮 院
面向对象的GIS程序设计
主讲:蔡忠亮
GIS
教材及参考资料:
《地理信息系统原理、方法和应用》 邬 伦 《GIS软件工程设计》 吴信才 《Visual C++ 开发GIS程序》 陈建春 《面向对象的理论与C++实践》王 燕 《软件开发的科学与艺术》 微软公司华人专家鼎力之作
GIS
1.1 地理信息系统定义、类型和构成
面 向 对 象 的 程 序 设 计
武 汉 大 学
资 环 蔡 境 忠 学 亮 院
构成
4. 人员:包括系统开发人员和GIS技术的最终用户,
他们的业务素质和专业知识是GIS工程及其应用成 败的关键。 5. 应用模型:GIS应用模型的选择和构件也是系统应 用成败至关重要的因素,虽然GIS为解决各种现实 问题提供了有效的基本工具,但对于某一个专门 应用目的的解决,必须通过构件专门的应用模型, 土地适宜性模型,公园选址模型,最优路径分析 模型等。它反映了人类对客观世界利用改造的能 动作用,并且是GIS技术产生社会经济效益的关键 所在,也是GIS生命力的重要保证。
面 向 对 象 的 程 序 设 计
武 汉 大 学
资 环 蔡 境 忠 学 亮 院
《面向对象的GIS程序设计》 课程内容
第一部分 GIS软件开发基础
第二部分 面向对象技术基础
GIS
第三部分 Visual C++ 环境
第四部分 GIS软件设计
第五部分 GIS软件开发
第一章 GIS基础
面 向 对 象 的 程 序 设 计
绘图仪
1.1 地理信息系统定义、类型和构成
7个GIS开发工程师岗位要求

7个GIS开发工程师岗位要求岗位要求1:1、熟悉Arcgis API、SuperMap API、OpenLayer等常用地图API一种或几种。
2、熟悉Arcgis或SuperMap服务端。
3、熟悉运用JAVA,包括地图元素指标的后台计算。
岗位要求2:1.能够熟练应用Cesium、高德地图API、ArcGIS for JS API 至少一种;2、熟练使用JS、HTML、CSS以及响应式布局,具备良好的前端基础和良好的编码风格;3、熟练使用Jquery、Ajax、Vue、EasyUI等框架4.了解并能够熟练使用ArcGIS Desktop桌面工具和分析工具,能对GIS数据进行简单处理;5.有智慧城市、指挥中心大屏、物联网GIS相关工作经验优先;6.能够适应出差、加班,抗压力强;岗位要求3:1、计算机或地理信息、测绘、遥感等相关专业,本科及以上学历。
2、熟练掌握常用GIS算法、面向对象思想、数据结构和软件工程等知识;3、精通Java开发语言,掌握主流编程技术,熟悉.NET Core、.NET FrameWork框架;4、熟练使用至少一种GIS引擎进行开发,如GDAL、ArcGIS、GeoServer、QGIS、OSG/OSGEarth、SuperMap等;5、熟悉桌面GIS、Web GIS、移动GIS等相关技术及至少一种开源项目;6、熟悉至少一种主流数据库,如PostgreSQL、MySQL、SQLServer、Oracle;掌握至少一种非关系型数据库如MongoDB、Redis、Hbase等;7、具有系统分析、设计和面向对象建模的经验,能够独立完成模块的设计和实现;8、熟悉OGC标准地图服务栅格、矢量切片,有相关工作经验者优先;9、有大型网络服务开发,在高并发,高稳定性方面有经验者优先;10、应届毕业生择优录用。
岗位要求4:1、计算机、地理信息系统等相关专业,本科或本科以上学历,3年以上工作经验;2、精通Java开发,并了解arcgis 、开源openlayers产品开发技术,包括arcgis server\geoserver,sde空间数据库,arcgis js api等;3、熟悉数据库(PostgreSQL ),具备数据库性能调优者和熟练掌握Unix/Linux操作系统优先;4、熟悉VUE、HTML、CSS+DIV、JavaScript、Ajax等相关内容,熟悉Vue.js、echarts、jquery等主流开发框架,做过开源GIS(Postgis 、geoserver、openlayers)项目优先;5、熟悉前端地图展示、数据分析性能优化,理解和解决网页在主流浏览器的兼容性问题;6、对技术有强烈的进取心,具有良好的自我学习能力、沟通能力和团队合作精神、较强的分析问题和解决问题的能力,能承受一定的工作压力;岗位要求5:1、全日制统招本科,计算机或GIS相关专业;2、熟悉ArcGis、SuperMap系列产品的使用,对其常用组件、开发平台、运行环境、技术架构、数据转换等有较深的理解;3、掌握Web应用相关开发技术,精通JavaScript开发,掌握java开发技术;4、熟悉开原框架ol,leaflet,mapboxgl,熟悉数据库开发,对空间数据库(mangodb)或其他有较深理解;5、具有良好的表达能力和沟通能力,及一定团队协调能力;岗位要求6:1、本科及以上学历,计算机相关专业,1年以上相关工作经验;2、熟练使用主流GIS平台,有主流GIS平台的二次开发经验,能熟练使⽤GIS软件处理数据;3、熟悉GIS软件应用,熟练掌握ArcGIS API for JavaScript、Leaflet、OpenLayers等工具应用;4、熟悉ArcGIS Engine⽤次开发SDK或Skyline⽤次开发SDK;5、精通JavaScript,熟悉HTML5和CSS,熟悉Webpack等自动构建工具,熟悉SVN或GIT;6、有CesiumJs、GIS系统及相关三维项目开发经验者优先考虑;7、了解多种三维数据获取与处理的原理,如倾斜摄影测量、BIM、点云数据等;8、代码风格良好,熟悉敏捷开发流程;9、熟知各类主流浏览器兼容特性及常见兼容问题解决方案;10、有大数据图形渲染、大场景三维GIS平台开发经验的优先;11、熟练使用3DMAX软件、Skyline软件、ArcGIS、SuperMap 软件等主流GIS软件;12、有超图SueprMap平台或Esri ArcGIS平台三维开发经验者优先。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《gis软件开发》(2013-2014学年第二学期)专业:地理信息科学姓名:李金超姓名:1126104252实验人:李金超实验时间:2014年6月3日---2014年6月12日实验目的:(1)了解和掌握基于ArcGIS平台和.NET编程环境进行GIS二次开发的基础知识。
(2)熟悉vs软件,建立ArcGIS Engine 应用程序框架,实现地图浏览和添加shp数据和实现窗口联动的功能。
实验环境:在Windows XP环境下,使用C#语言,在Visual Studio 2010中进行GIS软件设计开发,程序的编程。
实验内容:实验原理:(1)Visual studio 2010(简称VS)是一个基本完整的开发工具集,它包括整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等。
本实验使用Visual Studio 2010版本。
VS是使用C#语言进行程序编码的良好开发环境,对C#语言和。
(2)ArcGIS Engine是ArcObjects组件跨平台应用的核心集合,它提供多种开发的接口,可以适应C++等开发环境。
开发者可以使用这些组件来开发定制的GIS和地图应用。
(3)使用ArcGIS Engine在Visual studio 环境中二次开发GIS程序,可以使用程序创建向导来建立开发程序的框架,并在Visual studio 集成开发环境中使用ArcGIS Engine 提供的控件来建立基于窗体的应用程序,同时添加ArcGIS Engine组件并基于组件编写GIS应用系统。
实验步骤:1、新建项目启动VS2010,选择“文件|新建|项目”,在项目类型中选择Visual C#,再选择Windows 应用程序模板,输入名称“My Map”,点击确定。
2、添加控件选择工具箱中的“菜单和工具栏|StatusStrip(状态栏)”,将其拖入到窗体。
选择工具箱中的“ArcGIS Windows Forms”节,将“AxToolbarControl”控件拖入窗体,并将其属性中的Dock 设置为Top。
选择工具箱中的“容器|SplitContainer(容器)”拖入窗体,并将其属性中的Dock 设置为Fill。
将TabControl 控件拖入Panel1,将Alignment 属性设置为Bottom,Dock 属性设置为Fill。
点击TabPages 属性右边的按钮,弹出TabPage 集合编辑器,将tabPage1 的Name 设置为“Layer”,Text 设置为“图层”;将tabPage2 的Name 设置为“Property”,Text 设置为“属性”。
如下所示:选择“图层”选项卡,拖入TOCControl 控件,设置Dock 属性为Fill。
选择“属性”选项卡,拖入所有Windows 窗体|PropertyGrid 控件,设置Dock 属性为Fill。
拖入TabControl 控件到Panel2,设置Dock 属性为Fill。
并用上述类似的方法,将两个选项卡的Name 和Text 分别设置为:(Map、地图)和(Layout,制版)。
选择“地图”选项卡,拖入MapControl 控件,设置Dock 属性为Fill。
选择“制版”选项卡,拖入PageLayoutControl 控件,设置Dock 属性为Fill。
最后将LicenseControl 控件拖入到窗体的任意地方。
3、控件绑定通过以上步骤添加的控件还只是单独存在,而我们的程序需要各控件间协同工作,因此要进行控件绑定。
分别右击ToolbarControl、TOCControl 控件,将Buddy 设置为axMapControl1,如下图所示这样,工具条和图层控件就与地图控件关联了。
4、添加工具此时,工具条中还没有任何工具,添加的方法也很简单。
右击ToolbarControl,选择“属性|Items”,点击Add,选择Commands选项卡中的Generic,双击Open、SaveAs、Redo、Undo即可将相应工具添加到工具条。
5、右键点击LicenseControl,点击属性菜单.浏览弹出的对话框,其中ArcGIS Engine已经选中,如果需要其它扩展模块的许可,可以在右侧选中对应的复选框,点击确定按钮。
6、编译运行按F5即可编译运行程序,至此桌面GIS应用程序框架基本框架已经搭建好了,你可以通过工具条的工具打开地图文档,浏览地图了。
添加shp 数据刚刚在2.1部分在没有写代码的情况下,我们生成了一个地图浏览小程序。
下面我们来使用代码的方式添加数据。
1、添加菜单控件并设置菜单属性在VS2010的工具箱中,展开菜单和工具栏,双击MenuStrip控件,这样就在窗体上添加了一个菜单控件;同样双击添加openFileDialog控件,置于窗体任何位置.在菜单上点击,输入“添加SHP数据”作为菜单的标题,输入“AddShpData”作为菜单的名称。
理器中右键点击“添加引用”。
2.2在Form1.cs源代码文件中,在源代码的最顶部,输入如下代码,导入命名空间。
using ESRI.ArcGIS.Carto;using ESRI.ArcGIS.Controls;using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Display;using ESRI.ArcGIS.Geometry;using ESRI.ArcGIS.SystemUI;using ESRI.ArcGIS.DataSourcesRaster;///////////////为SHP数据功能增加的类库using ESRI.ArcGIS.DataSourcesFile;using ESRI.ArcGIS.Geodatabase;using System.IO;2.3在添加SHP数据菜单的Click事件处理方法中添加如下代码。
有多种方法添加shapefile文件到地图控件中,本示例的步骤如下:private void menuAddShp_Click(object sender, EventArgs e){openFileDialog1.Filter = "shapefile文件(*.shp)|*.shp";//openFileDialog1.InitialDirectory = @"D:\GIS-Data";openFileDialog1.Multiselect = false;DialogResult pDialogResult = openFileDialog1.ShowDialog();if (pDialogResult != DialogResult.OK)return;string pPath = openFileDialog1.FileName;string pFolder = System.IO.Path.GetDirectoryName(pPath);string pFileName = System.IO.Path.GetFileName(pPath);IWorkspaceFactory pWorkspaceFactory = new ShapefileWorkspaceFactory();IWorkspace pWorkspace = pWorkspaceFactory.OpenFromFile(pFolder, 0);IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;//QI跳转IFeatureClass pFC = pFeatureWorkspace.OpenFeatureClass(pFileName);//可实例化类IFeatureLayer pFLayer = new FeatureLayerClass();pFLayer.FeatureClass = pFC; = pFC.AliasName;ILayer pLayer = pFLayer as ILayer;IMap pMap = axMapControl1.Map;pMap.AddLayer(pLayer);axMapControl1.ActiveView.Refresh();}3、点击“生成|生成解决方案”,点击运行按钮或在键盘上按F5键,运行调试,点击“添加SHP 数据”菜单,在弹出的对话框中,选中任意一个shp文件,点击确定,即可把shp文件加载到地图控件中。
实现窗口的联动1、新建一个Windows窗体应用程序1.1启动VS2010 ,选择“文件|新建|项目|Windos窗体应用程序”,在项目类型中选择Visual C#,再选择Windows应用程序模板,输入名称“FormsLinks”,点击确定。
1.2添加控件:选择工具箱中的“容器|SplitContainer(容器)”拖入窗体,并将其属性中的Dock设置为Fill;拖入MapControl控件,设置Dock属性为Fill;拖入PageLayoutControl控件,设置Dock属性为Fill。
;最后将LicenseControl(许可控件)拖入窗体任意位置.2、在解决方案管理器中右击选择“Form1.cs|添加|新建项”,在弹出对话框中点击“Visual C#模板”,选择“类”命名为“MapAndPage”;双击“MapAndPage”类,在代码框中导入命名空间,在代码框里引用类库,并加载代码按F5即可编译运行程序,即可实现窗口联动.关键代码://引用类库using ESRI.ArcGIS.Carto;using ESRI.ArcGIS.Controls;using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Display;using ESRI.ArcGIS.Output;using ESRI.ArcGIS.SystemUI;public partial class Form1 : Form{ //类的实例化---类名对象名,对象名为使用对象MapAndPage MapAndPage1 = new MapAndPage();public Form1(){InitializeComponent();}private void Form1_Load(object sender, EventArgs e){//加载MXD文档openMapDoc();}//加载MXD文档private void openMapDoc(){OpenFileDialog openFileDialog;openFileDialog = new OpenFileDialog();openFileDialog.Title = "打开地图文档Open Mxd Document";openFileDialog.Filter = "地图文档Map Document(*.mxd)|*.mxd";openFileDialog.ShowDialog();string filePath = openFileDialog.FileName;if (axMapControl1.CheckMxFile(filePath)){axMapControl1.MousePointer = esriControlsMousePointer.esriPointerArrowHourglass; axMapControl1.LoadMxFile(filePath, 0, Type.Missing);axMapControl1.MousePointer = esriControlsMousePointer.esriPointerDefault;}else{MessageBox.Show(filePath + "不是有效的地图文档");}}private void axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e){MapAndPage1.MapToPage(axMapControl1, axPageLayoutControl1);}private void axMapControl1_OnAfterScreenDraw(object sender, IMapControlEvents2_OnAfterScreenDrawEvent e){/*IActiveView pPageLayoutView = (IActiveView)axPageLayoutControl1.ActiveView.FocusMap; //QI方式通过焦点地图获得对象IDisplayTransformation pDisplayTransformation = pPageLayoutView.ScreenDisplay.DisplayTransformation; //QI方式定义接口并实例化控制显示范围pDisplayTransformation.VisibleBounds = axMapControl1.Extent;//控制显示范围axPageLayoutControl1.ActiveView.Refresh();//根据MapControl的视图范围,确定PageLayoutControl的视图范围MapAndPage1.MapToPage(axMapControl1, axPageLayoutControl1);*///或者IActiveView pPageLayoutView = (IActiveView)axPageLayoutControl1.ActiveView.FocusMap; //QI方式通过焦点地图获得对象//IDisplayTransformation pDisplayTransformation = pPageLayoutView.ScreenDisplay.DisplayTransformation; //QI方式定义接口并实例化控制显示范围pPageLayoutView.ScreenDisplay.DisplayTransformation.VisibleBounds = axMapControl1.Extent;//控制显示范围axPageLayoutControl1.ActiveViewActiveView.Refresh();//根据MapControl的视图范围,确定PageLayoutControl的视图范围MapAndPage1.MapToPage(axMapControl1, axPageLayoutControl1);}}实验小结:时间过的很快,转眼间一学期就过去了,这个学期自己学到了很多东西,知道了一些软件的开发过程,对一个软件的代码学习了很多。