gis的开发方法有哪些
独立开发 指不依赖于任何GIS工具软件,从空间数据的采集、编辑到数据的处理分析及结果输出,所有的算法都由开发者独立设计,然后选用某种程序设计语言,如Visual C十十、Delphi等,在一定的操作系统平台上编程实现。
这种方式的好处在于无须依赖任何商业GIS工具软件,减少了开发成本,但一方而对于大多数开发一者来说,能力、时间、财力方而的限制使其开发出来的产品很难在功能上与商业化GIS工具软件相比,而且在购买GIS工具软件上省下的钱可能还抵不上开发者在开发过程中绞尽脑汁所花的代价。
宿主型二次开发 指基于GIS平台软件上进行应用系统开发。
大多数GIS平台软件都提供了可供用户进行二次开发的脚本语言,如ESRI的ArcView提供了Avenue语言,MapInfo公司的MapInfo Professional提供了MapBasic语言等等。
用户可以利用这些脚本语言,以原GIS软件为开发平台,开发出自己的针对不同应用对象的应用程序。
这种方式省时省心,但进行二次开发的脚本语言,作为编程语言,功能极弱,用它们来开发应用程序仍然不尽如人意,并且所开发的系统不能脱离GIS平台软件,是解释执行的,效率不高。
基于GIS组件的二次开发 大多数GIS软件产商都提供商业化的GIS组件,如ESRI公司的MapObjects, Maplnfo公司的MapX等,这些组件都具备GIS的基本功能,开发人员可以基于通用软件开发工具尤其是可视化开发工具,如Delphi, Visual C++, Visual Basic, Power Builder等为开发平台,进行二次开发。
利用GIS工具软件生产厂家提供的建立在OCX技术基础上的GIS功能控件,如ESRI的MapObjects, Maplnfo公司的MapX等,在Delphi等编程工具编制的应用程序中,直接将GIS功能嵌入其中,实现地理信息系统的各种功能。
三种实现方式的分析与比较 由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制差强人意,因此结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流。
它的优点是既可以允分利用GIS 工具软件对空间数据库的管理、分析功能,又可以利用其它可视化开发语言具有的高效、方便等编程优点,集二者之所长,不仅能大大提高应用系统的开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果,更强大的数据库功能,而且可靠性好、易于移植、更于维护。
尤其是使用OCX技术利用GIS功能组件进行集成开发,更能表现出这些优势。
GIS系统开发
开发GIS软件,需要使用两个平台,一个是GIS开发平台,通过编译好的类库提供GIS功能,GIS开发平台使用最多的是arcgis平台,还有很多其他平台如mapgis ,mapinfo和一些开源平台geoserver,geotools等等。
一个是软件开发工具,将你编写的代码编译成机器代码,同时提供一些类库和很多工具方便你的开发,每种语言可供利用的工具又有很多,比如c++语言,你可以使用vc++6.0平台,vs平台,Jbuilder等等。
arcgis包括很多软件,桌面端和服务器端,还有开发平台,桌面端ArcInfo中的主要组件有: * ArcCatalog * Object Editor * "Personal" SDE * ArcMap * Geoprocessing Server * Charting * ArcToolbox * VBA * Reporting 。
arcview只负责浏览查看和一些简单gis功能。
服务器端arcgis server提供gis服务功能。
开发工具有mapobject,arcobject,arcgis engine。
mapobject是前期arcgis提供的开发平台,现在已经被esri公司丢弃,现在esri公司推荐的是arcobject,arcgis engineArcObject,是一套ArcGIS的可重用的通用的二次开发组件集。
可以毫不夸张地说,使用ArcObjects进行的二次开发是现在GIS次开发中最底层和最流行的开发方式。
ESRI的程序员们将GIS的不同功能—从数据管理到图形显示—做成一个个COM组件,他们自己也使用这些组件开发出了ArcGIS这套软件。
ArcObject是ArcGIS软件的核心,从理论上讲,如果水平足够高,也可以使用ArcObjects开发出一套的ArcGIS软件来。
ArcGIS Engine 开发包提供了一系列可以在 ArcGIS Desktop框架之外使用的 GIS 组件,ArcGIS Engine的出现对于需要使用 ArcObjects 的开发人员来说是个福音,因为 ArcGIS Engine发布之前,基于ArcObjects的开发只能在庞大的ArcGIS Desktop框架下进行。
arcobject和arcgis engine从开发的角度来看,区别不是很大,从软件的角度来看,arcobject需要你安装一些桌面端软件arcinfo,arcgis engine就不需要其他桌面端arcgis 软件,只需要一个arcgis engine就行了。
从费用的角度来看,arcobject要贵很多很多,因为一些列的arcinfo套件很贵。
我自己使用的是arcobject,当然平时需要进行数据处理等arcinfo套件,语言使用的C#,开发工具是visual studio2010.从你的问题可以看出,你是开发刚入门,建议找一些书来看看,先打好基础,在这个上面你是问不出什么结果的。
gis的软件工程师和二次开发哪个更好?
gis的软件工程师相对更好一些 因为gis软件开发工程师属于稀缺人才 很吃香 gis软件工程师工作内容 负责GIS、WEB GIS产品的应用开发和系统测试; 独立进行数据标准、制作方案的设计工作; 参与GIS系统分析设计等技术文档编制。
2职业要求 教育培训: 地理信息系统、计算机应用或软件相关专业,大专及以上学历。
工作经验: 精通GIS开发;了解GISGPSRS相关知识,熟悉地理信息数据制作内外业全过程工作;熟悉AcGIS、Mapinfo或者国内常用的GIS平台;熟悉至少一种数据库的开发和设计;具有良好的学习能力,具有强烈的工作责任心、有良好的沟通能力和团队合作精神。
3薪资行情 一般月薪范围在2500~8000元。
4发展路径 经过一段时间的工作经验的积累后,可发展成为高级软件工程师、算法应用开发工程师和需求工程师,但需要具有丰富的软件开发经验和相关工作的技术背景。
如果想成为技术经理、项目经理,则还需要具有较强的管理和组织等方面的能力。
诚心为你解答,给个好评吧亲,谢谢啦
开发的GIS系统的优势是什么?
国内有很多不错的GIS软件,主要有如下两种: (1) MapGIS:中国地质大学吴信才教授主持开发的,这个软件功能 很强大,我们使用过程中主要是面向GIS制图这块,能较快地制作出漂亮 复杂的GIS地形图等,而且具有很多模块,这些模块涵盖了 GIS的所有空 间分析功能,有点类似于国外的ArcGIS软件,同时该软件具备数据格式 转换功能。
(2) SuperMap:该软件是北京超图公司开发的,功能很强大,而且模 块很多,有专门面向二次开发的、GIS操作使用的、三维空间分析、Web- GIS服务开放的,最大的优点就是容易上手,接口很方便、灵活,同时售 后较好。
GIS系统开发
开发GIS软件,需要使用两个平台,一个是GIS开发平台,通过编译好的类库提供GIS功能,GIS开发平台使用最多的是arcgis平台,还有很多其他平台如mapgis ,mapinfo和一些开源平台geoserver,geotools等等。
一个是软件开发工具,将你编写的代码编译成机器代码,同时提供一些类库和很多工具方便你的开发,每种语言可供利用的工具又有很多,比如c++语言,你可以使用vc++6.0平台,vs平台,Jbuilder等等。
arcgis包括很多软件,桌面端和服务器端,还有开发平台,桌面端ArcInfo中的主要组件有: * ArcCatalog * Object Editor * "Personal" SDE * ArcMap * Geoprocessing Server * Charting * ArcToolbox * VBA * Reporting 。
arcview只负责浏览查看和一些简单gis功能。
服务器端arcgis server提供gis服务功能。
开发工具有mapobject,arcobject,arcgis engine。
mapobject是前期arcgis提供的开发平台,现在已经被esri公司丢弃,现在esri公司推荐的是arcobject,arcgis engineArcObject,是一套ArcGIS的可重用的通用的二次开发组件集。
可以毫不夸张地说,使用ArcObjects进行的二次开发是现在GIS次开发中最底层和最流行的开发方式。
ESRI的程序员们将GIS的不同功能—从数据管理到图形显示—做成一个个COM组件,他们自己也使用这些组件开发出了ArcGIS这套软件。
ArcObject是ArcGIS软件的核心,从理论上讲,如果水平足够高,也可以使用ArcObjects开发出一套的ArcGIS软件来。
ArcGIS Engine 开发包提供了一系列可以在 ArcGIS Desktop框架之外使用的 GIS 组件,ArcGIS Engine的出现对于需要使用 ArcObjects 的开发人员来说是个福音,因为 ArcGIS Engine发布之前,基于ArcObjects的开发只能在庞大的ArcGIS Desktop框架下进行。
arcobject和arcgis engine从开发的角度来看,区别不是很大,从软件的角度来看,arcobject需要你安装一些桌面端软件arcinfo,arcgis engine就不需要其他桌面端arcgis 软件,只需要一个arcgis engine就行了。
从费用的角度来看,arcobject要贵很多很多,因为一些列的arcinfo套件很贵。
我自己使用的是arcobject,当然平时需要进行数据处理等arcinfo套件,语言使用的C#,开发工具是visual studio2010.从你的问题可以看出,你是开发刚入门,建议找一些书来看看,先打好基础,在这个上面你是问不出什么结果的。
转载请注明出处51数据库 » 基于gis的软件开发