关于如何搭建开发环境,参见Ubuntu下GDAL读取HDF4(MODIS影像)开发环境搭建。...元数据信息可以通过GDAL获取,HDF的元数据信息中(将元数据信息保存在一个字符串数组中),奇数索引的信息是子数据集的地址,偶数索引的信息是该子数据集的其它信息(名称等)。...在C++代码中我们只需要读取元数据信息,提取出Dataset子数据集的路径就可以了!...代码如下:(其中用到的readGeoRaster函数用于输出Dataset的一些地理信息,具体实现参见Hello GDAL(简单的GDAL入门程序)) int main(int argc, char*...poDataset) { cout << "影像读取失败:" << pszFileName << "!"
Fiona简介 用GDAL的Python绑定API书写程序有没有一种仍然在写C/C++的感觉,Fiona基于GDAL提供了更加...Pythonic的读取空间矢量数据的API,参见:http://toblerity.org/fiona/index.html 这里主要说一下Fiona中对数据的描述模型和GDAL...properties': OrderedDict([('Name', '新疆维吾尔自治区'), ('CenterX', 84.9023), ('CenterY', 42.148)])} Shapefile...数据读取 下面我们来体验一下Fiona的简洁之处,主要是使用Python内置的结构表示所有数据,所以使用Fiona操作空间数据就像操作Python内置的数据结构一样简单。...输出结果如下: 数据范围:(73.4766, 18.1055, 135.0879, 53.5693) 投影定义:{'init': 'epsg:4326'} 数据格式:ESRI Shapefile
https://blog.csdn.net/T_27080901/article/details/82194108 使用GDAL读取Sentinel数据 GDAL 2.1已经原生支持对于Sentinel...数据的读取,我这里使用Sentinel-2光学卫星数据给出使用GDAL工具对其进行读取的方法。...GDAL将Sentinel数据看做一个数据集(概念上类似HDF格式的数据集),里面包含了很多子数据文件。所以,对于Sentinel数据的读取就和对于HDF数据的读取是相同的啦。...对于HDF或者NetCDF格式数据的读取参考我的博文:读取HDF或者NetCDF格式的栅格数据 使用GDAL命令行读取Sentinel数据的元数据信息 直接使用gdalinfo [文件名]可以查看Sentinel...20180504T173911_N0206_R098_T13TGF_20180504T212111.SAFE/MTD_MSIL1C.xml:10m:EPSG_32613 B2-3-4-8.tif 使用Python脚本读取
Shapefile文件简介 Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式。...文件的话,需要根据shx文件中的信息读取shp中的二进制数据并转化为几何对象,然后再读取dbf表格,将属性添加到几何对象上就完成了对一个Shapefile文件的解析....英文好的同学,请转移到这里:ESRI Shapefile Technical Desc GDAL中矢量数据组织 GDAL中的栅格数据使用OGRDataSource表示(OGRDataSoruce是抽象类...GDAL中的空间要素模型是按照OGC的Simple Feature规范实现的,有兴趣的童鞋可以参考官方文档:Simple Feature Access 使用GDAL打开Shapefile文件 下面的例子演示了如何打开...Shapefile文件,并读取空间要素及其属性。
This function will convert the rasterized clipper shapefile # to a mask for use within GDAL. def imageToArray...() # Create an OGR layer from a boundary shapefile shapef = ogr.Open(shapefile_path) lyr = shapef.GetLayer...() if __name__ == '__main__': #shapefile_path, raster_path shapefile_path = 'beijing.shp' raster_path...= 'world.tif' main( shapefile_path, raster_path ) 补充知识:Python+GDAL | 读取矢量并写出txt 这篇文章主要描述了如何使用GDAL/OGR...打开矢量文件、读取属性表,并将部分属性写出至txt。
GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。可以读取主流的栅格格式(以下是部分GDAL支持的栅格格式)。...一切预备工作齐备,接下来就是利用Python+GDAL进行读取的工作。...首先,导入库: import gdal 紧接着,重头戏,开始读取: hdf=r'C:\pytemp\Thesis\aodrepair\maiac\hdf\MCD19A2.A2017365.h21v03.006.2018119214031...并没有,还需要继续深扒层里的信息和数据,重新利用GDAL打开550nmAOD层的信息,并转为数组,才算正确读取为可以直接运行和计算的部分。...以上,就是今天要讲解的HDF数据的读取~ 彩蛋~ 数据打开了,稍加处理(选取每个维度的最大值): max函数 最后得到这么一张AOD分布图。
今天在使用Java版GIS开源工具GeoTools读取ShapeFile文件,其中ShapeFile的dbf文件(属性表)中的属性为中文字符,按照官方的案例读取结果显示为乱码。...原始的代码为: /** * @description: 使用GeoTools库读取ShapeFile文件 * @author Zhenyu Tan * @date 2016年8月9日 下午10:...; // 设置编码后可以正确读取 //((ShapefileDataStore) dataStore).setCharset(Charset.forName("GBK")...ShapeFile文件的默认编码为ISO-8859-1。...而我们中文操作系统下ShapeFile文件的默认编码一般为GBK,所以只要告诉ShapefileDataStore使用GBK编码进行解析就OK了。
() # Create an OGR layer from a boundary shapefile shapef = ogr.Open(shapefile_path) lyr = shapef.GetLayer...() if __name__ == '__main__': #shapefile_path, raster_path shapefile_path = r'C:\Users\Administrator...tif影像 # 第二个参数是通道数和位深的参数, # IMREAD_UNCHANGED = -1 # 不进行转化,比如保存为了16位的图片,读取出来仍然为16位。...# IMREAD_GRAYSCALE = 0 # 进行转化为灰度图,比如保存为了16位的图片,读取出来为8位,类型为CV_8UC1。...以上这篇利用Python裁切tiff图像且读取tiff,shp文件的实例就是小编分享给大家的全部内容了,希望能给大家一个参考。
一个很常见的需求是求取这个矢量中所有面元素的并集,通过GDAL/GEOS很容易实现这个功能,具体代码如下: #include #include <gdal/ogrsf_frmts.h...driver) { printf("Get Driver ESRI Shapefile Error!...= OGRERR_NONE) { printf("Failed to create feature in shapefile....poDS) { printf("无法读取该文件,试检查格式是否正确!")...; return 1; } OGRLayer *poLayer = poDS->GetLayer(0); //读取层 poLayer->ResetReading
Shapefile文件介绍 地理空间分析中有多种矢量数据,大家最常见的是Shapefile(.shp)文件和GeoJSON文件(常用于前端网站发布使用的地理数据格式),GeoJSON文件几乎和python...Shapefile文件是地理信息软件公司Esri在1998年作为一种开放规范发布的矢量数据格式,并逐渐成为GIS数据的一种标准,目前几乎所有的地理空间分析软件都提供对Shapefile文件的支持。...GDAL库由OGR和GDAL项目合并而来,GDAL主要用于空间栅格数据的读写,OGR主要用于空间要素矢量矢量数据的解析。此外,空间参考及其投影转换使用开源库 PROJ.4进行。...brew install gdal step2:sudo pip install GDAL OGR 处理Shapefile文件 OGR包括如下几部分: •Geometry:类Geometry (包括OGRGeometry...OGR读取数据的流程(读取中国行政区划shp文件): #导入库 try: from osgeo import ogr except: import ogr #加载相应数据类型的驱动,相当于初始化一个对象
概述: 本文讲述如何在Python中用GDAL实现根据输入矢量边界对栅格数据的裁剪。...# This function will convert the rasterized clipper shapefile # to a mask for use within GDAL. def imageToArray...(shapefile_path) lyr = shapef.GetLayer( os.path.split( os.path.splitext( shapefile_path )[0] )[1]...() if __name__ == '__main__': #shapefile_path, raster_path shapefile_path = 'beijing.shp'...raster_path = 'world.tif' main( shapefile_path, raster_path )
感觉GIS中矢量相关内容还是挺庞杂的,并且由于版本迭代的关系,使用GDAL/OGR读写矢量的资料也有点不太一样。...poDS) { printf("无法读取该文件,试检查格式是否正确!")...driver) { printf("Get Driver ESRI Shapefile Error!...= OGRERR_NONE) { printf("Failed to create feature in shapefile....读取的DXF文件: ? 创建并保存的SHP文件: ?
下面将简单介绍击中常用的数据格式: Shapefile文件 使用最普遍的地理空间格式是Esri的Shapefile文件,可以通过arcgis软件或者第三方转换工具包将任意格式的矢量数据转换成Shapefile...ASCII格式 ASCII网格文件就是将栅格数据存放在一个文本文件中,包含数据本身和数据的信息,通过文件头,读取数据。...GDAL库是处理栅格数据的主流地理空间库,也是多种地理空间分析软件和程序包的栅格处理的基础包。...依赖与numpy库可以读取遥感图像为数组,方便处理。...from osgeo import gdal_array srcArray=gdal_array.LoadFile("SatImage.tif") band1=srcArray[0] gdal_array.SaveArray
昨天要处理一个shp文件,读取里面的信息,做个计算然后写到后面新建的field里面。先写个外面网上都能找到的新建和读取吧。...1.读取shp文件 #-*- coding: cp936 -*- try: from osgeo import gdal from osgeo import ogr exceptImportError:...ogr.RegisterAll() # 数据格式的驱动 driver = ogr.GetDriverByName('ESRI Shapefile') ds = driver.Open(pathname...第二部:代码分析 引入GDAL工具包 import osgeo.ogr as ogr import osgeo.osr as osr 注册驱动,这里是ESRI Shapefile类型,并设置shp...以上这篇python使用gdal对shp读取,新建和更新的实例就是小编分享给大家的全部内容了,希望能给大家一个参考。
概述 可以通过GDAL给地理数据写入空间参考信息,不过要注意的是GDAL给矢量数据和栅格数据写入空间坐标参考的接口不太一样。 2....("SHAPE_ENCODING", ""); //解决中文乱码问题 CPLSetConfigOption("GDAL_DATA", "D:/Work/GDALBuild/gdal-2.4.2/install...(4326); //wgs84地理坐标系 //创建 GDALDriver* driver = GetGDALDriverManager()->GetDriverByName("ESRI Shapefile...driver) { printf("Get Driver ESRI Shapefile Error!...= OGRERR_NONE) { printf("Failed to create feature in shapefile.
虽然GDAL的Python接口更好用,但是有时候需要协同使用一些Java库的时候,也必须使用Java版本的GDAL。...GDAL源码编译安装 首先,下载GDAL源码,可以从GitHub上下载,也可以从GDAL官网下载。...GDAL依赖的库都可以使用HomeBrew安装,我的方法是直接使用Brew安装GDAL,然后再卸载掉GDAL,这样GDAL依赖的第三方库都就自动安装了。...Shapefile文件读取的示例。.../ 初始化GDAL环境 gdal.UseExceptions() gdal.AllRegister() // 读取数据,输出数据信息 val path = "China.shp
基本思路 使用GDAL创建Shapefile数据的基本步骤如下: 使用osgeo.ogr.Driver的CreateDataSource()方法创建osgeo.ogr.DataSource矢量数据集...使用osgeo.ogr.DataSource的CreateLayer()方法创建一个图层 使用osgeo.ogr.FieldDefn()定义Shapefile文件的属性字段 创建osgeo.ogr.Feature...Feature对象以后,使用osgeo.ogr.Layer的CreateFeature()添加Feature对象到当前图层 重复步骤4和5依次添加所有的Feature到当前图层即可 代码实现 下面的例子中,我们读取...GeoJSON表示的中国省区数据,然后其转为Shapefile格式。...可以看到每个Feature都有一个properties字段和geometry字段,我们需要根据properties字段的信息创建Shapefile数据的属性表,根据geometry字段创建Shapefile
使用的工具依旧是我们的GDAL库。 案例介绍 这里我们要处理的数据是中国地图分省的矢量Shapefile,是一个面状数据。在上篇中我们给该数据添加了一个属性字段Abbr用以表示省的简称。...Show me the code. from osgeo import ogr ogr.UseExceptions() # 从给定图层中读取字段的定义,根据给定字段名称找到该字段的索引编号 def...defs.GetFieldDefn(i).GetName(): return i raise ValueError(f'{name} not found') # 打开一个Shapefile...# 删除Abbr字段 index = get_field_index_by_name(layer, 'Abbr_1') layer.DeleteField(index) ds = None 方法总结 GDAL
程序 示例使用 pyshp [注3] 读取 shp文件。当然,ogr [注4] 也可以使用,但是 fiona 不行 [注5],因为在相同的脚本中使用 gdal 时会失败。...import Path from matplotlib.patches import PathPatch import matplotlib.pyplot as plt from osgeo import gdal...import numpy import shapefile fig = plt.figure() ax = fig.add_subplot(111) sf = shapefile.Reader("...42.4, urcrnrlon=1.77, urcrnrlat=42.7, resolution = None, projection = 'cyl') ds = gdal.Open...200)) for contour in cs.collections: contour.set_clip_path(clip) plt.show() 现在看一下程序的各部分: 读取
这篇博文单讲Create增加操作,使用的工具还是我们的GDAL库。 案例介绍 我还是喜欢用案例的方式进行知识的讲解。这里我们要处理的数据是中国地图分省的矢量Shapefile,是一个面状数据。...然后读取原始数据,新建一个属性字段Abbr,然后遍历数据中的每个Feature要素,取出NAME,再根据字典查询到当前NAME对应的Abbr填充进对应的字段即可。...'广西': '桂', '宁夏': '宁', '新疆': '新', '西藏': '藏', '中国香港': '港', '中国澳门': '澳' } # 打开一个Shapefile...一下 layer.SetFeature(feature) # 关闭数据集 ds = None 方法总结 下面我们来对上面的代码进行一个方法的总结: 首先,我们使用ogr.Open()函数打开Shapefile...数据,注意我们要设置update参数为True,即允许GDAL更新我们的原始数据。
领取专属 10元无门槛券
手把手带您无忧上云