栅格数据

命令行记录-python gdal读取栅格数据

只谈情不闲聊 提交于 2019-11-30 03:22:10
本文几乎全部内容来自博客 https://www.cnblogs.com/ninicwang/p/11533066.html 1、gdal包简介 gdal是空间数据处理的开源包,其支持超过100种栅格数据类型,涵盖所有主流GIS与RS数据格式。 2、读取栅格数据 #导入gdal包 from osgeo import gdal #导入numpy包(支持高维数组和矩阵运算,也提供了许多数组和矩阵运算的函数) import numpy as np #打开文件 dataset=gdal.Open("fdem.tif") #栅格矩阵的列数(X是列) im_width = dataset.RasterXSize #栅格矩阵的行数(Y是行) im_height = dataset.RasterYSize #波段数 im_bands = dataset.RasterCount #共有六个参数,分表代表左上角x坐标;东西方向上图像的分辨率;如果北边朝上,地图的旋转角度,0表示图像的行与x轴平行;左上角y坐标; im_geotrans = dataset.GetGeoTransform() >>> im_geotrans (409294.88696681266, 27.376482012944024, 0.0, 4423871.083377095, 0.0, -27.376482012944006)

python gdal 读取栅格数据

假如想象 提交于 2019-11-29 21:19:08
1.gdal包简介 gdal是空间数据处理的开源包,其支持超过100种栅格数据类型,涵盖所有主流GIS与RS数据格式,包括Arc/Info ASCII Grid(asc),GeoTiff (tiff),Erdas Imagine Images(img),ASCII DEM(dem) 等格式。 2.安装gdal包 (1)通过此链接查找并下载gdal包: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame (根据自己的系统及python版本选择对应的gdal包) (2)在dos命令行下切换到包所在的文件夹,并运行pip install 包名进行安装。 3.读取栅格数据 #导入gdal包 from osgeo import gdal #导入numpy包(支持高维数组和矩阵运算,也提供了许多数组和矩阵运算的函数) import numpy as np #打开文件 dataset=gdal.Open("fdem.tif") #栅格矩阵的列数 im_width = dataset.RasterXSize #栅格矩阵的行数 im_height = dataset.RasterYSize #波段数 im_bands = dataset.RasterCount #仿射矩阵,左上角像素的大地坐标和像素分辨率。 #共有六个参数,分表代表左上角x坐标

Faster R-CNN、SSD和YOLO

╄→гoц情女王★ 提交于 2019-11-29 06:31:10
最近做一些关于Faster R-CNN、SSD和YOLO模型选择和优化的项目,之前只了解Faster R-CNN系列目标检测方法,于是抽空梳理一下这几个检测模型。先上两张简单的精确度和运算量的对比图,有个粗略的了解,虽然图中缺了YOLO,参考价值仍然很大: 下面开始分别详述吧~ Faster R-CNN架构 传统目标检测方法大致分为如下三步: 深度学习特别是CNN的出现使得上述第二三步可以合并在一起做。Faster R-CNN步骤: (1)由输入图片产生的区域候选 (2)最后一层卷积输出的所有通道 (2)最后一层卷积输出的所有通道 pooling=> + (3)ROI pooling 候选区的产生 RPN的核心思想是使用卷积神经网络直接产生region proposal,使用的方法本质上就是滑动窗口。RPN的设计比较巧妙,RPN只需在最后的卷积层上滑动一遍,因为anchor机制和边框回归可以得到多尺度、多长宽比的region proposal,3*3滑窗对应的每个特征区域同时预测输入图像3种尺度(128,256,512),3种长宽比(1:1,1:2,2:1)的region proposal,这种映射的机制称为anchor: RPN 利用基网络对图像用一系列的卷积和池化操作进行特征提取,得到原始的feature maps(灰色区域),然后在原始的feature

栅格数据的批量镶嵌(附Python脚本)

人盡茶涼 提交于 2019-11-29 02:13:02
博客小序:在数据处理的过程中,会遇到需要大量镶嵌的情况,当数据较多时手动镶嵌较为麻烦,自己最近对分省的DEM数据进行镶嵌,由于利用python进行镶嵌较为方便,特撰此博文以记之。 参考博客: https://blog.csdn.net/qq_15642411/article/details/79187787 https://blog.csdn.net/XBR_2014/article/details/85255412 1.脚本处理情况说明 本实例中,处理的数据是分省的DEM数据,每个省由若干数量不同的tif文件,本脚本主要的功能只有一个即: 对分省的DEM数据进行分省镶嵌 2.脚本代码 #添加一个计时器 import time start = time.time() import os, shutil, glob from osgeo import gdal # 定义一个镶嵌的函数,传入的参数是需要镶嵌的数据的列表,以及输出路径 def moasic(data_list, out_path): # 读取其中一个栅格数据来确定镶嵌图像的一些属性 o_ds = gdal.Open(data_list[0]) # 投影 Projection = o_ds.GetProjection() # 波段数据类型 o_ds_array = o_ds.ReadAsArray() if 'int8'

Python数据分析处理中的多种文件访问方式,看这个就对了

吃可爱长大的小学妹 提交于 2019-11-28 10:55:02
栅格文件访问和矢量文件访问 使用Python进行数据分析的过程中,我们常常要接触到两种文件,一种是矢量文件,另一种则是栅格文件,对于两种文件,我们都必须认识,并且掌握其读取和写入的方法。 1.矢量文件 a.认识矢量文件 矢量数据模型要素 (Feature)包括几何对象和属性信息两部分,几何对象可以用WKT(用于编程赋 值)和 WKB(用于数据库或二进制文件格式)。 dbf—属性信息 prj—投影信息 shp—图形格式,用于保存元素的几何实体。 shx—图形索引格式。几何体位置索引,记录每一个几何体在 shp文件之中的位置。 注意:每个文件必须是同类型的集合要素:点/线/面 b.读取矢量文件 基本信息读取: ds = ogr . Open ( filename , False ) #打开 Shape 文件(False - read only, True - read/write) layer = ds . GetLayer ( 0 ) #获取图层 spatialref = layer . GetSpatialRef ( ) #投影信息 lydefn = layer . GetLayerDefn ( ) #图层定义信息 geomtype = lydefn . GetGeomType ( ) #几何对象类型(wkbPoint, wkbLineString, wkbPolygon)

机器人的地图——占据栅格地图

帅比萌擦擦* 提交于 2019-11-28 08:42:10
1. 机器人地图的分类 地图有很多种表示方式,例如,用经纬度标识地方的世界地图,城市的地铁图,校园指引图。 第一种我们称为尺度地图(Metric Map),每一个地点都可以用坐标来表示,比如北京在东经116°23′17'',北纬39°54′27'';第二种我们称为拓扑地图(Topological Map),每一个地点用一个点来表示,用边来连接相邻的点,即图论中的图(Graph),比如从地铁路线图中我们知道地铁红磡站与旺角东站和尖东站相连;第三种我们称为语义地图(Semantic Map),其中每一个地点和道路都会用标签的集合来表示,例如,有人问我中山大学教学楼E栋在哪里,我会说在图书馆正门右手边靠近图书馆的一侧。 在机器人领域,尺度地图常用于定位于地图构建(Mapping)、定位(Localization)和同时定位与地图构建(Simultaneous Localization And Mapping,SLAM),拓扑地图常用于路径规划(Path Planning),而语义地图常用于人机交互(Human Robot Interaction)。 这节课我们将介绍如何用机器人传感器数据绘制尺度地图。这有什么难点呢?首先也是最重要的一点,传感器数据有噪音。用激光传感器检测前方障碍物距离机器人多远,不可能检测到一个准确的数值。如果准确值是 米,有时会测出1.42米,有时甚至1.35米。另外