gdal
点PY
If you cannot risk, you cannot grow. If you cannot grow, you cannot become you best. If you cannot become you best, you cannot be happy. If you cannot be happy, what else matters?
展开
-
遥感影像32位转8位(python)
# -*- coding: utf-8 -*-import os, sys, timeimport numpy as npfrom osgeo import ogrfrom osgeo import gdalfrom osgeo import gdal_array as gadef stretch_n(bands, img_min, img_max, lower_percent=0, higher_percent=100): """ :param bands: 目标数据,nu原创 2020-07-06 11:16:34 · 2281 阅读 · 2 评论 -
地理栅格数据裁剪并生成带地理坐标的切片(gdal)
import globimport osfrom tqdm import tqdmimport argparseimport tqdmfrom osgeo import gdalimport cv2 as cvimport numpy as npfrom PIL import Imagefrom skimage import ioimport gdalToolsdef subImg(img, i, j, targetSize, PaddingSize, height, width).原创 2021-09-02 16:51:11 · 769 阅读 · 0 评论 -
基于gdal的线矢量数据写入(python)
概述本博文将介绍如何将栅格线转化成矢量线的方法。大致流程可分为,栅格线转图结构表示,再由图结构的点关系,写入进线矢量。栅格数据代码image2graph.py# import rdp# Code Copied From Favyenimport scipy.ndimageimport skimage.morphologyimport osfrom PIL import Imageimport cv2import mathimport numpyfrom math import原创 2021-08-06 16:28:40 · 706 阅读 · 17 评论 -
面矢量转点矢量(python)
面矢量点矢量代码from osgeo import ogr, osrdef poly2point(shpPath, outPath): """ :param img_path: 参考遥感影像路径 :param OutShpFile: 输出shp路径 :return: """ driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(shpPath, 1)原创 2021-07-13 10:51:48 · 631 阅读 · 0 评论 -
狭长矢量图斑的消除(python)
原始的shapefile处理后的shapefile比较两张图,可以发现,狭长图斑去除了def remove_ship_like_features(shpPath, outPath): '''计算面积''' driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(shpPath, 1) layer = dataSource.GetLayer() cs = dataSourc原创 2021-07-08 16:05:21 · 1330 阅读 · 0 评论 -
基于gdal的矢量裁剪栅格
数据展示矢量与栅格代码# -*- coding: utf-8 -*-import osfrom osgeo import gdal, gdalnumeric, ogr, osr, gdal_arraygdal.UseExceptions()def world2Pixel(geoMatrix, x, y): """ Uses a gdal geomatrix (gdal.GetGeoTransform()) to calculate the pixel location of原创 2021-06-08 10:56:37 · 948 阅读 · 1 评论 -
基于shapefile的离群点提取
前言如上图所示,在影像散落着很多目标点,但我们可能对离群点更感兴趣,本篇博文将介绍如何提取离群点。方法概述对每个点新建一定长度的缓冲区;获得上述缓冲区后,获取缓冲区面积最大值;合并缓冲区相交的feature;设置面积阈值,在我的实验中,阈值为max_area * 1.2;移除超出阈值的缓冲区;获取剩余缓冲区内的点,即为离群的点。代码extract.pyfrom pathlib import Pathfrom osgeo import ogr, osr, gdalimport .原创 2021-03-29 09:26:20 · 210 阅读 · 2 评论 -
分区统计(python)
概要本文主要利用了majority这个字段,来区别栅格与矢量ploygon_feature之间的关系。简单来说,当ploygon_feature内对应的栅格区域,栅格的某个值X超过了百分之五十,那么majory这个字段对应的值就为X。代码import timeimport geopandas as pdimport rasteriofrom rasterio.plot import showfrom rasterstats import zonal_statsfrom osgeo impo原创 2021-03-11 09:29:41 · 1986 阅读 · 3 评论 -
基于gdal的面矢量平滑(python)
文章目录代码平滑效果展示代码from pathlib import Pathimport ogrimport tqdmimport osdef smoothing(inShp, fname, bdistance=0.001): """ :param inShp: 输入的矢量路径 :param fname: 输出的矢量路径 :param bdistance: 缓冲区距离 :return: """ ogr.UseExceptions()原创 2020-12-31 17:32:49 · 1312 阅读 · 7 评论 -
开源库OGR的入门知识
1. 前言OGR 是一个读取和处理 GIS 矢量数据的开源代码库。它可以读取和处理多种流行的矢量数据(如 ESRI 的 Shapefile、S-57、SDTS、PostGIS、Oracle Spatial、以及 Mapinfo 的 mid/mif 和 TAB 格式)2. OGR库安装OGR 是 GDAL 的配套库,它是 GDAL 库的一个部分,只要你安装了 GDAL 库,就已经拥有了 OGR 库。关于gdal(python)的安装,可以参考这篇博客。3. OGR库数据模型OGR数据模型是基于Op原创 2020-12-20 14:14:38 · 2610 阅读 · 0 评论 -
基于gdal的矢量交集(python)
代码from pathlib import Pathimport ogrimport gdalimport osimport globimport shutildef get_outside(inShp, outputShp, field, fieldValue): driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(inShp, 1) layer = dataSource.原创 2020-12-18 09:35:42 · 2332 阅读 · 7 评论 -
基于gdal的MultipartToSinglepart(python)
拆分前拆分后代码import osfrom osgeo import ogrfrom osgeo import gdaldef multipoly2poly(inputshp, outputshp): """ :param inputshp: 输入的矢量路径 :param outputshp: 输出的矢量路径 :return: """ gdal.UseExceptions() driver = ogr.GetDriverByName(原创 2020-12-17 15:52:52 · 645 阅读 · 0 评论 -
基于gdal的矢量合并(python)
合并前合并后代码def uni(shpPath, fname): """ :param shpPath: 输入的矢量路径 :param fname: 输出的矢量路径 :return: """ driver = ogr.GetDriverByName("ESRI Shapefile") dataSource = driver.Open(shpPath, 1) layer = dataSource.GetLayer() # 新原创 2020-12-17 15:42:26 · 3580 阅读 · 9 评论 -
基于gdal的面矢量面积和中心点计算(python)
【代码】基于gdal的面矢量面积和中心点计算(python)原创 2020-12-17 15:32:51 · 2003 阅读 · 2 评论 -
基于gdal的空间缓冲区分析(python)
矢量数据可视化输入输出代码from pathlib import Pathimport ogrdef buffer(inShp, fname, bdistance=0.01): """ :param inShp: 输入的矢量路径 :param fname: 输出的矢量路径 :param bdistance: 缓冲区距离 :return: """ ogr.UseExceptions() in_ds = ogr.Open(inSh原创 2020-12-17 10:31:57 · 3167 阅读 · 6 评论 -
基于gdal的点和面矢量的创建
【代码】基于gdal的点和面矢量的创建。原创 2020-12-04 11:11:06 · 1291 阅读 · 1 评论 -
linux下python版本GDAL安装,简单易用
命令行conda/pip search gdal查看版本,选择合适的版本,例如:conda search gdal命令行conda/pip install gdal=版本号,注意加上版本号,否则可能安装上老版本(windows/linux都可用。例如:conda install gdal=3.0.0...原创 2019-06-18 15:08:13 · 5282 阅读 · 5 评论