08-13-2018 08:10 PM
Hi team
I am trying to set up a GeoMedia Route Service.
According to the on-line documentation one of the data requirements was to create a Graph file that can be used by the service,
can find the on-line documentation here:
https://hexagongeospatial.fluidtopics.net/reader/jFUgMwV8rLquX7vj86E_6A/rY2yaY6_rFb_UTOJsYIbVA
10. Create Graph File
Data Format | Operation |
Linear features | /CreateGraph |
GM Network data | /CreateGraph |
Transportation Manager data | /CreateGraph/p> |
NavTeq and TeleAtlas | This file is created by default when migrating data from Navteq and TeleAtlas formats. CreateGraph operation can be used for publishing: additional graphs OR to overwrite previously created graphs without publishing all files. |
However whenever I uses RouteDataPub to create the Graph file I get the following error:
C:\Working\SDCRoutingAnalysis\NetworkData>RouteDataPub /CreateGraph /Network roads.network /EdgeCost roads.cost/EdgeReverseCost roads.cost /Output roads.length.graph /Overwrite
Error message: Exception occurred.
Description: invalid fnode
Source: AdvNetwork.GraphBuilder.1
Error code: 0x80020009
This is the syntax I used in cmd prompt:
Create ID and Networkfile
RouteDataPub /CreateNetwork /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Geometry geometry /Tolerance 0.01 /Output roads.network /OutputID roads.ID /Overwrite
Create Geometry
RouteDataPub /CreateEdgeGeometry /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Network roads.network /Geometry geometry /Output roads.geometry /Overwrite
Create RangeTree
RouteDataPub /CreateRangeTree /Geometry roads.geometry /Output roads.rangetree /Overwrite
Create EdgeName
RouteDataPub /CreateEdgeName /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Network roads.network /NameExpression name /Output roads.name /Overwrite
Create EdgeCost
RouteDataPub /CreateEdgeCost /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Network roads.network /CostExpression blocked /Output roads.cost /Overwrite
Create Distance
RouteDataPub /CreateEdgeCost /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Network roads.network /CostExpression "LENGTH(Geometry)" /Output roads.distance /Overwrite
Create Duration
RouteDataPub /CreateEdgeCost /Connection C:\Working\SDCRoutingAnalysis\data.mdb /Edge roads /ID id /Network roads.network /CostExpression "LENGTH(Geometry)" /Output roads.duration /Overwrite
Create Graph
RouteDataPub /CreateGraph /Network roads.network /EdgeCost roads.cost /EdgeReverseCost roads.cost /Output roads.length.graph /Overwrite
All of files above get created fine but the Graph file.
I suspect the EdgeCost and EdgeReverseCost files I generated are not qualified. in my example above I used "blocked" field for CostExpression with all values set to 0 (not a oneway). I did this because I read the data requirements below:
Data Format | Operation |
Linear features | /CreateEdgeCost The Cost expression specified must yield a value by combining: Cost Oneway value: 0 - not a oneway 1 – oneway in forward direction -1 – oneway in reverse direction 2 – blocked both ways |
This is what my roads dataset looks like:
id name blocked
30 road_B 0
32 road_A 0
33 road_A 0
34 road_A 0
Note: I am building new a linear network here.
Have I done anything wrong here?
Cheers
Yuan
08-13-2018 08:36 PM
Obvserved the same issue when playing with the sampe data and workflow...
08-19-2018 02:32 PM
Product centre indicated there might be an issue with the RouteDataPub.exe utility tool, see ticket 00032832 for more details.
08-30-2018 01:26 AM
Considering the error message, I think there might be an issue with determining the intersections in the road network. This happens in the first step, when you compile a network from your source feature class. The /Tolerance parameter controls this and should be expressed in meters.
What happens if you use a different tolerance value, like 1m, instead of your 0.01m?