[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