gis利器之Gdal(一)

简介: 主要介绍gdal工具库,它的主要功能,组织结构,让大家有个简单了解。

      现如今,随着很多行业对gis的了解越来越深入,很多关于智慧的标签便纷纷贴上了,比如智慧园区、智慧交通、智慧城市、智慧校园等等诸多的行业深度应用。国内外有很多gis的相关产品,国外有大名鼎鼎的arcgis,国内有超图、mapgis等。作为一位想研究数据制作的技术人,如果想不依赖第三方的库,毕竟国产化,自主可控是未来长期的一个话题。

        之前介绍过一款轻量级的gis数据处理工具,1、GeoTools之入门简介、干货!使用Geotools解析shap数据实例等,如果应对一些常见的数据,如shp等的解析需求,完全可以应对。如果想要解析更多的数据,比如cad、gdb等等,geotools的作用就比较捉襟见肘了。

        今天介绍一款好用的gis利器:gdal。它不仅能处理更多种类型的数据,而且还是开源的。虽然它是C++开发的库,但是经过编译后,可以支持多种开发语言,比如java、c#、python等等。同时,arcgis等软件底层也是基于gdal来进行开发的,由此,掌握gdal就比较有必要的。它能让你更灵活的处理数据,同时可以跨平台应用。

        GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支,提供对矢量数据的支持。

        Gdal的一些资料可以参考网站:https://www.osgeo.cn/gdal/

       Gdal的主要特征

       GDAL提供栅格数据的支持,包括Arc/Info ASCII Grid(asc),GeoTiff (tiff),Erdas Imagine Images(img),ASCII DEM(dem) 等格式。

        GDAL使用抽象数据模型(abstract data model)来解析它所支持的数据格式,抽象数据模型包括数据集(dataset),坐标系统,仿射地理坐标转换(Affine Geo Transform), 大地控制点(GCPs), 元数据(Metadata),栅格波段(Raster Band),颜色表(Color Table),子数据集域(Subdatasets Domain),图像结构域(Image_Structure Domain),XML域(XML:Domains)。

       GDALMajorObject类:带有元数据的对象。

      GDALDdataset类:通常是从一个栅格文件中提取的相关联的栅格波段集合和这些波段的元数据;GDALDdataset也负责所有栅格波段的地理坐标转换(georeferencing transform)和坐标系定义。

      GDALDriver类:GDAL会为每一个所支持的文件格式创建一个该类的实体,来管理该文件格式。

      GDALDriverManager类:用来管理GDALDriver类。

OGR体系结构

     Geometry类:Geometry (包括OGRGeometry等类)封装了OpenGIS的矢量数据模型,并提供了一些几何操作,WKB(Well Knows Binary)和WKT(Well Known Text)格式之间的相互转换,以及空间参考系统(投影)。

     Spatial Reference类:OGRSpatialReference封装了投影和基准面的定义。

     Feature类:OGRFeature封装了一个完整feature的定义,一个完整的feature包括一个geometry和geometry的一系列属性。

     Feature Definition类:OGRFeatureDefn里面封装了feature的属性,类型、名称及其默认的空间参考系统等。一个OGRFeatureDefn对象通常与一个层(layer)对应。

     Layer类:OGRLayer是一个抽象基类,表示数据源类OGRDataSource里面的一层要素(feature)。

     Data Source类:OGRDataSource是一个抽象基类,表示含有OGRLayer对象的一个文件或一个数据库。

     Drivers类:OGRSFDriver对应于每一个所支持的矢量文件格式。类OGRSFDriver由类   OGRSFDriverRegistrar来注册和管理。

   Gdal资源下载地址

https://www.gisinternals.com/mapmanager.html

image.png

总结:今天主要是介绍gdal工具库,它的主要功能,组织结构,先让大家有一个简单的认识,后面在具体在代码层面进行展开。


目录
相关文章
|
6月前
|
数据可视化 JavaScript 前端开发
[Python可视化]一种极具特色(但是并没有什么用)的GIS专题图可视化方法
[Python可视化]一种极具特色(但是并没有什么用)的GIS专题图可视化方法
58 0
|
存储 Java 定位技术
gis利器之Gdal(二)shp数据读取
本文首先简单介绍了空间数据shp数据的基本知识,其常见的文件组成形式。使用qgis软件对数据进行常规预览,最后重点介绍了使用gdal对矢量信息进行读取,​包括空间信息和属性信息
963 0
gis利器之Gdal(二)shp数据读取
|
12天前
|
机器学习/深度学习 数据挖掘 定位技术
地理数据分析:Python在GIS中的应用
【4月更文挑战第12天】本文探讨了Python在GIS中的应用优势和实践,包括其简单易学、开源、强大的数据处理能力以及丰富的GIS库。Python用于地理数据分析,涉及数据获取与处理、空间数据管理、空间分析、地图制作和机器学习。案例展示Python在城市规划、环境保护、资源管理和灾害响应中的作用。通过学习和实践,可以掌握Python在GIS中的技能。
|
9月前
|
定位技术
GIS开发:blender的常用操作
GIS开发:blender的常用操作
135 0
|
11月前
|
前端开发 JavaScript 定位技术
GIS开发:开源空间分析库Turf.js
GIS开发:开源空间分析库Turf.js
126 0
|
定位技术 API 数据库
GIS开发:开源gdal切片
GIS开发中开源gdal切片使用
295 0
|
定位技术
GIS开发:看到的地图切片
GIS开发:看到的地图切片
|
定位技术
GIS开发:osm数据在线下载
GIS开发:osm数据在线下载
392 0
|
Linux 定位技术 数据格式
Python与开源GIS:开始使用GDAL
Python与开源GIS:开始使用GDAL
244 0
|
数据可视化 数据管理 Linux
2023 年 10 大最佳 GIS 软件
2023 年 10 大最佳 GIS 软件
908 0
2023 年 10 大最佳 GIS 软件