Tools for Check Network Input Data consistency - smart-fm/simmobility-prod GitHub Wiki

The tools for checking road network data consistency:

https://github.com/smart-fm/simmobility/tree/shared-ftr-amod-ctrlr-maxAggregatedRequests-to-be-merged-with-master/dev/tools/Build%26Validate_SupplyData/Validate/Checking_network_consistency (branch: shared-ftr-amod-ctrlr-maxAggregatedRequests-to-be-merged-with-master)

  1. 01_Supply_Check_RoadNetwork_Consistency.py. This python script checks and validates the supply road network data, such as link, node, segment and etc. from the database.

    Example of road network data consistency checking: lane have no downstream turning path, lane id ordering, segment's sequence, turning path connectivity, duplicate turning group, missing lane connector, etc..

    Steps:

    • Generates road network and uploads to database supply schema.
    • In the python script, provides the connection details to database (e.g.: host id, database name, password, username).
    • Provides the tables names, and run the python script.
    • If errors are found, please corrects the network and updates to database.
    • Please repeat the process until no exception is thrown.
  2. 02_Find_Closed_Nodes.py. This python script have 2 functionalities. First functionality, find the closed, loop, sink and source nodes, then produce nodes_new.csv.

    Steps:

    • Provides database connection and tables/stored procedures's name.
    • Set studyArea to False.
    • Uploads the output file to supply.node.

    Second functionality, find the blacklisted nodes for particular study area, and produce blacklisted_node.csv.

    Steps:

    • Provides database connection and tables/stored procedures's name.
    • Set studyArea to True.
    • Uploads the output file to supply.blacklisted_study_area.
  3. 03_Supply_Check_Facilities.py. This python script checks and validates the bus stop, taxi stand and parking data.

    Example of checks: invalid bus stop's segment, taxi stand' section offset is longer than segment's length, missing terminal_node data for bbus terminal and etc..

    Steps:

    • Provides database connection and tables/stored procedures's name.
    • If errors are found, please corrects the network and updates to database.
    • Please repeat the process until no exception is thrown.
  4. 04_Supply_Check_Facility_Train.py. (Pending..)