GIS开发人员需要掌握的知识和技能

2023-05-16

对于GIS行业,可能很多人不是很了解,对我来说也不是很了解,在此呢,我就我自己的看法发表一下简单的看法,有什么不同的意见可以一起交流。

GIS虽说是属于地理科学或者说测绘科学与技术的范畴,但是很大一部分和计算机、数学有很大的联系。对于一个合格的GIS开发人员,可能需要掌握的东西太多了,压在我们身上的担子太重了,下面就不同方面的开发人员所需掌握的技能做一个简单介绍:

一、从开发的层次上来分

        GIS开发从开发层次上来划分的话,一般分为底层开发和二次开发。

对于底层开发来说,需要的东西就很多,比如,你要实现GIS底层的几何对象模型那么就要熟悉几何学及其相关的计算几何知识,对于空间数据可视化,你需要掌握计算机图形学和相关平台的绘图API函数,比如windows的GDI等,也可以是OPENGL或者DX。对于空间数据相关的属性数据管理,你需要掌握数据库,不管是大型的还是小型的,开源的和商业的,你总得掌握一个吧。对于空间分析这样的高级功能,需要掌握几何学和运筹学相关的知识,比如最短路径算法,就这个东西,就值得你研究的。你如果想要开发地图注记等模块,别小看注记都是一些文字,但是真正要配置的时候,这些文字需要怎样排列和分布,才会使地图看上去整洁美观,并且注记之间没有压盖,可以说这事一个优化问题,你也许需要去看看一些优化或仿生类的算法才能解决。你只要了解和掌握这些知识就可以了吗?不,你还需要学习编程语言啊,这样你才能开发出实际的系统。还有很多很多,就不一一列举了。

      对于二次开发,以前的二次开发都是和GIS基础平台软件结合很紧密的,这也加重了开发人员的负担,因为你需要学习一门新的语言,比如AML,mapbasic等。后来随着组件技术的发展,出现了组件GIS,比如mapobject,AO,AE,mapx,supermap object等等,从此二次开发人员就可以用通用的高级编程语言(c++,c#,java)嵌入GIS组件进行开发了。虽然有些算法进行封装了,但是你需要熟悉组件库的相关API函数,这也是一件很累的事,相信学习过AO,AE的人都会觉得刚开始的时候特别难学。

 

二、从行业或者说应用领域来分

     1、网络GIS,在这个领域,你需要掌握计算机网络的基础知识,这是前提,还需要学习各种前台语言,比如html,javascript,css等,后台服务器端的语言需要掌握JSP或者ASP之类的。当然,你可以借助于现在的成熟的网络GIS产品来开发你的应用,比如你调用google API,使用arcgis server搭建你的应用框架,还有各种的开源GIS项目。最近比较流行的flex和html5貌似是这个方面的开发人员比较好的选择,这个领域我不懂,可能说的不到位。

    2、嵌入式GIS,可以看做是桌面GIS的延续,看你的嵌入式平台,你可以选择linux,windows ce,塞班,安卓,ios等,平台太多了,这样要求开发人员首先掌握平台相关的知识,然后你才能开发嵌入式GIS程序了。需要掌握的语言根据不同语言来选择。比如windows ce你可以选择c++,#,vb。linux你可以选择c++。塞班你可以选择qt框架。安卓你可以用java,ios你必须使用objective-C语言。

    3、三维GIS,这是一个模拟真实地理世界的领域,三维GIS需要开发人员掌握C++编程语言,三维几何图形的算法、三维可视化与渲染的算法,技术含量比较高,需要开发人员有很强的开发能力。其次,你需要掌握三维图形API,opengl或者D3D都可以。

 

其次,如果是结合具体应用领域的话,你还需要掌握相关行业的业务知识。这也没办法,我想软件开发所有行业也都如此吧?

GIS,希望明天更美好!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GIS开发人员需要掌握的知识和技能 的相关文章

随机推荐

  • 企业信息化技术架构展望

    企业用户慢慢的从前期选用一些同行业成功的项目案例来复制 xff0c 或者选用一些知名的咨询公司提出的行业内通用方案 xff0c 转型为自己主动认真思考什么是自己需求 xff0c 什么是真正适合自己的信息化之路 做为企业信息技术架构设计 xf
  • Errors were encountered while processing: google-chrome-stable

    转自 xff1a http omtlab com errors were encountered while processing google chrome stable Many people facing this issue whi
  • virtualbox 命令

    VBoxManage命令详解 xff08 一 xff09 本人对vboxmange命令按我个人的理解作了解释 xff0c 由于本人水平有限难免有错误的地方 xff0c 希望大家帮我指正 VBoxManage v version 显示virt
  • 基于Springboot的物业管理系统_代码

    下载地址 1 1 课题背景 目的及意义 1 1 1 课题背景 互联网 43 改变着我们的生活 xff0c 在传统的社区物业服务领域 xff0c 在服务业主 提升社区服务 质量方面 xff0c 如何与互联网融合 xff1f 顶级互联网技术团队
  • eclips运行generatorConfig.xml文件生成代码

    描述 xff1a 如何通过eclips工具来运行 generatorConfig xml 文件来自动生成代码并获取数据 xff08 类似于mybaits逆向生成 xff09 xff1f mybatis generator generate
  • Spring源码(4)Context篇之AbstractApplicationContext(下)

    上一篇 Spring源码 4 Context篇之AbstractApplicationContext xff08 上 xff09 讲解了Spring的AbstractApplicationContext类refresh 方法 xff0c 前
  • java多线程 一个生产者和多个消费者

    生产者和消费者模式是面试时很容易被问到的一类题 xff0c 在平常的开发中也经常碰到 xff0c 比如在网游开发中 xff1a 用一个线程把收到的字节数据封装起来写到一个队列中 xff0c 然后用一个或多个线程从该队列中把数据读取出来再分发
  • Python最强装逼神技!微信远程控制电脑,想让你电脑关机就关机!

    今天带给大家一个非常有意思的 python 程序 xff0c 基于 itchat 实现微信控制电脑 你可以通过在微信发送命令 xff0c 来拍摄当前电脑的使用者 xff0c 然后图片会发送到你的微信上 甚至你可以发送命令来远程关闭电脑 程序
  • JAVA 在linux下面生成验证码异常问题

    应用部署到Linux下 xff0c 结果首页登录的验证码显示不出来 该验证码是用java的图片包来处理图片的 xff0c 后台日志报错 xff1a java lang NoClassDefFoundError sun awt X11Grap
  • 【PowerShell 一天一练】 3. 调用winrar解压

    如果你安装了 winrar 且安装在对应下面的路径 xff0c 可以尝试一下下面的代码 xff08 事实上我也是 copy 并修改自网上的代码 xff09 unrar 61 c Program files winrar unrar exe
  • C/C++中二维数组和指针关系分析

    在C c 43 43 中 xff0c 数组和指针有着密切的关系 xff0c 有很多地方说数组就是指针式错误的一种说法 这两者是不同的数据结构 其实 xff0c 在C c 43 43 中没有所谓的二维数组 xff0c 书面表达就是数组的数组
  • 四叉树空间索引原理及其实现

    今天依然在放假中 xff0c 在此将以前在学校写的四叉树的东西拿出来和大家分享 四叉树索引的基本思想是将地理空间递归划分为不同层次的树结构 它将已知范围的空间等分成四个相等的子空间 xff0c 如此递归下去 xff0c 直至树的层次达到一定
  • DirectXShaderCompiler mac编译

    Directxshader compiler mac编译 1 前置条件 Please make sure you have the following resources before building GitPython Version
  • intel -tbb 源码cmake构建

    cmake minimum required VERSION 3 0 0 FATAL ERROR set CMAKE CXX STANDARD 17 project tbb CXX add library tbb SHARED void c
  • iOS编译openmp

    1 下载openmp源码 https github com llvm llvm project releases download llvmorg 14 0 6 openmp 14 0 6 src tar xz 2 下载ios toolch
  • mysql存储过程及拼接字符串的用法

    DROP PROCEDURE IF EXISTS insert historytable DELIMITER CREATE PROCEDURE insert historytable BEGIN 定义判断变量 DECLARE 1 id va
  • 矩阵的特征值和特征向量的雅克比算法C/C++实现

    矩阵的特征值和特征向量是线性代数以及矩阵论中非常重要的一个概念 在遥感领域也是经常用到 xff0c 比如多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量 根据普通线性代数中的概念 xff0c 特征值和
  • windows多线程详解

    在一个牛人的博客上看到了这篇文章 xff0c 所以就转过来了 xff0c 地址是http blog csdn net morewindows article details 7421759 本文将带领你与多线程作第一次亲密接触 xff0c
  • tiff文件读取

    以下是VC下读取TIFF文件的代码 char szFileName 61 34 K 地图 fujian DEM fujian1 tif 34 TIFF tiff 61 TIFFOpen szFileName 34 r 34 打开Tiff文件
  • GIS开发人员需要掌握的知识和技能

    对于GIS行业 xff0c 可能很多人不是很了解 xff0c 对我来说也不是很了解 xff0c 在此呢 xff0c 我就我自己的看法发表一下简单的看法 xff0c 有什么不同的意见可以一起交流 GIS虽说是属于地理科学或者说测绘科学与技术的