logo

このソフトについて
使 い方
前 提条件
ダ ウンロード
協力者募集

English

このソフトについて

gpx2shp は GPXファイル(GPS Exchange Format: *.gpx)を ESRIシェープファイルに変換するコンバーターです。

GPXについては http://www.topografix.com/gpx.aspを ご覧ください。  

ニュー ス

Windows バイナリ作ってみました
結構需要があるようですので MINGWを使ってコンパイルしてみました。でも、ほかの人の環境で動くのかどうか心配です。もしお試しになったら動作したかしなかったかを私までご連絡 いただけると幸いです。
(2005/2/25)

ター ゲットを変更しました
SVG関連やgps2shpの機 能について開発を中止しました。よく探してみるとSVG関係のツールはほか にもありますし、Unixのツールは小さいほどよいので。その代わりshp2gpxの開発をしていきます。アクセスログによるとこの需要は小さくないみた いですから。
(2005/2/20)

0.69 リリース
バグフィックス(Debian Bug #292514: Segfaults when called only with -v)とコンパイルチェックの追加などを変更しています。
(2005/2/20)

rpmできます
谷村さんのご協力によりVine3.1用のRPMパッケージが出来ました。
http://www.ring.gr.jp/pub/linux/Vine/VinePlus/3.1/i386/
pool/gpx2shp-0.68-1vl1.i386.rpm
(2005/1/27)

apt -getできます
ペー ターさんがメンテナーになってくれdebianパッケージに入りました。debianお使いでしたら"apt-get install gpx2shp"で簡単にインストールできます。
http://packages.debian.org/unstable/science/gpx2shp
(2005/1/10)

0.68 リリース.
以前はXMLパーサーとしてlibxml2を使用していましたが、巨大ファイルの変換を行うとメモリを山盛り消費します。このためパーサーとして expatを使用することとし、一からプログラムを書き直しました。このバージョンでは巨大ファイルの変換にも数MBのメモリ消費で事足りるようになって います。また、新しいオプションとして-f, -b, --min-points, --min-length and --min-speedを追加しました。
(2005/1/7)

使い方

基本

GPXファイル内には waypoint, trkpoint, route.という3タイプのデータがあります。 アーカイブ内にある"pinatest2.gpx"をつかって以下のコマンドを実行してみてください。

prompt> gpx2shp pinatest2.gpx
prompt> ls
pinatest2.gpx (source gpx)
pinatest2_meta.txt (meta data)
pinatest2_rte.dbf (route)
pinatest2_rte.shp (route)
pinatest2_rte.shx (route)
pinatest2_trk.dbf (trackpoint)
pinatest2_trk.shp (trackpoint)
pinatest2_trk.shx (trackpoint)
pinatest2_wpt.dbf (waypoint)
pinatest2_wpt.shp (waypoint)
pinatest2_wpt.shx (waypoint)

コマンドを実行すると10 のファイルが作成されていると思います。シェープファイルは3種のファイル(dbf, shp, shx)で表現され、GPXファイルには3種類のデータとメタデータが格納されているため3x3+1=10ファイルできます。ファイル名とシェープフォー マットは下表のとおりです。

data type file name format
way point [basename]_wpt.* point
track point [basename]_trk.* arc
route [basename]_rte.* arc
meta data [basename]_meta.txt text

特定データのみの変換

GPXファイルから特定 データのみを変換することも出来ます。waypointだけを変換したい場合は'-w'オプションを使用し、同様にrouteには'-r'、 trackpointには'-t'を指定します。

prompt> gpx2shp -r pinatest2.gpx
prompt> ls
pinatest2.gpx (source gpx)
pinatest2_meta.txt (meta data)
pinatest2_rte.dbf (route)
pinatest2_rte.shp (route)
pinatest2_rte.shx (route)

パスデータを点データなどに変換

デフォルトでは trackpointとrouteのパスで表されるデータは線データとして変換されますが、もし点データとして変換したい場合は'-p'オプションを、各 辺ごとに変換したい場合は'-e'オプションを使用します。'-p'オプションを使用したときの変換ファイルには'_pnt"が'-e'オプションを使用 した場合には'_edg'がファイル名につきます。

prompt> gpx2shp -p -e pinatest2.gpx
prompt> ls
pinatest2_meta.txt
pinatest2_rte.dbf (route path data)
pinatest2_rte.shp
pinatest2_rte.shx
pinatest2_rte_edg.dbf (route each edge)
pinatest2_rte_edg.shp
pinatest2_rte_edg.shx
pinatest2_rte_pnt.dbf (route each point)
pinatest2_rte_pnt.shp
pinatest2_rte_pnt.shx
pinatest2_trk.dbf (track path data)
pinatest2_trk.shp
pinatest2_trk.shx
pinatest2_trk_edg.dbf (track each each)
pinatest2_trk_edg.shp
pinatest2_trk_edg.shx
pinatest2_trk_pnt.dbf (track each point)
pinatest2_trk_pnt.shp
pinatest2_trk_pnt.shx
pinatest2_wpt.dbf (waypoint is always as point)
pinatest2_wpt.shp
pinatest2_wpt.shx

統計情報

'-s'オプションを使え ば変換後以下のように簡単な統計情報が得られます。

prompt> gpx2shp -s pinatest2.gpx
Track Points:
    track count: 4
    point count: 658
    total length: 156565.627989
    unconverted: 0( 0.00%)
Routes:
    route count: 1
    point count: 323
    total length: 9258.618971
    unconverted: 0( 0.00%)
Waypoints:
    point count: 118

ノイズリダ クション

このソフトでは線データの 変換用の閾値を設定できます。もし線データが短すぎたり、動きがなかったりする場合変換を行いません。'--min-points', '--min-length', 'min-time'オプションでこれらを設定できます。

prompt> gpx2shp --min-points 6 -s pinatest2.gpx
gpx2shp:../pinatest3.gpx:3962 track was not converted because of less then 6 points. 
Track Points:
    track count: 3
    point count: 653
    total length: 156439.490642
    unconverted: 1(25.00%)
Routes:
    route count: 1
    point count: 323
    total length: 9258.618971
    unconverted: 0( 0.00%)
Waypoints:
    point count: 118

距離と時間の単位について

距離と回転楕円体の単位と してproj4のサポートする単位を使用することが出来ます。これらの単位は'geod -lu' と 'geod -le'の2コマンドで参照でき、以下のオプションで変更することが出来ます。

'--length-unit'       (for length column, default: m),
'--time-unit'         (for time column, default: sec),
'--speed-length-unit' (for speed column, default: km),
'--speed-time-unit'  (for speed column, default: hour) and
'--length-ellipsoid' (for length calculation, default: UGS84).

時間の単位としては 'sec', 'min', 'hour', 'day'が使用できます。.

その他

この他にもいくつかのオプ ションがあります。以下のコマンドを参照してください。

gpx2shp --help

前提条件

GNU C library
http://www.gnu.org/software/libc
expat
http://expat.sourceforge.net/
proj-4
http://www.remotesensing.org/

ダウンロード

元ファイルとWindowsバイナリ
http://sourceforge.jp/projects/gpx2shp/files/

Debianバイナリ (by Petter Reinholdtsen)
http://packages.debian.org/unstable/science/gpx2shp
Vine3.1バイナリ(by Susumu Tanimura)
http://www.ring.gr.jp/pub/linux/Vine/VinePlus/3.1/i386/
pool/gpx2shp-0.68-1vl1.i386.rpm

協力者募集

現在ノルウェー人のペーターさ んと2人で作成していますが、以下の個所で私たちのスキルが足りません。お手伝いいただけると幸いです。
-- binary packages (win, 各種rpm, osx and etc.)
-- GUI environment

また、バグレポート、ご意見などもお待ちしています。英語か日本語でメールください。



sign
SourceForge.jp