ベクターのラスター化について

1,388 views
Skip to first unread message

樋田泰之

unread,
Mar 15, 2021, 4:52:45 AM3/15/21
to QGIS初心者質問グループ
いつもお世話になっています。

ベクターデータのラスタ化をしたあと、等高線を作ろうとしておりますが、
ベクターのラスター化ですでに詰まってしまっています。

使用環境は
・WIN10 64bit
・QGIS 3.16です。

①QGISを立ち上げた後、CRSを”JGD2011 CSⅦ” EPSG:6675にします。
②レイヤ→レイヤの追加→CSVテキストレイヤの追加で添付のデータを入れます
③エンコーディングをUTF-8で、
ジオメトリ定義をポイント座標X→field3、Y→field2、Z→field4で追加します。
※ここまではしっかり表示されます。

④ラスタ→変換→ベクタのラスタ化で
・焼き込む値の属性 Z値なので→field4
・出力ラスタサイズの単位→地理単位
・水平方向の解像度・鉛直方向の解像度→3000
・出力領域→キャンパス領域を使用
・出力バンドを指定→-9999
・出力ファイル保存先→デスクトップを指定

⑤出力されず
ログを見ると
--------------------------------------------------------------------------------------------------

QGIS version: 3.16.4-Hannover

QGIS code revision: 654e76b3cb

Qt version: 5.11.2

GDAL version: 3.1.4

GEOS version: 3.8.1-CAPI-1.13.3

PROJ version: Rel. 6.3.2, May 1st, 2020

プロセシングアルゴリズム...

アルゴリズム 'ベクタのラスタ化(rasterize)' を開始しています...

Input parameters:

{ 'BURN' : 0, 'DATA_TYPE' : 5, 'EXTENT' : '-22205.036800000,-21894.295200000,-104990.708300000,-104790.945700000 [EPSG:6675]', 'EXTRA' : '', 'FIELD' : 'field_4', 'HEIGHT' : 3000, 'INIT' : None, 'INPUT' : 'delimitedtext://file:///C:/Users/2142/Desktop/%E7%AD%89%E9%AB%98%E7%B7%9A%E7%94%A8210310.csv?type=csv&useHeader=No&maxFields=10000&detectTypes=yes&decimalPoint=,&xField=field_3&yField=field_2&zField=field_4&crs=EPSG:6675&spatialIndex=yes&subsetIndex=no&watchFile=no', 'INVERT' : False, 'NODATA' : -9999, 'OPTIONS' : '', 'OUTPUT' : 'C:/Users/2142/Desktop/aaa.tif', 'UNITS' : 1, 'WIDTH' : 3000 }


GDAL command:

gdal_rasterize -l None -a field_4 -tr 3000.0 3000.0 -a_nodata -9999.0 -te -22205.0368 -104990.7083 -21894.2952 -104790.9457 -ot Float32 -of GTiff "file:///C:/Users/2142/Desktop/%E7%AD%89%E9%AB%98%E7%B7%9A%E7%94%A8210310.csv?type=csv&useHeader=No&maxFields=10000&detectTypes=yes&decimalPoint=,&xField=field_3&yField=field_2&zField=field_4&crs=EPSG:6675&spatialIndex=yes&subsetIndex=no&watchFile=no" C:/Users/2142/Desktop/aaa.tif

GDAL command output:

ERROR 4: `file:///C:/Users/2142/Desktop/%E7%AD%89%E9%AB%98%E7%B7%9A%E7%94%A8210310.csv?type=csv&useHeader=No&maxFields=10000&detectTypes=yes&decimalPoint=,&xField=field_3&yField=field_2&zField=field_4&crs=EPSG:6675&spatialIndex=yes&subsetIndex=no&watchFile=no' does not exist in the file system, and is not recognized as a supported dataset name.

Execution completed in 0.09 seconds

Results:

{'OUTPUT': 'C:/Users/2142/Desktop/aaa.tif'}


出力レイヤの読み込み

次のレイヤは正しく生成されませんでした。
• C:/Users/2142/Desktop/aaa.tif
QGISメインウィンドウの"ログメッセージパネル"をチェックすると、アルゴリズムの実行に関する詳細情報が表示されます。

--------------------------------------------------------------------------------------------------

メインのログは、

--------------------------------------------------------------------------------------------------

processing.run("gdal:rasterize", {'INPUT':'delimitedtext://file:///C:/Users/2142/Desktop/%E7%AD%89%E9%AB%98%E7%B7%9A%E7%94%A8210310.csv?type=csv&useHeader=No&maxFields=10000&detectTypes=yes&decimalPoint=,&xField=field_3&yField=field_2&zField=field_4&crs=EPSG:6675&spatialIndex=yes&subsetIndex=no&watchFile=no','FIELD':'field_4','BURN':0,'UNITS':1,'WIDTH':3000,'HEIGHT':3000,'EXTENT':'-22205.036800000,-21894.295200000,-104990.708300000,-104790.945700000 [EPSG:6675]','NODATA':-9999,'OPTIONS':'','DATA_TYPE':5,'INIT':None,'INVERT':False,'EXTRA':'','OUTPUT':'C:/Users/2142/Desktop/aaa.tif'})

--------------------------------------------------------------------------------------------------

恐らくデータベースに起因するのかと思い

ファイル名が日本語入っているためかと思って、半角英数にしても同様の症状です。

CSVテキストレイヤの追加の際に、Shift-JISを選択しても変わりませんでした。

他に一度SHPデータで保存してやってみても×

SHPデータにした後に、”属性のリファタリング”で「小数点付数値」を「64bit整数値」にしても不可でした。

因みにSHPデータで一度保存してから、ラスター化しようとすると

------------------------------------------------------------------------------------------------------------

gdal_rasterize -l aaa -a field_4 -tr 3000.0 3000.0 -a_nodata 0.0 -te -22205.0368 -104990.7083 -21894.2952 -104790.9457 -ot Float32 -of GTiff aaa.shp C:/Users/2142/Desktop/aaaa.tif

GDAL command output:

ERROR 1: Attempt to create 0x0 dataset is illegal,sizes must be larger than zero.

ERROR 1: Cannot create C:/Users/2142/Desktop/aaaa.tif

Execution completed in 0.10 seconds

Results:

{'OUTPUT': 'C:/Users/2142/Desktop/aaaa.tif'}


出力レイヤの読み込み

次のレイヤは正しく生成されませんでした。
• C:/Users/2142/Desktop/aaaa.tif
QGISメインウィンドウの"ログメッセージパネル"をチェックすると、アルゴリズムの実行に関する詳細情報が表示されます。

----------------------------------------------------------------------------------------------------------------------------

と挙動が違うので、SHPからラスタ化したほうが解決策は近いのかもしれません。


何か解決策などを御教示頂けると助かります。






等高線用210310.xls

adachi

unread,
Mar 16, 2021, 1:01:50 AM3/16/21
to QGIS初心者質問グループ
読み込んだcsvを一度ベクタデータ(shpなりgeopackageなり)としてエクスポートしないと変なエラーが出るようです。

rasterizeの設定の「出力ラスタサイズの単位」で「地理単位」を選んだ場合の「解像度」の数値の意味は
「この距離を1ピクセルとみなします」ということなので
「3000mを1ピクセル」というのは大きすぎるかと思います。



2021年3月15日月曜日 17:52:45 UTC+9 y.hid...@gmail.com:

樋田泰之

unread,
Mar 16, 2021, 2:48:48 AM3/16/21
to QGIS初心者質問グループ

adachiさま
ありがとうございます!
取り急ぎSHPに保存した後やってみましたが、
それほど点が綿密にあるわけではなかったので、水平・鉛直解像度4~5程度で概ね等高線が引けることが分かりました。
もう少し数値を変更しながらやってみたいと思います。
大変助かりました!

2021年3月16日火曜日 14:01:50 UTC+9 adachi:
Reply all
Reply to author
Forward
0 new messages