Questions tagged «gdal»

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

1
在R中使用writeOGR()将多层写入GeoPackage?
我试图在R中的同一GeoPackage中写入多个图层,但出现错误Creation of output file failed。我试图搜索使用RGDAL读写.gpkg文件的文档,例如,弄清楚是否writeOGR()实际上支持多层,但收效甚微。如果可能的话,这怎么可能呢?最小的工作示例: library(sp) library(maptools) library(rgdal) data(wrld_simpl) norway <- wrld_simpl[wrld_simpl$NAME == "Norway", ] sweden <- wrld_simpl[wrld_simpl$NAME == "Sweden", ] file <- tempfile("scandinavia", fileext = c(".gpkg")) writeOGR(norway, dsn = file, layer = "norway", driver = "GPKG") writeOGR(sweden, dsn = file, layer = "sweden", driver = "GPKG") ogrListLayers(file) 显然,有一个可以完成技巧的ogr2ogr shell命令(hat …
11 gdal  r  rgdal  geopackage  sf 

2
如何使用python gdal / ogr从坐标列表创建多边形shapefile?
我正在尝试使用开源python工具从坐标列表中创建多边形shapefile。以下是我到目前为止从Python GDAL / OGR Cookbook和GIS SE答案中获得的信息。 还有一个类似的问题Python:如何从X,Y坐标列表创建多边形Shapefile?,尽管这个问题是指使用pyshp。但是,我对仅使用gdal / ogr Python工具创建多边形shapefile感兴趣。 import ogr def create_polygon(coords): ring = ogr.Geometry(ogr.wkbLinearRing) for coord in coords: ring.AddPoint(coord[0], coord[1]) # Create polygon poly = ogr.Geometry(ogr.wkbPolygon) poly.AddGeometry(ring) return poly.ExportToWkt() def write_shapefile(poly, out_shp): """ https://gis.stackexchange.com/a/52708/8104 """ # Now convert it to a shapefile with OGR driver = ogr.GetDriverByName('Esri …
10 python  gdal  polygon  ogr 

3
如何创建复合山体阴影?
复合山坡的概念是将多个具有不同阳光方向的山坡结合起来,以避免盲点。它需要将3个山体阴影图像分别与315⁰(NW阳光,默认层),+355⁰层和+275⁰阳光合并。如下所示,这增加了细节和美观。此处提供了完整的非GIS 描述。 使用任何srtm文件,可以通过以下三种方式完成3个初始山体阴影: gdaldem hillshade input.tif hillshades_A.tmp.tif -s 111120 -z 5 -az 315 -alt 60 -compute_edges gdaldem hillshade input.tif hillshades_B.tmp.tif -s 111120 -z 5 -az 355 -alt 60 -compute_edges gdaldem hillshade input.tif hillshades_C.tmp.tif -s 111120 -z 5 -az 275 -alt 60 -compute_edges

2
使用python gdal从GeoTiff获取坐标和相应的像素值,并将其另存为numpy数组
如何从GeoTiff文件中获取投影坐标以及这些坐标处的实际像素值,然后将其保存到numpy数组中?我有arsenci020l.tif文件,其坐标以米为单位。以下是我在上面运行的gdalinfo的摘要输出。 ~$ gdalinfo arsenci020l.tif Driver: GTiff/GeoTIFF Files: arsenci020l.tif arsenci020l.tfw Size is 10366, 7273 Coordinate System is: PROJCS["Lambert Azimuthal Equal Area projection with arbitrary plane grid; projection center 100.0 degrees W, 45.0 degrees N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0], UNIT["degree",0.0174532925199433], AUTHORITY["EPSG","4326"]], PROJECTION["Lambert_Azimuthal_Equal_Area"], PARAMETER["latitude_of_center",45], PARAMETER["longitude_of_center",-100], PARAMETER["false_easting",0], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]]] …

2
将数据管道传输到ogr2ogr
是否可以直接通过管道传输数据到ogr2ogr?我正在尝试对curlGeoJSON文件进行处理,并将其通过管道转换ogr2ogr为另一种格式。 在不使用管道的情况下,我能够通过首先编写文件然后使用以下命令对其进行转换来实现此目的,但是我很好奇是否可以跳过该步骤。 curl "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson" -o "countries.geojson" && ogr2ogr -f "KML" countries.kml countries.geojson 我也尝试用curl输出创建变量而不是管道输出,但ogr2ogr无法读取它: DATA=$(curl -s "https://raw.githubusercontent.com/nvkelso/natural-earth-vector/master/geojson/ne_50m_admin_0_countries.geojson") && ogr2ogr -f "KML" countries.kml $DATA
10 gdal  ogr2ogr 

1
使用GDAL和Python进行地理配准栅格?
我想使用python和对栅格进行地理配准GDAL。我当前的方法是调用gdal_translate和gdalwarp使用os.system地面控制点列表。我真的很想在本地进行此操作python。 这是我正在使用的当前过程: import os os.system('gdal_translate -of GTiff -gcp 1251.92 414.538 -7.9164e+06 5.21094e+06 -gcp 865.827 107.699 -7.91651e+06 5.21104e+06 "inraster.tif" "outraster1.tif"') os.system('gdalwarp -r bilinear -tps -co COMPRESS=NONE "outraster2.tif" "outraster3.tif"') 有一个以前的问题和答案在2012年里面写明了gdal_translate可以导入后进行访问gdal。我不确定是否已过时,或者是否错误,但是当我运行时,from osgeo import gdal我不认为这gdal.gdal_translate是一个选择。 我不知道它是否存在,但是如果我能以pythonic的方式翻译和重新投影栅格,我将不胜感激。例如: # translate gcp_points = [(1251.92, 414.538), (-7.9164e+06, 5.21094e+06)] gdal.gdal_translate(in_raster, gcp_points, out_raster1) # warp gdal.gdalwarp(out_raster1, out_raster2, 'bilinear', args*) 这样的方法可行吗?

1
为什么多个栅格合并的结果这么大?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 2年前关闭。 我尝试像这样合并14个geotiff: 每个geotiff约为50Mb。我在输出端需要一个Geotiff 我的工作流程: gdalbuildvrt -input_file_list list.txt test.vrt (我的列表中包含tif的名称) 然后 : gdal_translate -of Gtiff test.vrt test.tif Input file size is 79841, 59955 它可以工作,但是结果是13,3 Gb的geotiff!对于14个文件(每个50 Mb),我尝试了700 Mb(而不是13 Gb)的geotiff。 我知道gdal默认不会压缩,所以我尝试了以下命令: gdal_translate -of Gtiff -co COMPRESS=JPEG test.vrt test_compressed.tif 但是文件的“合并”对于JPEG压缩来说太大了: Input file size is 79841, 59955 0ERROR 1: JPEGPreEncode:Strip/tile too large for …

2
从地理数据文件中删除不需要的列?
我有一些GML数据,其中包含一些不需要的列。我想删除这些列以减小文件大小。(为澄清起见:我的意思是该文件中包含许多点,并且这些点中的每一个都附加了一些元数据,并且我不需要所有元数据。) 我也想从命令行执行此操作,因为我有很多文件。 我可以使用将GML文件转换成不同的格式ogr2ogr,所以我的问题是:从命令行从地理数据文件中删除列的最简单方法是什么? 我是一名Python程序员,所以我的直觉是将文件转换为GeoJSON,然后使用Python的JSON解析方法读取和重写JSON文件。 但是,也许有更直接的方法,使用GDAL工具或类似工具。
10 gdal  data  geojson  gml  file-size 

3
使用GDAL将NetCDF文件转换为GeoTIFF?
我有一个NetCDF文件,其中包含英国下雨天数的数据。我想将其转换为GeoTIFF,但无法正确获取GDAL地理参考。请参阅下面来自gdalinfo的转储。 我想要一个显示“ raindays_tmean_abs”变量的TIFF乐队。“ lat”和“ lon”变量似乎具有合理的最小/最大值,可以将数据放到整个英国,但是当我使用gdal_translate进行转换时,它最终出现在非洲西海岸。 关于第一个尺寸不是“时间或垂直”尺寸的警告。我读到gdal期望数据按一定顺序排列,所以也许这就是问题所在,但是我不知道如何修改它。 如何转换/重新投影此数据? gdalinfo NETCDF:RainDays1_1961-1990_LTA_25km.nc Warning 1: dimension #0 (meaning_period) is not a Time or Vertical dimension. Driver: netCDF/Network Common Data Format Files: RainDays1_1961-1990_LTA_25km.nc RainDays1_1961-1990_LTA_25km.nc.aux.xml Size is 39, 52 Coordinate System is `' Origin = (-17.650008352179277,11.329999312758446) Pixel Size = (0.219999614514803,-0.219999998807907) Metadata: axis_0#units= meaning_period#comment=Meaning periods are all …

3
QGIS中用于航拍照片的格式和设置是什么?
以下问题是有关使用ArcGIS处理天线的更多问题: 管理航空摄影仅查看的最有效格式 似乎有2个主要选项用于存储/重新采样/重新投影等天线: JP2000 / JP2 / JPEG 2000(最近有5个用于GDAL处理的代码) ECW(ERDAS压缩小波(.ecw)) 还有其他我想念的吗? 我了解的取决于QGIS版本,通常都必须安装一些其他库。ECW有一些限制-为了压缩购买许可证的需求? 我测试了jpeg,该文件不能用于大文件(最大尺寸限制),并且在使用较大尺寸时也很慢。 答案应包含: QGIS 2.0.1桌面和/或OSGEO默认情况下有哪些功能? 大文件如何工作-放大/缩小(金字塔)? 为创建选项 - 决议案为JP2金字塔?

1
从ArcGIS for Desktop的Python窗口导入GDAL?
我正在尝试使用同时使用arcpy和gdal模块的ArcGIS 10.1中的Python窗口运行一些Python代码。但是,当我尝试导入gdal模块时,出现错误: ImportError: No module named osgeo 显然,它找不到该模块,因此我将主要的python site-packages目录添加到了sys.path列表中: sys.path.append(r"C:\Python27\lib\site-packages") 但是,当我尝试运行import osgeo或from osgeo import gdal出现以下错误时: Runtime error Traceback (most recent call last): File "<string>", line 1, in <module> File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 21, in <module> _gdal = swig_import_helper() File "C:\Python27\lib\site-packages\osgeo\__init__.py", line 17, in swig_import_helper _mod = imp.load_module('_gdal', fp, pathname, description) ImportError: …

2
如何在GDAL / OGR Python绑定中捕获PostgreSQL / PostGIS错误?
查询失败后是否可以在OGR中捕获PostgreSQL输出错误消息? 例如 conn.ExecuteSQL('SELECT * FROM non_existing_table;') 在Postgres中,这将返回错误消息: "Error: relation 'non_existing_table' does not exist." 在ogr中,我们获得了标准: "Error: current transaction is aborted, commands ignored until end of transaction block" 如果我们能够捕获/解析Postgres错误消息,那将是一个额外的好处。考虑到我对SWIG / CPL的了解,我怀疑这有点长远,但是值得一问,看看是否有人有想法。理想情况下,这将是在Python中进行,但是我也会接受C / C ++注释! 谢谢。

3
在给定遥测数据的情况下,可以使用哪种开放源代码(命令行/ API)方法对航拍图像进行正射校正和地理参考?
如何使用开源软件拍摄图像并自动对其进行矫正?与每个图像关联的信息是: 相机规格 相机的纬度,经度,海拔 相机方向:面向无人飞行器,给出俯仰角和偏航角 我想输出一个geotiff文件,并希望最终将图像缝合在一起以创建地图。

2
从头开始创建多光谱图像
我想从Cero制作多光谱图像以对其进行一些测试。真的很简单,例如5条完全均匀的带,上面有盐和胡椒粉的噪声,或者中心是不同值的正方形。显然,这只是一堆矩阵,一个多维数组,可以很直接地生成。我想使用python和gdal来实现这一点,但是gdal相当封闭,我根本不了解它。理想情况下,我想创建一个geotiff文件。有人可以帮我吗?一些指针或gdal教程,这是非常温柔的吗?谢谢你们。
10 python  raster  gdal  imagery 

3
在Ubuntu 12.04中为QGIS安装ECW吗?
我遵循了各种在线帮助指南,以了解如何在Ubuntu 12.04中使QGIS 1.8的ecw正常工作。我在Ubuntu 10.04上都能正常工作,但是自从迁移到12.04以来,运气并不好。 是否有适用于Ubuntu 12.04的指南? 目前,似乎更容易安装包含ecw支持的Windows版本,但是我想继续使用Ubuntu。
10 qgis  gdal  ubuntu  references  ecw 

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.