[OSGeoJapan-discuss] QGISにて横断ラインを作成する方法をご教示ください
Minoru Akagi
akaginch @ gmail.com
2013年 4月 21日 (日) 02:47:54 PDT
久保さま,皆様
スタンドアロン版のQGIS 1.8でProfile from
lineプラグインの動作が確認できました。OSGeo4W版ではPythonのShapelyパッケージを別途インストールする必要があったのでパスしました。
プラグインのインストール後,メニューアイテムやツールバーのアイコンが淡色表示になっていますが,ラインレイヤを開いた後にDEMレイヤを開けばクリックを受け付ける状態になります。計測するレイヤを選び測点間隔を入力したあとOKボタンを押すと,久保さんが示されたのと同様のエラーメッセージが表示されました。このエラーに対しては,エラーメッセージに示されているProfileFromLine.pyの252行目のstr()で囲まれたbandNameのstr()を取ってやり,QGISを再起動すれば動作するようになります。
出力されたポイントレイヤを保存する際にカンマ区切りファイルを選び,レイヤ作成オプションにGEOMETRY=AS_XYを入力すればXYZ座標値を出力できます。このプラグインやProfile
toolプラグイン[1]では測点での標高の計算方法は最近傍が用いられています。
[1] http://plugins.qgis.org/plugins/profiletool/
赤木 実
2013年4月19日 16:21 Mayumi Kubo <mayumitt @ gmail.com>:
>
> 赤木さま、みなさま
>
> ご教授ありがとうございます。
> TIFFファイルの容量を下げてみたら問題なく出力できるようになりました。
>
> しかし、「qProf」は線が折れているとそこからまたサンプリングを始めるので
> 折れ線ではサンプリング間隔が一定にはならないようでした。
> 一定間隔でサンプリングするために下記のサイトで紹介されていた
> http://gis.stackexchange.com/questions/27102/how-to-create-equidistant-points-in-qgis
> 「Profile from line」というプラグインを試してみましたが、
> こちらはUnicodeEncodeErrorが出て出力できませんでした。
> 質問続きで申し訳ありませんが、、対処法ご存じの方いらっしゃいますでしょうか。
>
> ----------------------------------
>
> Traceback (most recent call last):
> File "C:/Users/kan-pc8_user/.qgis//python/plugins\profilefromline\ProfileFromLineDialog.py", line 54, in accept
> self.ui.progressBar)
> File "C:/Users/kan-pc8_user/.qgis//python/plugins\profilefromline\ProfileFromLine.py", line 166, in create_profile_layer
> rasterLayers, rasterFieldsStart)
> File "C:/Users/kan-pc8_user/.qgis//python/plugins\profilefromline\ProfileFromLine.py", line 184, in create_points_from_line
> rasterFieldsStart)
> File "C:/Users/kan-pc8_user/.qgis//python/plugins\profilefromline\ProfileFromLine.py", line 252, in create_new_point
> if str(bandName) == rLayer.bandName(1):
> UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
>
>
> Pythonバージョン:
> 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
> -------------------------------
>
> 久保まゆみ
>
>
> 2013年4月19日 14:33 Minoru Akagi <akaginch @ gmail.com>:
>
>> 久保さま
>>
>> MemoryErrorというメッセージから原因はメモリ不足ではないかと思います。対処方法としては,
>> ・GdalToolsのClipperで必要な範囲のみを切り取ってサイズを小さくしておく。
>> ・NoData Valueの処理部分でメモリ使用量が増えるのでNoData ValueなしのGeoTIFFにしておく。gdalwarp in.tif out.tif とすれば,NoDataセルの値が0となり,NoData Valueが設定されないGeoTIFFが出力されます。
>>
>> 以上,ご参考までに。
>>
>> 赤木 実
>>
>>
>> 2013年4月19日 10:55 Mayumi Kubo <mayumitt @ gmail.com>:
>>>
>>> 寒地土木研究所の久保と申します。
>>>
>>> 先日の宮園さんご質問の横断ライン作成方法について便乗させて下さい。
>>>
>>> 赤木さんからご提案のあったqProfプラグインをインストールして
>>> DEMからの横断ライン作成を試みました。
>>> QGIS起動→必要なレイヤ(DEMとラインシェープ)を読込→
>>> qProfでXYZ座標のcsvとポイントシェープファイルの出力成功したのですが、
>>> 二回目を行おうとすると下記のエラーが出ます。
>>> QGISを再起動すれば出力できるのですが二回目は出来ません。
>>>
>>> 使用環境はWin7(32bit) QGIS1.8.0(スタンドアロン) メモリ4Gです。
>>> qProfが試用版なので、プラグイン自体の問題なのかもしれませんが
>>> なにか対処法がありましたら、ご提案頂ければありがたいです。
>>>
>>> --------------
>>> Pythonプログラムを実行中にエラーが発生しました:
>>>
>>> Traceback (most recent call last):
>>> File "C:\PROGRA~1\Quantum GIS Lisboa\apps\qgis\python\plugins\qProf\qProf_dialog.py", line 212, in calculate_profiles
>>> dem_params, dem_array = read_raster_band( dem_fpath )
>>> File "C:\PROGRA~1\Quantum GIS Lisboa\apps\qgis\python\plugins\qProf\gis_utils.py", line 152, in read_raster_band
>>> data = np.where( abs( data - raster_params.noDataValue ) > 1e-05, data, np.NaN )
>>> MemoryError
>>>
>>> Pythonバージョン:
>>> 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)]
>>> ----------------
>>>
>>> 久保まゆみ
>>> 寒地土木研究所
>>>
>>>
>>>> Date: Sun, 14 Apr 2013 21:57:51 +0900
>>>> From: Minoru Akagi <akaginch @ gmail.com>
>>>> To: 宮園正敏 <miyazono3725 @ gmail.com>
>>>> Cc: OSGeoJapan-discuss @ lists.osgeo.org
>>>> Subject: Re: [OSGeoJapan-discuss]
>>>> QGISにて横断ラインを作成する方法をご教示ください
>>>> Message-ID:
>>>> <CA+Bj0=o1=BnYJhuHVC=T-q2nsg1m5Zg1aQJt0SCwqR_gFG8A5A @ mail.gmail.com>
>>>> Content-Type: text/plain; charset="iso-2022-jp"
>>>>
>>>>
>>>> 宮園様
>>>>
>>>> 赤木と申します。
>>>>
>>>> プラグインリポジトリ[1]には断面形を計測するプラグインがいくつか公開されていますが,現在動作が確認できるもので,ご要望の機能を持ったプラグインは「qProf」[2]になるかと思います。このプラグインはまだ実験的なものとして公開されていますので,プラグインインストーラのオプションタブで「Show
>>>> all plugins, even those marked as experimental」オプションを選択しなければ一覧に表示されません。
>>>>
>>>> ライン(シェープ)とDEMラスタ,測点間の最大距離を指定すれば計測が行え,結果はチャートに表示したり,CSV形式等で出力できます。測点での標高のサンプリング方法はバイリニア法です。現状ではドキュメントが十分ではないと思いますが試してみられてはいかがでしょう。
>>>>
>>>> [1] http://plugins.qgis.org/
>>>> [2] http://plugins.qgis.org/plugins/qProf/
>>>>
>>>> 赤木 実
>>>
>>>
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>>
>>
>
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
More information about the OSGeoJapan-discuss
mailing list