引言

2008年开始涉及到GIS开发这一块,最初使用C#开发桌面端应用程序、数据处理工具,web端同样以C#语言为基础的.net技术开发,到现在使用JavaScript语言,开发各类地图的web端应用,同样以JavaScript语言为基础的nodejs技术开发数据处理工具。



最初的时候,地图开发、处理工具,都以桌面端软件形式存在,特别是三维的GIS软件,因性能的关系,GIS数据通常也比较大,二维地图Arcgis为主,超图开始发展起来,三维的有skyline、谷歌地球、伟景行等,国内计算机使用的操作系统主要是windows为主,在开发桌面程序时,使用C#语言,开发起来省事,难度要比C++低很多,开发的速度也快,所以,用C#开发的也挺多,毕竟要是用java、C++,要省事很多。

当时Arcgis的web端JavaScript库在很多项目应用,但是,web端的框架当时很少,开发web端的程序还挺复杂的,在协同开发方面表现的相对来说差很多,开源的以JavaScript为基础的web地图库有openlayer、leaflet等,前端页面上不能够动态绘制大量的元素(Feature),通常是以后台处理成地图瓦片的形式进行加载;三维web端的开发,一般以IE的ActiveX控件为基础开发,才能承载较大的数据量,64位计算机使用较少时,IE的最大内存使用量,莫名的浏览器崩溃,导致系统的体验不好。



随着webgl技术的发展,谷歌旗下的chrome浏览器不断更新,JavaScript涌现出各类的开发框架,web端的gis应用越来越多,开源的gis库cesium、mapbox-gl等一系列也发展起来,web端gis的数据加载量越来越大,使用C#开发桌面端应用程序就变少了,因为一般的桌面端基于商业软件二次开发,还需要平台费用,特别是cesium火起来的时候,涌现出各种基于cesium的三维地图应用。

JavaScript同时提供了一个跨平台桌面端解决方案-Electron,让开发者能够基于JavaScript开发一套代码,在windows\mac\linux操作系统上都能够运行,使用户在数据量不是很大的情况,实现桌面端的二维、三维gis应用。

gdal、proj4等常用的gis库,能够通过nodejs进行调用,使用户在数据处理时,也能够使用JavaScript进行开发。