Questions tagged «gdal»

GDAL(地理空间数据抽象库)是一个开放源代码翻译器库和一组命令行实用程序,用于处理栅格空间数据格式。作为一个库,它为所有受支持的格式向调用应用程序提供一个抽象数据模型。它还带有用于数据转换和处理的各种有用的命令行实用程序。

1
如何使用gdal_proximity计算到要素的距离?
我正在使用gdal_proximity查找距美国(下48个州)最近的主要河流的距离。我已经将NHD +网络流线投影到Conus Albers(epsg:5070),选择了河流顺序> 5的河流,并进行了栅格化处理,燃烧的河流为255,没有河流为0。这很好,但是现在我需要查找距离到最近的河流(50公里以内)。输入文件在大陆范围内的分辨率为30m,因此非常大,但转换应使用简单的gdal_proximity命令: gdal_proximity.bat -values 255 -distunits GEO -maxdist 50000 -nodata -999 infile.tif outfile.tif -co COMPRESS=DEFLATE -co BIGTIFF=YES -co TILED=YES 这似乎几乎可以正常工作,但是在输出中产生了一个奇怪的几何图案(参见图片)。输出中存在的数据已正确处理。谁能说出为什么缺少这么多输出? 编辑:要测试这是否由任何可选参数引起,我在此配置中再次运行了gdal_proximity: gdal_proximity.bat H:\data\tmp\NHDplus_network_flowline_SO6plus.tif H:/data/tmp/NHDplus_network_flowline_SO6plus_proximity.tif -values 255 -maxdist 50000 -of GTiff 产生基本上相同的结果: 我唯一的想法是,它可能与栅格的大小有关(未压缩的〜100 gb。据我所知,BigTiff的大小没有限制,但gdal的大小可能存在限制有效分析?

3
gdalwarp cutline和shapefile
我正在尝试根据shapefile几何形状裁剪我的Raster文件。我正在使用以下代码 gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif 但这会在shapefile几何图形范围之外产生黑色。我在这里举个例子。在我要剪切的第一个图像中。第二个图像是结果栅格,但我想要第三个栅格,其中几何图形的外部为空。 第一张图片:INPUT Raster 第二张图片:OUTPUT Raster 第三张图片:我想要这样的输出
26 gdal  gdalwarp 

5
是否将栅格完全加载到numpy数组中?
我一直在尝试检查我在DEM栅格上的过滤器以进行模式识别,并且它总是导致缺少最后一行和最后一列(如..20)。我已经尝试了PIL库,图像加载。然后用numpy。输出是相同的。 我以为我的循环出了点问题,当检查数组中的值时(只是用ArcCatalog中的Identification选择像素),我意识到像素值未加载到数组中。 因此,只需打开,放入数组并保存数组中的图像即可: a=numpy.array(Image.open(inraster)) #raster is .tif Float32, size 561x253 newIm=Image.new(Im.mode, Im.size) Image.fromarray(a).save(outraster) 导致删除最后的行和列。抱歉,无法发布图片 任何人都可以帮助理解为什么?并建议一些解决方案? 编辑: 因此,在伙计们的帮助下,我成功地将小型栅格加载到numpy数组中,但是当图像较大时,我开始出现错误。我想这是关于numpy数组的限制,因此数组会像这样自动重塑或变形……所以ex: Traceback (most recent call last): File "<pyshell#36>", line 1, in <module> ima=numpy.array(inDs.GetRasterBand(1).ReadAsArray()) File "C:\Python25\lib\site-packages\osgeo\gdal.py", line 835, in ReadAsArray buf_xsize, buf_ysize, buf_obj ) File "C:\Python25\lib\site-packages\osgeo\gdal_array.py", line 140, in BandReadAsArray ar = numpy.reshape(ar, [buf_ysize,buf_xsize]) File …


1
可以重新分发File Geodatabase API吗?
Esri的文件地理数据库API,现在可以用GDAL / OGR使用- http://www.gdal.org/ogr/drv_filegdb.html但每个人似乎都登录到ESRI和单独下载API文件。例如,此处的博客文章和GDAL构建说明中都引用了此内容。 在下载Esri显示的API之前,许可协议位于:http : //resources.arcgis.com/node/agreement/3193 第47条规定: 被许可方可以开发和分发使用Esri File Geodatabase API的软件或Web应用程序给被许可方的最终用户。 关于许可的最佳讨论是Paul Ramsey在 2011年1月发布的博客文章。最后以以下内容进行了最后更新: 更新4:收到Esri的电子邮件,确认将对最终许可进行审核,以确保不存在歧义,并且反映出它们的意图是该API可在任何应用类别中的任何应用中使用,并且派生产品可自由重新分发和免版税。因此,在一定程度上,当前许可证有任何歧义,不应将其视为最终许可证的危险信号。 Esri API何时或何时会作为GDAL下载或安装的一部分提供,我们何时可以分发包含该API的应用程序?

3
GeoTIFF金字塔/概述如何标准化?
虽然金字塔/概述不是GeoTIFF标准的一部分,但许多工具都支持创建金字塔。例如vips / nip2,Orfeo工具箱(otb)和ossim,它们都为创建它们提供了支持。但是我不知道他们是否都会以其他人支持的格式创建文件。浏览这些工具的文档并没有真正提及任何内容。 vips不是地理空间工具,我找不到任何最终用户友好的文档,但是IIPImage文档提到了其对“平铺的金字塔形TIFF”的支持:http : //iipimage.sourceforge.net/documentation/images/ OTB没有提及有关“多分辨率金字塔”的格式或规格的任何内容:https : //www.orfeo-toolbox.org/CookBook/CookBooksu65.html ossim表示其“降低分辨率的数据集”支持各种输出格式,但我不知道它们的实际含义:https : //trac.osgeo.org/ossim/wiki/img2rr GDAL还没有真正指定有关其“概述图像”的内容:http : //www.gdal.org/gdaladdo.html 因此它们都具有金字塔/概述,但尚不清楚它们是否相互兼容。 在更一般的页面上,我发现以下引号: http://iipimage.sourceforge.net/documentation/images/说 平铺的多分辨率(或平铺的金字塔形)TIFF只是平铺的多页TIFF图像,每个分辨率存储为TIFF中的单独图层。这是标准的TIFF扩展,包括Photoshop,GIMP,VIPS和ImageMagick在内的大多数图像处理应用程序都支持。libtiff编解码器库也完全能够读取和写入此类图像。 那是每个人使用的吗? 国会图书馆也有一些信息:http : //www.digitalpreservation.gov/formats/fdd/fdd000237.shtml 他们指出: 由不同应用程序创建的金字塔TIFF文件的结构不一定相同。特别是,从使用JHOVE进行分析和ImageMagick中的identify命令来看,Adobe的Photoshop和Image Magick生成具有不同内部TIFF结构的文件。在这两种情况下,大多数可以处理TIFF的软件似乎都能毫无问题地识别主TIFF。 那么,这些格式是否在某处进行了标准化,指定和记录?如何找到可以与他人兼容的方式生产它们的工具?概述/金字塔中是否有任何地理空间标签,或者我可以使用任何软件在图像数据上创建它们?

4
使用ogr2​​ogr在Python中将GML转换为shapefile?
我正在尝试在python脚本中使用ogr2​​ogr实用程序将GML转换为ESRI shapefile。 我已经通过osgeo成功安装了GDAL / OGR软件包,但是现在我正在努力查找/理解有关在python中使用ogr2​​ogr的语法的任何详细信息。 导入ogr后,我发现的只是 ogr2ogr -f "ESRI Shapefile" output.shp input.gml 如何在python中使用它?就像分配输入和输出文件一样简单吗? 我尝试的所有内容都只会出现语法错误。任何正确方向的指示都可以帮助我入门。

3
使用ogr2​​ogr转换为shapefile时是否选择要素类型?
Shapefile只能具有一种几何类型,但是许多其他格式(kml,geojson)可以具有多种类型。 转换为shapefile时,是否可以告诉ogr2ogr创建多个shapefile,每种类型一个? 似乎“ -where”选项可能有用,但是手册页中没有解释语法。 例如,这是一条失败的命令: $ wget http://a841-tfpweb.nyc.gov/jackson-heights/wp-content/themes/tfp/kml/transit.kml $ ogr2ogr -f "ESRI Shapefile" transit.shp transit.kml Warning 6: Normalized/laundered field name: 'Description' to 'Descriptio' ERROR 1: Attempt to write non-linestring (POINT) geometry to ARC type shapefile. ERROR 1: Terminating translation prematurely after failed translation of layer Transit (use -skipfailures to skip …

7
如何使用GDAL从栅格数据集中剪切“平铺图像”?
我正在开发一个需要根据给定栅格数据集创建图块(jpeg)的应用程序。我最初的想法是使用gdal2tiles.py,但它的性能似乎可以得到改善。 这使我提出以下问题:使用GDAL从栅格数据集中剪切“平铺图像”的最快方法是什么?“平铺图片”是指简单的jpeg或png。 在我的原型中,我使用MapServer C#MapScript绑定来完成这项工作。也就是说,我创建一个地图对象,遍历需要剪切的所有平铺边界,设置地图对象的范围,然后保存生成的图像。这种方法的性能明显优于gdal2tiles.py,但是我想知道是否不能更快地使用GDAL。谁能用GDAL方法建议类似的工作流程? 编辑:今天进行了一些进一步的研究之后,我就找到了答案。如果您已经下载了FWTools,则csharp \ apps文件夹包含许多用于演示C#GDAL绑定的类。就我而言,GDALRead.cs和GDALReadDirect.cs是我想要的。
22 gdal  tiles 

3
如何使用Python和GDAL访问文件地理数据库中的要素类?
我正在尝试使用Python + GDAL访问ESRI文件地理数据库中的矢量数据集。我已经使用文件地理数据库API成功编译了GDAL。自输入以来,FileGDB驱动程序正常工作 ogrinfo --formats 显示FileGDB驱动程序并输入 ogrinfo myfilegdb.gdb 给我有关数据库内容的正确信息。 但是,我找不到如何在Python中访问内容本身的方法。为了访问shapefile,我会写: driver = ogr.GetDriverByName('ESRI Shapefile') ds = driver.Open('shapefile.shp', 0) 访问FileGDB要素类时,我会假定使用以下命令: driver = ogr.GetDriverByName('FileGDB') ds = driver.Open('myfilegdb.gdb/feature_class', 0) 但这似乎不起作用,因为它无法识别/定位数据集。有谁知道如何从ESRI FileGDB调用单个要素类。 我在Ubuntu 12.04 x64上使用Python 2.7,GDAL 1.9.1,filegdb api 1.2。感谢您的任何建议!

1
使用gdal Python绑定复制gdalwarp的结果
我正在尝试使用GDAL python绑定进行重新投影/重新采样,但是与命令行实用程序相比,得到的结果略有不同gdalwarp。 请参阅下面的更新以获取更短的示例 此脚本说明了Python方法: from osgeo import osr, gdal import numpy def reproject_point(point, srs, target_srs): ''' Reproject a pair of coordinates from one spatial reference system to another. ''' transform = osr.CoordinateTransformation(srs, target_srs) (x, y, z) = transform.TransformPoint(*point) return (x, y) def reproject_bbox(top_left, bottom_right, srs, dest_srs): x_min, y_max = top_left …
20 python  gdal  gdalwarp  numpy 


4
使用GDAL编程的最佳语言
我将开始创建程序来处理来自PostGIS服务器的地理数据,并使用GDAL。 根据您的经验,用最好的语言来编程吗?我可以使用Perl和Python进行编程,但想了解该语言,并提供更多可重复使用的代码,示例,库等。
20 python  postgis  gdal 

3
使用GDAL在Python中平滑/插值栅格?
我正在用Python开发,并使用OSGEO的GDAL来处理栅格和shapefile并与之交互。 我想获取一个具有点特征的shapefile并将其插入到表面栅格中。现在,我使用的是'RasterizeLayer'方法,该方法将点要素中的值刻录到栅格中(使用所有nodata值进行设置),但将所有未触及的像素保留为'nodata'值。因此,我剩下的是棋盘式栅格。 使用RasterizeLayer之后,我得到了什么: 我想要的最终产品是: 我相信我要寻找的功能在arcgisscripting导入中称为'Spline_sa()'。 GDAL是否具有类似的功能,或者有其他方法来获得所需的输出?

2
使用C#的Gdal / Ogr的API文档
我想在我的Web C#应用程序中将投影分配给shapefile,为此我正在使用Gdal / OGR / OSR C#绑定并添加osr_csharp.dll和ogr_csharp.dll引用。但是我在编写将投影分配给shapefile的代码时遇到了一些困难。我想知道是否有任何API文档可以帮助我理解这些库的类/方法。或者,如果有人有一些代码可以将投影分配给shapefile,那么对我来说将是很大的帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.