python-GIS杂谈
使用python对遥感数据进行处理
小李AI飞刀^_^
平平无奇的李老师一枚
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python 两行代码实现shapefile和geojson的相互转化
geopandas是建立在geos, gdal, proj等开源地理空间计算相关框架之上的,旨在简化地理空间数据处理的高效工具包。使用geopandas可快速实现shapefile和geojson的相互转化:import osimport geopandas as gpddef geojson2shp(geojson_file, shp_file): """ 将geojson格式的文件转化为shapefile :param geojson_file: 需要转换的ge原创 2021-10-30 13:32:06 · 1695 阅读 · 0 评论 -
Python+GDAL 将数组写入栅格tiff文件
在遥感影像处理中,栅格数据往往以数组的形式存储。同理,数组也可以在添加参考系之后以栅格影像的形式表示。这里介绍一种将数组写入栅格tiff文件的方法import gdalimport numpy as npdef arr2raster(arr, raster_file, prj=None, trans=None): """ 将数组转成栅格文件写入硬盘 :param arr: 输入的mask数组 ReadAsArray() :param raster_file: 输原创 2021-10-30 13:22:00 · 5417 阅读 · 9 评论 -
Python shapefile转GeoJson的两种方式
geojson是用json的语法表达和存储地理数据,可以说是json的子集。geojson以键值对的形式保存原有对象的信息,具有轻量化、易解析等优点。geojson包括的地理要素有Point(点)、 MultiPoint(多点)、 LineString(线)、MultiLineString(多线)、 Polygon(面)、 MultiPolygon(多面)、 GeometryCollection(几何集合),更多的geojson相关信息可参考RFC7946...原创 2021-10-28 22:19:57 · 3295 阅读 · 1 评论 -
Python 使用GDAL和rasterio读取栅格数据,并进行仿射变换信息的相互转换
使用gdal可以读取栅格数据,并获取投影及仿射变换信息import sysimport gdaldataset = gdal.Open('./zhuhai.tif')if dataset is None: print('Unable to open *.tif') sys.exit(1)projection = dataset.GetProjection() # 获取投影信息### GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["原创 2021-10-28 20:14:17 · 2098 阅读 · 1 评论 -
Python 使用rasterio将数组按照指定格式写入内存
在进行栅格矢量数据处理时,我们常常需要将数组转化为栅格影像,再对栅格数据进行后续处理,输出最终结果。常见的做法是先在本地磁盘生成栅格数据,再进行处理输出。但是,如果数组转化的栅格数据不是最终结果,存储在磁盘中会浪费空间,且整套代码显得不是很优雅。此时,我们可以利用rasterio的MemoryFile将数据写入内存原创 2021-10-28 19:13:37 · 1259 阅读 · 0 评论 -
Python+GDAL 图像坐标、地理坐标、投影坐标的相互转化
from osgeo import gdalfrom osgeo import osrimport numpy as np def getSRSPair(dataset): ''' 获得给定数据的投影参考系和地理参考系 :param dataset: GDAL地理数据 :return: 投影参考系和地理参考系 ''' prosrs = osr.SpatialReference() prosrs.ImportFromWkt(dataset.Ge.转载 2021-10-26 21:27:56 · 6823 阅读 · 2 评论 -
Python+ArcPy 基于掩膜文件批量提取栅格影像
在对遥感影像进行处理分析时,往往需要对影像进行裁剪或提取感兴趣区域以减少运算量和处理时间,我们可以采用ArcGIS中的Extract或Clip操作,也可以结合Python和ArcPy对栅格数据进行批量处理。使用同一个掩膜数据文件对多个栅格影像数据进行批量裁剪的操作代码如下:# coding=utf-8import osimport arcpyfrom arcpy import envfrom arcpy.sa import *## 使用掩膜数据对栅格数据进行批量裁剪def mask原创 2021-10-26 19:59:15 · 4484 阅读 · 9 评论 -
Python+ArcPy 对栅格数据进行批量重投影
在对遥感图像进行投影时,常常遇到投影信息不一致的问题,因此需要对数据进行投影转换。采用ArcGIS中Data Management --> Projection and Transformation --> Raster --> Project Raster可以对栅格文件进行逐一投影,但是当文件数量较大时,该操作并不是很方便。因此这里我们采用arcpy将栅格数据批量转换到与shp文件相同的投影。import osimport arcpyarcpy.env.workspac原创 2021-10-26 18:43:55 · 3718 阅读 · 5 评论 -
Python 使用矢量数据对栅格进行裁剪
参考:GeospatialPython.com: Clip a Raster using a Shapefile1. 主要步骤将矢量的shapefile转化为mask数组; 加载栅格影像数据; 舍弃shapefile边界范围外的所有像元; 将shapefile范围外的所有像元值设置为NODATA; 可选步骤:对影像采用直方图拉伸,便于可视化 将裁剪后的影像保存为新的栅格数据2. 工具GDAL:处理栅格数据 Numpy:大型的多维数组运算 PIL:便于影像与数组的相互转换翻译 2021-10-26 16:47:18 · 3477 阅读 · 3 评论 -
Python 计算矢量范围内的栅格均值,并写入新增字段
#!/usr/bin/env python3# -*- coding: utf-8 -*-import osimport geopandas as gpdimport numpy as npimport rasterio as rioimport rasterio.maskdef add_mean_value_field(raster_file, shp_file, out_shp_file): """ 计算矢量图斑范围内的栅格均值并增加字段 :param r.原创 2021-10-26 14:58:44 · 2303 阅读 · 0 评论
分享