距離計算シリーズのプログラミングについて
トップ開発者向け製品・サービスACT距離計算パッケージのカスタマイズ距離計算シリーズのプログラミングについて

概要

距離計算を行う一般的なプログラムは、次の3段階の処理を行います。

Step1(*) 発着地点の漢字住所から経緯度(XY座標)を求める
Step2 発着地点の経緯度(XY座標)から最寄道路点(交差点)識別子を求める
Step3 発着地点の最寄道路点識別子から所要時間と道のりを計算する

下図は、ACT位置検索ライブラリとACT距離計算コアライブラリの Win32 DLL 形式の関数をコールして、発地点から着地点までの所要時間と道のりを求めるプログラムの処理手順を示しています。

(*)「Step1」(位置検索)について
  • 別途「位置検索ライブラリ」が必要です。
  • 「位置検索ライブラリ」のアプリケーション・インタフェースは、Win32DLLのみです。
  • 「位置検索ライブラリ」は、ネットワーク環境下ではお使いいただけません。(「ACT距離計算コア エンタープライズ版」と一緒にはご利用いただけません。)


プログラミングの概要

主なインタフェース

プロパティ

発地道路点コード格納
着地道路点コード格納
計算種別(時間最短 or 距離最短)格納
高速道路の使用/非使用格納
所要時間(分単位)取得
所要時間(1/10秒単位)取得
道のり(m単位)取得
通行料金(円単位)取得(二輪・軽自動車~特大車全5車種)

メソッド

2点間のルート計算
複数点間のルート計算
複数点間の最短ルート計算
ルート情報(経緯度)取得
ルート情報(道路点コードまたは道路区間コード)取得
到達圏計算
指定位置(経緯度)の近傍道路点コード取得

コーディングイメージ

ルート計算(COM形式、Visual Basic 6.0)

' 距離計算オブジェクト(DISTCALC)の CalcRoute メソッドにより
' 2点間ルート計算を実行します。
' 実行後は Time, DSecTime, Distance, Toll_S プロパティの値および
' 詳細ルート情報を MsgBox で表示します。

Dim DistCalc As DISTCALC.DistCalc   ' 距離計算オブジェクト
                           ' (クラス名は SDK版とエンタープライズ版とで異なります)
Dim Points As DCDATA.Points       ' 計算結果地点オブジェクト(詳細ルート情報用)
Dim i As Long

' オブジェクトを初期化します
Set DistCalc = New DISTCALC.DistCalc
Set Points = New DCDATA.Points

' 計算用道路データフォルダを設定します(例)
DistCalc.RoadNetworkDir = "e:\Sample\ 計算地図"

' 計算用道路データをメモリ上にロードします
DistCalc.LoadRoadNetwork

' プロパティを設定します
DistCalc.CalcKind = CALCKIND_TIME       ' 時間最短
DistCalc.UseHighway = USEHIGHWAY_YES    ' 高速道路使用
DistCalc.FromNodeCode = 13000000120780#   ' 始点ノードコード(例)
DistCalc.ToNodeCode = 13000000122582#    ' 終点ノードコード(例)

' 2点間ルート計算を実行します
DistCalc.CalcRoute

' 結果を表示します
MsgBox "Time =" + Str$(DistCalc.Time) + Chr$(13) + _
      "DSecTime =" + Str$(DistCalc.DSecTime) + Chr$(13) + _
      "Distance =" + Str$(DistCalc.Distance)
If DistCalc.IsTollExist Then
    MsgBox "Toll_S =" + Str$(DistCalc.Toll_S)
End If
If DistCalc.IsDetailExist Then
    DistCalc.GetRouteDetail Points
    MsgBox " 詳細ルート情報は" + Str(Points.Count) + " 点です"
    For i = 0 To Points.Count -1
        MsgBox Str(i + 1) + " 点目" + _ " Longitude = " + Str(Points.Item(i).Longitude) + _
              " Latitude = " + Str(Points.Item(i).Latitude)
    Next
End If

' 計算用道路データをメモリ上から解放します
DistCalc.UnloadRoadNetwork

' オブジェクトを解放します
Set DistCalc = Nothing
Set Points = Nothing

関数リファレンス

ACT距離計算パッケージ

Win32DLL用 (ACT距離計算パッケージSDK 距離計算コアライブラリ 関数リファレンス)
COM用 (ACT距離計算コンポーネント プログラマーズリファレンス)

ACT距離計算コア エンタープライズ版

Win32DLL用 (ACT距離計算コア 距離計算コアライブラリ 関数リファレンス)
COM用 (ACT距離計算コンポーネント(マルチ版) プログラマーズリファレンス)

位置検索ライブラリ

Win32DLL用 (ACT位置検索ライブラリ 関数リファレンス)


チーム・マイナス6%
アドバンスド・コア・テクノロジーは、チーム・マイナス6%に参加しています。