一.是什么?
GIS专业名称一般叫地理信息系统;GIS是一门综合性学科,包含了很多不同学科的内容:地理学、地图学、计算机科学与技术、地理信息系统等。
GIS就业:地图方向:主要是一些测绘单位、地图供应商和自动驾驶等相关企业;制图和测绘都属于这个范畴;数据分析:研究算法模型,做分析数据;应用开发:GIS软件的开发和二次开发等;不会开发的还可以做技术支持和维护。
WebGIS是GIS软件开发需要掌握的内容之一。
IS专业的学生通常就业方向分为内业和外业。内业主要是制图和数据处理、软件开发;外业主要是测绘。不管是制图还是数据处理,工作的内容非常单一,没有什么前景,对个人的技能提升没有帮助,工资也低。但GIS开发前景很好。在GIS产业链中,中游的基础软件平台是GIS产业的核心,也是技术门槛最高的部分。GIS开发也是GIS专业毕业以后最好就业的方向,唯一的难点就是要学软件开发,对编程有一定的要求,其次企业招聘注重项目经验。
GIS 种种大都是建立在数据库和图形图像处理上的。前者和一般数据库的管理处理,区别不大,后者用好各种算法接口即可;GIS与互联网、与无人驾驶、智慧城市等新技术结合越来越紧密(来自中地数码的回答)
总结:我的工作是GIS开发方向,用java。
二.学什么
要知道GIS开发要学什么,首先要了解什么是webGIS。WebGIS是基于Internet平台来实现的,客户端应用软件采用网络协议,运用在Internet上的地理信息系统。一般由多主机,多数据库和多个客户端以分布式连接在Internet上而组成,包括以下四个部分:
所以综合来讲,WebGIS涉及到展现给用户的部分,属于前端开发;WebGIS涉及到web技术支持以及如何实现这些展现功能等方面属于后端开发。
首先,目前应用较多的主流开发应用是WebGIS,所以首先要学习的内容就是Web开发,Web开发也分为前端和后端。Web前端由HTML5/CSS/Java Script等应用呈现,所以前端部分你必须要掌握这三大语言。另外,前端还需要学习 jQuery 等工具库,有效的帮助开发者提高效率。Web后端常用的语言有:Java、Python, my SQL/SQL Server等。除了编程语言,GIS相关的基本应用,比如:GIS数据处理、数据发布、数据应用、数据渲染、GIS软件操作(数据处理和制图)等也得学。另外,GIS主流应用软件的二次开发、开源GIS数据库(常见的有Openlayer、leaflet等)等都要接触。???
目前市面上大多数GIS开发相关的岗位都是WebGIS,而且先学了WebGIS以后,再学其他的(桌面GIS、移动GIS、云GIS)应用会很容易上手。所以我这份工作是Web还是桌面。属于前端是后端?
从语言上来将:会python java HTML/CSS C#、.NET、C++ ;不i会:Javascript
GIS二次开发应该学C#开发arcengine还是学javaScript开发webgis?
C# 是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。如果用来做GIS开发,给GIS软件编写新的附加组件,C#是一个不错的选择。
javascript目前是Web用户界面最流行的脚本语言,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。在GIS方面,一些领先的开源Web地图客户端(比如OpenLayers、Leaflet等)离不开JavaScript,其他的一些地图比如谷歌地图也同样如此。你可以去招聘网站搜一下,现在大部分GIS开发应用以Web端为主,所以还是建议你把web端三件(HTML/CSS/Javascript)学好.
ECharts是一个使用 JavaScript 实现的开源可视化库
Leaflet 是一个二维的开源JavaScript 地图数据库。
和Leaflet 类似,Openlayer也是一个开源二维地图数据库。OpenLayers的存在也是为了方便进一步利用各种地理信息进行开发。
Cesium是一个三维可视化地图库。
1 GIS软件
ArcGIS
QGIS:开源
国产:超图、中地MapGIS
2二次开发编程语言:
页面前端:html、css、JavaScript 、JQuery、Bootstrap、Angular、Vue。
服务端:Java 、nodejs、Tomcat。
C#:二次开发 , https://docs.microsoft.com/zh-cn/dotnet/csharp/
Python : 数据分析
数据库: SqlServer、MySQL、Oracle、PostgreSQL。
数据库 :PostGIS 、OracleSpatia、SpatiaLite。
3.用什么库?
geotool是以OGC标准开发的库,可以作为一个很基础的库,对shapefile等数据进行操作,空间分析之类,但是一些高级功能只能自己扩展,或者找一些开源代码吧。
geoserver,可以帮助你快速地发布一些地图服务,兼容绝大多数的数据格式和数据库。而且其中的geowebcache能帮助你快速完成栅格瓦片的制作。
1)基于C++的,例如 GDAL - GDAL documentation, proj.4, Welcome to MapServer 等;
(2)基于JAVA的,有GeoTools The Open Source Java GIS Toolkit, GeoServer, 52 North WPS, udig等;
(3)基于Python的有用于OGC服务的 geopython,包括 pyWPS, OWSLib 等,以及很多数据处理的库(WhiteboxTools | Home, mapbox/rasterio, GDAL python, GeoPandas 0.7.0 - GeoPandas 0.7.0 documentation、Toblerity/Shapely 等),很多桌面GIS系统也都支持python脚本,如 ArcGIS (ArcPy), QGIS, GRASS GIS、SuperMap。
(4)基于JavaScript的如 OpenLayers - Welcome、Leaflet — an open-source JavaScript library for interactive maps 等。
ArcGIS API for javascript :
4.数据分析与图像处理软件包
OpenCV :计算机视觉,图像处理, https://opencv.org/
scikit-learn :机器学习 , https://scikit-learn.org/
tensorflow : 深度学习 、图像分类、目标检测、图像分割。
5. 官方文档
FEEDBACK | PRINT | EMAIL