問題タブ [gdal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python 3.2 Windows 7 64 ビットで利用できる GDAL ビルドはありますか?
Python 3.2 Windows 7 64 ビットで GDAL を使用することに興味があります。適切なビルドに出くわしていません。利用可能なビルドがない場合、Python 3.2 Windows 7 64 ビット用に自分で GDAL をビルドするにはどうすればよいでしょうか。
python - Numpy Array の反復処理の高速化
Numpy を使用した画像処理、具体的には実行中の標準偏差ストレッチの実行に取り組んでいます。これは X 列を読み取り、Std を見つけます。パーセンテージの線形ストレッチを実行します。次に、列の次の「グループ」に反復し、同じ操作を実行します。入力画像は 1 GB、32 ビット、シングル バンド ラスターであり、処理に非常に長い時間 (数時間) かかります。以下はコードです。
おそらくボトルネックが発生している場所である 3 つの入れ子になった for ループがあることに気付きました。「ボックス」で画像を処理する場合、つまり、[500,500] の配列をロードし、画像処理時間を繰り返すのは非常に短いです。残念ながら、カメラのエラーにより、バンディングを避けるために非常に長いストリップ (52,000 x 4) (y,x) で反復する必要があります。
これをスピードアップするための提案は大歓迎です:
ここに更新があります:プロファイルモジュールを使用せずに、コードの小さなセクションを関数にラップしたくなかったので、print ステートメントと exit ステートメントを組み合わせて使用して、どの行が最も時間がかかっているかについて大まかなアイデアを得ました。幸いなことに(そして、私がどれほど幸運だったかを理解しています)、1行ですべてが引き下げられました。
出力ファイルを開いて配列を書き出すとき、GDALは非常に非効率的であるようです。これを念頭に置いて、変更した配列「outBlock」を Python リストに追加し、チャンクを書き出すことにしました。変更したセグメントは次のとおりです。
outputBlock が変更されました...
フィニッシャーは、エッジを処理する単純なフラグです。リストから配列を作成する方法を理解するのに少し時間がかかりました。その中で、numpy.array を使用すると 3 次元配列が作成され (理由を説明したい人はいますか?)、write array には 2 次元配列が必要です。合計処理時間は、2 分弱から 5 分までさまざまです。時間の範囲が存在する理由は何ですか?
投稿してくださった皆様、本当にありがとうございました!次のステップは、実際に Numpy に取り掛かり、追加の最適化のためのベクトル化について学習することです。
python - Numpy - 数値を NaN に置き換える
numpy で数値を NaN に置き換えようとしており、逆を除いて numpy.nan_to_num のような関数を探しています。
それぞれが一意に定義された NoDataValue を持つことができるため、さまざまな配列が処理されると、この数は変化する可能性があります。辞書を使用している人を見たことがありますが、配列は大きく、正と負の両方の浮動小数点数でいっぱいです。これらすべてを何かにロードしてキーを作成しようとするのは効率的ではないと思います。
私はany()またはall()を使用する必要がある次のnumpyを使用してみました。要素ごとに繰り返す必要があることは理解していますが、組み込み関数でこれを実現できることを願っています。
NDV は GDAL のデータなしの値であり、配列は numpy 配列です。
マスクされた配列はおそらく進むべき道ですか?
python - GDALラスター出力
PythonでGDALを使用して.tifファイルを作成しようとしています。ファイルを作成していますが、ファイルを参照するたびに「プレビューは利用できません」と表示されます。現在、入力ファイルのコピーを作成するために取得しようとしています。これが私のコードです:
============================更新===================== ====================いくつかの発見がありました...統計的正規化を使用して、ある数値形式から別の数値形式に変換する方法を研究しました。入力データを処理し、次のアルゴリズムを使用してuint8に変換しました。私がコピーしたかった主な理由は、私が読み取り可能であることを証明し、計算に基づいて更新されたデータを書き出すことでした。
1色の色合いではなく、カラーランプを使用して出力データを書き出す方法は何でしょうか。
python - GDAL WriteArray の問題
私はpython GDALを利用してラスターデータを.tifファイルに書き込んでいます。コードは次のとおりです。
出力データセットを閉じてから再度開くまでの出力は異なります。
変数を None に設定する前に、ファイルが書き込まれて保存されていることを確認するために欠落しているコマンドはありますか? 私は運がないので、次の両方を追加しようとしました:
python - Mac OS X Lion への GDAL のインストール
以下を使用して、Mac OS X Lion に GDAL 1.7.1 をインストールしようとしています。
そしてエラーを取得します:
これは正しいコンパイラですか?どうすればこれを機能させることができますか?
アップデート:
Xcode がインストールされているので、もう少し進めます。
c++ - GDAL を MSVS 2008 C++ プロジェクトに組み込む
私は python で GDAL を試してきましたが、地形分析に使用することで大きな成功を収めました。私の会社は、GDAL が主要なプラットフォームであるため、Visual Studio で GDAL を使用できるかどうか/どのように使用できるかを確認したいと考えています。
ここの「ソースからのビルド」の下にある指示に従って、GDAL v1.8 をダウンロードしてインストールしました。MSVS は初めてで、新しいプロジェクトで GDAL ライブラリを利用するために必要なヘッダーを含める方法がわかりません。
ライブラリを含めるにはどうすればよいですか? あなたの助けは大歓迎です!
raster - ファイルをベクトル (GML または shp) として XYZ 形式で保存します。
QGISソフトウェアを使用しています。各ラスター セルの値をラベルとして表示したいと思います。私の考え (QGIS のプラグインや簡単にできる機能を知りません) は、gdal2xyz.py を使用してラスターを座標値形式にエクスポートし、それをベクター (GML またはシェープファイル) として保存することです。この2番目のタスクでは、使用しようとします
*gdal_polygonize.py:*
gdal_polygonize.py rainfXYZ.txt rainf.shp GML 形式の出力 rainf.shp を作成します。0...10...20...30...40...50...60...70...80...90...100 - 完了。
残念ながら、作成したファイルを読み込むことができません (拡張子を .gml に変更しても)
ogr2ogrツールはこのフォーマットを認識さえしません。
はい - 申し訳ありませんが、そのような情報を追加するのを忘れていました。
一般に、CSV ファイルを準備した後 (-csv オプションを指定して gdal2xyz.py を使用)、ファイルの先頭に "Longitude,Latitude,Value" (引用符なし) という 1 行を追加する必要があります。
次に、VRT ファイルを作成する必要があります。
コマンド「ogr2ogr -select Value Shapefile_name.shp Shapefile_name.vrt」を実行します。ファイル evap_OBC.shp と他の 2 つの関連ファイルを取得しました。
gis - GDALまたはその他のオープンソースソリューションを使用して、同じ値のポイントをシェープファイルからポリゴンに集約する方法
約19,000ポイントのシェープファイルがあります。基本的にラスターからエクスポートします。次に、同じ値を持つポイントを集計してポリゴンを抽出する必要があります。集計に使用する値のフィールドは、ポイントの標高を使用して毎回動的に計算されます。今、私はポリゴンを吐き出す必要があります。GDALを使用してそれを行うにはどうすればよいですか?それを行うためのユーティリティはありますか?他のオープンソースソリューションは大歓迎です。「AggregatePoints」というツールボックスを備えたArcGISを使用していますが、どういうわけかそのライセンスがありません。