GDAL安装

合集下载

gdal中转换坐标系

gdal中转换坐标系

gdal中转换坐标系GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,提供各种功能用于读取、写入和转换各种常见的地理空间数据格式。

在实际的GIS应用中,常常需要将地理数据从一个坐标系转换为另一个坐标系,以满足不同的需求。

在这篇文章中,我们将一步一步介绍如何使用GDAL来进行坐标系转换。

第一步,安装GDAL库和相关依赖项。

GDAL可以在Linux、Windows 和Mac等操作系统上运行,并支持各种编程语言,如Python、C++和Java等。

你可以从GDAL的官方网站(第二步,了解地理数据的坐标系。

在进行坐标系转换之前,我们需要了解待转换的地理数据的坐标系信息。

常见的坐标系包括经纬度坐标系(如WGS84)和投影坐标系(如UTM)。

通过查看地理数据的元数据信息,我们可以获取到这些信息。

第三步,使用GDAL命令行工具进行坐标系转换。

GDAL提供了一系列命令行工具,可以直接在终端中使用。

其中,最常用的命令是`gdalwarp`。

首先,我们需要使用`gdalinfo`命令获取待转换地理数据的信息。

例如,执行以下命令可以查看一个GeoTIFF格式的影像数据的信息:gdalinfo input.tif在输出信息的最后,你可以找到地理数据的坐标系信息,如地理坐标系的名称、投影坐标系的名称和EPSG代码等。

下一步,使用`gdalwarp`命令进行坐标系转换。

例如,我们将一个WGS84坐标系的地理数据转换为UTM投影坐标系,可以执行以下命令:gdalwarp -s_srs EPSG:4326 -t_srs EPSG:32618 input.tif output.tif其中,`-s_srs`参数指定原始地理数据的坐标系,`-t_srs`参数指定目标坐标系,`input.tif`和`output.tif`分别是输入和输出的文件名。

第四步,使用GDAL库进行坐标系转换。

gdal矢量裁剪栅格

gdal矢量裁剪栅格

gdal矢量裁剪栅格如何使用GDAL进行矢量裁剪栅格处理。

GDAL是一个强大且广泛使用的地理数据处理库,可以用于读取、写入和处理各种格式的栅格和矢量数据。

在本教程中,我们将重点介绍如何使用GDAL进行矢量裁剪栅格处理,以方便您对地理数据进行更准确和精细的分析。

步骤一:安装GDAL库和依赖项在使用GDAL之前,您需要先安装GDAL库和其依赖项。

GDAL可从其官方网站(步骤二:准备矢量与栅格数据在进行矢量裁剪栅格处理之前,您需要准备好矢量和栅格数据。

矢量数据可以是各种格式,如Shapefile、GeoJSON等,而栅格数据可以是TIFF、JPEG等格式。

确保将这些数据文件存储在您方便访问的位置。

步骤三:使用GDAL读取矢量和栅格数据在Python中使用GDAL库,您可以使用`gdal.Open()`函数读取矢量和栅格数据。

以下是使用GDAL读取矢量和栅格数据的示例代码:pythonimport gdal# 读取矢量数据vector_data = gdal.Open("path/to/vector_data.shp")# 读取栅格数据raster_data = gdal.Open("path/to/raster_data.tif")请注意,您需要将示例代码中的`"path/to/vector_data.shp"`和`"path/to/raster_data.tif"`替换为您实际数据文件的路径。

步骤四:获取矢量数据的范围在矢量裁剪栅格处理之前,您需要知道矢量数据的范围。

您可以使用GDAL 的`GetExtent()`函数获取矢量数据的最小外接矩形(MBR)范围。

以下是获取矢量数据范围的示例代码:python# 获取矢量数据的范围vector_extent = vector_data.GetExtent()# 输出矢量数据的范围print("Vector Data Extent: ", vector_extent)步骤五:栅格数据的投影和范围转换在裁剪矢量数据之前,您需要确保栅格数据使用与矢量数据相同的投影和范围。

gdal 实现 高斯三度带坐标 转换 代码 -回复

gdal 实现 高斯三度带坐标 转换 代码 -回复

gdal 实现高斯三度带坐标转换代码-回复如何使用GDAL实现高斯三度带坐标转换引言:GDAL(Geospatial Data Abstraction Library)是一个开放源代码的空间数据转换库,可用于将不同格式的地理空间数据进行转换和处理。

在地理空间数据处理中,经常需要进行不同坐标系之间的转换。

本文将介绍如何使用GDAL实现高斯三度带坐标转换的代码和步骤。

1. 安装GDAL库:首先,要在计算机上安装GDAL库。

GDAL可在各个操作系统上安装,包括Windows、Mac和Linux。

在安装GDAL之前,需要确保计算机上已经安装了编译器和开发工具。

可以从GDAL官方网站(2. 导入GDAL库:在编写代码之前,需要在代码中导入GDAL库。

可以使用以下代码将GDAL库导入到Python项目中:import osgeo.osr as osr3. 创建源和目标坐标系对象:接下来,需要创建源和目标坐标系对象。

在高斯三度带坐标转换中,源坐标系通常使用北京54坐标系(EPSG:2435),而目标坐标系可以是WGS84坐标系(EPSG:4326)或其他需要的坐标系。

以下代码片段可以创建源和目标坐标系对象:python创建源和目标坐标系对象source_spatial_ref = osr.SpatialReference()target_spatial_ref = osr.SpatialReference()source_spatial_ref.ImportFromEPSG(2435) 北京54坐标系target_spatial_ref.ImportFromEPSG(4326) WGS84坐标系4. 创建坐标转换对象:在GDAL中,可以使用`Transform()`函数创建坐标转换对象。

以下代码片段创建了一个坐标转换对象:python创建坐标转换对象coord_transform =osr.CoordinateTransformation(source_spatial_ref, target_spatial_ref)5. 完成坐标转换:现在,可以使用创建的坐标转换对象将源坐标转换为目标坐标。

python安装gdal的两种方法

python安装gdal的两种方法

python安装gdal的两种⽅法1.不⽤⼿动下载⽂件,直接执⾏以下命令即可conda install gdal2.⾸先,下载gdal的whl⽂件,官⽹下载⽐较慢,GDAL-2.2.4-cp27-cp27m-win_amd64.whl提取码: egj6有百度云可以下载,然后放⼊本机⽬录。

这⾥⽬录有两种,⼀是放⼊anaconda安装⽬录的Scripts⽬录,我的是D:\anaconda\Scripts⽬录;⼆是放⼊Anaconda环境的Scripts⽬录,我的是D:\anaconda\envs\uav\Scripts(uav是我⾃⼰的环境,可通过命令conda create -n name python=3.6创建环境)。

最后,在D:\Anaconda3\Scripts⽬录下在空⽩处按住shift加右键打开cmd,输⼊以下命令即可。

pip install GDAL‑3.0.1‑cp38‑cp38‑win_amd64.whl注:若⽤pip安装gdal会报错:报错信息如下:Looking in indexes: https:///simpleCollecting gdalDownloading https:///packages/26/c6/f8846ba726b37f9a1099acb5bff43c309fb913577674c1ba491f6fc60598/GDAL-3.0.1.tar.gz (576kB)|████████████████████████████████| 583kB 810kB/sBuilding wheels for collected packages: gdalBuilding wheel for gdal (setup.py) ... errorERROR: Complete output from command /home/dennis/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-i321u6em/gdal/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.clos ERROR: running bdist_wheelrunning buildrunning build_pycreating buildcreating build/lib.linux-x86_64-3.7copying gdal.py -> build/lib.linux-x86_64-3.7copying ogr.py -> build/lib.linux-x86_64-3.7copying osr.py -> build/lib.linux-x86_64-3.7copying gdalconst.py -> build/lib.linux-x86_64-3.7copying gdalnumeric.py -> build/lib.linux-x86_64-3.7creating build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdalconst.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/osr.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gnm.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/__init__.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/ogr.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdal.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdal_array.py -> build/lib.linux-x86_64-3.7/osgeoFixing build/lib.linux-x86_64-3.7/gdal.py build/lib.linux-x86_64-3.7/ogr.py build/lib.linux-x86_64-3.7/osr.py build/lib.linux-x86_64-3.7/gdalconst.py build/lib.linux-x86_64-3.7/gdalnumeric.py build/lib.linux-x86_64-3.7/osgeo/gdalconst.py build/lib.linux-x86_64-3.7/osg Skipping optional fixer: ws_commaFixing build/lib.linux-x86_64-3.7/gdal.py build/lib.linux-x86_64-3.7/ogr.py build/lib.linux-x86_64-3.7/osr.py build/lib.linux-x86_64-3.7/gdalconst.py build/lib.linux-x86_64-3.7/gdalnumeric.py build/lib.linux-x86_64-3.7/osgeo/gdalconst.py build/lib.linux-x86_64-3.7/osg Skipping optional fixer: ws_commarunning build_extgcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond gcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond building 'osgeo._gdal' extensioncreating build/temp.linux-x86_64-3.7creating build/temp.linux-x86_64-3.7/extensionsgcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond cc1plus: warning: command line option ‘-Wstrict-prototypes' is valid for C/ObjC but not for C++extensions/gdal_wrap.cpp:4075:1: error: ‘VSIDIR' does not name a typeVSIDIR* wrapper_VSIOpenDir( const char * utf8_path,^extensions/gdal_wrap.cpp:4123:38: error: ‘VSIDIR' was not declared in this scopeDirEntry* wrapper_VSIGetNextDirEntry(VSIDIR* dir)^extensions/gdal_wrap.cpp:4123:46: error: ‘dir' was not declared in this scopeDirEntry* wrapper_VSIGetNextDirEntry(VSIDIR* dir)^extensions/gdal_wrap.cpp:4124:1: error: expected ‘,' or ‘;' before ‘{' token{^extensions/gdal_wrap.cpp:3225:7: warning: ‘char* get_aligned_buffer(char*, GDALDataType)' defined but not used [-Wunused-function]char* get_aligned_buffer(char* data, GDALDataType ntype)^extensions/gdal_wrap.cpp:3244:13: warning: ‘void update_buffer_size(void*, char*, char*, size_t)' defined but not used [-Wunused-function]static void update_buffer_size(void* obj, char* data, char* data_aligned, size_t buf_size)^extensions/gdal_wrap.cpp:3299:5: warning: ‘int GetUseExceptions()' defined but not used [-Wunused-function]int GetUseExceptions() {^extensions/gdal_wrap.cpp:3305:6: warning: ‘void UseExceptions()' defined but not used [-Wunused-function]void UseExceptions() {^extensions/gdal_wrap.cpp:3322:6: warning: ‘void DontUseExceptions()' defined but not used [-Wunused-function]void DontUseExceptions() {^extensions/gdal_wrap.cpp:3370:13: warning: ‘void ClearErrorState()' defined but not used [-Wunused-function]static void ClearErrorState()^error: command 'gcc' failed with exit status 1----------------------------------------ERROR: Failed building wheel for gdalRunning setup.py clean for gdalFailed to build gdalInstalling collected packages: gdalRunning setup.py install for gdal ... errorERROR: Complete output from command /home/dennis/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-i321u6em/gdal/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.clos ERROR: running installrunning buildrunning build_pycreating buildcreating build/lib.linux-x86_64-3.7copying gdal.py -> build/lib.linux-x86_64-3.7copying ogr.py -> build/lib.linux-x86_64-3.7copying osr.py -> build/lib.linux-x86_64-3.7copying gdalconst.py -> build/lib.linux-x86_64-3.7copying gdalnumeric.py -> build/lib.linux-x86_64-3.7creating build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdalconst.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdalnumeric.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/osr.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gnm.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/__init__.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/ogr.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdal.py -> build/lib.linux-x86_64-3.7/osgeocopying osgeo/gdal_array.py -> build/lib.linux-x86_64-3.7/osgeoFixing build/lib.linux-x86_64-3.7/gdal.py build/lib.linux-x86_64-3.7/ogr.py build/lib.linux-x86_64-3.7/osr.py build/lib.linux-x86_64-3.7/gdalconst.py build/lib.linux-x86_64-3.7/gdalnumeric.py build/lib.linux-x86_64-3.7/osgeo/gdalconst.py build/lib.linux-x86_64-3.7/osgSkipping optional fixer: ws_commaFixing build/lib.linux-x86_64-3.7/gdal.py build/lib.linux-x86_64-3.7/ogr.py build/lib.linux-x86_64-3.7/osr.py build/lib.linux-x86_64-3.7/gdalconst.py build/lib.linux-x86_64-3.7/gdalnumeric.py build/lib.linux-x86_64-3.7/osgeo/gdalconst.py build/lib.linux-x86_64-3.7/osg Skipping optional fixer: ws_commarunning build_extgcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond gcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond building 'osgeo._gdal' extensioncreating build/temp.linux-x86_64-3.7creating build/temp.linux-x86_64-3.7/extensionsgcc -pthread -B /home/dennis/miniconda3/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I../../port -I../../gcore -I../../alg -I../../ogr/ -I../../ogr/ogrsf_frmts -I../../gnm -I../../apps -I/home/dennis/minicond cc1plus: warning: command line option ‘-Wstrict-prototypes' is valid for C/ObjC but not for C++extensions/gdal_wrap.cpp:4075:1: error: ‘VSIDIR' does not name a typeVSIDIR* wrapper_VSIOpenDir( const char * utf8_path,^extensions/gdal_wrap.cpp:4123:38: error: ‘VSIDIR' was not declared in this scopeDirEntry* wrapper_VSIGetNextDirEntry(VSIDIR* dir)^extensions/gdal_wrap.cpp:4123:46: error: ‘dir' was not declared in this scopeDirEntry* wrapper_VSIGetNextDirEntry(VSIDIR* dir)^extensions/gdal_wrap.cpp:4124:1: error: expected ‘,' or ‘;' before ‘{' token{^extensions/gdal_wrap.cpp:3225:7: warning: ‘char* get_aligned_buffer(char*, GDALDataType)' defined but not used [-Wunused-function]char* get_aligned_buffer(char* data, GDALDataType ntype)^extensions/gdal_wrap.cpp:3244:13: warning: ‘void update_buffer_size(void*, char*, char*, size_t)' defined but not used [-Wunused-function]static void update_buffer_size(void* obj, char* data, char* data_aligned, size_t buf_size)^extensions/gdal_wrap.cpp:3299:5: warning: ‘int GetUseExceptions()' defined but not used [-Wunused-function]int GetUseExceptions() {^extensions/gdal_wrap.cpp:3305:6: warning: ‘void UseExceptions()' defined but not used [-Wunused-function]void UseExceptions() {^extensions/gdal_wrap.cpp:3322:6: warning: ‘void DontUseExceptions()' defined but not used [-Wunused-function]void DontUseExceptions() {^extensions/gdal_wrap.cpp:3370:13: warning: ‘void ClearErrorState()' defined but not used [-Wunused-function]static void ClearErrorState()^error: command 'gcc' failed with exit status 1----------------------------------------ERROR: Command "/home/dennis/miniconda3/bin/python -u -c 'import setuptools, tokenize;__file__='"'"'/tmp/pip-install-i321总结以上所述是⼩编给⼤家介绍的python安装gdal的两种⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

gdal 矢量交合并 -回复

gdal 矢量交合并 -回复

gdal 矢量交合并-回复GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,它提供了许多用于矢量数据操作的功能。

矢量交合并是其中一个常用的功能,可以用来将两个或多个矢量数据集合并成一个。

在本文中,我们将逐步回答有关使用GDAL库执行矢量交合并的过程。

我们将介绍GDAL库及其基本概念,然后详细解释矢量交合并的步骤。

第一步:理解GDAL库GDAL是一个功能强大的地理空间数据处理库,它支持几乎所有常见的地理空间数据格式。

它提供了一系列的函数和工具,用于读取、写入、转换和分析地理空间数据。

GDAL库是用C++编写的,但也提供了多种语言的绑定,如Python、Java等,使其更易于使用。

第二步:安装GDAL库要使用GDAL库进行矢量交合并,首先需要在计算机上安装GDAL库及其相应的绑定。

GDAL库可以从其官方网站(第三步:加载矢量数据在进行矢量交合并之前,需要加载要处理的矢量数据。

GDAL库支持多种格式的矢量数据,如Shapefile、GeoJSON等。

可以使用GDAL的数据驱动程序来读取和写入这些数据。

有两种常用的方法可以加载矢量数据。

一种是通过使用GDAL库提供的数据驱动程序直接读取矢量数据文件,例如:pythonfrom osgeo import ogrdriver = ogr.GetDriverByName('ESRI Shapefile')dataSource = driver.Open('data.shp', 0)layer = dataSource.GetLayer()另一种方法是通过手动创建一个空的矢量数据集,然后逐个添加要素。

这种方法更加灵活,可以在不同的数据源之间进行转换和处理。

例如:pythonfrom osgeo import ogrdriver = ogr.GetDriverByName('ESRI Shapefile')dataSource = driver.CreateDataSource('output.shp')layer = dataSource.CreateLayer('output',geom_type=ogr.wkbPolygon)第四步:进行矢量交合并一旦加载了要处理的矢量数据,就可以开始进行矢量交合并操作。

gdal计算矢量面积

gdal计算矢量面积

gdal计算矢量面积gdal是一个开源的地理数据处理库,可以用来读写和处理各种地理数据格式,包括矢量和栅格数据。

在gdal中计算矢量面积是非常常见的操作,可以用来统计地物面积、计算土地利用变化等等。

下面分步骤介绍如何使用gdal计算矢量面积:1. 安装gdal如果还没有安装gdal,可以通过下面的命令安装:```sudo apt-get install gdal-bin```2. 导入矢量数据在计算矢量面积之前,需要先导入矢量数据。

gdal支持多种矢量数据格式,包括shp、geojson、kml等。

这里以shp文件为例,使用下面的命令导入数据:```ogr2ogr -f "GeoJSON" output.json input.shp```这个命令将input.shp文件转换为GeoJSON格式,并保存为output.json文件。

3. 计算矢量面积使用gdal的ogr库可以方便地计算矢量面积。

在Python中可以使用下面的代码:```pythonfrom osgeo import ogr# 打开矢量文件data_source = ogr.Open('output.json')layer = data_source.GetLayer()# 统计总面积total_area = 0for feature in layer:geom = feature.GetGeometryRef()area = geom.GetArea()total_area += areaprint('Total area: {:.2f} squaremeters'.format(total_area))```这个脚本会打开output.json文件并读取其中的矢量数据。

然后遍历每一个要素,计算其面积,并累加到总面积中。

最后输出总面积。

除了Python脚本之外,还可以使用gdal的命令行工具来计算矢量面积。

python经纬度转换为平面坐标的方法

python经纬度转换为平面坐标的方法

python经纬度转换为平面坐标的方法经纬度是地理坐标系统中常用的表示地点位置的方法,但在某些应用中,需要将经纬度转换为平面坐标,以便进行计算和分析。

Python提供了多种方法来实现这种转换,本文将介绍其中几种常用的方法。

一、通过Proj库进行经纬度与平面坐标的转换Proj库是一个用于地图投影和坐标转换的Python库,它可以将经纬度坐标转换为平面坐标。

以下是使用Proj库进行经纬度与平面坐标转换的步骤:1. 安装Proj库在Python中安装Proj库的常用方法是使用pip工具进行安装。

打开命令行窗口,并输入以下命令:```pip install pyproj```2. 导入Proj库在Python脚本中导入Proj库,示例如下:```pythonimport pyproj```3. 定义投影坐标系统使用Proj库需要定义使用的投影坐标系统。

常用的投影坐标系统有很多种,可以根据实际需要选择合适的投影坐标系统。

以下是使用WGS84和Web Mercator 坐标系的示例代码:```python# 定义WGS84坐标系wgs84 = pyproj.CRS('EPSG:4326')# 定义Web Mercator坐标系web_mercator = pyproj.CRS('EPSG:3857')```4. 创建Proj转换对象创建Proj转换对象时,需要指定源坐标系和目标坐标系。

以下是将WGS84坐标系转换为Web Mercator坐标系的示例代码:```pythontransform = pyproj.Transformer.from_crs(wgs84, web_mercator, always_xy=True) ```5. 转换坐标使用Proj转换对象将经纬度坐标转换为平面坐标。

以下是将经纬度(39.9042, 116.4074)转换为平面坐标的示例代码:```pythonx, y = transform.transform(116.4074, 39.9042)print(x, y)```二、通过geopy库进行经纬度与平面坐标的转换geopy库是一个用于地理编码和逆地理编码的Python库,它也可以将经纬度坐标转换为平面坐标。

gdal 矢量交合并 -回复

gdal 矢量交合并 -回复

gdal 矢量交合并-回复GDAL(Geospatial Data Abstraction Library)是一个开源的地理空间数据处理库,它提供了许多功能强大的工具来读取、写入、转换和分析地理空间数据。

其中之一是矢量交集与合并功能,可以将多个矢量数据集进行交集运算或者合并成一个数据集。

本文将逐步介绍如何使用GDAL进行矢量交集和合并的操作。

第一步:安装GDAL库要使用GDAL进行矢量交集和合并操作,首先需要安装GDAL库。

GDAL库有多种语言接口,包括Python、C、C++等。

在本文中,我们将使用Python接口示例代码进行演示。

可以通过pip命令来安装Python的GDAL库,命令如下:bashpip install GDAL安装完成后,我们可以开始编写代码。

第二步:导入GDAL库导入GDAL库是使用GDAL功能的第一步,示例代码如下:pythonfrom osgeo import ogrfrom osgeo import gdal这里我们导入了GDAL库中的ogr和gdal模块。

第三步:打开矢量数据集在进行矢量交集和合并操作之前,我们需要先打开待处理的矢量数据集。

GDAL库提供了`OpenEx`方法用于打开矢量数据集,示例代码如下:python# 打开第一个矢量文件src_ds1 = ogr.OpenEx('path/to/vector1.shp')# 打开第二个矢量文件src_ds2 = ogr.OpenEx('path/to/vector2.shp')这里我们假设待处理的矢量数据集文件分别为`vector1.shp`和`vector2.shp`,需要根据实际情况修改文件路径。

第四步:获取图层在打开矢量数据集后,我们需要获取矢量数据集中的图层。

GDAL库提供了`GetLayer`方法用于获取图层,示例代码如下:python# 获取第一个矢量数据集的图层layer1 = src_ds1.GetLayer()# 获取第二个矢量数据集的图层layer2 = src_ds2.GetLayer()第五步:执行矢量交集与合并操作在获取图层后,我们可以执行矢量交集与合并操作。

GDAL库安装

GDAL库安装

简单介绍:OGR是一个读取和处理GSI矢量数据的库。

这个库可以读取和处理多种流行的矢量数据,OGR是GDAL(/)的一个部分,只要你安装了GDAL库,就已经拥有了OGR库。

一、安装:1.先下载一个GDAL版本(C++)(/gdal/wiki/BuildHints)。

2.然后打开控制(DOS)台,找到.....\Microsoft Visual Studio .NET 2010\Vcbin\vcvars32.bat,注册VC编译环境。

进入VS安装目录执行VS目录下的VCV ARS32 文件3.然后把GDAL库放到一个目录下,如C:\gdal-1.9.1\gdal-1.9.1;用VS打开并打开文件夹下的nmake.opt修改GDAL_HOME = "C:\GDAL"把路径改到需要把gdal安装的地方。

cd进入刚才源文件的解压目录C:\gdal-1.9.1\gdal-1.9.1。

将gdal解压到C盘修改nmakecd进入解压目录4.然后在DOS中依次输入:nmake /f makefile.vcnmake /f makefile.vc installnmake /f makefile.vc devinstall中间等待编译处理。

处理完后系统将会把我们需要的文件拷贝到开始设定的安装目录,如刚才设置的C:\GDAL二、应用1.在新建项目下:属性->C/C++->常规->附加包含目录:"C:\GADL\include"。

属性->链接器->常规->附加库目录:"C:\GADL\lib".属性->连接器->输入->附加依赖项:gdal_i.lib.2. 将C:\GDAL\bin\gdal14.dll拷贝到vs新建项目的debug文件夹中。

(否则运行时会提示找不到gdal14.dll)添加所需的头文件就可以用了。

gdal 多边形 剖分三角形 -回复

gdal 多边形 剖分三角形 -回复

gdal 多边形剖分三角形-回复需求分析和引言:在地理信息系统(GIS)中,gdal(Geospatial Data Abstraction Library)是一个用于读取、写入和处理地理空间数据的开源库。

它提供了许多功能,包括对多边形进行剖分为三角形的操作。

本文将介绍如何使用gdal来进行多边形的剖分,包括背景知识、使用示例和一步一步的操作说明。

第一部分:背景知识1. 什么是gdal?gdal是一个开源的地理信息系统(GIS)库,它允许用户读取、写入和处理各种地理空间数据格式。

它支持多种格式,包括栅格数据(如遥感图像)和矢量数据(如矢量地图)。

2. 什么是多边形和三角形?在地理空间数据中,多边形是由若干个连续的线段组成的闭合图形。

而三角形是一种特殊的多边形,它由三条边和三个顶点组成。

第二部分:使用示例我们将通过一个具体的示例来说明如何使用gdal来剖分多边形为三角形。

示例场景:假设我们有一个多边形表示一个湖泊的边界,我们需要将该多边形剖分为三角形。

这可以用于进行湖泊的水文分析或地形分析。

操作步骤:1. 安装gdal库和相关依赖:首先,我们需要安装gdal库和相关依赖。

具体的安装步骤可以根据您所使用的操作系统和环境而有所不同。

您可以在gdal的官方网站上找到安装指南和最新版本。

2. 加载多边形数据:在该示例中,我们将使用一个简单的多边形数据文件。

您可以根据自己的需求和数据来源来加载多边形数据。

3. 创建gdal数据源:使用gdal库提供的函数,我们可以创建一个gdal数据源来加载多边形数据。

这可以通过指定多边形数据文件的路径来完成。

4. 剖分多边形:一旦我们加载了多边形数据,我们可以使用gdal提供的函数来剖分多边形。

gdal库提供了函数来将多边形剖分为三角形,您只需要调用这些函数并指定相关参数即可。

5. 保存剖分结果:剖分多边形后,您可以将剖分结果保存到一个新文件中。

gdal库提供了函数来将剖分结果保存为矢量数据文件,我们只需要指定文件的路径和保存格式即可。

gdal矢量裁剪栅格 -回复

gdal矢量裁剪栅格 -回复

gdal矢量裁剪栅格-回复GDAL (Geospatial Data Abstraction Library) 是一组用于矢量和栅格地理数据处理的开源库。

它提供了一个适用于多种地理数据格式的工具集,包括矢量数据格式(如Shapefile)和栅格数据格式(如GeoTIFF)。

在本文中,我们将重点探讨如何使用GDAL对栅格数据进行裁剪。

首先,确保您已经安装了GDAL库。

GDAL可以通过源代码构建,也可以通过预编译的二进制文件进行安装。

请根据您的操作系统和需求选择适合您的安装方法。

安装完成后,您可以在命令行终端或脚本中使用GDAL的命令。

裁剪栅格数据通常需要两个输入文件:待裁剪的栅格文件和用于裁剪的矢量边界文件。

让我们从打开待裁剪的栅格文件开始。

使用GDAL的gdal.Open函数打开待裁剪的栅格文件。

您可以指定栅格文件的路径作为参数。

例如,对于GeoTIFF格式的栅格文件,您可以使用以下命令:dataset = gdal.Open("path/to/raster.tif")接下来,我们需要获取待裁剪栅格文件的地理参考信息(地理坐标系、分辨率等)。

您可以使用GDAL的函数dataset.GetProjection和dataset.GetGeoTransform来获取这些信息:projection = dataset.GetProjection()geotransform = dataset.GetGeoTransform()注意,获取到的地理参考信息可以用于创建裁剪后的栅格文件。

现在,我们需要打开用于裁剪的矢量边界文件。

类似地,使用gdal.Open 函数打开边界文件:boundary = gdal.Open("path/to/boundary.shp")接下来,我们需要获取边界矢量文件的地理参考信息,用于裁剪栅格文件。

同样,使用GetProjection和GetGeoTransform函数获取这些信息:projection_boundary = boundary.GetProjection() geotransform_boundary = boundary.GetGeoTransform()裁剪栅格文件之前,我们需要确保栅格文件的地理参考信息与边界文件的地理参考信息相匹配。

GDAL文档

GDAL文档
GDAL库安装:
/gdal/gdal142.zip从这个网站中下载gdal文件。
接下来是安装步骤,具体是在VC6.0上安装的,但是安装过后生成的include文件夹、Lib文件、dll拷到其他平台上都可以使用的。所以讲一下在VC6.0中安装就行。
1.把GDAL文件夹拷贝到C:\Documents and Settings\Administrator目录下面(也可以选择其他路径)把C:\windows\system32目录下面的xcopy.exe复制到.\Microsoft Visual Studio\VC98\Bin目录下在VC目录下面搜索出MSPDB60.DLL文件,也复制到\VC98\Bin目录下。
GDAL使用抽象数据模型(abstract data model)来解析它所支持的数据格式,抽象数据模型包括数据集(dataset),坐标系统,仿射地理坐标转换(Affine Geo Transform),大地控制点(GCPColor Table),子数据集域(Subdatasets Domain),图像结构域(Image_Structure Domain),XML域(XML:Domains)。
{
doubleOriginX=adfGeoTransform[0];//左上角X
doubleOriginY=adfGeoTransform[3];//左上角Y
doubleH_Pixel=adfGeoTransform[1];//东西方向一个像素对应距离
doubleV_Pixel=adfGeoTransform[5];//南北方向一个像素对应距离
1)OGR体系结构
OGR包括如下几部分:
Geometry:类Geometry (包括OGRGeometry等类)封装了OpenGIS的矢量数据模型,并提供了一些几何操作,WKB(Well Knows Binary)和WKT(Well Known Text)格式之间的相互转换,以及空间参考系统(投影)。

gdal 重采样到 1km 的方法

gdal 重采样到 1km 的方法

gdal 重采样到1km 的方法GDAL(Geospatial Data Abstraction Library)是一个强大的开源栅格空间数据转换库,广泛用于地理空间数据的处理。

在实际应用中,将数据重采样到1km的分辨率是一项常见需求。

以下将详细介绍如何使用GDAL进行重采样操作。

### GDAL 重采样到1km 的方法#### 前提准备1.**安装GDAL**:确保您的系统上已安装GDAL库。

可以在其[官方网站](/)找到相应的安装指南。

2.**数据准备**:您需要有一个待重采样的栅格数据集,例如卫星影像或地形数据。

#### 操作步骤1.**打开GDAL命令行工具**:打开终端(Linux或Mac)或命令提示符(Windows),准备执行GDAL命令。

2.**使用GDAL的`gdalwarp`工具**:`gdalwarp`是GDAL中用于图像变换和重采样的工具。

基本命令格式如下:```bashgdalwarp -tr xres yres [-r resampling_method] input_file output_file```其中:- `-tr`:指定目标分辨率(xres 和yres)。

- `-r`:指定重采样方法(默认为最邻近采样)。

3.**执行重采样**:假设您要将一个名为`input.tif`的栅格数据集重采样到1km分辨率,并将结果输出为`output_1km.tif`,则命令如下:```bashgdalwarp -tr 1000 1000 -r bilinear input.tif output_1km.tif```在这里,`bilinear`是双线性插值方法,适合于影像数据的重采样。

4.**选择合适的重采样方法**:根据您的数据类型和需求,可以选择以下重采样方法:- `nearest`:最邻近采样,速度最快,但可能造成图像质量的损失。

- `bilinear`:双线性插值,适用于连续数据。

GDAL库介绍

GDAL库介绍

1.GDAL 库介绍●可能你不玩GIS ,不懂这个库到底有什么用,或者和python 有什么关系。

但是你要玩GIS ,RS ,你就应当知道这个库的价值。

就算你不玩GIS ,我想这个库对你也应该有致命的吸引力。

为什么?看下面的介绍吧!●先看看这段GDAL 主页上的英文介绍吧!is a translator library for raster geospatial data formats that is released underan X/MITstyle Open Sourcelicense by the Open Source GeospatialFoundation.As a library,it presents a single abstract data modelto thecalling application for all supported formats.It also comes with a variety of useful commandline utilitiesfor data translation and processing.●简单地说,GDAL 是一个操作各种栅格地理数据格式的库。

包括读取、写入、转换、处理各种栅格数据格式(有些特定的格式对一些操作如写入等不支持)。

它使用了一个单一的抽象数据模型就支持了大多数的栅格数据(GIS 对栅格,矢量,3D 数据模型的抽象能力实在令人叹服)。

当然除了栅格操作,这个库还同时包括了操作矢量数据的另一个有名的库ogr (ogr 这个库另外介绍),这样这个库就同时具备了操作栅格和矢量数据的能力,买一送一,这么合算的买卖为什么不做。

●最最最重要的是这个库是跨平台的,开源的!如今这个库对各种数据格式的支持强大到令人啧啧的地步了。

如果你对他的强大有什么怀疑的话,看看这里一大串的GDAL 所支持格式清单,吓到了吧!再看看它的主页最后那些使用了它作为底层数据处理的软件列表吧!其中你可以不知道GRASS ,你也可以不知道Quantum GIS (QGIS),但是你总该知道Google Earth 吧!不知道?赶快下一个去玩玩--会当临绝顶,一览众山小!●有人说我又不玩GIS 。

gdal安装_gdal的附带工具程序

gdal安装_gdal的附带工具程序

gdal安装:gdal的附带工具程序疯狂代码 / ĵ:http://BlogDigest/Article75458.html1. GDAL附带工具1.1. GDAL创建了下面的工具程序gdalinfo - 统计文件的信息。

gdal_translate - 拷贝一个可以控制控制输出格式的栅格文件。

gdaladdo - 为文件添加略缩图。

gdalwarp - 把一个图像转换到一个新的坐标系统。

gdalindex - 为MapServer建立一个栅格索引。

gdal_contour - 给DEM创建等高线。

rgb2pct.py - 把一个24位的图像转化成8位调色板图像。

pct2rgb.py - 把一个8位调色板图像转化成24位位图。

gdal_merge.py - 把一系列的图像创建一个快速的地图集。

gdal_rasterize - 把一个矢量图层栅格化。

nearblack - 转换临近的黑/白边框为精准数值。

gdal-config - 获取建立使用gdal的软件需要的参数。

2. 创建新的文件存取一个已存在的文件来读取是一件很容易的事情,只要在命令行中指定文件或者数据集的名字。

但是,创建一个文件是一件非常复杂的事情。

你可能需要指定创建格式,各种创建参数,以及指定一个坐标系统。

在不同的GDAL工具中有许多参数都是差不多的,这里列举出来。

-of format 选择要创建新的文件的格式。

这个格式被指定为类似GTiff(GeoTIFF格式)或者HFA(ERDAS格式)。

所有的格式列表可以用--formats 参数列出来。

只有格式列表“(rw)”可以被写入。

许多工具如果没有指定,默认是创建GeoTIFF文件。

文件扩展名不能用来猜测输出格式,如果没有指定文件名,gdal一般不会添加任何扩展名。

-co NAME=VALUE 许多格式会有一个或者更多的创建参数来控制文件创建的细节。

比如GeoTIFF可以用创建参数控制压缩,或者控制是否用分片还是分带来进行存储。

gdal实用工具介绍及使用

gdal实用工具介绍及使用

FWTools实用工具组成:由6部分组成分别为:1.OpenEV: 一个桌面版的矢量和栅格数据的现实和分析工具A highperformance raster/vector desktop data viewer and analysistool.2.MapServer: 一个WebGIS软件.3.GDAL/OGR: 由一系列命令组成的使用工具,可以读写和处理栅格及矢量数据.4.PROJ.4: 命令行模式的投影转换工具.5.OGDI: 格式转换工具.6.Python: 脚本语言.∙在/可下载linux和windows版的安装文件,安装后在首页或开始-FWTools 2.x.x点击FWTools Shell即可进入DOS 环境执行相关命令,可以在任何目录下执行相关命令,而不需要在命令前加路径。

FWTools实用工具∙gdalinfo.exe 显示GDAL支持的各种栅格文件的信息。

∙gdal_translate.exe 在不同的格式间进行转换。

同时,潜在的执行了一些切割、重采样和使像素比例变化的任务。

∙gdalwarp.exe 投影转换和投影绑定。

同时也可以进行图像镶嵌。

这个程序可以重新投影所支持的投影,而且如果图像("raw" with)控制信息也可以把GCPs 和图像存储在一起∙gdaltindex.exe 创建栅格索引的SHP 文件。

它能为每个栅格数据建立一个记录:一个包含栅格名称的属性,以及这个栅格的外边界所组成的多边形。

∙gdal_contour.exe 从一个栅格DEM生成矢量的等值线。

∙gdaltransform.exe 与PROJ相似。

进行投投影转换。

∙nearblack.exe 将栅格中接处黑\白的像元置成黑色或白色。

这可以用来修补压缩丢失信息而造成的不准确,以便于在镶嵌时将其视为透明。

∙gdal_grid.exe 从分散的点生成栅格,有插值的意思。

∙ogrinfo.exe 显示OGR支持的矢量数据的信息∙ogr2ogr.exe 进行不同简单矢量格式转换。

gdal tiff 读取高程 -回复

gdal tiff 读取高程 -回复

gdal tiff 读取高程-回复如何使用GDAL库来读取TIFF格式的高程数据。

GDAL(Geospatial Data Abstraction Library)是一个开放源码的地理空间数据转换库,它提供了许多对地理空间数据进行读取、写入和转换的功能。

在本文中,我们将介绍如何使用GDAL库来读取TIFF格式的高程数据。

步骤一:安装GDAL库首先,我们需要安装GDAL库。

可以通过在命令行中运行以下命令来安装GDAL库:pip install gdal或者,如果你使用Anaconda作为Python的发行版,可以使用以下命令来安装GDAL库:conda install -c conda-forge gdal安装完成后,我们可以在Python中引入GDAL库,并开始读取TIFF格式的高程数据。

步骤二:导入GDAL库和打开TIFF文件首先,我们需要导入GDAL库,并打开包含高程数据的TIFF文件。

可以使用gdal.Open()函数来打开TIFF文件,该函数需要传入一个TIFF文件的路径作为参数。

以下是一个示例:pythonfrom osgeo import gdal# 打开TIFF文件dataset = gdal.Open('path/to/your/tiff/file.tif')请注意,你需要将文件路径替换为你自己的TIFF文件的路径。

步骤三:获取高程数据和元数据在成功打开TIFF文件后,我们可以通过以下代码获取高程数据和元数据:python# 获取高程数据elevation_data = dataset.GetRasterBand(1).ReadAsArray()# 获取元数据geotransform = dataset.GetGeoTransform()projection = dataset.GetProjection()在这段代码中,我们使用了GetRasterBand()函数来获取TIFF文件中的第一个栅格波段(高程数据位于第一个栅格波段中)。

gdal矢量裁剪栅格 -回复

gdal矢量裁剪栅格 -回复

gdal矢量裁剪栅格-回复GDAL(Geospatial Data Abstraction Library)是一个开源的地理数据处理库,提供了许多功能强大的工具和算法,用于矢量和栅格数据的读取、写入和处理。

其中,矢量裁剪栅格是GDAL库的一个重要功能,可以将矢量数据用于裁剪栅格数据,以获得感兴趣区域的栅格图像。

本文将一步一步回答关于GDAL矢量裁剪栅格的问题。

第一步:安装GDAL库要开始使用GDAL库的矢量裁剪栅格功能,首先需要安装GDAL库。

GDAL 提供了可以在不同操作系统上安装的二进制文件或源代码。

可以根据自己的需求选择相应的安装方式,并按照安装指南进行操作。

第二步:准备矢量数据和栅格数据在开始裁剪栅格之前,需要准备相应的矢量数据和栅格数据。

矢量数据通常是矢量图层文件,如Shapefile、GeoJSON等格式。

栅格数据可以是栅格图像文件,如TIFF、JPEG、PNG等格式。

第三步:添加矢量数据和栅格数据使用GDAL库,可以通过打开矢量和栅格数据集来读取数据。

可以使用`gdal.Open()`函数打开栅格数据集,使用`ogr.Open()`函数打开矢量数据集。

这两个函数将返回一个数据源对象,可以用于后续的操作。

第四步:获取矢量数据的边界框在进行矢量裁剪栅格之前,需要获取矢量数据的边界框。

可以使用矢量数据源对象的`GetLayer()`方法获取矢量数据的图层对象,然后使用图层对象的`GetExtent()`方法获取矢量数据的边界框。

第五步:裁剪栅格数据使用获取的矢量数据边界框,可以将栅格数据进行裁剪。

可以使用`gdal.Warp()`函数进行裁剪操作。

该函数接受多个参数,其中包括输入栅格数据集、输出裁剪后的栅格数据集、裁剪区域的范围等。

通过设置相应的参数,可以实现将栅格数据根据矢量数据进行裁剪的目的。

第六步:保存裁剪后的栅格数据裁剪后的栅格数据可以保存为新的文件。

可以使用`gdal.WriteRaster()`函数将裁剪后的栅格数据保存为指定格式的栅格图像文件。

gdal提取高程

gdal提取高程

gdal提取高程使用GDAL提取高程数据GDAL(Geospatial Data Abstraction Library)是一个开源的地理信息系统(GIS)库,它提供了处理和转换各种地理空间数据格式的功能。

其中一个常见的应用是使用GDAL提取高程数据。

高程数据是地球表面各点的海拔高度信息,通过高程数据可以绘制出数字高程模型(Digital Elevation Model,DEM),用以分析地形特征、进行地形模拟等。

使用GDAL提取高程数据的步骤如下:1. 安装GDAL库:首先需要在计算机上安装GDAL库。

GDAL支持多种操作系统和编程语言,例如在Windows系统中可以通过安装二进制文件来进行安装,而在Linux系统中可以通过包管理工具进行安装。

2. 获取高程数据:高程数据通常存储在栅格数据格式中,常见的格式包括GeoTIFF、HDF等。

可以在各种数据提供商的网站或者地理信息数据共享平台上获取高程数据。

需要注意的是,我们在文章中不得插入任何网络地址,所以在这里不提供具体的数据获取网站。

3. 打开高程数据:使用GDAL库的API可以打开高程数据文件,并对其进行读取和处理。

GDAL库支持多种数据格式,可以根据实际情况选择合适的打开函数。

4. 读取高程数据:通过GDAL库提供的函数,可以读取高程数据文件中的像素值。

像素值表示该位置的海拔高度信息,可以以二维数组的形式保存。

5. 数据处理:读取高程数据后,可以对其进行各种处理操作。

例如,可以计算地表的坡度、坡向、等高线等。

GDAL库提供了丰富的功能和API,可以方便地进行各种地理空间数据处理操作。

6. 保存处理结果:处理完高程数据后,可以将结果保存为新的数据文件。

可以选择与原始数据相同的格式,也可以选择其他格式。

通过以上步骤,我们可以使用GDAL提取高程数据并进行各种处理操作。

高程数据在地理信息科学中具有广泛的应用,例如地形分析、水资源管理、土地利用规划等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

/chimneyqin/blog/item/6c785aeac77ef0dfd439c9ef.html
2010-05-19 15:12
最近在学习在VC中调用GDAL库处理遥感影像,现总结如下:
1. GDAL安装
(1)下载gdal的安装文件,解压到某目录下如C:\gdal下。

这里我们假定VC6的安装在默认目录C:\Program Files\Microsoft Visual Studio8下。

(2)启动cmd,即打开控制台窗口。

进入VC6的安装目录下,如cd C:\Program Files\Microsoft Visual Studio8\VC\bin\,在此目录下有个文件VCVARS32.BAT,执行该文件。

然后重新回到C:\gdal下。

运行命令nmake /f makefile.vc。

编译完成后,用记事本打开文件C:\gdal\nmake.opt,根据自己的情况修改GDAL_HOME = 这一行,这个指的是最终GDAL的安装目录,比如说我们安装在C:\GDAL,那么这一行就是GDAL_HOME = "C:\GDAL",在C:\gdalsrc下执行nmake /f makefile.vc install,然后是nmake /f makefile.vc devinstall,然后我们需要的东西就安装到了C:\GDAL下。

2 .GDAL使用
(1)在VS2005中新建win32控制台程序 testGDALconsole,将gdal14.dll拷贝到testGDALconsole/debug中。

(否则运行时会提示找不到gdal14.dll)
(2)Tools/options: 在Library files、Include files中分别添加GDAL的LIB目录和INCLUDE 件目录
(也可以直接将gdal_priv.h拷贝到testGDALconsole.cpp所在目录下)
(3)Project/Seeting/Link : 添加一个文件gdal_i.lib。

(或使用 #pragma comment(lib,"..\\lib\\gdal_i.lib"))
(4)程序文件:样本程序如下:
#include "stdafx.h"
#include "gdal_priv.h"
#include <iostream>
using namespace std;
int main(int argc, char* argv[]) {
if(argc!=2)
{
return 0;
}
GDALDataset *poDataset; //数据集对象指针
GDALAllRegister();//注册驱动
poDataset = (GDALDataset *) GDALOpen( argv[1], GA_ReadOnly );
if( poDataset != NULL )
{
Cout << "RasterXSize:" << poDataset -> GetRasterXSize() << endl; Cout << "RasterYSize:" << poDataset -> GetRasterYSize() << endl; Cout << "RasterCount:" << poDataset -> GetRasterCount() << endl; }
return 0;
}
假定生成的程序名为test.exe,假定有一个文件名为1.jpg的文件在C:\下,在命令行下test.exe
c:\1.jpg,程序将打印出此图片的横纵坐标和raster count,如:
C:\>test 1.JPG
RasterXSize:800
RasterYSize:600
RasterCount:3。

相关文档
最新文档