2024年猿创征文|GISER开发者必备高能武器库_geotools api 中文版(2),如何试出一个大数据开发开发者真正的水平

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2、QGIS

QGIS(原称Quantum GIS)是一个自由软件的桌面GIS软件。它提供数据的显示、编辑和分析功能。QGIS是一个用户界面友好的桌面地理信息系统,可运行在Linux、Unix、Mac OSX和Windows等平台之上。QGIS是基于Qt,使用C++开发的一个用户界面友好、跨平台的开源版桌面地理信息系统。 QGIS项目开始于2002年 5月,是基于跨平台的图形工具Qt软件包,采用C++ 语言开发的一个GIS软件。目前的开发非常活跃,当前(2014年)的最新版本是QGIS 2.4 版。QGIS源码采用 GNU General Public License协议对外发布。qgis的常用功能和arcgis几乎是一致的。arcgis能做的,qgis基本上也能实现你的需求。只是它支持的数据格式可能少一些,所以在一些场景下面,比如arcgis的专有格式等,就需要进行认真评估了。

QGIS软件的主要特点有:

  1. 支持多种GIS数据文件格式。通过GDAL/OGR扩展可以支持多达几十种数据格式.
  2. 支持POSTGIS数据库。
  3. 支持从WMS、WFS服务器中获取数据
  4. 集成了Grass的部分功能。
  5. 支持对GIS数据的基本操作,如属性的编辑修改等。
  6. 支持创建地图。
  7. 通过插件的形式支持功能的扩展

3、GeoTools

上述两个都是桌面端软件,在软件中提供了封装的功能,使用者只需要使用就可以完成相应的功能。功能封装的另一个问题是,如果想要扩展或者封装,几乎是不可能的。由此,如果你想自己定义程序的逻辑和业务规则,那又该怎么办呢?可以采取自由扩展的方式来进行开发。比如GeoTools 。GeoTools 是一个开源的 Java GIS 工具包,可利用它来开发符合标准的地理信息系统。GeoTools 提供了 OGC (Open Geospatial Consortium) 规范的一个实现来作为他们的开发。GeoTools 被许多项目使用,包括 Web 服务,命令行工具和桌面应用程序。

geotools功能列表:

  1. 定义关键空间概念和数据结构的接
  2. 干净的数据访问 API,支持功能访问,事务支持和线程之间的锁
  3. 无状态的低内存渲染器,在服务器端环境中特别有用
  4. 使用 XML 模式绑定到 GML 内容的强大模式辅助解析技术
  5. GeoTools 插件:开放式插件系统,可让您教授库其他格
  6. GeoTools 扩展,提供使用核心库的空间设施构建的其他功能。

关于geotools,我的个人博客中有一些入门示例和相关介绍,GeoTools之入门简介干货!使用Geotools解析shap数据实例。感兴趣的朋友可以选择的进行阅读。

4、GDAL

一般情况下,使用geotools能满足常规的业务需求了,但如果您有更负责的需求,比如需要投影转换,多种矢量数据、栅格数据的读取,还有不同的格式,这种情况下,geotools的处理能力就有一些捉襟见肘了,此时需要使用另外一个库,gdal来进行帮助升级战斗力。

GDAL(Geospatial Data Abstraction Library)是一个X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支,提供对矢量数据的支持。有很多著名的GIS类产品都使用了GDAL/OGR库,包括ESRI的ARCGIS 9.3,Google Earth和跨平台的GRASS GIS系统、开源世界的GDAL。利用GDAL/OGR库,可以使基于Linux的地理空间数据管理系统提供对矢量和栅格文件数据的支持。

文稿有限,在本人的博文中对gdal进行了相关的介绍,可以参考gis利器之Gdal(一)windows下gdal的java开发环境搭建gis利器之Gdal(二)shp数据读取gis利器之Gdal(三)gdb数据读取。感兴趣的小伙伴可以参阅。

二、数据管理篇

GIS空间数据的来源有很多,可以通过传统的测绘部门的基础测绘,还有卫星遥感数据,现在还有无人机雷达数据等等,非常多。这些数据可以从那些渠道获取呢?本小节将重点说明GIS数据的获取来源以及管理软件。不管您是从事科研的同学还是工作的朋友,从这些专业正规的网站获取数据,不迷路,不会有任何奉献。

1、天地图

天地图集成了来自国家、省、市(县)各级测绘地理信息部门,以及相关政府部门、企事业单位 、社会团体、公众的地理信息公共服务资源,向各类用户提供权威、标准、统一的在线地理信息综合服务 。它是“数字中国”的重要组成部分。天地图的目的在于促进地理信息资源共享和高效利用,提高测绘地理信息公共服务能力和水平,改进测绘地理信息成果的服务方式,更好地满足国家信息化建设的需要,为社会公众的工作和生活提供方便。

在成果目录可以进入到全国地理信息资源目录服务系统,如下图:

2、国家气象科学数据中心:http://data.cma.cn/

国家气象科学数据中心提供了较多的气象数据和地面监测数据,比如降水、温度等数据,数据类型较多,登录后下载就可以,操作简便。

这些数据都是来源于国家中心的,对于进行科学研究非常有用,如果要发表科研论文,一般只需要在数据来源那进行一个说明即可。

3、PostGIS空间数据库

当我们拿到空间数据后,如何对这些数据进行管理,这就需要使用空间数据库。空间数据是关系型数据库的扩展,可以使用常见的SQL进行空间数据的录入、查询、删除,但提供了多种的空间分析函数。PostgreSQL 是一种对象-关系型数据库管理系统(ORDBMS),也是功能最强大、特性最丰富和最复杂的自由软件数据库系统。它起源于伯克利的数据库功能最强大、特性最丰富和最复杂的研究计划,是最重要的开源数据库产品开发项目之一, 有着非常广泛的用户。

PostGIS提供非常多的空间处理函数,

下面是一个空间包含的函数定义,PostGIS内置了许多的功能函数助力空间函数计算:

CREATE OR REPLACE FUNCTION "public"."_st_contains"("geom1" "public"."geometry", "geom2" "public"."geometry")
  RETURNS "pg_catalog"."bool" AS '$libdir/postgis-3', 'contains'
  LANGUAGE c IMMUTABLE STRICT
  COST 10000

PostGIS这款空间数据库工具,一定值得拥有,基于PostGIS可以开发很多富有想象力的功能应用。

三、数据可视化

空间数据可视化是复杂、海量空间数据及地理信息直观展现、多维分析、深度挖掘与扩展应用的重要手段,是多学科交叉的理论、方法和新技术。采用图形图像图表、符号颜色纹理、光照渲染透明,以及动画视频等多种表现形式,对空间数据及其变化进行二维、三维的直观表达和动态展现,不仅可增强人们对多维数据的视觉感知能力,而且有助于分析复杂空间数据的内在关联和隐含信息,探索获取其空间分布与变化规律。

1、LeafLet.js 二维数据可视化利器

时空数据静态可视化,一般是以二维地图上叠加可以描述时间变化的要素,来描述时空属性数据与空间范围内的变化特征。这些用于表达时空属性数据的要素可以通过不同的符号、注记、标绘符号、统计图表等多种方式来表达,也可以将多个时间的专题地图同时展示进行对比。在二维数据展示方面,可以使用Leaflet.js。

Leaflet 是领先的用于移动友好交互式地图的开源 JavaScript 库。仅仅重约 39KB 的 JS,它拥有大多数开发者所需要的所有地图功能。Leaflet 在设计时考虑到了简单性、性能和可用性。它可以在所有主要的桌面和移动平台上高效地工作,可以通过大量的插件进行扩展,拥有一个漂亮的、易于使用的、记录良好的 API,以及一个简单的、可读的源代码。使用Leaflet可以实现很多有意思的功能,比如动态风场、动态路线展示。

2、Cesium.js 三维可视化高手

Cesium隶属于AGI公司,该公司一直致力于时空数据业务。Cesium原意是化学元素铯,铯是制造原子钟的关键元素,通过命名强调了Cesium产品专注于基于时空数据的实时可视化应用。 AGI的英文全称为Analytical Graphics Incorporation,三位创始人曾在通用公司宇航部的供职工程师,提供STK(System/Satellite Toolkit Kit)和Cesium两款产品。经过多年来在时空数据的积累,AGI公司逐渐掌握了大量3D可视化技术,也感受到各行各业对海量3D数据的强烈需求,因此于2012年创建了cesiumjs开源项目,围绕Cesium生态圈打造了一套安全可靠易扩展且平台独立的企业级解决方案。

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

**

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 16
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值