タグ付けされた質問 「gdal」

GDAL(地理空間データ抽象化ライブラリ)は、ラスター空間データ形式を処理するためのオープンソースのトランスレータライブラリとコマンドラインユーティリティのセットです。ライブラリとして、サポートされているすべての形式の単一の抽象データモデルを呼び出し側アプリケーションに提供します。また、データの変換と処理に役立つさまざまなコマンドラインユーティリティが付属しています。

1
PyQGISはラスタをレンダリング画像として保存し、GDALツールを使用します
QGis Save Raster as Rendered Imageのコードを使用しようとしました。iラスターレイヤー: pipelayer = i pipeextent = pipelayer.extent() pipewidth, pipeheight = (pipelayer.width(), pipelayer.height()) piperenderer = pipelayer.renderer() pipeprovider = pipelayer.dataProvider() crs = pipelayer.crs().toWkt() pipe = QgsRasterPipe() pipe.set(pipeprovider.clone()) pipe.set(piperenderer.clone()) pipedFile = os.path.join(tempfile.gettempdir(), safeLayerName + '_pipe.tif') print pipedFile file_writer = QgsRasterFileWriter(pipedFile) file_writer.writeRaster(pipe, pipewidth, pipeheight, pipeextent, pipelayer.crs()) in_raster = pipedFile …

1
gdalを使用して画像をモザイクするときに、フェードアルファレイヤーを保持できますか?
一部の画像をgdalでモザイク処理していますが、各画像のエッジに向かってフェード/緩やかなアルファレイヤーを使用してモザイクの中央のシャープなエッジを削除することにより、最終結果を改善したいと思います。私が抱えている問題は、以下に示すように、個々の画像の緩やかなアルファレイヤーを持つ部分が、最終的なモザイクで半透明ではなく、その下の画像をマスクしていることです。 この段階的な透明度を使用して、ある画像を次の画像にフェードインすることが理想です。 モザイクを生成するために実行する手順は次のとおりです。 元の画像にgcpsを追加して位置を特定し、適切に方向付けします(各画像に順番に行われます)。 gdal_translate -of GTiff -a_srs EPSG:4326 -a_srs EPSG:4326 -gcp 1616 0 -88.2728612066 40.5175787437 -gcp <etc., etc.> <original_image_with_gradual_alpha>.tif <image_with_gradual_alpha_and_gcps>.tif 画像を適切な向きの新しいジオティフにワープします(各画像に対して順番に行われます)。 gdalwarp -s_srs EPSG:4326 -t_srs EPSG:4326 -dstnodata 0 <image_with_gradual_alpha_and_gcps>.tif <warped_geotiff_with_alpha>.tif ワープされたすべての画像を1つのモザイクにまとめます。 gdalbuildvrt -srcnodata 0 mosaic.vrt <warped_geotiff_with_alpha_root>*.tif gdal_translate mosaic.vrt mosaic.tif リンクした画像はmosaic.tifです。 サンプル入力ファイルのgdalinfo: Driver: GTiff/GeoTIFF Files: dsc00562.tif Size is 1616, 1080 …

1
ArcGIS Raster Mosaic DatasetとGDAL VRTを使用する場合
ArcGIS DesktopにはRaster Mosaic Dataset、QGISがあり、友人にはVirtual Raster Tablesがあります。 ドキュメンテーションをざっと見ると、多くの類似点が明らかになります。これらは両方とも、実際に新しいイメージを作成することなく、別の場所にあるデータの代替表現を作成または有効にします。例としては、実際に単一の画像を作成せずに多くのタイルから単一のシームレスな画像を作成したり、チャンネルをミックスアンドマッチングしたり、結果から値の範囲を選択的に削除したりします。 その類似性はどこまで広がりますか?RMDはVRTではできないことを可能にしますか?彼らは何ですか?RMDではできないVRTでできること 要するに、両方のツールチェーンに平等にアクセスし、快適に使用できると仮定すると、いつラスターモザイクデータセットを使用する必要があり、いつ仮想ラスターテーブルはその日の順序になりますか?

2
GTiffラスターの時系列スタックを単一のNetCDFに変換する
gdal-devメーリングリストからの移行: 2013年9月2日月曜日午後7時9分、David Sheanは次のように書いています。 こんにちはリスト、私は配布用の単一のNetCDFファイルとして同一の投影/範囲/解像度を持つGTiffラスターの時系列をパッケージ化しようとしています。過去1時間、オンラインドキュメントを参照し、gdal_translate、gdalbuildvrt、gdalwarpで遊んでみましたが、成功しませんでした。 既存のgdalコマンドラインユーティリティを使用してこれを行う簡単な方法はありますか?NetCDF Python APIを使用したカスタムソリューションに頼る前に、私は尋ねたいと思いました。 ありがとう。-デビッド 2013年9月3日火曜日、午前10時15分、エティエンヌトゥーリニーは次のように書いています。 あなたが望むのはおそらくgdalの範囲外です。gdal_translateがそれらを単一のファイルに入れるためには、巧妙なメタデータ管理が必要になります... gdal_translateを使用してそれらをすべてnetcdfに変換してから、python-netcdf4(numpy / scipyのものではない)を使用して時間ディメンションにスタックすることをお勧めします。 2013年9月3日火曜日午前7時55分、「Signell、Richard」は次のように書いています。 David、質問をGIS stackexchangeグループ/gis// に投稿する場合、 参考になるサンプルコードを提供します。 -リッチ ===================== 更新日9/3/13 17:04 PDT 入力データセットの1つに対するgdalinfoの出力を次に示します。 gdalinfo 20120901T2024_align_x+22.19_y+3.68_z+14.97_warp.tif Driver: GTiff/GeoTIFF Files: 20120901T2024_align_x+22.19_y+3.68_z+14.97_warp.tif Size is 10666, 13387 Coordinate System is: PROJCS["unnamed", 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["Polar_Stereographic"], PARAMETER["latitude_of_origin",70], …
12 python  gdal  netcdf 

3
Gdal Dataset.ReadAsArray()がPythonをクラッシュさせる
Windows 7 64ビットにインストールされたNumpy 1.3およびGdal 1.9.1でPython 2.6.5(32ビット)を使用しています。800 MBのImagine(.img)ラスターデータセットをNumpy配列に読み取ってラスター代数を実行しようとしていますが、次のコードを実行するとすぐにPython.exeがクラッシュします。 from osgeo import gdal g = gdal.Open(r'path\to\dataset', gdal.GA_Readonly) b = g.GetRasterBand(1) data = b.ReadAsArray() Python.exeはb.ReadAsArray()呼び出し時にクラッシュします。Google検索をいくつか行って、Gdal 1.6からWindows 7 64bitでこの問題に言及している記事を見つけましたが、当時の最新の開発バージョンで修正されたと述べました。 他の誰かがこの問題を抱えていましたか?回避策はありますか? 更新: PyDevでコードをデバッグして、どこでエラーが発生しているかを特定することにしました。私が伝えることができる(まだエラーメッセージが表示されない)ことから、g​​dal_array.pyの22行目で失敗しています。 _mod = imp.load_module('_gdal_array', fp, pathname, description) 上記のコード行に足を踏み入れると、numpyのinit .pyモジュールに移動します。numpyの最後に到達したとき。__ init __ .pyモジュール、上記のコード行に戻ります。次に、ステップインボタンを押すと、gdal_array.py内の次の行に移動しますが、スクリプトはエラーメッセージも何も表示されずに終了します。 更新#2: GDAL 1.9.1をアンインストールし、Python CheeseshopおよびOSGeoのWindows BinariesからGDAL 1.6.1をインストールしました。まだ同じ問題がありました。
12 gdal  numpy  python-2.6  array 

3
GDALとPython:特定の値を持つすべてのセルの座標を取得する方法は?
私が持っているARC / INFOバイナリグリッドを具体的には、ArcGISのは累積ラスタを流し--- ---と私は特定の値(または値の範囲で)を有する全ての細胞を同定したいと思います。最終的に、これらのセルを表すポイントのシェープファイルが欲しいです。 QGISを使用してhdr.adfを開き、この結果を取得できます。ワークフローは次のとおりです。 QGIS>ラスターメニュー>ラスター計算機(すべてのポイントを目標値でマーク) QGIS>ラスターメニュー>ポリゴン化 QGIS>ベクトルメニュー>ジオメトリサブメニュー>ポリゴン重心 重心を編集して、不要なポリ重心を削除します(これらの重心= 0) このアプローチは「仕事をします」が、削除しなければならない2つのファイルを作成し、重心のシェイプファイルから不要なレコードを削除する必要があるため、私には魅力的ではありません(つまり、それらは0です)。 既存の質問は、この主題に近づくが、それは、ArcGISの/ ArcPyに合わせだ、と私はFOSSのスペースに滞在したいと思います。 ラスターのセル値を調べる既存のGDAL / Pythonレシピ/スクリプトがあり、ターゲット値(またはターゲット範囲内の値)が見つかった場合、レコードがシェープファイルに追加されますか?これにより、UIの相互作用が回避されるだけでなく、単一のパスでクリーンな結果が作成されます。 Chris Garrardのプレゼンテーションの1つに対して作業することでショットを撮りましたが、ラスター作業は私の操舵室にありません。また、弱いコードで質問を混乱させたくありません。 正確なデータセットを使用したい場合は、ここに.zipとして配置します。 [メモの編集]後世のためにこれを残してください。om_hennersとのコメント交換を参照してください。基本的に、x / y(行/列)の値は反転しました。元の答えには次の行がありました: (y_index, x_index) = np.nonzero(a == 1000) このように反転します: (x_index, y_index) = np.nonzero(a == 1000) スクリーンショットに示されている問題に初めて遭遇したとき、ジオメトリを誤って実装したかどうか疑問に思い、次の行でx / y座標値を反転させて実験しました。 point.SetPoint(0, x, y) ..なので.. point.SetPoint(0, y, x) しかし、それはうまくいきませんでした。そして、om_hennersのNumpy式で値を反転させようとは考えていませんでした。どちらの行で値を反転しても同等であると間違って信じていました。私は、本当の問題がに関する考えるx_sizeとy_size、それぞれの値、30および-30行と列のインデックスは、細胞のための計算点の座標に使用されている場合に適用されます。 [オリジナル編集] @ om_henners、ogr(invisibleroads.com、Chris Garrard)を使用してポイントシェープファイルを作成するためのいくつかのレシピと協力して、あなたのソリューションを試していますが、ポイントがライン通過を越えて反映されるかのように表示される問題があります315/135度まで。 …
12 python  raster  gdal 

5
WindowsでのGEOSおよびShapelyのインストール
Windows 64ビットコンピューターにShapelyをインストールしようとすると、GEOSライブラリが機能しません。 これまでのところ、GDALをインストールしたOSGeo4Wインストーラーを実行しました(geosライブラリーはそのパッケージに含まれていると思います)。その後、チェックして、C:\OSGeo4W\binディレクトリにgeos_c.dll がありますが、いくつかの構成手順を逃したか、ライブラリが機能しません。 Shapelyが動作する必要があるため、pip install shapelyGDALをインストールした後も実行しましたが、明らかに動作しました(GEOSのCライブラリが見つかりませんでしたが)。 私のコードではShapelyをインポートできますが、使用しようとすると、"geos.dll"見つからないというエラーが表示されます。
12 qgis  python  gdal  shapely 

1
GDAL RasterizeLayerはすべてのポリゴンをラスターに焼き付けませんか?
GDALのRasterizeLayerを使用して、シェープファイルをラスターに焼き付けようとしています。特定のピクセルサイズを指定して、異なるシェープファイルから対象エリアラスタを事前に作成します。このAOIは、その後のすべてのラスター化(同じ数の列と行、同じ投影と地理変換)のベースとして機能します。 ただし、同じピクセルサイズと投影に基づいて、シェイプを独自のラスターに書き込むときに問題が発生します。下のリンク(画像を投稿するのに十分な担当者がいない)は、元のシェープファイルを黄褐色で示し、RasterizeLayerがデータを書き込んだ場所に濃いピンク色を示しています。淡いピンクは、濃いピンクのラスターデータのnodata値です。灰色は、シェープファイルの書き込みが完了したAOIに基づいています。 シェープファイルポリゴンの範囲を考えると、表示されるデータの下にある2つのピクセルだけでなく、下の2つの角にも書き込み値が表示されると予想されます。ただし、明らかにそうではありません。 以下は、これらを生成するために使用したコードです。すべての形状はQGISを使用して作成され、すべて同じ投影で作成されました。(表示されている写真のグリッディングは、使用しているピクセルサイズを示すためのものであることに注意してください。) from osgeo import ogr from osgeo import gdal aoi_uri = 'AOI_Raster.tif' aoi_raster = gdal.Open(aoi_uri) def new_raster_from_base(base, outputURI, format, nodata, datatype): cols = base.RasterXSize rows = base.RasterYSize projection = base.GetProjection() geotransform = base.GetGeoTransform() bands = base.RasterCount driver = gdal.GetDriverByName(format) new_raster = driver.Create(str(outputURI), cols, rows, bands, datatype) new_raster.SetProjection(projection) …

1
PythonでGDALに例外を適切に発生させる方法はありますか?
私はPythonでGDALを使用していますが、GDALで例外を発生させて、有用なことを行えるようにしたいと考えています。たとえば、gdal.Open()でファイルを開くことができない場合、gdalがNoneを返す代わりに例外をスローしたいと思います。エラーをsys.stdoutにダンプするのではなく、キャプチャする方法が欲しいのです。 現在、このgdal.UseExceptions()関数を使用しようとしましたが、問題に遭遇しました。ときにgdal.UseExceptions()設定されていることは、特定のエラーを隠し、それらに例外を発生させないように思われます。たとえば、ERROR 5: Access window out of range in RasterIO() Requested (1,15) of size 25x3 on raster of 26x17消えて例外は発生しません。これはかなり危険なようです。 どんなアイデアでも感謝します、ありがとう。
12 python  gdal  ogr  osgeo 

1
ラスターデータをポリゴンデータに変換する
ラスタデータをポリゴンデータに変換しようとしています。以前は、shapefile.pyを使用して、ラスター上の個々の緯度/経度にポイントデータを作成していました。しかし、それは巨大なデータを作成し、それをクエリすることは大きな問題になります。 したがって、ラスターデータをポリゴンデータに変換できればさらに良いでしょう。SAGAは見つかりましたが、.grdファイルしか変換できないようです。GeoTIFF形式または一般的なラスターデータセットをポリゴンに変換する方法はありますか? 更新:gdal_polygonize.pyを使用する 私は次のコード行を実行しています、 gdal_polygonize.py ~/development/Biodiversity/biodiversity/GeoTIFF/bio11.tif -f "ESRI Shapefile" bio11.shp しかし、次のエラーが表示されます。私のgdalバージョンは1.9.0です。 Traceback (most recent call last): File "/usr/bin/gdal_polygonize.py", line 34, in <module> import gdal, ogr, osr File "/usr/lib/python2.7/dist-packages/gdal.py", line 2, in <module> from osgeo.gdal import deprecation_warn File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 21, in <module> _gdal = swig_import_helper() File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 17, in …

2
TRI、TPI、またはラフネス
私は、現場での観察を行うことができない場所選択投影法に取り組んでいます。選択プロセスの重要な要素は、基礎となる地形の堅牢性です。 GDALdemを使用して、派生した堅牢性マップを作成する予定です。私はウィルソンらの両方を読みました。2007論文およびGDALdemドキュメント。どちらもインデックスの生成に使用されるアルゴリズムについての洞察を提供しますが、インデックスの適合性の評価を提供するのはウィルソンの論文のみです。 私がその場で観察することはできないので、選択されたインデックスが表面粗さを推定することが重要です。 あなたの経験では、どのインデックスを使用しましたか、どのアプリケーションに、そしてなぜですか?

7
GEOS、PROJ、GDAL / OGRをMac OS Xのpython virtualenvにインストールする
私は、Mac OS XのGISプロジェクトで動作するように、孤立したpython virtualenvをセットアップしようとしています。GEOS、PROJ、GDAL / OGRをkyngchaosサイト(http://www.kyngchaos.com/)からインストールする必要があるようですソフトウェア/フレームワークであり、easy_installではなく、virtualenvにインストールします。正確ですか? kyngchaosで利用できるダウンロードはpkgインストーラーであり、単なるPythonモジュールの卵またはbdistではありません。そのため、インストーラがファイルを/Library/Framework/geos.frameworkフォルダにコピーするだけでなく、環境に対して他に何をしているのかについてはよくわかりません。 GEOS、PROJ、GDAL / OGRの特定のバージョンを新しいpython virtualenvにインストールするにはどうすればよいですか?この問題に関するあなたの助け/提案に感謝します。
12 gdal  ogr  osx 

3
gdalmergeが生成するファイルが大きすぎる
gdal2tilesを使用して、結果の巨大なジオティフファイルからタイルを生成できるように、60個のジオティフファイルを1つの巨大なファイルにマージしようとしています。 マージプロセスは機能しましたが、何らかの理由で、予想される19GBではなく78GBのサイズのファイルが生成されます。そこで何がうまくいかなかったかはよくわかりません。 試してみる理由は、60個のジオティフを1つずつ並べると、マップの境界線に空白ができるからです。

3
FionaでFileGDB(Esriファイルgdb API)ドライバーのサポートを追加する方法は?
それについてはたくさんの質問がありましたが、誰も私の問題を解決しませんでした。 私はマシンを持っています: Windows 7 x64 Python 3.4.3 x64 gdalがインストールされました:gdalinfo --version --> GDAL 1.11.4, released 2016/01/25; ここからホイールGDAL-1.11.4-cp34-none-win_amd64.whlからグダルを取り付けました GDALはにインストールされC:\Python34\Lib\site-packages\osgeoます。そこには、gdalおよびogrおよび.pydファイル用の.exeファイルがたくさんあります。 fiona installed:Fiona-1.6.3-cp34-none-win_amd64.whl同じWebサイトのwheelからインストールされました。 このコードを実行でき、正常に実行されます。 import gdal import ogr from gdalconst import * shp = r"C:\Data\GIS\PTS.shp" driver = ogr.GetDriverByName('ESRI Shapefile') dataset = driver.Open(shp) layer = dataset.GetLayer() layer.GetFeatureCount() schema = layer.schema fields = [field.GetName() for field …

1
GDALはPythonでポリゴン化して空白のポリゴンを作成しますか?
PythonでPolygonize関数を使用すると問題が発生します。このためのクックブックの例はここにあります。 私のコードの関連部分は次のとおりです。 sourceRaster = gdal.Open('myraster.tif') band = sourceRaster.GetRasterBand(1) bandArray = band.ReadAsArray() outShapefile = "polygonized" driver = ogr.GetDriverByName("ESRI Shapefile") if os.path.exists(outShapefile+".shp"): driver.DeleteDataSource(outShapefile+".shp") outDatasource = driver.CreateDataSource(outShapefile+ ".shp") outLayer = outDatasource.CreateLayer("polygonized", srs=None) gdal.Polygonize( band, None, outLayer, -1, [], callback=None ) outDatasource.Destroy() sourceRaster = None 私はバンドに関連情報があることを知っています、ここにスニペットがありbandArrayます: array([[ 4., 4., 3., 3., 3., 2., 2., …
12 python  gdal 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.