Skip to main content

A Python Library for Robust Observation-based Map-matching

Project description

Toncatsu

PyPI version

A Python Library for Robust Observation-based Map-matching

頑健な観測ベースのマップマッチングを行うpythonライブラリ

Overview 概要

Toncatsu is a Python library that is robust to GPS/GNSS errors and performs stable map-matching regardless of link segmentation. I developed it based on the map-matching method proposed by Hara (2017) for Catsudon to meet the following characteristics.

Toncatsuは、GPS/GNSS誤差への耐性を持ち、リンクの分割状況に左右されずに頑健なマップマッチングを行うPythonライブラリです。以下の特徴を満たすように、原(2017)が提案した移動軌跡解析ツールCatsudonのマップマッチング手法を発展させています。

Features 特徴

  • 🌍 Link-based matching: Search for nearest links instead of nearest nodes to be robust against node sparsity
      リンク基準のマッチング:最近傍ノードではなく最近傍リンクを探索してノード疎密に対して頑健に
  • 🔍 Shortest path search between deviated links: Find the shortest path by skipping to be more robust against outliers
      数個飛ばしで最短経路探索:数個飛ばしで最短経路探索して外れ値に対して頑健に
  • 🚀 Fast search via kd-tree: Efficient nearest-link search using spatial trees
      kd-treeを活用した高速探索:空間木構造により近傍リンクを迅速に取得
  • 🐍 Pure Python / GeoPandas-based: Easy to install and integrate
      GeoPandasベースの純Python実装:環境構築が容易で拡張性が高い
  • 🧪 Benchmark tested: Evaluated using standardized test datasets (Kubička et al., 2015)
      ベンチマーク検証済み:標準データセット(Kubička et al., 2015)を用いた評価を実施

Citation 引用

  • Hasada, H., Flexible Foundational Tools for Identifying Detailed Pedestrian and Vehicle Movements Based on Street Structure (preprint).
    羽佐田紘之, 街路構造に基づいて歩行者・車両の詳細な移動を推定する柔軟な基盤技術の開発 (preprint).

Acknowledgment 謝辞

This research was partially the result of the joint research with CSIS, the University of Tokyo (No. 1417) and used the following data: Real People Flow data provided by GeoTechnologies, Inc.

本研究は、東京大学CSIS共同研究(No. 1417)による成果を含みます(利用データ: 実人流データ(ジオテクノロジーズ株式会社提供))。

References 参考文献

  • Kubička, Matej, Arben Cela, Philippe Moulin, Hugues Mounier, and S. I. Niculescu. 2015. “Dataset for Testing and Training of Map-Matching Algorithms.” In 2015 IEEE Intelligent Vehicles Symposium (IV), 1088–93. IEEE.
  • 原祐輔. 2017. “GPS軌跡解析器の開発と長期観測データを用いた新たな個人属性の提案.” In 第 55 回土木計画学研究発表会・講演集.
  • 羽佐田紘之, 茂木渉, Yuhan Gao, and 岡英紀. 2024. “リンク分割を組み入れた頑健なマップマッチング手法の提案と比較.” In 第69回土木計画学研究発表会・講演集, C04-1.

Installation インストール

pip install toncatsu

Usage 使い方

from toncatsu import toncatsu

# Required DataFrames: link_df, node_df, observation_df
toncatsu(link_df, node_df, observation_df, output_dir="./output", split_length=10, findshortest_interval=5)

Function 関数

Function toncatsu() performs map-matching using GMNS format node/link data and GPS observations.

関数toncatsu()は、GMNSフォーマットのノード・リンクとGPS観測データを用いてマップマッチングを実行します。

Parameters 引数:

English

  • link_df: DataFrame with columns: 'link_id', 'from_node_id', 'to_node_id' (follows GMNS format)
  • node_df: DataFrame with columns: 'node_id', 'x_coord', 'y_coord' (follows GMNS format with EPSG:4326)
  • observation_df: DataFrame with columns: 'id', 'x_coord', 'y_coord'
  • output_dir: Output directory for saving results
  • split_length: Segment length for link splitting in meters (default: 10)
  • findshortest_interval: Interval which is than 0 when searching for the shortest path between identified the nearest neighborhood links/nodes (default: 5)

日本語

  • link_df: 'link_id', 'from_node_id', 'to_node_id' を含むDataFrame (GMNSフォーマットに準拠)
  • node_df: 'node_id', 'x_coord', 'y_coord' を含むDataFrame (GMNSフォーマットに準拠、EPSG:4326のみ対応)
  • observation_df: 'id', 'x_coord', 'y_coord' を含むDataFrame
  • output_dir: 結果を保存する出力先ディレクトリ
  • split_length: リンク分割の長さ(m) (デフォルト: 10)
  • findshortest_interval: リンク列間の最短経路を探索する際の間隔 (デフォルト: 5)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

toncatsu-1.0.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

toncatsu-1.0.0-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file toncatsu-1.0.0.tar.gz.

File metadata

  • Download URL: toncatsu-1.0.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for toncatsu-1.0.0.tar.gz
Algorithm Hash digest
SHA256 b98200379a682b90afe63033a05fe3ff2bdd3249378cbd8eb5b1673a50361ba6
MD5 4b6e4cbbf2ffbe5f82a9a3c1b7259c74
BLAKE2b-256 057b1712e1d12d8f795a07adde04de78282325eb2a4b6b4e52af42586c178050

See more details on using hashes here.

File details

Details for the file toncatsu-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: toncatsu-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.16

File hashes

Hashes for toncatsu-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ab720289059400adc379bd3d48cb24ccd2196caf66cb00dd69861d8df7ffb49c
MD5 a129c3e96c5f24d166cc07ec0b589087
BLAKE2b-256 1cbb5dd39ca2b72c223ca2a3b36cf433b3810201d39f26ef41bd280506b6b2a3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page