[OSGeoJapan-discuss] ネットワークデータの作成について

Yoichi Kayama yoichi.kayama @ gmail.com
2015年 4月 7日 (火) 00:08:29 PDT


かやまです


作業しているデータベースにpgroutingが正しくインストールされていない可能性があると思います。
PostGIS1.x の時と2.xの時でPostGISやpgRoutingをデータベースで有効にする方法が違っていますから今木さんのところの資料だと古いかもしれません。

https://github.com/pgRouting/workshop/blob/master/docs/chapters/installation.rst

こちらの

Add pgRouting Functions to database  のあたりを参考にされるといいと思います。



2015年4月7日 15:52 Mayumi Kubo <mayumitt @ gmail.com>:
> いつもお世話になっております。
> 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


More information about the OSGeoJapan-discuss mailing list