[OSGeoJapan-discuss] ネットワークデータの作成について
Taro Matsuzawa
taro @ georepublic.co.jp
2015年 4月 7日 (火) 00:08:32 PDT
松澤です。
# Danielからの伝言を翻訳しつつ、適当に書いています。
pgRoutingはどのバージョンを使っていますか?
2.0以降であれば、この関数はpgr_createTopologyに変更になっています。
http://workshop.pgrouting.org/ja/chapters/topology.html#calculate-topology
http://docs.pgrouting.org/2.0/en/src/common/doc/functions/create_topology.html#pgr-create-topology
OSMデータでしたら、pgRouting Workshopの内容をそのまま
使ってもよいかもしれません。
# ちなみに翻訳は僕と長瀬さんが主にやってました。
取り急ぎ。
On 2015/04/07 15:52, Mayumi Kubo wrote:
> いつもお世話になっております。
> pgRoutingで経路検索をするために、下記のページを参考にPostGISで道路ネット
> ワークデータを作成していますがエラーが出てしまい上手くいきません。道路
> データはQGISで対象地域のosmファイルをインポート後、Road_Atsubetsu.shpと
> して出力したものをPostGISで読み込んでネットワークデータに変換したいと
> 思っています。環境はWin7(32bit)でPostgresSQL9.3.6, PostGIS2.1.5を使用し
> ています(ユーザー名:postgres, データベース名:gisdb)。
> http://themapguyde.blogspot.jp/2013/04/mapguide-and-pgrouting-shortest-path.html
> http://www.geopacific.org/opensourcegis/postgis/pgrouting
>
>
> 作業の流れとエラーは下記の通りです。
>
> 1) Road_Atsubetsu.shpを読込むために下記を実行すると、「could not find a
> "psql" to execute」とエラーが出るが、line_roadテーブルは作成されている。
> > shp2pgsql -c -D -I -S -s 4612 -W cp932 Road_Atsubetsu.shp line_road |
> psql -U postgres -d gisdb
>
>
> 2) line_roadテーブルにsource, target, leingthカラムを追加することはでき
> た(エラーなし)
> > ALTER TABLE line_road ADD COLUMN source int4;
> > ALTER TABLE line_road ADD COLUMN target int4;
> > ALTER TABLE line_road ADD COLUMN length float4;
>
> 3) sourceとtargetカラムに値を代入するためにassign_vartex_id()を実行する
> とエラーがでる(pgr_assign_vertex_id()でも同じエラー)。
> > SELECT assign_vertex_id('line_road', 0.0001, 'geom', 'gid');
>
> #===エラー=start=
> ERROR: 関数assign_vertex_id(unknown, numeric, unknown, unknown)は存在し
> ません
> LINE 1: SELECT assign_vertex_id('line_road', 0.0001, 'geom', 'gid');
> ^
> HINT: 指定名称、指定引数型に合う関数がありません。明示的な型キャストが
> 必要かもしれません
>
> ********** エラー **********
> ERROR: 関数assign_vertex_id(unknown, numeric, unknown, unknown)は存在し
> ません
> SQLステート:42883
> ヒント:指定名称、指定引数型に合う関数がありません。明示的な型キャストが
> 必要かもしれません
> 文字:8
> #===エラー=end==
>
>
> ・データベースgisdbにpostgis, pgroutingはインストールされていると思いま
> す(きっと…)pgAdmin IIIからデータベースgisdbを開くとExtensitonsに
> pgrouting, plpgsql,postgisが表示されます。関数にもpgr_, postgis_から始ま
> るものが沢山表示されます(pgr_assign_vertex_id()はありません)
> ・1)はコマンドプロンプト、2),3)はpgAdmin IIIのSQL Query(SQLアイコンをク
> リックして出てくる画面)で作業しています。プラグイン→PSQL Consoleは使用し
> ていません(使うべきなのかよく分からない…)
>
> PostGISで作業するのはほとんど初めてでエラーの意味もよく分からない状況な
> のですが…、対処法をご存知の方ご教授頂けると大変有難いです。また、目的は
> pgRoutingで利用できる道路ネットワークデータの作成なので、もっと別の簡単
> な方法があれば教えて頂けると助かります(こちらも苦闘中です…
> http://anitagraser.com/2011/02/07/a-beginners-guide-to-pgrouting/)。ど
> うぞよろしくお願い致します。
>
>
> 久保まゆみ
> 寒地土木研究所
>
>
>
>
> _______________________________________________
> OSGeoJapan-discuss mailing list
> OSGeoJapan-discuss @ lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/osgeojapan-discuss
>
--
Taro Matsuzawa
Georepublic Japan
mail: taro @ georepublic.co.jp
web: http://georepublic.co.jp
More information about the OSGeoJapan-discuss
mailing list