goo blog サービス終了のお知らせ 

ArcGISのデータ作成サポートページ

ArcGISデータ作成に関する情報共有のページです

道路網ネットワークデータの作成方法

2016-03-08 03:06:05 | 日記
Arc GIS Network Analystネットワークデータセット作成方法(佐藤君情報提供)

1.エディタの編集
① エディタの編集から道路リンクを編集する。(新しい道路網を追加する。)
② 編集がすべての道路網を書き終えたから属性テーブルを開き、名前を「長さ」、としてフィールドを追加する。
③ ジオメトリ演算でリンクの長さを計算する。
④ 編集を終了し、解析に必要な範囲の道路網を選択する。
⑤ 道路網のフィーチャを右クリックし、「データ」→「データのエクスポート」をクリックする。
⑥ エクスポートを「選択フィーチャ」とし、出力フィーチャクラスに保存場所と保存名を入力する。
これらの作業で、ネットワークデータセット作成に使う道路網を抽出できた。

2.ネットワークデータセットの構築
① Arc Catalog を開き,ネットワークデータセットを構築したいラインフィーチャがあるフォルダに接続する.
② ネットワークデータセットを構築したいラインフィーチャ(今回は道路リンク)で右クリックし,「新規ネットワークデータセット」をクリックする.
③ 「ネットワークデータセット名の入力」は「道路リンク_ND」とし,次へ進む.
④ ここでは,経路探索の際の右折・左折の際の遅延を考慮するかを指定する.「このネットワークでターンをモデリングしますか?」では「はい」にチェックを付け,次へ進む.「グローバルターン」が設定されると,左折に一律15秒に設定される.
⑤ ここでは,道路ネットワークの接続性を設定する.デフォルトではリンクの端点が一致するところのみを接続している.今回は,このまま次へ進む.
*変更したい場合は「接続性」をクリックし,「接続性グループ」内の道路リンクの「1」のチェックをはずす.このことにより,道路リンクの交点でも接続することができる.
⑥ ここでは,高さ関係まで考慮するかどうかを決定する.必要なければ次に進む.
⑦ 次にネットワークの属性を指定する.属性とは探索の制御に使用されるプロパティであり,移動コストや一方通行の有無などである.元のテーブルにMeters,Minutes(FT_Minutes,TF_Minutes),Onewayというフィールドがあると,自動的に追加される.
⑧ ネットワーク属性の中に  Hierarchyという属性があるので削除する。
⑨ ネットワーク属性の中の長さをダブルクリックし、エバリュエータを開く。
⑩ エバリュエータのプロパティをクリックする。
⑪ Value=の下の空白に[長さ]という属性を入力しOKをクリックする。
⑫ Minutesのネットワーク属性も必要であるならば「[長さ]/任意の歩行速度」で計算式を入力する。⑧~⑫の作業を終えたら、⑦の画面に戻り次へをクリックする。
⑬ ネットワークデータセットに経路案内とパラメータを指定する.必要なければ次に進む.
⑭ パラメータを確認して完了する.
新規ネットワークデータセットの構築を行う.データの量によっては,計算にかなり時間がかかることもある.


二条線から中心線を作成(道路シェープファイルから中心線を作成する場合)

2016-02-08 09:08:32 | 日記
http://desktop.arcgis.com/ja/desktop/latest/tools/cartography-toolbox/collapse-dual-lines-to-centerline.htm

ArcToolBoxから「Collapse Dual Lines To Centerline」を選択

作成する範囲の距離を注意する!

特徴として、市街地のような区画された道路は作成しやすいが、山間部の曲線道路や交差点は不具合が起こりやすい

災害ポテンシャルマップの作成(pythonフラグコード付)

2016-02-06 11:49:30 | 日記
1.等間隔でのポイントシェープファイルを作成する

2.ハザードとなる災害(津波・土砂崩れ・土石流・火災・洪水etc..)のポリゴンシェープファイルを作成

3.ポイントシェープファイルを右クリック
→結合により、データの結合を行う。複数災害がある場合は災害の個数分結合する。後で処理しやすくするため、数値フラグを設定しておくと便利
結合の種類は:「空間的位置関係に基づき、他のレイヤーからテーブルデータを統合」、「各ポイントから最短距離・・・」

4.フラグデータを纏めたシェープファイルが作成できたら、以下のPythonコードを作成
以下は津波・土砂崩れ・土石流の一例
(//以下はコメントなので、実行時は削除しないとエラーが出る)

=====Pre-Logic Script Code:=====
def Reclass(tsu,kei,dsk):

if (tsu == 1 and kei == 1 and dsk == 1): //津波・斜面崩壊・土石流
return 1
elif (tsu == 1 and kei == 1 and dsk <> 1): //津波・斜面崩壊・
return 2
elif (tsu == 1 and kei <> 1 and dsk == 1): //津波・    ・土石流
return 3
elif (tsu == 1 and kei <> 1 and dsk <> 1): //津波・    ・
return 4
elif (tsu <> 1 and kei == 1 and dsk == 1): //  ・斜面崩壊・土石流
return 5
elif (tsu <> 1 and kei == 1 and dsk <> 1): //  ・斜面崩壊・
return 6
elif (tsu <> 1 and kei <> 1 and dsk == 1): //  ・    ・土石流
return 7
elif (tsu <> 1 and kei <> 1 and dsk <> 1): //  ・    ・
return 8
else:
return -99

=====HazFlg= =====
Reclass( !TsunamiHaz!, !KyukeiHaz!, !DosekiHaz! )


データ四捨五入のやりかた(データ出力は桁数の設定が出来ない)

2015-11-24 16:15:14 | 日記
ArcGIS 10.x では、フィールド演算の際に VBScript か Python を選択して行うことができます。以下に Python で行うフィールド演算をご紹介します。

※「フィールド演算」のダイアログで、[形式] にて「Python」を選択してください。

(フィールドの値を小数点以下第 2 位に四捨五入する)
round(!fieldname!,2)

(フィーチャの面積を計算する)
!Shape.area!

(フィーチャの長さをメートル単位で計算する)
!Shape.length@meters!

(フィーチャの面積を平方メートルの単位で計算する)
!Shape.area@squaremeters!

(Z値を求めます)
!Shape!.extent.ZMax

(大文字の「P」をすべて小文字の「p」で置き換えます。)
!fieldname!.replace("P","p")

ESRI詳細地図と道路網の空間精度

2015-10-20 13:44:54 | 日記
ArcGIS データコレクション 道路網は 住友電工様の「拡張全国デジタル道路地図データベース標準(ADF標準)」を元データとしております。ADF標準が対象とする道路は、一般都道府県道以上もしくは幅員3.0m以上の道路となり、それ以外の道路は整備対象外となります。
→幅員3m以下の道路は、自分で作成する必要がある。

山間部における詳細地図・道路網の縮尺精度は、どちらも1/25,000程度となります。縮尺精度1/25,000の地図データは、位置正確度の誤差が17.5m(標準偏差)以内です。一方で市街地部における縮尺精度は、詳細地図は1/5000程度(位置正確度の誤差が
 3.50m(標準偏差)以内)、道路網は1/2,500程度(位置正確度の誤差が1.75m(標準偏差)以内)の縮尺精度で作成されております。従いまして、ご指摘のように、詳細地図、道路網ともに市街地での位置精度が、山間部と比べて高い仕様となっております。
→そのまま利用するか、航空写真などで補正をかけるかは要検討。いずれにしても修正予定無。