[OSGeoJapan-discuss] 国土基本図図郭の座標について

Nobusuke IWASAKI niwasaki @ affrc.go.jp
2020年 6月 24日 (水) 20:08:12 PDT


坂井さん、皆さん

岩崎です。
色々と、ありがとうございます!
(いや、自分でやれという話もありますが・・・)

実際に何にしたいかというと、兵庫県の1m DEMとDSMの差分を取りたいと考えています。
ちょっと長くなりますが、以下に、説明します。

------
標高(DEM)と、表面(DSM)の差分を取って、植生とか、建物の高さが分かるといいな、という話です。
試しにやってみたデータを以下のgithubに上げました。

https://github.com/wata909/hyogo_dem_convert

ツールは、gdalを使っています。
元データのtxtは、XYZで位置と高さデータが入っています。

gdal_translate ./DEM_05LE234_1g.txt ../DEM_05LE234_1g.tif -a_srs EPSG:2447
gdal_translate ./DSM_05LE234_1g.txt ../DSM_05LE234_1g.tif -a_srs EPSG:2447

でDEMとDSMのtifを作り、

gdal_calc.py -A DSM_05LE234_1g.tif -B DEM_05LE234_1g.tif  --outfile=DIFF_05LE234_1g.tif --calc="A-B"

で差分を取ろうとしたところ

> Exception: Error! Dimensions of file DEM_05LE234_1g.tif (2000, 1500) are different from other files (2000, 1446).  Cannot proceed

とエラーが出ました。確認すると、

DEMの四隅の座標が
Corner Coordinates:
Upper Left  (   14000.000,  -39000.000) (134d29'16.58"E, 35d38'54.15"N)
Lower Left  (   14000.000,  -37500.000) (134d29'16.67"E, 35d39'42.82"N)
Upper Right (   16000.000,  -39000.000) (134d30'36.09"E, 35d38'54.04"N)
Lower Right (   16000.000,  -37500.000) (134d30'36.20"E, 35d39'42.71"N)

DSMの四隅の座標が
Corner Coordinates:
Upper Left  (   14000.000,  -38999.000) (134d29'16.58"E, 35d38'54.18"N)
Lower Left  (   14000.000,  -37553.000) (134d29'16.67"E, 35d39'41.10"N)
Upper Right (   16000.000,  -38999.000) (134d30'36.09"E, 35d38'54.07"N)
Lower Right (   16000.000,  -37553.000) (134d30'36.19"E, 35d39'40.99"N)

となっていて、画像のサイズが異なるのが問題のようです。
そこで、gdal_translate を走らせるときに、 

-projwin <ulx> <uly> <lrx> <lry>

で四隅を指定してやればいいと思い、その際に、ファイル名の「DEM_05LE234」から四隅の座標が取れないか、という事になります。
https://gdal.org/programs/gdal_translate.html#cmdoption-gdal-translate-projwin

なお、手動でやる分には、上手くいきました。
頂いたコード等を参考に、自分でもいじってみることにします。

(とメールを書いている間に、次の返事が来てたw)


On 2020/06/25 6:30, SAKAI Kei wrote:
> 岩崎さん
> 
>  坂井です。
> 
> GitHub に置きました。
> https://github.com/sakaik/gistools
> 
> zukaku2coord.py に図郭コードを引数として与えて実行してください。
> -v を付けるともう少し詳細情報が表示されます。
> (windows上で作業していたので、ファイルの実行フラグが立っていないかもしれません。linux等で使う場合は適宜 chmod してください)
> 
> 
> ・Python (特にデータ構造とか)をよく分かっていないで感覚だけで書いた
> ・一歩一歩、処理結果を確認しながら書き進めたので、無駄な変数だらけ
> ・エラー処理は一切入れていない。正しいコードだけを与えてください!絶対に!(笑)
> 
> など、お恥ずかしい状態なのですが、「結果が得られる」は何よりもの強み!と開き直って公開することにしました。
> あとで、もちょっと書き直します。。
> 
>  利用シーンのイメージが私の中にないので、どんな出力にしたら使い勝手が良いのか分からず、
> このあたり、聞かせていただけるでしょうか。対応します。
> 
> 
> 
> 
> 2020年6月25日(木) 0:45 Nobusuke Iwasaki <wata909 @ gmail.com>:
>>
>> 坂井さん
>>
>> 岩崎です。
>> はい、まさにそれです!
>> 厚かましいですが、よろしければ公開いただければ、うれしいです!
>>
>> 2020年6月24日(水) 23:50 SAKAI Kei <sakaik @ gmail.com>:
>>>
>>> 岩崎さん
>>>
>>>  坂井です。
>>>
>>> >そこで、このようなファイル名から位置情報を算出したいと考えています。
>>>
>>> 面白いテーマですね。ちょっと私のほうでもやってみました。
>>>
>>> 「位置情報」というのは、平面直角座標系の (x,y)値、つまりメートルでの位置を期待されていますか?
>>> それなら以下の「実行例」のような感じのものが得られれば良いのかなと思うのですが、いかがでしょうか。
>>>
>>> 緯度経度を期待されている場合は、、、、ちょっとあの変換式のお相手をするのは、腰が引けますね(笑)。
>>>
>>>
>>> 実行例)
>>> D:\>zukaku.py 09AA
>>> 09AA 09kei:(300000,-160000) - (270000,-120000)  [level: 50000]
>>>
>>> D:\>zukaku.py 09AA00
>>> 09AA00 09kei:(300000,-160000) - (297000,-156000)  [level: 5000]
>>>
>>> D:\>zukaku.py 09AA001
>>> 09AA001 09kei:(300000,-160000) - (298500,-158000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09AA000A
>>> 09AA000A 09kei:(300000,-160000) - (299400,-159200)  [level: 1000]
>>>
>>> D:\>zukaku.py 09AA0000
>>> 09AA0000 09kei:(300000,-160000) - (299700,-159600)  [level: 500]
>>>
>>>
>>> D:\>zukaku.py 09TH
>>> 09TH 09kei:(-270000,120000) - (-300000,160000)  [level: 50000]
>>>
>>> D:\>zukaku.py 09TH99
>>> 09TH99 09kei:(-297000,156000) - (-300000,160000)  [level: 5000]
>>>
>>> D:\>zukaku.py 09TH991
>>> 09TH991 09kei:(-297000,156000) - (-298500,158000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09TH994
>>> 09TH994 09kei:(-298500,158000) - (-300000,160000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09TH994E
>>> 09TH994E 09kei:(-299400,159200) - (-300000,160000)  [level: 1000]
>>>
>>> D:\>zukaku.py 09TH9999
>>> 09TH9999 09kei:(-299700,159600) - (-300000,160000)  [level: 500]
>>>
>>> D:\>zukaku.py 09KE
>>> 09KE 09kei:(0,0) - (-30000,40000)  [level: 50000]
>>>
>>> D:\>zukaku.py 09KE00
>>> 09KE00 09kei:(0,0) - (-3000,4000)  [level: 5000]
>>>
>>> D:\>zukaku.py 09KE001
>>> 09KE001 09kei:(0,0) - (-1500,2000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09KE000A
>>> 09KE000A 09kei:(0,0) - (-600,800)  [level: 1000]
>>>
>>> D:\>zukaku.py 09KE0000
>>> 09KE0000 09kei:(0,0) - (-300,400)  [level: 500]
>>>
>>> D:\>zukaku.py 09LD3599
>>> 09LD3599 09kei:(-41700,-16400) - (-42000,-16000)  [level: 500]
>>>
>>> D:\>zukaku.py 09LD352
>>> 09LD352 09kei:(-39000,-18000) - (-40500,-16000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09CG543
>>> 09CG543 09kei:(223500,96000) - (222000,98000)  [level: 2500]
>>>
>>> D:\>zukaku.py 09CG3776
>>> 09CG3776 09kei:(228900,110400) - (228600,110800)  [level: 500]
>>>
>>> 2020年6月24日(水) 9:29 Nobusuke IWASAKI <niwasaki @ affrc.go.jp>:
>>>>
>>>> みなさま
>>>>
>>>> 岩崎です。
>>>> もしご存じだったら、という事で質問です。
>>>>
>>>> ご存じの方も多いと思いますが、国土基本図の図郭は「09LD352」といったような形で名前がつけられています。これは、以下のような命名規則で作成されています。
>>>> https://club.informatix.co.jp/?p=1293
>>>>
>>>> たとえば、兵庫県さまがG空間情報センターで公開されているDEMやDSMのファイルも、同様の命名規則で作成されています。
>>>> 05LE23
>>>> https://www.geospatial.jp/ckan/dataset/2010-2018-hyogo-geo-dem/resource/cd188476-2a44-44d3-8817-a5c42d2ec29e
>>>>
>>>> そこで、このようなファイル名から位置情報を算出したいと考えています。
>>>> もしそうしたスクリプト等が公開されていればありがたいと思い、投稿しました。
>>>> ご存じの方がいらっしゃれば、お知らせ頂ければ幸いです。
>>>>
>>>> なければ、作るしかないのかな(汗
>>>>
>>>> --
>>>> ☆通常勤務中です☆
>>>> #staypositive
>>>>
>>>> ---
>>>> Nobusuke IWASAKI
>>>> Institute for Agro-Environmental Sciences, NARO
>>>> 3-1-1, Kannondai, Tsukuba-shi,
>>>> Ibaraki-ken 305-8604, JAPAN
>>>> Tel / Fax 81-29-838-8227
>>>>
>>>> _______________________________________________
>>>> OSGeoJapan-discuss mailing list
>>>> OSGeoJapan-discuss @ lists.osgeo.org
>>>> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>> _______________________________________________
>>> OSGeoJapan-discuss mailing list
>>> OSGeoJapan-discuss @ lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>>
>>
>>
>> --
>> 岩崎 亘典
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> https://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
> 

-- 
☆通常勤務中です☆
#staypositive

---
Nobusuke IWASAKI 
Institute for Agro-Environmental Sciences, NARO
3-1-1, Kannondai, Tsukuba-shi,
Ibaraki-ken 305-8604, JAPAN
Tel / Fax 81-29-838-8227

-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: signature.asc
型:         application/pgp-signature
サイズ:     833 バイト
説明:       OpenPGP digital signature
URL:        <http://lists.osgeo.org/pipermail/osgeojapan-discuss/attachments/20200625/53587a87/attachment-0001.sig>


OSGeoJapan-discuss メーリングリストの案内