#author("2020-08-03T20:28:19+09:00","default:nobuoki","nobuoki") #author("2020-08-03T20:30:03+09:00","default:nobuoki","nobuoki") * はじめに [#k185e819] 現時点で意味があるか分かりませんが(後述)、[[宇宙利用プロジェクト | OSGeo.JP>https://www.osgeo.jp/projects/foss4g-mext]] の「基盤地図対応GDAL/OGR」をビルドするコンテナを作ってみました * ビルド [#y1f48a34] マシンスペックにも寄りますが、30[min] くらいは覚悟したほうが良さげです #prism(bash){{{ curl -L https://gist.github.com/kemasoft-gist/744dd514f9d634de63f40cf6389e954f/raw | podman build - -t kemasoft/mext-gdal^C }}} ポイント - 環境変数 LD_LIBRARY_PATH=/usr/local/lib を通しておく - 普通にコンパイルするとエラーになるのでソースを修正 -- RUN sed -i '255s/pszHeaderNext/*&/' port/cplkeywordparser.cpp #pre{{{ cplkeywordparser.cpp:255:26: error: ISO C++ forbids comparison between pointer and integer [-fpermissive] 255 | if( pszHeaderNext == '\0' ) }}} #gist(kemasoft-gist/744dd514f9d634de63f40cf6389e954f) 参考 - [[国土地理院・基盤地図情報対応ライブラリ GDAL/OGR インストール! - mk-mode BLOG>https://www.mk-mode.com/blog/2014/07/13/gsi-install-gdal-ogr-lib-for-fgd/#]] - [[ISO C++ forbids comparison between pointer and integer [-fpermissive]| [c++] - Stack Overflow>https://stackoverflow.com/questions/9280921/iso-c-forbids-comparison-between-pointer-and-integer-fpermissive-c]] * 利用例 [#de5187a3] #prism(bash){{{ # コンテナ起動をラクにするために alias を定義 alias prun='podman run --rm -it -v .:/mnt' # ogr2ogr のバージョン確認 prun kemasoft/mext-gdal ogr2ogr --version GDAL 1.10.0, released 2013/04/24 # 対応フォーマット一覧(FGDがあることを確認) $ prun kemasoft/mext-gdal ogr2ogr --formats Supported Formats: -> "ESRI Shapefile" (read/write) -> "MapInfo File" (read/write) (略) -> "SEGY" (readonly) -> "PDF" (read/write) -> "FGD" (readonly) }}} * 微妙な点 [#hd82da9d] - GDALバージョンが古すぎる -- GDAL 1.10.0, released 2013/04/24 - JGD2011 非対応 -- 全ては確認していませんが、少なくとも EPSG:6668 は認識してもらえません -- ERROR 6: EPSG PCS/GCS code 6668 not found in EPSG support files. Is this a valid