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

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

3
リサンプリングされたオルソフォトの概要のnodata領域を白にしますか?
オルソフォト画像のセットがあり、それぞれが完全にデータで満たされていますが、一緒に配置すると、カバレッジが長方形を形成しないため、データ領域がありません。 MapGuideでは、ユーザーが印刷時に黒インクを浪費する必要がないように、これらのnodata領域を白で表示できるようにする必要があります。 元のフル解像度の画像を直接表示する大規模な場合、これは問題ありません。地図の背景色を白に設定するだけで、オルソ写真がない領域に背景が表示されます。 パフォーマンスのために、これらのすべてのソース画像をリサンプリングされた複合オーバービュー画像にマージして、より多くのオルソ写真を一度に表示できる小さな縮尺で表示できるようにする必要があります。 GDALを使用して概要をマージおよびリサンプリングしようとしましたが、デフォルトでは、nodata領域に黒色のリサンプリングされた複合GeoTIFFタイルが作成されているように見え、MapGuideでは、カラーラスタで黒色を透明に設定できません。 私が効率的に欲しいものを手に入れる方法はありますか? 私はGDALを使用することになった答えを提供しましたが、他の画像処理ユーティリティとGISアプリケーション(オープンソースとプロプライエタリの両方)を使用したソリューションを見たいです。
9 gdal  raster 

1
.tiffがタイリングされているかどうかをGDALは報告できますか?
私が使用している特定のソフトウェアは、タイル化された.tiff DEMをサポートしていません。GDALユーティリティを使用して、.tiff DEMがタイリングされているかどうかを確認する方法はありますか? gdalinfo dem.tif 圧縮タイプとインターリーブタイプ(バンド/ピクセル)を報告しますが、私の知る限り、インターリーブタイプはタイリングとは何の関係もありません。 tiff DEMを作成オプションフラグを使用して翻訳して、期限切れのDEMを作成できますが、これには、レポートだけでなく、翻訳も必要です。 gdal_translate -co TILED=NO dem.tif dem_notile.tif

2
高さマップ用のGeoTiffから16ビットtiff、pngまたはbmp画像
Mars Hiriseステレオ画像をISIS3とASPで処理して取得したGeoTiffを持っています。16ビットのグレースケールtiff、pngまたはbmpファイルに変換して、ゲームエンジン、アンリアルエンジン4のハイトマップとして使用したいのですが、gdal_translalteで変換してみました。 16ビットでのみ8ビットで、16ビットではファイルのサイズが大きすぎるというメッセージが表示されます。これは、バイト単位のファイルサイズ、2つのチャネル、イメージサイズに関係しているようです。インポート。次に、gdal_translateを使用して、tiffとpngに変換してみましたが、両方の画像を開いたときに真っ黒です。BelTerGISでGeoTiffを開いてみましたが、それは単なる平面です。私はQGISでGeotiffを開いたところ、情報があり、平らで黒いだけではないことがわかりました。 誰かがgdal、qgis、または何か他の方法でこれを行う方法を知っていますか?私はgdalとqgisの両方を使用するのは非常に新しいので、他の人の例に従っているだけですが、それを実行する方法があるかもしれません。


2
Python GDAL ReadAsArrayの最適化
私はGDALのReadAsArrayメソッドを使用して、numpy(具体的には再分類)を使用してラスターデータを処理しています。ラスターが大きいため、配列をブロックで処理し、各ブロックを反復処理して、GeoExamplesの例と同様の方法で処理します。 これらのブロックのサイズを設定して、ラスター全体の処理にかかる時間を最適化する方法を検討しています。numpy配列サイズの制限と、ラスタの「自然な」ブロックサイズを使用するためのGDAL GetBlockSizeの使用に注意して、「自然な」サイズの倍数で構成されるいくつかの異なるブロックサイズを使用してテストしました。以下のサンプルコードで: import timeit try: import gdal except: from osgeo import gdal # Function to read the raster as arrays for the chosen block size. def read_raster(x_block_size, y_block_size): raster = "path to large raster" ds = gdal.Open(raster) band = ds.GetRasterBand(1) xsize = band.XSize ysize = band.YSize blocks = 0 …
9 python  raster  gdal  numpy  array 

8
ラスターはpython、gdal、numpyを使用して再分類します
pyhton、gdal、および/またはnumpyを使用して、10クラスのラスターから8クラスのラスターにラスターファイルを再分類したいと思います。クラスは整数として表されます。この投稿の手順に従って、GDALとPython、numpy.equal doc、およびgdal_calc doc を使用してラスタを再分類しました。しかし、役に立たない。 再分類されるラスターファイルには、0〜11の範囲の整数値が含まれ、値100および255も含まれます。次に、再分類(from value:to value)を示します。 nodata:4、0:4、1:1、2:2、3:3、4:3、5:4、6:5、7:5、8:6、9:7、10:8、100: nodata、255:nodata、 私ができることは、tkinter.FileDialogを使用して再分類するラスターファイルを選択し、retrans = gdal.Open(raster、GA_ReadOnly)でgeotransformやピクセルサイズなどのラスター情報を取得することです。 上記を解決するにはどうすればよいですか? 場合によっては、再分類されるラスターがかなり大きくなる可能性がある(500MBから5GB)ことに注意してください。

2
Windows 7のPythonにGDALをインストールしますか?
Python用のgdalライブラリのインストールに問題があります。私はWindows 7を使用していて、Python 2.7.9を実行するWinPython 2.7.9.2を持っています。ラスター操作にgdal + Pythonを使用したいと思います。 私がしまし読ん PIPは、Windows上でパッケージをインストールするための好ましい方法であり、そのは、Python 2.7.9を詰めたということ。PATH環境変数を編集して、pipとpythonを含めました。 ;c:\~\WinPython-32bit-2.7.9.2\python-2.7.9\Scripts\;c:\~WinPython-32bit-2.7.9.2\python-2.7.9\ コマンドプロンプトから直接pythonとpipの両方を実行できるようになりました。 入力するとエラーが表示される c:\>pip install gdal それは与える: C:\~\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Include\xlocale(342) : warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc extensions/gdal_wrap.cpp(2855) : fatal error C1083: Cannot open include file: 'cpl_port.h': No such file or directory …

1
GDALPolygonizeがArcGIS Raster to Polygonよりもはるかに遅いのはなぜですか?
PythonスクリプトでGDALPolygonize()を使用してラスターをポリゴン化しようとしています。スクリプトは、昨日の午後5時にポリゴン化を開始し、現在も午前9時30分にポリゴン化しています。どれだけ進んでいるかはわかりませんが、Windowsエクスプローラーを更新すると、出力シェープファイルのファイルサイズの変化を確認できるので、まだ進んでいることがわかります。 私のラスターはかなり大きいですが、それでもそれほど長くかかるとは思いません。私のラスターは35,486列、23,682行で、セルサイズは1メートルです。これは、値1がデータを表し、0がNoDataのバイナリラスタです。 ArcGISで、Conversion ToolboxのRaster to Polygonを使用してポリゴン化した場合、56秒かかりました。結果のシェープファイルは200MBですが、GDALPolygonizeによってまだ作成されているシェープファイルはまだ100MBしかありません。そのため、GDALは終夜実行した後、半分ほどの作業が完了したと思います。 仕様:Windows 7 64ビット、8 GB RAM、GDAL 1.10 64ビット、ArcGIS Desktop 10.2、64ビットバックグラウンドジオプロセシングfor ArcGISデスクトップ、Python 2.7.3 64ビット 更新 2日目-GDALPolygonizeはまだ実行中です。それは一晩で2晩続けて、終わらなかった。ArcGISは56秒かかりました。

2
OGR CreateLayerがTypeErrorを返す
既存のラスターの空間投影に基づいてシェープファイルレイヤーを作成しようとしています。(最終的に、これはgdal.Polygonizeで使用され、ラスターデータから形状を取得します。)ただし、CreateLayerを使用しようとすると、エラーが発生します。 raster_uri-シェープファイルにしたいラスターファイルの場所。私はこれが存在することを知っています。 out_uri-場所新しいシェープファイルを印刷する場所。 layer_name-文字列のレイヤー名入力。 filed_name-文字列フィールド名入力。 これは私が使っていたコードです。 raster = gdal.Open(raster_uri) driver = ogr.GetDriverByName("ESRI Shapefile") ds = driver.CreateDataSource(out_uri) spat_ref = osr.SpatialReference() proj = raster.GetProjectionRef() spat_ref.ImportFromWkt(proj) layer = ds.CreateLayer(layer_name, spat_ref, ogr.wkbPolygon) 次のエラーメッセージが表示されます。 TypeError: in method 'DataSource_CreateLayer', argument 2 of type 'char const *' spat_refのタイプの出力が表示される<class 'osgeo.osr.SpatialReference'>ので、どのchar const *が不満を言っているのかわかりません。 興味深いことに、同じファイルを使用してpythonシェルからこれをすべて実行しようとすると、レイヤーは正常に作成されます。何が問題になるのかについてのアイデアはありますか?
9 python  gdal  ogr  osgeo 

3
OGR情報-空間インデックスを確認しますか?
ベクターレイヤー(シェープファイルなど)に関する情報を取得する場合は、ogrinfoを使用できます。 ogrinfo -so myshapefile.shp mylayer これにより、シェープファイルに関する多くの関連情報が返されます。空間インデックスが存在するかどうかを返すことはできますか?もしそうなら、空間インデックスに関する情報にアクセスできますか? 注:シェープファイルを含むフォルダーを開いて.sbnまたは.sbxを探すのは簡単なことなので、質問はogrinfoに固有です。
9 gdal  ogr 

3
PyQGISまたはPythonを使用して多くのラスターを整列させますか?
PythonまたはPyQGISを使用して、多くのラスターをいくつかのピクセルサイズ、範囲、および投影システムで整列させたい。 最初に考えるのは、GDALを使用することです。 gdalinfo(参照ラスターから情報を検索するため) gdalwarp(投影システムとピクセルサイズを変換するため) gdal_translate(範囲を変換するため) それらは機能しますが、Pythonでこれらのツールを一緒に使用するのは簡単ではなく、この作業を完了するにはかなりの時間が必要です。また、QGISおよびAlign Rasters Tool を使用して簡単に行うことができます。 PyQGISまたはPythonを使用してこれを行うツールはありますか?(より多くのプログラミングを自動的に行いたい) 更新 私はこの質問からこのコードを見つけます: from osgeo import gdal, gdalconst inputfile = #Path to input file input = gdal.Open(inputfile, gdalconst.GA_ReadOnly) inputProj = input.GetProjection() inputTrans = input.GetGeoTransform() referencefile = #Path to reference file reference = gdal.Open(referencefile, gdalconst.GAReadOnly) referenceProj = reference.GetProjection() referenceTrans = reference.GetGeoTransform() bandreference …
8 qgis  python  raster  pyqgis  gdal 

4
同じように定義されたCRS間のProj.4 / GDAL / QGIS変換
私は、オープンソースソフトウェアがオーストラリアの新しいデータを適切に処理できるように支援しています。GDA2020プロジェクトの詳細については、ICSMのWebサイトを参照してください。 現在、QGISにはGDA2020の定義が含まれていますが、GDALを介して理解しています。 GDA2020座標参照系の例は次のとおりです。 +proj=utm +zone=55 +south +ellps=GRS80 +units=m +no_defs GDA94 CRSを見ると、次のように定義されています。 +proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs ご覧のとおり、これらは非常によく似ています。 現在、2つのCRSはまったく同じように定義されていますが、GDA94からGDA2020では、北東に約1.5 mの座標のシフトがあります。(NTv2形式のグリッドシフトファイルがあり、間もなく準備が整い、正確な変換が可能になりますが、それはこの質問の目的ではありません。) あなたはGDA94とGDA2020の間で変換する場合でも、今 QGISを使用して、座標系に変化はありません。それは本質的にそれを異なって分類するだけです。 GDA94とGDA2020の間のデフォルトの変換(ただし不完全)である、Proj.4または他のオープンソースツールに実装された単純な7パラメーター変換が必要ですか? それとも、ツールが常に変化しないということですか? これはどのように処理する必要がありますか? (そして、グリッドを使用した変換が理想的であり、これはこのQGISプラグインを含むいくつかの方法で処理されることを再度述べておきます。)

3
GDALを使用してラスターを再分類しますか?
複数の離散値を含むラスターを再分類できるGDALのツールを探しています。これまでのところ、GDALとPythonを使用してラスタを再分類しています。ただし、ここでは単一の値しか処理できないようです。 スイートのネイティブツールのようなものはありますか?

1
ogr2ogr TPSスプラインメソッドが進行性エラーを作成する
私は次のようなcmdコマンドでogr2ogrスプライン変換を使用してシェープファイルを調整しようとしています: C:\OSGeo4W64\bin\ogr2ogr.exe -f "ESRI Shapefile" C:\path\output.shp -tps --optfile C:\path\gcp.txt C:\path\input.shp 私は1000を超えるコントロールポイントを持っています(したがって、それらは別のファイルにあります)。そして、私はこの方法の精度に奇妙な問題があります。この質問で、ogr2orgのスプライン法は実際には正確ではないことをすでに見ました。しかし、GCPの数とデータセットの範囲により、精度が北から南に向かって劇的に低下していることがわかります。このような: 北では、この方法はほぼ正確(0.001 mの誤差)であり、スムーズに精度が失われ、南では、約60 mの誤差が生じます。 すべてのGCPのRMSEを計算し、それを座標とコントロールポイントのID番号に対してプロットしました(ほとんどの場合、北から始まるGCPを作成していました)。そして、私が持っています: gdalのソースコード(gdal_tps、thinplatespline、ogr2ogr_libモジュールを見つけました)を見つけて読み込もうとしましたが、その言語(C ++?)がわからず、メソッドのしくみがわかりません。ogr2ogrの多項式1、2、および3次は正常に機能しています(これらは正確な方法ではありませんが、エラーは進行していません)。 では、なぜY座標に応じてスプライン精度が対数的に減少するのでしょうか。(X座標の場合、16000 mごとに精度のジャンプが見られます)。これはどのようにして可能ですか?この調整方法はどのように機能しますか?この問題を解決するにはどうすればよいですか?(Windows 7、64ビットを使用しています)

1
QGISはどのようにして非常に大きなラスターデータセット(約40GB)を開くのですか?
サイズが約32000x32000の大きなGeoTiffファイルを開くと、GDALライブラリに問題があります。ReadAsArrayPythonのnumpy配列の最大サイズのため、関数を使用できません。しかし、なぜQGISがそのファイルを簡単に開けるのか疑問に思っています。背後にあるテクニックは何ですか?

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