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

ラスターは、通常は画像のような形式で格納される、値の規則的なグリッドで構成されるデータ形式です。

1
Rでlat / lonからUTMにラスターを再投影しますか?
バッファーを機能させるためには、UTMに変換する必要があります。 wets<-readOGR(dsn=".",layer="shapefile") r.raster <- raster() extent(r.raster) <- extent(wets) res(r.raster) <- 100 wets.r <- rasterize(wet,r.raster) plot(wets.r) wetsbuf<-buffer(wets.r,width=500) コードの最後の行であるバッファーの作成中に、次の警告が表示されます。 Warning message: In couldBeLonLat(x) : raster has a longitude/latitude CRS, but coordinates do not match that ここに情報があります summary(wets.r) layer Min. 1 1st Qu. 1 Median 2 3rd Qu. 9 Max. 11 NA's 52629 …

1
RasterLayerの@ data @ valuesスロットには、実際の値ではなくlogical(0)のみが含まれているのはなぜですか?
NDVIのラスターを読み取ると、手動で設定するまで@ data @ valuesスロットに実際の値が含まれないのは、理由の一番下に到達しようとしています。例えば: NDVI <- raster("./filename.tif", crs="+proj=longlat +datum=WGS84") NDVI@data@values ## returns: logical(0) これは、同じ方法で読み込んだ他のラスターでは発生しなかったため、混乱しています。もっと具体的になりたいのですが、以前と違うことをしたことは覚えていません。以下を使用して、値を手動で取得するのは簡単です。 NDVI1@data@values <- getValues(NDVI19east) しかし、すべてのファイルに対してこれを行う必要があるのは、まだ苦痛です。したがって、2つの部分から成る質問: そもそもなぜこれが起こったのですか?ラスターファイルの格納方法(つまり、メモリにあるかどうか)に関係があることは理解していますが、データにアクセスするために使用するメソッドがどのように変更されるかを本当に理解することはできません... ファイルをRasterLayersとして読み取り、それらのファイルの値にアクセスするために、このプロセスを自動化する方法はありますか(おそらくlapplyに似た方法を使用して)?私の現在のプロジェクトでは、NDVI、Rainfall、およびその他の環境変数の6〜10個のファイルを一度に読み取り、それらを組み合わせていくつかの加重オーバーレイを実行します。データをインポートするプロセスを自動化すると役立ちます。
12 raster  r  memory 

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


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 

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
ラスターデータをポリゴンデータに変換する
ラスタデータをポリゴンデータに変換しようとしています。以前は、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 …

1
QGISラスター地形分析の曲率フィルターを理解していますか?
勾配、アスペクト、曲率を計算するいくつかのQGis-1.7.4ラスターフィルターのソースコードを読みました。 合計曲率を計算するフィルターには、私を困惑させる式があります。 ソースファイルは現在のバージョンのQGisにあり、次のパスがあります。 qgis-1.7.4 / src / analysis / raster / qgstotalcurvaturefilter.cpp このフィルターの目的は、9セルのウィンドウで表面の曲率を計算することです。機能コードは次のとおりです。 float QgsTotalCurvatureFilter::processNineCellWindow( float* x11, float* x21, float* x31, float* x12, float* x22, float* x32, float* x13, float* x23, float* x33 ) { ... some code deleted ... double dxx = ( *x32 - 2 * *x22 + …

4
コーナータッチポリゴンを1つのフィーチャに結合する
ラスタからポリゴンレイヤを作成しましたが、各ポリゴンに1つの分類ID(および計算されたエーカー)しかありません。すべてのタッチフィーチャをより大きな個々のポリゴンに「分解」したいと思います。赤で囲まれた3つの領域(下)には、正方形のポイントにのみ接する緑のポリゴン/ピクセルが含まれています。直感的に(エンドユーザーの観点から)、円で囲まれた領域内のすべての緑のポリゴンを接続し、単一のポリゴンとして扱う必要があります。これは、フィーチャ/セルが接触しない「ブレーク」がないためです。 ArcGISを使用してこれらすべての機能を「結合」または「解決」するための最良の方法は何でしょうか。ArcInfoおよびSpatial Analystエクステンションがあります。Spatial Analystでこれを行うためのより良い方法論があれば、その方法でポリゴンを前処理することもできます。

1
生息地タイプのラスターマップをランダムに変更しますか?
スコットランドの特定の地域の生息地タイプのラスターがあります。生息地の変化を伴う将来の生息地シナリオを作成して、鳥種の個体群の生存率を評価する必要があります。 たとえば、将来的には、この地域の森林が10%増える可能性があります。特定のサイズのブロックで林業をランダムに追加して、現在のマップを変更したいと思います。私はこれまでのところ、林業が発生する可能性のある地域を特定するラスターからランダムなポイントを選択し、ある種のセルオートマトンを使用して正しいサイズのブロックを成長させるという方針に沿って考えています。 これはこれについて最善の方法のように思えますか?より良い方法はありますか? これが最良の方法である場合、できればRでこれを行うにはどうすればよいですか?(私は現在、CellularAutomataパッケージと共に「spatstat」のrpoints関数を見ています) また、GRASS、QGis、ArcMap 10のいずれかに簡単な方法があればアクセスできます。
12 raster  r 

5
大判スキャナーなしで大きな紙の地図をスキャンする方法は?
大判スキャナーを使用せずに、紙の地図をラスターとしてインポートするために使用した方法はありますか?地図を切り取りません。私は、人々が通常のデジタルカメラのようなものを使用してどれだけの成功を収め、どのソフトウェアを使用して画像をジオリファレンスできる程度まで処理したのか疑問に思っています。マイクロソフトのPhotosynthソフトウェア、またはCanonステッチソフトウェアのようなものを試すこともできます。
12 raster 

4
LASファイルの2つのデジタル標高モデル(DEM)を比較しますか?
2つのLiDARファイル(.las)がありますが、1つは元のXポイントです。もう1つは、最初の.lasファイルのコピーですが、Yポイントがあります(YはXより小さい)。 次に、これら2つの.lasファイルのデジタル標高モデル(DEM)を比較し、それらの違いを視覚化します。 他の種類の比較の中で、RMSE、標準偏差などの情報を取得したい。 誰がどのソフトウェアを比較できるか、比較情報を取得する方法を教えていただければ幸いです。

7
QGISでポイントにラスターを変換する方法
QGISでRasterをPoint Vectorに変換したかった。出来ますか?QGISにはポリゴンに変換するオプションがありますが、ポイントに変換するツールが見つかりませんでした。誰も私を助けることができますか?
12 qgis  raster 

3
gdalbuildvrtに相当するPython
GDAL Pythonバインディングを使用してgdalbuildvrtユーティリティと同じタスクを実行する方法はありますか?これまでのところ、単一のデータセットのvrtを作成し、xmlを手動で編集する以外に、これを行う方法を見つけていません。複数のラスターからモザイクを作成します(基本的にモザイクを実行します)。これは純粋なPythonを使用して可能ですか?私の他のオプションは、サブプロセスを使用して単にgdalbuildvrtを呼び出すことです。


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