GDAL
Prince_Treasure
本人很懒,啥都不想写
展开
-
一文入门GDAL
入门GDAL原创 2023-12-12 15:36:49 · 1108 阅读 · 0 评论 -
C# GDAL基础使用之矢量栅格化处理6
CString COGRVToR::Run(){ GDALAllRegister(); OGRRegisterAll(); CPLSetErrorHandler(CPLLoggingHandler);//在刚开始的GDAL调用时 CString strErr; OGRDataSource *poDS; poDS = OGRSFDriverRegistrar::Open(m_strInputV, FALSE ); if( poDS == NULL ) { strErr.Forma.原创 2021-07-12 09:53:19 · 851 阅读 · 0 评论 -
C# GDAL基础使用之矢量栅格化处理5 gdal.RasterizeLayer()
public static void ConvertFeatureToRaster(Layer layer, out Dataset outputDataset, double rasterCellSize, string fieldName) { DriverUtils.RegisterGdalOgrDrivers(); Envelope envelope = new Envelope(); layer.GetE..原创 2021-07-09 17:44:17 · 1465 阅读 · 0 评论 -
C# GDAL基础使用之矢量处理4 信息输出打印(GetCRSInfo)
/****************************************************************************** * $Id$ * * Name: GetCRSInfo.cs * Project: GDAL CSharp Interface * Purpose: A sample app for demonstrating of reading the CRSInfo database. * Author: Tamas Szeker.原创 2021-07-09 15:57:19 · 284 阅读 · 0 评论 -
C# GDAL基础使用之矢量处理3 要素编辑(OGRFeatureEdit)
/****************************************************************************** * $Id$ * * Name: OGRFeatureEdit.cs * Project: GDAL CSharp Interface * Purpose: Sample application to update/delete feature. * Author: Tamas Szekeres, szekerest@g.原创 2021-07-09 15:53:57 · 476 阅读 · 0 评论 -
C# GDAL基础使用之矢量处理2 OGRLayerAlg (定义层名)
/****************************************************************************** * $Id$ * * Name: OGRLayerAlg.cs * Project: GDAL CSharp Interface * Purpose: A sample app to demonstrate the usage of the RFC-39 functions. * Author: Tamas Szeker.原创 2021-07-09 15:51:27 · 514 阅读 · 0 评论 -
C# GDAL基础使用之矢量处理1 ogrinfo(信息读取)
using System;using OSGeo.OGR;using OSGeo.OSR;/// <summary>/// A C# based sample to dump information from a data source./// </summary>class OGRInfo { public static void usage() { Console.WriteLine("usage: ogrinfo {data source na.原创 2021-07-09 15:49:49 · 362 阅读 · 0 评论 -
C# Gdal读取和处理(字段,获取Feature、Geometry)SHP文件
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;//using System.IO;using OSGeo.GDAL;using OSGeo.OGR;using OSGeo.OSR;using System.Collections; namespace GdalReadSHP{ /// <s...原创 2021-07-09 15:00:58 · 2379 阅读 · 0 评论 -
GDAL C# “OSGeo.GDAL.GdalPINVOKE”的类型初始值设定项引发异常 解决方法
对于这个问题,原因主要就是没有找到dll导致的,在使用的时候不但要把C#的那八个dll拷贝到exe所在目录,还需要把gdal19.dll及其依赖的dll都拷贝过去,很多同学以为只要有了那八个C#版本的dll就ok了,其实是不对的,C#版本的8个dll只是导出了C#的接口而已,调用的还是C++版本的gdal库。 对于Python版本也是一样,需要将gdal19.dll及其依赖的dll全部拷贝到python的安装目录下。...原创 2021-06-17 16:18:41 · 692 阅读 · 0 评论 -
python 3.6 安装不上geopandas
win10直接pip install geopandas 会报错官网下载依赖安装安装方法:win+r输入cmd,使用命令pip install [whl文件路径及文件名] , 注意Fiona要放在最后一个安装,安装完成后即可成功安装geopandas已上传网盘这个是3.6版本的链接:https://pan.baidu.com/s/1ZGaAf0yShUi3-DfIoRDrbQ提取码:kV30解决RuntimeError: b'no arguments in initi..原创 2021-03-12 16:04:45 · 622 阅读 · 0 评论 -
C# GDAL 读取DEM栅格数据(Dataset.ReadRaster())
准备文件编译好的gdal核心库gdal180.dll以及C#封装库gdal_wrap.dll、gdal_csharp.dll读取DEM数据步骤及说明1.将gdal180.dll、gdal_wrap.dll、gdal_csharp.dll拷贝到程序的生成目录,并在项目里添加对gdal_csharp.dll库的引用。2.在要使用gdal的文件头部加上如下命名空间的声明:usingOSGeo.GDAL;3.读取代码如下:...原创 2020-11-19 10:59:24 · 3731 阅读 · 0 评论 -
GDAL 支持的数据格式
Usage: gdal_translate [--help-general][-ot {Byte/Int16/UInt16/UInt32/Int32/Float32/Float64/CInt16/CInt32/CFloat32/CFloat64}] [-strict][-of format] [-b band] [-outsize xsize[%] ysize[%]][-scale [src_min src_max [dst_min dst...原创 2020-11-18 16:55:16 · 987 阅读 · 0 评论 -
C# GDAL 栅格重采样
using OSGeo.GDAL;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Resample1{ class Program { static void Main(string[] args) { string srcFi.原创 2020-11-18 15:13:14 · 856 阅读 · 0 评论 -
Python GDAL | 教程之:过滤器,简单的空间分析,函数和模块
layer对象有一个方法叫setattributefilter()可以将layer中符合某一条件的feature过滤出来。设定了filter之后就可以用getnextfeature()方法依次取出符合条件的feature了。setattributefilter(none)可以清楚一个filter。例如>>> layer.getfeaturecount()42>&...原创 2020-05-07 16:13:11 · 2183 阅读 · 0 评论 -
Python osgeo.gdal | OpenEx() 实例源码
def create_mask_from_vector(vector_data_path, cols, rows, geo_transform, projection, target_value=1, output_fname='', dataset_format='MEM'): """ Rasterize the giv...原创 2020-05-06 15:38:47 · 954 阅读 · 1 评论 -
Python osgeo.gdal | Polygonize() 实例源码
def createGeoJSONFromRaster(geoJsonFileName, array2d, geom, proj, layerName="BuildingID", fieldName="BuildingID"): memdrv = gdal.GetDr...原创 2020-05-06 15:36:32 · 2130 阅读 · 0 评论 -
Python GDAL | 对shapefile 数据进行重投影(坐标系转换)
from osgeo import ogr, osrfrom osgeo import gdalimport osdef reproject(inputfile,outputfile,layername,insrs,outsrs): gdal.SetConfigOption("GDAL_FILENAME_IS_UTF8","NO") gdal.SetConfigOp...原创 2020-05-06 15:27:21 · 3312 阅读 · 1 评论 -
gdal python | 对shp读取,新建和更新
1.读取shp文件#-*- coding: cp936 -*-try: from osgeo import gdal from osgeo import ogrexceptImportError: import gdal import ogr defReadVectorFile(): # 为了支...原创 2020-05-06 09:47:44 · 931 阅读 · 2 评论 -
Python+GDAL | 根据已有矢量创建新的矢量
# 设置driverdriver = ogr.GetDriverByName('ESRI Shapefile')# 打开输入的矢量inDs = driver.Open(r'E:/wang2/python/polygon_jingweidu.shp', 0)if inDs is None: print("Could not open", 'sites.shp') sys.e...原创 2020-05-04 15:54:34 · 429 阅读 · 0 评论 -
GDAL & Python | Chapter 3. Reading and writing vector data
Chapter 3.Reading andwritingvector dataThis chapter coversUnderstandingvectordata IntroducingOGR Reading vector data Creating newvector datasets Updating existing datasetsThey seem to ...原创 2020-04-22 11:34:33 · 2984 阅读 · 0 评论 -
GDAL & Python Chapter 2. Python basics
This chapter coversUsing thePythoninterpreter vs. writing scripts Using the core Pythondata types Controlling the order ofcodeexecutionYou can do manythingswith desktop GIS software suc...原创 2020-04-21 09:24:45 · 6068 阅读 · 0 评论 -
GDAL & Python Chapter 1. Introduction
This chapter coversIntroducing basictypesofspatial data What isgeoprocessing? Using QGISHumans have been making maps for far longer than we’ve been writing, and even the famed Lascaux cave...原创 2020-04-21 09:20:38 · 601 阅读 · 0 评论 -
8. GDAL python教程(7)——杂七杂八的话
介绍工具FWTools,命令行操作等等FWTools包括如下命令:ogrinfo:打印矢量图层的信息 ogr2ogr:矢量数据格式转换 gdalinfo:打印栅格图层的信息 gdal_translate:栅格数据格式转换 gdaladdo:对栅格数据集建立pyramids gdalwrap:栅格数据集的投影变换 gdal_merge:栅格图像的拼接...原创 2020-04-21 09:13:31 · 329 阅读 · 0 评论 -
7. GDAL python教程(6)——更多栅格数据处理函数
栅格数据的投影首先要知道输入投影和输出投影的WKT(Well Known Text),可以通过GetProjection()读到,可以用SpatialReference对象创建。用下面的语句新建栅格数据集并重新投影,投影结果输出到新数据集之中:gdal.CreateAndReprojectImage( <source_dataset>, <output_fil...原创 2020-04-21 09:12:24 · 595 阅读 · 0 评论 -
6. GDAL python教程(5)——地图代数与栅格数据的写入
6.1. 以计算NDVI为例:NDVI=(NIR-RED)/(NIR+RED)其中NIR为波段3,RED为波段2编程要点如下:将波段3读入数组data3,将波段2读入数组data2 计算公式为: ndvi = (data3 – data2) / (data3 + data2) 当data3和data2均为0时(例如用0表示NODATA),会出现被0除的错误,导致程序崩...原创 2020-04-21 09:11:27 · 632 阅读 · 0 评论 -
5. GDAL python教程(4)——用GDAL读取栅格数据
GDAL原生支持超过100种栅格数据类型,涵盖所有主流GIS与RS数据格式,包括ArcInfo grids, ArcSDE raster, Imagine, Idrisi, ENVI, GRASS, GeoTIFF HDF4, HDF5 USGS DOQ, USGS DEM ECW, MrSID TIFF, JPEG, JPEG2000, PNG, GIF, BMP完整的支持列...原创 2020-04-21 09:10:15 · 3384 阅读 · 0 评论 -
4. GDAL python教程(3)——过滤器,简单的空间分析,函数和模块
4.1. 属性过滤器Attribute filtersLayer对象有一个方法叫SetAttributeFilter(<where_clause>)可以将Layer中符合某一条件的Feature过滤出来。设定了Filter之后就可以用GetNextFeature()方法依次取出符合条件的Feature了。SetAttributeFilter(None)可以清楚一个Filter...原创 2020-04-21 09:09:24 · 713 阅读 · 0 评论 -
3. GDAL python教程(2)——几何形状geometry与投影projection
3.1. 建立新的几何形状建立空的geometry对象:ogr.Geometry定义各种不同的geometry使用的方法是不一样的(point, line, polygon, etc)新建点point,使用方法AddPoint( <x>, <y>, [<z>])。其中的z坐标一般是省略的,默认值是0例如:point = ogr.Geo...原创 2020-04-21 09:08:30 · 1249 阅读 · 0 评论 -
2. GDAL python教程(1)——用OGR读写矢量数据
本教程的讲义和源码都是取自Utah State University的openGIS课程相关资料,包括讲义、源码、数据样例,请从此处下载本人只是做点翻译,写写学习体会而已,版权属于原作者。欢迎转载,不过别忘了上面这段话。2.1. 为什么用open source?优点免费,适合个人和小公司 强大的开发工具,找bug更容易 跨平台,windows和linux都能用 ...原创 2020-04-21 09:07:24 · 1143 阅读 · 0 评论 -
1. 地理数据处理软件包GDAL简介
GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。该项目由Frank Warmerdam教授于1998年发起。 它利用抽象数据模型来表达所支持的各种文件格式。 它还有一系列命令行工具来进行数据转换和处理。 OGR(OpenGIS Simple Features Reference Implementatio...原创 2020-04-21 09:06:16 · 3110 阅读 · 0 评论 -
GDAL python——栅格数据的写入
以计算NDVI为例:NDVI=(NIR-RED)/(NIR+RED)其中NIR为波段3,RED为波段2编程要点如下:将波段3读入数组data3,将波段2读入数组data2 计算公式为: 当data3和data2均为0时(例如用0表示NODATA),会出现被0除的错误,导致程序崩溃。需要用mask配合choose将0值去掉代码如下,仅有4行data2 = band2.Rea...原创 2020-04-01 08:56:42 · 2661 阅读 · 1 评论