实例介绍
【实例简介】
routing是一款强大的路由计算工具,专为.NET/Mono平台设计。它能够处理来自OpenStreetMap(OSM)等来源的路网数据,支持多种路由计算需求,包括但不限于:
- 从A点到B点的路由计算
- 一组位置之间的距离/时间矩阵计算
- 将OSM数据处理成可路由的网络
- 生成转向指令
- 在移动设备和资源受限环境下的路由计算
此外,routing项目还包含多个子项目,如Itinero.Geo、Itinero.IO.Osm、Itinero.IO.Shape等,这些都是为了增强routing在地理信息处理、数据输入输出方面的能力。
如果你对路由计算、OpenStreetMap或Itinero感兴趣,这个项目无疑是一个不错的选择。
【实例截图】
【核心代码】
文件清单
└── routing-b8a004a831d353565572c7ba41b5a40c29d79360
├── BRANCH-ISSUES.md
├── build.bat
├── build.sh
├── CONTRIBUTING.md
├── docs
│ └── releasenotes
│ ├── itinero-1.1.0.md
│ ├── itinero-1.1.1.md
│ ├── itinero-1.2.0.md
│ ├── itinero-1.3.0.md
│ ├── itinero-1.3.1.md
│ ├── itinero-1.3.2.md
│ ├── itinero-1.4.0.md
│ └── itinero-1.5.0.md
├── Itinero.Common.props
├── Itinero.sln
├── Itinero.sln.DotSettings
├── LICENSE.md
├── NOTICE.md
├── README.md
├── samples
│ ├── Sample.Basic
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ ├── route1.geojson
│ │ ├── Sample.Basic.csproj
│ │ ├── sequence1-undirected.geojson
│ │ ├── sequence2-turn-penalty-120.geojson
│ │ ├── sequence3-preferred-directions.geojson
│ │ └── sequence4-turn-penalty-120-preferred-directions.geojson
│ ├── Sample.DynamicProfiles
│ │ ├── custom-car.lua
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.DynamicProfiles.csproj
│ ├── Sample.Elevation
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.Elevation.csproj
│ ├── Sample.Matrix
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.Matrix.csproj
│ └── Sample.Shape
│ ├── car.lua
│ ├── Download.cs
│ ├── Program.cs
│ ├── README.md
│ └── Sample.Shape.csproj
├── src
│ ├── Itinero
│ │ ├── Algorithms
│ │ │ ├── AlgorithmBase.cs
│ │ │ ├── Collections
│ │ │ │ ├── BinaryHeap.cs
│ │ │ │ ├── BitArray32.cs
│ │ │ │ ├── HugeDictionary.cs
│ │ │ │ ├── LRUCache.cs
│ │ │ │ ├── PathTree.cs
│ │ │ │ ├── SortedSet.cs
│ │ │ │ ├── SparseBitArray32.cs
│ │ │ │ ├── SparseLongIndex.cs
│ │ │ │ └── Stack.cs
│ │ │ ├── Contracted
│ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ ├── BidirectionalDykstraExtensions.cs
│ │ │ │ ├── DirectedGraphBuilder.cs
│ │ │ │ ├── DirectedMetaGraphExtensions.cs
│ │ │ │ ├── Dual
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── Cache
│ │ │ │ │ │ ├── SearchSpaceCache.cs
│ │ │ │ │ │ └── SearchSpace.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── DykstraSource.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ │ ├── FastHierarchyBuilder.cs
│ │ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ │ ├── ManyToMany
│ │ │ │ │ │ ├── VertexToVertexAlgorithm.cs
│ │ │ │ │ │ └── VertexToVertexWeightAlgorithm.cs
│ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ ├── RouterPointExtensions.cs
│ │ │ │ │ ├── VertexToVertexAlgorithm.cs
│ │ │ │ │ └── Witness
│ │ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ │ ├── NeighbourWitnessCalculator.cs
│ │ │ │ │ ├── Shortcut.cs
│ │ │ │ │ ├── Shortcuts.cs
│ │ │ │ │ ├── ShortcutsExtensions.cs
│ │ │ │ │ ├── VertexInfo.cs
│ │ │ │ │ └── VertexInfoExtensions.cs
│ │ │ │ ├── Dykstra.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── DirectedDynamicGraphExtensions.cs
│ │ │ │ │ ├── DirectedGraphBuilder.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ │ ├── EdgePathExtensions.cs
│ │ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ │ ├── ManyToManyBidirectionalDykstra.cs
│ │ │ │ │ ├── ManyToManyWeightsBidirectionalDykstra.cs
│ │ │ │ │ └── Witness
│ │ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ │ └── IWitnessCalculator.cs
│ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ ├── FastHierarchyBuilder.cs
│ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ ├── ManyToManyBidirectionalDykstra.cs
│ │ │ │ ├── ManyToManyWeightsBidirectionalDykstra.cs
│ │ │ │ ├── PathTreeExtensions.cs
│ │ │ │ └── Witness
│ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ ├── IWitnessCalculator.cs
│ │ │ │ ├── NeighbourWitnessCalculator.cs
│ │ │ │ ├── Shortcut.cs
│ │ │ │ ├── Shortcuts.cs
│ │ │ │ ├── ShortcutsExtensions.cs
│ │ │ │ ├── VertexInfo.cs
│ │ │ │ └── VertexInfoExtensions.cs
│ │ │ ├── Default
│ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ ├── Dykstra.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── DirectedDykstra.cs
│ │ │ │ │ ├── DirectedDykstraSource.cs
│ │ │ │ │ ├── DirectedManyToMany.cs
│ │ │ │ │ ├── DirectedManyToManyWeights.cs
│ │ │ │ │ ├── DirectedOneToMany.cs
│ │ │ │ │ ├── DirectedOneToManyWeights.cs
│ │ │ │ │ ├── DirectedSequenceRouter.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── ManyToMany.cs
│ │ │ │ │ ├── OneHopRouter.cs
│ │ │ │ │ ├── OneToMany.cs
│ │ │ │ │ └── RouterPointExtensions.cs
│ │ │ │ ├── ManyToMany.cs
│ │ │ │ ├── OneHopRouter.cs
│ │ │ │ └── OneToMany.cs
│ │ │ ├── DirectedEdgeId.cs
│ │ │ ├── DirectedEdgeIdExtensions.cs
│ │ │ ├── Dual
│ │ │ │ ├── BidirectionalDykstraExtensions.cs
│ │ │ │ └── DualGraphBuilder.cs
│ │ │ ├── EdgePath.cs
│ │ │ ├── EdgePathExtensions.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IAlgorithm.cs
│ │ │ ├── Matrices
│ │ │ │ ├── DirectedWeightMatrixAlgorithm.cs
│ │ │ │ ├── Extensions.cs
│ │ │ │ ├── IDirectedWeightMatrixAlgorithm.cs
│ │ │ │ ├── IWeightMatrixAlgorithm.cs
│ │ │ │ ├── RouterPointErrorCode.cs
│ │ │ │ ├── RouterPointError.cs
│ │ │ │ └── WeightMatrixAlgorithm.cs
│ │ │ ├── Networks
│ │ │ │ ├── Analytics
│ │ │ │ │ ├── Heatmaps
│ │ │ │ │ │ ├── HeatmapResult.cs
│ │ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ │ └── TileBasedHeatmapBuilder.cs
│ │ │ │ │ ├── IEdgeVisitor.cs
│ │ │ │ │ ├── Isochrones
│ │ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ │ ├── TileBasedIsochroneBuilder.cs
│ │ │ │ │ │ └── TilesToPolygon.cs
│ │ │ │ │ └── Trees
│ │ │ │ │ ├── Models
│ │ │ │ │ │ ├── Tree.cs
│ │ │ │ │ │ └── TreeEdge.cs
│ │ │ │ │ ├── RouterExtension.cs
│ │ │ │ │ └── TreeBuilder.cs
│ │ │ │ ├── Islands
│ │ │ │ │ ├── EdgeBasedIslandDetector.cs
│ │ │ │ │ ├── IslandDetector.cs
│ │ │ │ │ ├── IslandLabelGraph.cs
│ │ │ │ │ └── IslandLabels.cs
│ │ │ │ ├── NetworkOptimizer.cs
│ │ │ │ ├── Preprocessing
│ │ │ │ │ ├── Areas
│ │ │ │ │ │ ├── AreaMetaDataHandler.cs
│ │ │ │ │ │ ├── IArea.cs
│ │ │ │ │ │ └── PolygonArea.cs
│ │ │ │ │ ├── DuplicateEdgeRemover.cs
│ │ │ │ │ ├── MaxDistanceSplitter.cs
│ │ │ │ │ └── SimpleGraphConverter.cs
│ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ ├── RouterPointEmbedder.cs
│ │ │ │ └── ZeroLengthLinksOptimizer.cs
│ │ │ ├── OriginalEdge.cs
│ │ │ ├── Restrictions
│ │ │ │ ├── RestrictionCollection.cs
│ │ │ │ ├── Restriction.cs
│ │ │ │ └── RestrictionExtensions.cs
│ │ │ ├── Routes
│ │ │ │ ├── CompleteRouteBuilder.cs
│ │ │ │ ├── FastRouteBuilder.cs
│ │ │ │ ├── IRouteBuilder.cs
│ │ │ │ ├── RouteBuilderExtensions.cs
│ │ │ │ └── RouteSegmentAggregator.cs
│ │ │ ├── Search
│ │ │ │ ├── Cache
│ │ │ │ │ ├── IResolverCache.cs
│ │ │ │ │ └── ResolverCache.cs
│ │ │ │ ├── Hilbert
│ │ │ │ │ ├── HilbertCurve.cs
│ │ │ │ │ └── HilbertExtensions.cs
│ │ │ │ ├── IMassResolvingAlgorithm.cs
│ │ │ │ ├── IResolveExtensions.cs
│ │ │ │ ├── IResolver.cs
│ │ │ │ ├── MassResolvingAlgorithm.cs
│ │ │ │ ├── PathSegment.cs
│ │ │ │ ├── PresolvedMassResolvingAlgorithm.cs
│ │ │ │ ├── ResolveAlgorithm.cs
│ │ │ │ ├── ResolveMultipleAlgorithm.cs
│ │ │ │ ├── ResolveSettings.cs
│ │ │ │ └── ResolveVertexAlgorithm.cs
│ │ │ ├── Shortcuts
│ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ ├── ShortcutBuilder.cs
│ │ │ │ ├── ShortcutExtensions.cs
│ │ │ │ └── ShortcutSpecs.cs
│ │ │ ├── Sorting
│ │ │ │ └── QuickSort.cs
│ │ │ ├── Tiles
│ │ │ │ ├── RoutingTile.cs
│ │ │ │ ├── TileHelper.cs
│ │ │ │ ├── TileIndex.cs
│ │ │ │ └── TileRange.cs
│ │ │ ├── Turn.cs
│ │ │ └── Weights
│ │ │ ├── DefaultWeightHandler.cs
│ │ │ ├── Dir.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── VertexAndWeight.cs
│ │ │ ├── WeightAndDir.cs
│ │ │ ├── Weight.cs
│ │ │ └── WeightHandler.cs
│ │ ├── Attributes
│ │ │ ├── AttributeCollection.cs
│ │ │ ├── Attribute.cs
│ │ │ ├── AttributesIndex.cs
│ │ │ ├── AttributesIndexExtensions.cs
│ │ │ ├── IAttributeCollection.cs
│ │ │ ├── IAttributeCollectionExtension.cs
│ │ │ ├── IReadonlyAttributeCollection.cs
│ │ │ ├── MappedAttributesIndex.cs
│ │ │ └── MappedAttributesIndexProfile.cs
│ │ ├── Constants.cs
│ │ ├── Context.cs
│ │ ├── Data
│ │ │ ├── Contracted
│ │ │ │ ├── ContractedDb.cs
│ │ │ │ ├── ContractedDbProfile.cs
│ │ │ │ └── Edges
│ │ │ │ ├── ContractedEdgeData.cs
│ │ │ │ └── ContractedEdgeDataSerializer.cs
│ │ │ ├── Edges
│ │ │ │ ├── EdgeData.cs
│ │ │ │ └── EdgeDataSerializer.cs
│ │ │ ├── Meta
│ │ │ │ ├── MetaCollection.cs
│ │ │ │ └── MetaCollectionsDb.cs
│ │ │ ├── Network
│ │ │ │ ├── Edges
│ │ │ │ │ └── EdgeData.cs
│ │ │ │ ├── Restrictions
│ │ │ │ │ ├── RestrictionsDb.cs
│ │ │ │ │ ├── RestrictionsDbExtensions.cs
│ │ │ │ │ ├── RestrictionsDbMeta.cs
│ │ │ │ │ └── RestrictionsDbProfile.cs
│ │ │ │ ├── RoutingEdge.cs
│ │ │ │ ├── RoutingNetwork.cs
│ │ │ │ ├── RoutingNetworkExtensions.cs
│ │ │ │ └── RoutingNetworkProfile.cs
│ │ │ └── Shortcuts
│ │ │ └── ShortcutsDb.cs
│ │ ├── DebugExtensions.cs
│ │ ├── DefaultArrayFactory.cs
│ │ ├── Elevation
│ │ │ └── RouterDbExtensions.cs
│ │ ├── Exceptions
│ │ │ ├── ResolveFailedException.cs
│ │ │ ├── RouteBuildFailedException.cs
│ │ │ └── RouteNotFoundException.cs
│ │ ├── Extensions.cs
│ │ ├── Graphs
│ │ │ ├── Directed
│ │ │ │ ├── DirectedDynamicGraph.cs
│ │ │ │ ├── DirectedDynamicGraphExtensions.cs
│ │ │ │ ├── DirectedGraph.cs
│ │ │ │ ├── DirectedGraphProfile.cs
│ │ │ │ ├── DirectedMetaGraph.cs
│ │ │ │ ├── DirectedMetaGraphExtensions.cs
│ │ │ │ ├── DirectedMetaGraphProfile.cs
│ │ │ │ ├── DynamicEdge.cs
│ │ │ │ ├── Edge.cs
│ │ │ │ ├── Extensions.cs
│ │ │ │ └── MetaEdge.cs
│ │ │ ├── Edge.cs
│ │ │ ├── EdgeExtensions.cs
│ │ │ ├── Geometric
│ │ │ │ ├── GeometricEdge.cs
│ │ │ │ ├── GeometricGraph.cs
│ │ │ │ ├── GeometricGraphExtensions.cs
│ │ │ │ ├── GeometricGraphProfile.cs
│ │ │ │ └── Shapes
│ │ │ │ ├── ShapeBase.cs
│ │ │ │ ├── Shape.cs
│ │ │ │ ├── ShapeEnumerable.cs
│ │ │ │ ├── ShapesArray.cs
│ │ │ │ └── ShapesArrayExtensions.cs
│ │ │ ├── Graph.cs
│ │ │ ├── GraphExtensions.cs
│ │ │ └── GraphProfile.cs
│ │ ├── IArrayFactory.cs
│ │ ├── IO
│ │ │ ├── Json
│ │ │ │ ├── JsonTools.cs
│ │ │ │ └── JsonWriter.cs
│ │ │ └── Xml
│ │ │ ├── Route.Xml.cs
│ │ │ └── XmlExtensions.cs
│ │ ├── Itinero.csproj
│ │ ├── LocalGeo
│ │ │ ├── Box.cs
│ │ │ ├── Coordinate.cs
│ │ │ ├── Elevation
│ │ │ │ └── ElevationHandler.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IO
│ │ │ │ └── GeoJsonExtension.cs
│ │ │ ├── Line.cs
│ │ │ ├── Operations
│ │ │ │ ├── Intersections.cs
│ │ │ │ ├── PointInPolygon.cs
│ │ │ │ ├── PolygonAreaCalcutor.cs
│ │ │ │ └── QuickHull.cs
│ │ │ ├── Polygon.cs
│ │ │ └── Tools.cs
│ │ ├── Logging
│ │ │ ├── Logger.cs
│ │ │ └── TraceEventType.cs
│ │ ├── Navigation
│ │ │ ├── Directions
│ │ │ │ ├── DirectionCalculator.cs
│ │ │ │ ├── DirectionEnum.cs
│ │ │ │ ├── RelativeDirection.cs
│ │ │ │ └── RelativeDirectionEnum.cs
│ │ │ ├── Instructions
│ │ │ │ ├── DynamicUnimodalInstructionGenerator.cs
│ │ │ │ ├── Instruction.cs
│ │ │ │ ├── InstructionExtensions.cs
│ │ │ │ ├── IUnimodalInstructionGenerator.cs
│ │ │ │ └── UnimodalInstructionGenerator.cs
│ │ │ └── Language
│ │ │ ├── DefaultLanguageReference.cs
│ │ │ └── ILanguageReference.cs
│ │ ├── Osm
│ │ │ └── Vehicles
│ │ │ ├── bicycle.lua
│ │ │ ├── bigtruck.lua
│ │ │ ├── bus.lua
│ │ │ ├── car.lua
│ │ │ ├── moped.lua
│ │ │ ├── motorcycle.lua
│ │ │ ├── pedestrian.lua
│ │ │ ├── smalltruck.lua
│ │ │ ├── Vehicle.cs
│ │ │ └── VehicleExtensions.cs
│ │ ├── Profiles
│ │ │ ├── Constraint.cs
│ │ │ ├── ConstraintExtensions.cs
│ │ │ ├── DynamicProfile.cs
│ │ │ ├── DynamicVehicle.cs
│ │ │ ├── FactorAndSpeed.cs
│ │ │ ├── Factor.cs
│ │ │ ├── IAttributeCollectionExtensions.cs
│ │ │ ├── IProfileInstance.cs
│ │ │ ├── IProfileInstanceExtensions.cs
│ │ │ ├── Lua
│ │ │ │ ├── Compatibility
│ │ │ │ │ ├── Attributes.cs
│ │ │ │ │ ├── Framework.cs
│ │ │ │ │ ├── Frameworks
│ │ │ │ │ │ ├── Base
│ │ │ │ │ │ │ ├── FrameworkBase.cs
│ │ │ │ │ │ │ ├── FrameworkClrBase.cs
│ │ │ │ │ │ │ ├── FrameworkCoreBase.cs
│ │ │ │ │ │ │ └── FrameworkReflectionBase.cs
│ │ │ │ │ │ ├── FrameworkCLR.cs
│ │ │ │ │ │ ├── FrameworkCore.cs
│ │ │ │ │ │ ├── FrameworkPCL.cs
│ │ │ │ │ │ └── FrameworkWin8.cs
│ │ │ │ │ └── Stopwatch.cs
│ │ │ │ ├── CoreLib
│ │ │ │ │ ├── BasicModule.cs
│ │ │ │ │ ├── Bit32Module.cs
│ │ │ │ │ ├── CoroutineModule.cs
│ │ │ │ │ ├── DynamicModule.cs
│ │ │ │ │ ├── ErrorHandlingModule.cs
│ │ │ │ │ ├── JsonModule.cs
│ │ │ │ │ ├── LoadModule.cs
│ │ │ │ │ ├── MathModule.cs
│ │ │ │ │ ├── MetaTableModule.cs
│ │ │ │ │ ├── OsTimeModule.cs
│ │ │ │ │ ├── StringLib
│ │ │ │ │ │ ├── KopiLua_StrLib.cs
│ │ │ │ │ │ └── StringRange.cs
│ │ │ │ │ ├── StringModule.cs
│ │ │ │ │ ├── TableIteratorsModule.cs
│ │ │ │ │ └── TableModule.cs
│ │ │ │ ├── DataStructs
│ │ │ │ │ ├── Extension_Methods.cs
│ │ │ │ │ ├── FastStack.cs
│ │ │ │ │ ├── FastStackDynamic.cs
│ │ │ │ │ ├── LinkedListIndex.cs
│ │ │ │ │ ├── MultiDictionary.cs
│ │ │ │ │ ├── ReferenceEqualityComparer.cs
│ │ │ │ │ └── Slice.cs
│ │ │ │ ├── DataTypes
│ │ │ │ │ ├── CallbackArguments.cs
│ │ │ │ │ ├── CallbackFunction.cs
│ │ │ │ │ ├── Closure.cs
│ │ │ │ │ ├── Coroutine.cs
│ │ │ │ │ ├── CoroutineState.cs
│ │ │ │ │ ├── DataType.cs
│ │ │ │ │ ├── DynValue.cs
│ │ │ │ │ ├── IScriptPrivateResource.cs
│ │ │ │ │ ├── RefIdObject.cs
│ │ │ │ │ ├── ScriptFunctionDelegate.cs
│ │ │ │ │ ├── SymbolRef.cs
│ │ │ │ │ ├── SymbolRefType.cs
│ │ │ │ │ ├── Table.cs
│ │ │ │ │ ├── TablePair.cs
│ │ │ │ │ ├── TailCallData.cs
│ │ │ │ │ ├── TypeValidationFlags.cs
│ │ │ │ │ ├── UserData.cs
│ │ │ │ │ ├── WellKnownSymbols.cs
│ │ │ │ │ └── YieldRequest.cs
│ │ │ │ ├── Debugging
│ │ │ │ │ ├── DebuggerAction.cs
│ │ │ │ │ ├── DebuggerCaps.cs
│ │ │ │ │ ├── DebugService.cs
│ │ │ │ │ ├── IDebugger.cs
│ │ │ │ │ ├── SourceCode.cs
│ │ │ │ │ ├── SourceRef.cs
│ │ │ │ │ ├── WatchItem.cs
│ │ │ │ │ └── WatchType.cs
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── PerformanceCounter.cs
│ │ │ │ │ ├── PerformanceCounters
│ │ │ │ │ │ ├── DummyPerformanceStopwatch.cs
│ │ │ │ │ │ ├── GlobalPerformanceStopwatch.cs
│ │ │ │ │ │ ├── IPerformanceStopwatch.cs
│ │ │ │ │ │ └── PerformanceStopwatch.cs
│ │ │ │ │ ├── PerformanceCounterType.cs
│ │ │ │ │ ├── PerformanceResult.cs
│ │ │ │ │ └── PerformanceStatistics.cs
│ │ │ │ ├── Errors
│ │ │ │ │ ├── DynamicExpressionException.cs
│ │ │ │ │ ├── InternalErrorException.cs
│ │ │ │ │ ├── InterpreterException.cs
│ │ │ │ │ ├── ScriptRuntimeException.cs
│ │ │ │ │ └── SyntaxErrorException.cs
│ │ │ │ ├── Execution
│ │ │ │ │ ├── DynamicExpression.cs
│ │ │ │ │ ├── InstructionFieldUsage.cs
│ │ │ │ │ ├── Scopes
│ │ │ │ │ │ ├── BuildTimeScopeBlock.cs
│ │ │ │ │ │ ├── BuildTimeScope.cs
│ │ │ │ │ │ ├── BuildTimeScopeFrame.cs
│ │ │ │ │ │ ├── ClosureContext.cs
│ │ │ │ │ │ ├── IClosureBuilder.cs
│ │ │ │ │ │ ├── LoopTracker.cs
│ │ │ │ │ │ ├── RuntimeScopeBlock.cs
│ │ │ │ │ │ └── RuntimeScopeFrame.cs
│ │ │ │ │ ├── ScriptExecutionContext.cs
│ │ │ │ │ ├── ScriptLoadingContext.cs
│ │ │ │ │ └── VM
│ │ │ │ │ ├── ByteCode.cs
│ │ │ │ │ ├── CallStackItem.cs
│ │ │ │ │ ├── CallStackItemFlags.cs
│ │ │ │ │ ├── ExecutionState.cs
│ │ │ │ │ ├── Instruction.cs
│ │ │ │ │ ├── OpCode.cs
│ │ │ │ │ ├── OpCodeMetadataType.cs
│ │ │ │ │ └── Processor
│ │ │ │ │ ├── DebugContext.cs
│ │ │ │ │ ├── Processor_BinaryDump.cs
│ │ │ │ │ ├── Processor_Coroutines.cs
│ │ │ │ │ ├── Processor.cs
│ │ │ │ │ ├── Processor_Debugger.cs
│ │ │ │ │ ├── Processor_Errors.cs
│ │ │ │ │ ├── Processor_IExecutionContext.cs
│ │ │ │ │ ├── Processor_InstructionLoop.cs
│ │ │ │ │ ├── Processor_Scope.cs
│ │ │ │ │ └── Processor_UtilityFunctions.cs
│ │ │ │ ├── Interop
│ │ │ │ │ ├── Attributes
│ │ │ │ │ │ ├── MoonSharpHiddenAttribute.cs
│ │ │ │ │ │ ├── MoonSharpHideMemberAttribute.cs
│ │ │ │ │ │ ├── MoonSharpPropertyAttribute.cs
│ │ │ │ │ │ ├── MoonSharpUserDataAttribute.cs
│ │ │ │ │ │ ├── MoonSharpUserDataMetamethodAttribute.cs
│ │ │ │ │ │ └── MoonSharpVisibleAttribute.cs
│ │ │ │ │ ├── BasicDescriptors
│ │ │ │ │ │ ├── DispatchingUserDataDescriptor.cs
│ │ │ │ │ │ ├── IMemberDescriptor.cs
│ │ │ │ │ │ ├── IOptimizableDescriptor.cs
│ │ │ │ │ │ ├── IOverloadableMemberDescriptor.cs
│ │ │ │ │ │ ├── MemberDescriptorAccess.cs
│ │ │ │ │ │ └── ParameterDescriptor.cs
│ │ │ │ │ ├── Converters
│ │ │ │ │ │ ├── ClrToScriptConversions.cs
│ │ │ │ │ │ ├── NumericConversions.cs
│ │ │ │ │ │ ├── ScriptToClrConversions.cs
│ │ │ │ │ │ ├── StringConversions.cs
│ │ │ │ │ │ └── TableConversions.cs
│ │ │ │ │ ├── CustomConvertersCollection.cs
│ │ │ │ │ ├── DescriptorHelpers.cs
│ │ │ │ │ ├── IGeneratorUserDataDescriptor.cs
│ │ │ │ │ ├── InteropAccessMode.cs
│ │ │ │ │ ├── InteropRegistrationPolicy.cs
│ │ │ │ │ ├── IUserDataDescriptor.cs
│ │ │ │ │ ├── IUserDataMemberDescriptor.cs
│ │ │ │ │ ├── IUserDataType.cs
│ │ │ │ │ ├── IWireableDescriptor.cs
│ │ │ │ │ ├── LuaStateInterop
│ │ │ │ │ │ ├── CharPtr.cs
│ │ │ │ │ │ ├── LuaBase_CLib.cs
│ │ │ │ │ │ ├── LuaBase.cs
│ │ │ │ │ │ ├── LuaLBuffer.cs
│ │ │ │ │ │ ├── LuaState.cs
│ │ │ │ │ │ └── Tools.cs
│ │ │ │ │ ├── PredefinedUserData
│ │ │ │ │ │ ├── AnonWrapper.cs
│ │ │ │ │ │ └── EnumerableWrapper.cs
│ │ │ │ │ ├── PropertyTableAssigner.cs
│ │ │ │ │ ├── ProxyObjects
│ │ │ │ │ │ ├── DelegateProxyFactory.cs
│ │ │ │ │ │ └── IProxyFactory.cs
│ │ │ │ │ ├── ReflectionSpecialNames.cs
│ │ │ │ │ ├── RegistrationPolicies
│ │ │ │ │ │ ├── AutomaticRegistrationPolicy.cs
│ │ │ │ │ │ ├── DefaultRegistrationPolicy.cs
│ │ │ │ │ │ ├── IRegistrationPolicy.cs
│ │ │ │ │ │ └── PermanentRegistrationPolicy.cs
│ │ │ │ │ ├── StandardDescriptors
│ │ │ │ │ │ ├── AutoDescribingUserDataDescriptor.cs
│ │ │ │ │ │ ├── CompositeUserDataDescriptor.cs
│ │ │ │ │ │ ├── EventFacade.cs
│ │ │ │ │ │ ├── HardwiredDescriptors
│ │ │ │ │ │ │ ├── DefaultValue.cs
│ │ │ │ │ │ │ ├── HardwiredMemberDescriptor.cs
│ │ │ │ │ │ │ ├── HardwiredMethodMemberDescriptor.cs
│ │ │ │ │ │ │ └── HardwiredUserDataDescriptor.cs
│ │ │ │ │ │ ├── MemberDescriptors
│ │ │ │ │ │ │ ├── ArrayMemberDescriptor.cs
│ │ │ │ │ │ │ ├── DynValueMemberDescriptor.cs
│ │ │ │ │ │ │ ├── FunctionMemberDescriptorBase.cs
│ │ │ │ │ │ │ └── ObjectCallbackMemberDescriptor.cs
│ │ │ │ │ │ ├── ProxyUserDataDescriptor.cs
│ │ │ │ │ │ ├── ReflectionMemberDescriptors
│ │ │ │ │ │ │ ├── EventMemberDescriptor.cs
│ │ │ │ │ │ │ ├── FieldMemberDescriptor.cs
│ │ │ │ │ │ │ ├── MethodMemberDescriptor.cs
│ │ │ │ │ │ │ ├── OverloadedMethodMemberDescriptor.cs
│ │ │ │ │ │ │ ├── PropertyMemberDescriptor.cs
│ │ │ │ │ │ │ └── ValueTypeDefaultCtorMemberDescriptor.cs
│ │ │ │ │ │ ├── StandardEnumUserDataDescriptor.cs
│ │ │ │ │ │ ├── StandardGenericsUserDataDescriptor.cs
│ │ │ │ │ │ └── StandardUserDataDescriptor.cs
│ │ │ │ │ ├── UserDataMemberType.cs
│ │ │ │ │ └── UserDataRegistries
│ │ │ │ │ ├── ExtensionMethodsRegistry.cs
│ │ │ │ │ └── TypeDescriptorRegistry.cs
│ │ │ │ ├── ItineroLib
│ │ │ │ │ └── ItineroModule.cs
│ │ │ │ ├── LinqHelpers.cs
│ │ │ │ ├── LuaExtensions.cs
│ │ │ │ ├── Modules
│ │ │ │ │ ├── CoreModules.cs
│ │ │ │ │ ├── ModuleRegister.cs
│ │ │ │ │ ├── MoonSharpModuleAttribute.cs
│ │ │ │ │ ├── MoonSharpModuleConstantAttribute.cs
│ │ │ │ │ └── MoonSharpModuleMethodAttribute.cs
│ │ │ │ ├── Options
│ │ │ │ │ └── ColonOperatorBehaviour.cs
│ │ │ │ ├── Script.cs
│ │ │ │ ├── ScriptGlobalOptions.cs
│ │ │ │ ├── ScriptOptions.cs
│ │ │ │ └── Tree
│ │ │ │ ├── Expression_.cs
│ │ │ │ ├── Expressions
│ │ │ │ │ ├── AdjustmentExpression.cs
│ │ │ │ │ ├── BinaryOperatorExpression.cs
│ │ │ │ │ ├── DynamicExprExpression.cs
│ │ │ │ │ ├── ExprListExpression.cs
│ │ │ │ │ ├── FunctionCallExpression.cs
│ │ │ │ │ ├── FunctionDefinitionExpression.cs
│ │ │ │ │ ├── IndexExpression.cs
│ │ │ │ │ ├── LiteralExpression.cs
│ │ │ │ │ ├── SymbolRefExpression.cs
│ │ │ │ │ ├── TableConstructor.cs
│ │ │ │ │ └── UnaryOperatorExpression.cs
│ │ │ │ ├── Fast_Interface
│ │ │ │ │ └── Loader_Fast.cs
│ │ │ │ ├── IVariable.cs
│ │ │ │ ├── Lexer
│ │ │ │ │ ├── Lexer.cs
│ │ │ │ │ ├── LexerUtils.cs
│ │ │ │ │ ├── Token.cs
│ │ │ │ │ └── TokenType.cs
│ │ │ │ ├── Loop.cs
│ │ │ │ ├── NodeBase.cs
│ │ │ │ ├── Statement.cs
│ │ │ │ └── Statements
│ │ │ │ ├── AssignmentStatement.cs
│ │ │ │ ├── BreakStatement.cs
│ │ │ │ ├── ChunkStatement.cs
│ │ │ │ ├── CompositeStatement.cs
│ │ │ │ ├── EmptyStatement.cs
│ │ │ │ ├── ForEachLoopStatement.cs
│ │ │ │ ├── ForLoopStatement.cs
│ │ │ │ ├── FunctionCallStatement.cs
│ │ │ │ ├── FunctionDefinitionStatement.cs
│ │ │ │ ├── GotoStatement.cs
│ │ │ │ ├── IfStatement.cs
│ │ │ │ ├── LabelStatement.cs
│ │ │ │ ├── RepeatStatement.cs
│ │ │ │ ├── ReturnStatement.cs
│ │ │ │ ├── ScopeBlockStatement.cs
│ │ │ │ └── WhileStatement.cs
│ │ │ ├── Profile.cs
│ │ │ ├── ProfileExtensions.cs
│ │ │ ├── ProfileFactorAndSpeedCache.cs
│ │ │ ├── ProfileMetric.cs
│ │ │ ├── Speed.cs
│ │ │ ├── VehicleCache.cs
│ │ │ ├── Vehicle.cs
│ │ │ ├── VehicleExtensions.cs
│ │ │ └── Whitelist.cs
│ │ ├── Result.cs
│ │ ├── ResultExtensions.cs
│ │ ├── Route.cs
│ │ ├── RouteExtensions.cs
│ │ ├── RouterBase.cs
│ │ ├── RouterBaseExtensions.cs
│ │ ├── Router.cs
│ │ ├── RouterDb.cs
│ │ ├── RouterDbExtensions.cs
│ │ ├── RouterDbProfile.cs
│ │ ├── RouterPoint.cs
│ │ ├── RouterPointExtensions.cs
│ │ └── RoutingSettings.cs
│ ├── Itinero.Geo
│ │ ├── Attributes
│ │ │ └── AttributeExtensions.cs
│ │ ├── Extensions.cs
│ │ ├── Graphs
│ │ │ └── GeometricExtensions.cs
│ │ ├── Itinero.Geo.csproj
│ │ ├── Navigation
│ │ │ └── InstructionExtensions.cs
│ │ ├── Network
│ │ │ └── RoutingNetworkExtensions.cs
│ │ ├── NTSExtensions.cs
│ │ ├── RouteExtensions.cs
│ │ ├── RouterDbExtensions.cs
│ │ └── RouterExtensions.cs
│ ├── Itinero.IO.Osm
│ │ ├── Constants.cs
│ │ ├── Extensions.cs
│ │ ├── Itinero.IO.Osm.csproj
│ │ ├── LoadSettings.cs
│ │ ├── Nodes
│ │ │ └── DynamicVehicleNodeTagProcessor.cs
│ │ ├── Normalizer
│ │ │ ├── AttributeCollectionExtensions.cs
│ │ │ ├── DefaultTagNormalizer.cs
│ │ │ └── ITagNormalizer.cs
│ │ ├── Overpass
│ │ │ ├── Download.cs
│ │ │ ├── OverpassQueryBuilder.cs
│ │ │ └── OverpassSourceStream.cs
│ │ ├── Relations
│ │ │ ├── DynamicVehicleRelationTagProcessor.cs
│ │ │ └── RelationTagProcessor.cs
│ │ ├── Restrictions
│ │ │ ├── DynamicVehicleNodeRestrictionProcessor.cs
│ │ │ ├── Helper.cs
│ │ │ ├── NodeRestrictionProcessor.cs
│ │ │ └── RestrictionProcessor.cs
│ │ ├── RouterDbExtensions.cs
│ │ ├── Streams
│ │ │ ├── ITwoPassProcessor.cs
│ │ │ ├── NodeIndex.cs
│ │ │ ├── RouterDbStreamTarget.cs
│ │ │ ├── UniqueIdMap.cs
│ │ │ └── UnsignedNodeIndex.cs
│ │ └── TagAttributeCollection.cs
│ └── Itinero.IO.Shape
│ ├── Itinero.IO.Shape.csproj
│ ├── Reader
│ │ ├── ShapeFileReader.cs
│ │ └── ShapefileReaderExtensions.cs
│ ├── RouterDbExtensions.cs
│ └── Writer
│ ├── Extensions.cs
│ ├── FeaturesList.cs
│ └── ShapeFileWriter.cs
├── test
│ ├── Itinero.Test
│ │ ├── Algorithms
│ │ │ ├── Collections
│ │ │ │ └── SparseBitArray32Tests.cs
│ │ │ ├── Contracted
│ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ ├── DirectedGraphBuilderTests.cs
│ │ │ │ ├── DirectedGraphExtensionsTests.cs
│ │ │ │ ├── Dual
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ └── HierarchyBuilderTests.cs
│ │ │ │ ├── DykstraTests.cs
│ │ │ │ ├── DykstraWitnessCalculatorTests.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DirectedGraphBuilderTests.cs
│ │ │ │ │ ├── DirectedGraphExtensionsTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ ├── DykstraWitnessCalculatorTests.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculatorTests.cs
│ │ │ │ │ ├── EdgePathExtensionsTests.cs
│ │ │ │ │ ├── HierarchyBuilderTests.cs
│ │ │ │ │ ├── ManyToManyWeightsTests.cs
│ │ │ │ │ ├── MockPriorityCalculator.cs
│ │ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ │ └── WitnessCalculatorMock.cs
│ │ │ │ ├── EdgeDifferencePriorityCalculatorTests.cs
│ │ │ │ ├── HierarchyBuilderTests.cs
│ │ │ │ ├── ManyToManyWeightsTests.cs
│ │ │ │ ├── MockPriorityCalculator.cs
│ │ │ │ └── WitnessCalculatorMock.cs
│ │ │ ├── Default
│ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ ├── DykstraTests.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DirectedDykstraTests.cs
│ │ │ │ │ ├── DirectedSequenceRouterTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ ├── ManyToManyTests.cs
│ │ │ │ │ ├── OneHopRouterTests.cs
│ │ │ │ │ └── OneToManyTests.cs
│ │ │ │ ├── ManyToManyTests.cs
│ │ │ │ ├── OneHopRouterTests.cs
│ │ │ │ └── OneToManyTests.cs
│ │ │ ├── EdgePathTests.cs
│ │ │ ├── Matrices
│ │ │ │ ├── DirectedWeightMatrixAlgorithmTests.cs
│ │ │ │ └── WeightMatrixAlgorithmTests.cs
│ │ │ ├── Networks
│ │ │ │ ├── Islands
│ │ │ │ │ ├── EdgeBasedIslandDetectorTests.cs
│ │ │ │ │ └── IslandDetectorTests.cs
│ │ │ │ ├── NetworkOptimizerTests.cs
│ │ │ │ ├── Preprocessing
│ │ │ │ │ ├── Areas
│ │ │ │ │ │ └── AreaMetaDataHandlerTests.cs
│ │ │ │ │ ├── MaxDistanceSplitterTests.cs
│ │ │ │ │ └── SimpleGraphConverterTest.cs
│ │ │ │ └── RouterDbExtensionTests.cs
│ │ │ ├── Restrictions
│ │ │ │ └── RestrictionExtensionTests.cs
│ │ │ ├── Routes
│ │ │ │ ├── CompleteRouteBuilderTests.cs
│ │ │ │ └── RouteSegmentAggregatorTests.cs
│ │ │ └── Search
│ │ │ ├── HibertTests.cs
│ │ │ ├── MassResolvingAlgorithmTests.cs
│ │ │ ├── MockResolver.cs
│ │ │ └── ResolveAlgorithmTests.cs
│ │ ├── Attributes
│ │ │ ├── AttributesIndexTests.cs
│ │ │ └── MappedAttributesIndexTests.cs
│ │ ├── ContextTests.cs
│ │ ├── Data
│ │ │ ├── Contracted
│ │ │ │ └── Edges
│ │ │ │ └── ContractedEdgeDataSerializerTests.cs
│ │ │ ├── Edges
│ │ │ │ └── EdgeDataSerializerTests.cs
│ │ │ ├── Meta
│ │ │ │ ├── MetaCollectionsDbTests.cs
│ │ │ │ └── MetaCollectionTests.cs
│ │ │ ├── Network
│ │ │ │ ├── Restrictions
│ │ │ │ │ └── RestrictionsDbTests.cs
│ │ │ │ └── RoutingNetworkTests.cs
│ │ │ └── Shortcuts
│ │ │ └── ShortcutsDbTests.cs
│ │ ├── ExtensionTests.cs
│ │ ├── Graphs
│ │ │ ├── Directed
│ │ │ │ ├── DirectedDynamicGraphTests.cs
│ │ │ │ ├── DirectedGraphTests.cs
│ │ │ │ └── DirectedMetaGraphTests.cs
│ │ │ ├── Geometric
│ │ │ │ ├── GeometricGraphTests.cs
│ │ │ │ └── Shapes
│ │ │ │ └── ShapesArrayTests.cs
│ │ │ └── GraphTests.cs
│ │ ├── IO
│ │ │ └── Osm
│ │ │ ├── Normalizer
│ │ │ │ └── AttributeCollectionExtensionsTests.cs
│ │ │ ├── Overpass
│ │ │ │ └── OverpassQueryBuilderTests.cs
│ │ │ ├── Relations
│ │ │ │ └── RelationTagsProcessorTests.cs
│ │ │ ├── Restrictions
│ │ │ │ └── RestrictionProcessorTests.cs
│ │ │ ├── RouterTests.cs
│ │ │ └── Streams
│ │ │ ├── NodeIndexTests.cs
│ │ │ └── RouterDbStreamTargetTests.cs
│ │ ├── Itinero.Test.csproj
│ │ ├── LocalGeo
│ │ │ ├── BoxTests.cs
│ │ │ ├── CoordinateTests.cs
│ │ │ ├── ExtensionTests.cs
│ │ │ ├── IntersectionTests.cs
│ │ │ ├── IO
│ │ │ │ └── GeoJsonExtensionTests.cs
│ │ │ ├── LineTests.cs
│ │ │ ├── Operations
│ │ │ │ ├── PointInPolygonTest.cs
│ │ │ │ ├── PolygonAreaCalculatorTest.cs
│ │ │ │ └── QuickHullTests.cs
│ │ │ └── ToolsTests.cs
│ │ ├── Mocks
│ │ │ └── StreamMock.cs
│ │ ├── Navigation
│ │ │ ├── Directions
│ │ │ │ └── DirectionCalculatorTests.cs
│ │ │ ├── InstructionGeneratorTests.cs
│ │ │ ├── Language
│ │ │ │ └── MockLanguageReference.cs
│ │ │ └── Osm
│ │ │ └── InstructionGenerationTests.cs
│ │ ├── Osm
│ │ │ ├── RouterTests.cs
│ │ │ └── VehicleTests.cs
│ │ ├── Profiles
│ │ │ ├── DynamicVehicleTests.cs
│ │ │ └── VehicleMock.cs
│ │ ├── RouterDbAddIslandsTests.cs
│ │ ├── RouterDbExtractAreaTests.cs
│ │ ├── RouterDbTestDbExtensions.cs
│ │ ├── RouterDbTests.cs
│ │ ├── RouterDirectedTests.cs
│ │ ├── RouterManyToManyTests.cs
│ │ ├── RouterMock.cs
│ │ ├── RouterPointTests.cs
│ │ ├── RouterResolveTests.cs
│ │ ├── RouterTests.cs
│ │ ├── RouteTests.cs
│ │ ├── test-data
│ │ │ ├── networks
│ │ │ │ ├── network10-meta.geojson
│ │ │ │ ├── network10.osm
│ │ │ │ ├── network11-meta.geojson
│ │ │ │ ├── network11.osm
│ │ │ │ ├── network12.geojson
│ │ │ │ ├── network13.geojson
│ │ │ │ ├── network14.geojson
│ │ │ │ ├── network15.geojson
│ │ │ │ ├── network16.geojson
│ │ │ │ ├── network17.geojson
│ │ │ │ ├── network18.geojson
│ │ │ │ ├── network19.geojson
│ │ │ │ ├── network1.geojson
│ │ │ │ ├── network20.osm
│ │ │ │ ├── network2.geojson
│ │ │ │ ├── network3.geojson
│ │ │ │ ├── network4.geojson
│ │ │ │ ├── network5.geojson
│ │ │ │ ├── network6.geojson
│ │ │ │ ├── network7.geojson
│ │ │ │ ├── network8.geojson
│ │ │ │ └── network9.geojson
│ │ │ ├── points
│ │ │ │ ├── points1.geojson
│ │ │ │ ├── points1.hull.geojson
│ │ │ │ ├── points2.geojson
│ │ │ │ ├── points2.hull.geojson
│ │ │ │ ├── polyArea1.hull.geojson
│ │ │ │ ├── polyArea2.hull.geojson
│ │ │ │ └── polyArea.hull.geojson
│ │ │ ├── profiles
│ │ │ │ ├── osm
│ │ │ │ │ └── car.lua
│ │ │ │ └── shape
│ │ │ │ └── car.lua
│ │ │ └── routes
│ │ │ ├── route1.xml
│ │ │ └── route2.json
│ │ ├── TestExtensions.cs
│ │ ├── TestNetworkBuilder.cs
│ │ ├── TestNetworkBuilderTests.cs
│ │ ├── TestRouteBuilder.cs
│ │ └── WeightHandlerMock.cs
│ └── Itinero.Test.Functional
│ ├── Assert.cs
│ ├── Extensions.cs
│ ├── Itinero.Test.Functional.csproj
│ ├── PerformanceInfoConsumer.cs
│ ├── PerformanceInfoConsumerExtensions.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Staging
│ │ ├── BuildRouterDb.cs
│ │ ├── Download.cs
│ │ └── StagingHelper.cs
│ └── Tests
│ ├── Belgium
│ │ ├── resolve1.geojson
│ │ └── shortcuts1.geojson
│ ├── data
│ │ ├── sequence1.geojson
│ │ ├── sequence2.geojson
│ │ └── sequence3.geojson
│ ├── fictional.osm
│ ├── InstructionTests.cs
│ ├── IO
│ │ ├── GeoJson
│ │ │ └── GetGeoJsonTests.cs
│ │ └── Shape
│ │ └── ShapeFileWriterTests.cs
│ ├── MatrixTests.cs
│ ├── ResolvingTests.cs
│ ├── RouterDbBuildingTests.cs
│ ├── RouterDbExtensionsTests.cs
│ ├── RoutingTests.cs
│ ├── Runner.cs
│ └── WeightMatrixTests.cs
└── test.sh
189 directories, 768 files
routing是一款强大的路由计算工具,专为.NET/Mono平台设计。它能够处理来自OpenStreetMap(OSM)等来源的路网数据,支持多种路由计算需求,包括但不限于:
- 从A点到B点的路由计算
- 一组位置之间的距离/时间矩阵计算
- 将OSM数据处理成可路由的网络
- 生成转向指令
- 在移动设备和资源受限环境下的路由计算
此外,routing项目还包含多个子项目,如Itinero.Geo、Itinero.IO.Osm、Itinero.IO.Shape等,这些都是为了增强routing在地理信息处理、数据输入输出方面的能力。
如果你对路由计算、OpenStreetMap或Itinero感兴趣,这个项目无疑是一个不错的选择。
// 示例代码:使用Itinero进行路由计算 var router = new Router(routerDb); var route = router.Calculate(profile, start, end);此示例代码简单展示了如何使用Itinero进行基本的路由计算。
【实例截图】
【核心代码】
文件清单
└── routing-b8a004a831d353565572c7ba41b5a40c29d79360
├── BRANCH-ISSUES.md
├── build.bat
├── build.sh
├── CONTRIBUTING.md
├── docs
│ └── releasenotes
│ ├── itinero-1.1.0.md
│ ├── itinero-1.1.1.md
│ ├── itinero-1.2.0.md
│ ├── itinero-1.3.0.md
│ ├── itinero-1.3.1.md
│ ├── itinero-1.3.2.md
│ ├── itinero-1.4.0.md
│ └── itinero-1.5.0.md
├── Itinero.Common.props
├── Itinero.sln
├── Itinero.sln.DotSettings
├── LICENSE.md
├── NOTICE.md
├── README.md
├── samples
│ ├── Sample.Basic
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ ├── route1.geojson
│ │ ├── Sample.Basic.csproj
│ │ ├── sequence1-undirected.geojson
│ │ ├── sequence2-turn-penalty-120.geojson
│ │ ├── sequence3-preferred-directions.geojson
│ │ └── sequence4-turn-penalty-120-preferred-directions.geojson
│ ├── Sample.DynamicProfiles
│ │ ├── custom-car.lua
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.DynamicProfiles.csproj
│ ├── Sample.Elevation
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.Elevation.csproj
│ ├── Sample.Matrix
│ │ ├── Download.cs
│ │ ├── Program.cs
│ │ └── Sample.Matrix.csproj
│ └── Sample.Shape
│ ├── car.lua
│ ├── Download.cs
│ ├── Program.cs
│ ├── README.md
│ └── Sample.Shape.csproj
├── src
│ ├── Itinero
│ │ ├── Algorithms
│ │ │ ├── AlgorithmBase.cs
│ │ │ ├── Collections
│ │ │ │ ├── BinaryHeap.cs
│ │ │ │ ├── BitArray32.cs
│ │ │ │ ├── HugeDictionary.cs
│ │ │ │ ├── LRUCache.cs
│ │ │ │ ├── PathTree.cs
│ │ │ │ ├── SortedSet.cs
│ │ │ │ ├── SparseBitArray32.cs
│ │ │ │ ├── SparseLongIndex.cs
│ │ │ │ └── Stack.cs
│ │ │ ├── Contracted
│ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ ├── BidirectionalDykstraExtensions.cs
│ │ │ │ ├── DirectedGraphBuilder.cs
│ │ │ │ ├── DirectedMetaGraphExtensions.cs
│ │ │ │ ├── Dual
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── Cache
│ │ │ │ │ │ ├── SearchSpaceCache.cs
│ │ │ │ │ │ └── SearchSpace.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── DykstraSource.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ │ ├── FastHierarchyBuilder.cs
│ │ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ │ ├── ManyToMany
│ │ │ │ │ │ ├── VertexToVertexAlgorithm.cs
│ │ │ │ │ │ └── VertexToVertexWeightAlgorithm.cs
│ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ ├── RouterPointExtensions.cs
│ │ │ │ │ ├── VertexToVertexAlgorithm.cs
│ │ │ │ │ └── Witness
│ │ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ │ ├── NeighbourWitnessCalculator.cs
│ │ │ │ │ ├── Shortcut.cs
│ │ │ │ │ ├── Shortcuts.cs
│ │ │ │ │ ├── ShortcutsExtensions.cs
│ │ │ │ │ ├── VertexInfo.cs
│ │ │ │ │ └── VertexInfoExtensions.cs
│ │ │ │ ├── Dykstra.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── DirectedDynamicGraphExtensions.cs
│ │ │ │ │ ├── DirectedGraphBuilder.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ │ ├── EdgePathExtensions.cs
│ │ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ │ ├── ManyToManyBidirectionalDykstra.cs
│ │ │ │ │ ├── ManyToManyWeightsBidirectionalDykstra.cs
│ │ │ │ │ └── Witness
│ │ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ │ └── IWitnessCalculator.cs
│ │ │ │ ├── EdgeDifferencePriorityCalculator.cs
│ │ │ │ ├── FastHierarchyBuilder.cs
│ │ │ │ ├── HierarchyBuilder.cs
│ │ │ │ ├── IPriorityCalculator.cs
│ │ │ │ ├── ManyToManyBidirectionalDykstra.cs
│ │ │ │ ├── ManyToManyWeightsBidirectionalDykstra.cs
│ │ │ │ ├── PathTreeExtensions.cs
│ │ │ │ └── Witness
│ │ │ │ ├── DykstraWitnessCalculator.cs
│ │ │ │ ├── IWitnessCalculator.cs
│ │ │ │ ├── NeighbourWitnessCalculator.cs
│ │ │ │ ├── Shortcut.cs
│ │ │ │ ├── Shortcuts.cs
│ │ │ │ ├── ShortcutsExtensions.cs
│ │ │ │ ├── VertexInfo.cs
│ │ │ │ └── VertexInfoExtensions.cs
│ │ │ ├── Default
│ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ ├── Dykstra.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstra.cs
│ │ │ │ │ ├── DirectedDykstra.cs
│ │ │ │ │ ├── DirectedDykstraSource.cs
│ │ │ │ │ ├── DirectedManyToMany.cs
│ │ │ │ │ ├── DirectedManyToManyWeights.cs
│ │ │ │ │ ├── DirectedOneToMany.cs
│ │ │ │ │ ├── DirectedOneToManyWeights.cs
│ │ │ │ │ ├── DirectedSequenceRouter.cs
│ │ │ │ │ ├── Dykstra.cs
│ │ │ │ │ ├── ManyToMany.cs
│ │ │ │ │ ├── OneHopRouter.cs
│ │ │ │ │ ├── OneToMany.cs
│ │ │ │ │ └── RouterPointExtensions.cs
│ │ │ │ ├── ManyToMany.cs
│ │ │ │ ├── OneHopRouter.cs
│ │ │ │ └── OneToMany.cs
│ │ │ ├── DirectedEdgeId.cs
│ │ │ ├── DirectedEdgeIdExtensions.cs
│ │ │ ├── Dual
│ │ │ │ ├── BidirectionalDykstraExtensions.cs
│ │ │ │ └── DualGraphBuilder.cs
│ │ │ ├── EdgePath.cs
│ │ │ ├── EdgePathExtensions.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IAlgorithm.cs
│ │ │ ├── Matrices
│ │ │ │ ├── DirectedWeightMatrixAlgorithm.cs
│ │ │ │ ├── Extensions.cs
│ │ │ │ ├── IDirectedWeightMatrixAlgorithm.cs
│ │ │ │ ├── IWeightMatrixAlgorithm.cs
│ │ │ │ ├── RouterPointErrorCode.cs
│ │ │ │ ├── RouterPointError.cs
│ │ │ │ └── WeightMatrixAlgorithm.cs
│ │ │ ├── Networks
│ │ │ │ ├── Analytics
│ │ │ │ │ ├── Heatmaps
│ │ │ │ │ │ ├── HeatmapResult.cs
│ │ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ │ └── TileBasedHeatmapBuilder.cs
│ │ │ │ │ ├── IEdgeVisitor.cs
│ │ │ │ │ ├── Isochrones
│ │ │ │ │ │ ├── RouterExtensions.cs
│ │ │ │ │ │ ├── TileBasedIsochroneBuilder.cs
│ │ │ │ │ │ └── TilesToPolygon.cs
│ │ │ │ │ └── Trees
│ │ │ │ │ ├── Models
│ │ │ │ │ │ ├── Tree.cs
│ │ │ │ │ │ └── TreeEdge.cs
│ │ │ │ │ ├── RouterExtension.cs
│ │ │ │ │ └── TreeBuilder.cs
│ │ │ │ ├── Islands
│ │ │ │ │ ├── EdgeBasedIslandDetector.cs
│ │ │ │ │ ├── IslandDetector.cs
│ │ │ │ │ ├── IslandLabelGraph.cs
│ │ │ │ │ └── IslandLabels.cs
│ │ │ │ ├── NetworkOptimizer.cs
│ │ │ │ ├── Preprocessing
│ │ │ │ │ ├── Areas
│ │ │ │ │ │ ├── AreaMetaDataHandler.cs
│ │ │ │ │ │ ├── IArea.cs
│ │ │ │ │ │ └── PolygonArea.cs
│ │ │ │ │ ├── DuplicateEdgeRemover.cs
│ │ │ │ │ ├── MaxDistanceSplitter.cs
│ │ │ │ │ └── SimpleGraphConverter.cs
│ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ ├── RouterPointEmbedder.cs
│ │ │ │ └── ZeroLengthLinksOptimizer.cs
│ │ │ ├── OriginalEdge.cs
│ │ │ ├── Restrictions
│ │ │ │ ├── RestrictionCollection.cs
│ │ │ │ ├── Restriction.cs
│ │ │ │ └── RestrictionExtensions.cs
│ │ │ ├── Routes
│ │ │ │ ├── CompleteRouteBuilder.cs
│ │ │ │ ├── FastRouteBuilder.cs
│ │ │ │ ├── IRouteBuilder.cs
│ │ │ │ ├── RouteBuilderExtensions.cs
│ │ │ │ └── RouteSegmentAggregator.cs
│ │ │ ├── Search
│ │ │ │ ├── Cache
│ │ │ │ │ ├── IResolverCache.cs
│ │ │ │ │ └── ResolverCache.cs
│ │ │ │ ├── Hilbert
│ │ │ │ │ ├── HilbertCurve.cs
│ │ │ │ │ └── HilbertExtensions.cs
│ │ │ │ ├── IMassResolvingAlgorithm.cs
│ │ │ │ ├── IResolveExtensions.cs
│ │ │ │ ├── IResolver.cs
│ │ │ │ ├── MassResolvingAlgorithm.cs
│ │ │ │ ├── PathSegment.cs
│ │ │ │ ├── PresolvedMassResolvingAlgorithm.cs
│ │ │ │ ├── ResolveAlgorithm.cs
│ │ │ │ ├── ResolveMultipleAlgorithm.cs
│ │ │ │ ├── ResolveSettings.cs
│ │ │ │ └── ResolveVertexAlgorithm.cs
│ │ │ ├── Shortcuts
│ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ ├── ShortcutBuilder.cs
│ │ │ │ ├── ShortcutExtensions.cs
│ │ │ │ └── ShortcutSpecs.cs
│ │ │ ├── Sorting
│ │ │ │ └── QuickSort.cs
│ │ │ ├── Tiles
│ │ │ │ ├── RoutingTile.cs
│ │ │ │ ├── TileHelper.cs
│ │ │ │ ├── TileIndex.cs
│ │ │ │ └── TileRange.cs
│ │ │ ├── Turn.cs
│ │ │ └── Weights
│ │ │ ├── DefaultWeightHandler.cs
│ │ │ ├── Dir.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── VertexAndWeight.cs
│ │ │ ├── WeightAndDir.cs
│ │ │ ├── Weight.cs
│ │ │ └── WeightHandler.cs
│ │ ├── Attributes
│ │ │ ├── AttributeCollection.cs
│ │ │ ├── Attribute.cs
│ │ │ ├── AttributesIndex.cs
│ │ │ ├── AttributesIndexExtensions.cs
│ │ │ ├── IAttributeCollection.cs
│ │ │ ├── IAttributeCollectionExtension.cs
│ │ │ ├── IReadonlyAttributeCollection.cs
│ │ │ ├── MappedAttributesIndex.cs
│ │ │ └── MappedAttributesIndexProfile.cs
│ │ ├── Constants.cs
│ │ ├── Context.cs
│ │ ├── Data
│ │ │ ├── Contracted
│ │ │ │ ├── ContractedDb.cs
│ │ │ │ ├── ContractedDbProfile.cs
│ │ │ │ └── Edges
│ │ │ │ ├── ContractedEdgeData.cs
│ │ │ │ └── ContractedEdgeDataSerializer.cs
│ │ │ ├── Edges
│ │ │ │ ├── EdgeData.cs
│ │ │ │ └── EdgeDataSerializer.cs
│ │ │ ├── Meta
│ │ │ │ ├── MetaCollection.cs
│ │ │ │ └── MetaCollectionsDb.cs
│ │ │ ├── Network
│ │ │ │ ├── Edges
│ │ │ │ │ └── EdgeData.cs
│ │ │ │ ├── Restrictions
│ │ │ │ │ ├── RestrictionsDb.cs
│ │ │ │ │ ├── RestrictionsDbExtensions.cs
│ │ │ │ │ ├── RestrictionsDbMeta.cs
│ │ │ │ │ └── RestrictionsDbProfile.cs
│ │ │ │ ├── RoutingEdge.cs
│ │ │ │ ├── RoutingNetwork.cs
│ │ │ │ ├── RoutingNetworkExtensions.cs
│ │ │ │ └── RoutingNetworkProfile.cs
│ │ │ └── Shortcuts
│ │ │ └── ShortcutsDb.cs
│ │ ├── DebugExtensions.cs
│ │ ├── DefaultArrayFactory.cs
│ │ ├── Elevation
│ │ │ └── RouterDbExtensions.cs
│ │ ├── Exceptions
│ │ │ ├── ResolveFailedException.cs
│ │ │ ├── RouteBuildFailedException.cs
│ │ │ └── RouteNotFoundException.cs
│ │ ├── Extensions.cs
│ │ ├── Graphs
│ │ │ ├── Directed
│ │ │ │ ├── DirectedDynamicGraph.cs
│ │ │ │ ├── DirectedDynamicGraphExtensions.cs
│ │ │ │ ├── DirectedGraph.cs
│ │ │ │ ├── DirectedGraphProfile.cs
│ │ │ │ ├── DirectedMetaGraph.cs
│ │ │ │ ├── DirectedMetaGraphExtensions.cs
│ │ │ │ ├── DirectedMetaGraphProfile.cs
│ │ │ │ ├── DynamicEdge.cs
│ │ │ │ ├── Edge.cs
│ │ │ │ ├── Extensions.cs
│ │ │ │ └── MetaEdge.cs
│ │ │ ├── Edge.cs
│ │ │ ├── EdgeExtensions.cs
│ │ │ ├── Geometric
│ │ │ │ ├── GeometricEdge.cs
│ │ │ │ ├── GeometricGraph.cs
│ │ │ │ ├── GeometricGraphExtensions.cs
│ │ │ │ ├── GeometricGraphProfile.cs
│ │ │ │ └── Shapes
│ │ │ │ ├── ShapeBase.cs
│ │ │ │ ├── Shape.cs
│ │ │ │ ├── ShapeEnumerable.cs
│ │ │ │ ├── ShapesArray.cs
│ │ │ │ └── ShapesArrayExtensions.cs
│ │ │ ├── Graph.cs
│ │ │ ├── GraphExtensions.cs
│ │ │ └── GraphProfile.cs
│ │ ├── IArrayFactory.cs
│ │ ├── IO
│ │ │ ├── Json
│ │ │ │ ├── JsonTools.cs
│ │ │ │ └── JsonWriter.cs
│ │ │ └── Xml
│ │ │ ├── Route.Xml.cs
│ │ │ └── XmlExtensions.cs
│ │ ├── Itinero.csproj
│ │ ├── LocalGeo
│ │ │ ├── Box.cs
│ │ │ ├── Coordinate.cs
│ │ │ ├── Elevation
│ │ │ │ └── ElevationHandler.cs
│ │ │ ├── Extensions.cs
│ │ │ ├── IO
│ │ │ │ └── GeoJsonExtension.cs
│ │ │ ├── Line.cs
│ │ │ ├── Operations
│ │ │ │ ├── Intersections.cs
│ │ │ │ ├── PointInPolygon.cs
│ │ │ │ ├── PolygonAreaCalcutor.cs
│ │ │ │ └── QuickHull.cs
│ │ │ ├── Polygon.cs
│ │ │ └── Tools.cs
│ │ ├── Logging
│ │ │ ├── Logger.cs
│ │ │ └── TraceEventType.cs
│ │ ├── Navigation
│ │ │ ├── Directions
│ │ │ │ ├── DirectionCalculator.cs
│ │ │ │ ├── DirectionEnum.cs
│ │ │ │ ├── RelativeDirection.cs
│ │ │ │ └── RelativeDirectionEnum.cs
│ │ │ ├── Instructions
│ │ │ │ ├── DynamicUnimodalInstructionGenerator.cs
│ │ │ │ ├── Instruction.cs
│ │ │ │ ├── InstructionExtensions.cs
│ │ │ │ ├── IUnimodalInstructionGenerator.cs
│ │ │ │ └── UnimodalInstructionGenerator.cs
│ │ │ └── Language
│ │ │ ├── DefaultLanguageReference.cs
│ │ │ └── ILanguageReference.cs
│ │ ├── Osm
│ │ │ └── Vehicles
│ │ │ ├── bicycle.lua
│ │ │ ├── bigtruck.lua
│ │ │ ├── bus.lua
│ │ │ ├── car.lua
│ │ │ ├── moped.lua
│ │ │ ├── motorcycle.lua
│ │ │ ├── pedestrian.lua
│ │ │ ├── smalltruck.lua
│ │ │ ├── Vehicle.cs
│ │ │ └── VehicleExtensions.cs
│ │ ├── Profiles
│ │ │ ├── Constraint.cs
│ │ │ ├── ConstraintExtensions.cs
│ │ │ ├── DynamicProfile.cs
│ │ │ ├── DynamicVehicle.cs
│ │ │ ├── FactorAndSpeed.cs
│ │ │ ├── Factor.cs
│ │ │ ├── IAttributeCollectionExtensions.cs
│ │ │ ├── IProfileInstance.cs
│ │ │ ├── IProfileInstanceExtensions.cs
│ │ │ ├── Lua
│ │ │ │ ├── Compatibility
│ │ │ │ │ ├── Attributes.cs
│ │ │ │ │ ├── Framework.cs
│ │ │ │ │ ├── Frameworks
│ │ │ │ │ │ ├── Base
│ │ │ │ │ │ │ ├── FrameworkBase.cs
│ │ │ │ │ │ │ ├── FrameworkClrBase.cs
│ │ │ │ │ │ │ ├── FrameworkCoreBase.cs
│ │ │ │ │ │ │ └── FrameworkReflectionBase.cs
│ │ │ │ │ │ ├── FrameworkCLR.cs
│ │ │ │ │ │ ├── FrameworkCore.cs
│ │ │ │ │ │ ├── FrameworkPCL.cs
│ │ │ │ │ │ └── FrameworkWin8.cs
│ │ │ │ │ └── Stopwatch.cs
│ │ │ │ ├── CoreLib
│ │ │ │ │ ├── BasicModule.cs
│ │ │ │ │ ├── Bit32Module.cs
│ │ │ │ │ ├── CoroutineModule.cs
│ │ │ │ │ ├── DynamicModule.cs
│ │ │ │ │ ├── ErrorHandlingModule.cs
│ │ │ │ │ ├── JsonModule.cs
│ │ │ │ │ ├── LoadModule.cs
│ │ │ │ │ ├── MathModule.cs
│ │ │ │ │ ├── MetaTableModule.cs
│ │ │ │ │ ├── OsTimeModule.cs
│ │ │ │ │ ├── StringLib
│ │ │ │ │ │ ├── KopiLua_StrLib.cs
│ │ │ │ │ │ └── StringRange.cs
│ │ │ │ │ ├── StringModule.cs
│ │ │ │ │ ├── TableIteratorsModule.cs
│ │ │ │ │ └── TableModule.cs
│ │ │ │ ├── DataStructs
│ │ │ │ │ ├── Extension_Methods.cs
│ │ │ │ │ ├── FastStack.cs
│ │ │ │ │ ├── FastStackDynamic.cs
│ │ │ │ │ ├── LinkedListIndex.cs
│ │ │ │ │ ├── MultiDictionary.cs
│ │ │ │ │ ├── ReferenceEqualityComparer.cs
│ │ │ │ │ └── Slice.cs
│ │ │ │ ├── DataTypes
│ │ │ │ │ ├── CallbackArguments.cs
│ │ │ │ │ ├── CallbackFunction.cs
│ │ │ │ │ ├── Closure.cs
│ │ │ │ │ ├── Coroutine.cs
│ │ │ │ │ ├── CoroutineState.cs
│ │ │ │ │ ├── DataType.cs
│ │ │ │ │ ├── DynValue.cs
│ │ │ │ │ ├── IScriptPrivateResource.cs
│ │ │ │ │ ├── RefIdObject.cs
│ │ │ │ │ ├── ScriptFunctionDelegate.cs
│ │ │ │ │ ├── SymbolRef.cs
│ │ │ │ │ ├── SymbolRefType.cs
│ │ │ │ │ ├── Table.cs
│ │ │ │ │ ├── TablePair.cs
│ │ │ │ │ ├── TailCallData.cs
│ │ │ │ │ ├── TypeValidationFlags.cs
│ │ │ │ │ ├── UserData.cs
│ │ │ │ │ ├── WellKnownSymbols.cs
│ │ │ │ │ └── YieldRequest.cs
│ │ │ │ ├── Debugging
│ │ │ │ │ ├── DebuggerAction.cs
│ │ │ │ │ ├── DebuggerCaps.cs
│ │ │ │ │ ├── DebugService.cs
│ │ │ │ │ ├── IDebugger.cs
│ │ │ │ │ ├── SourceCode.cs
│ │ │ │ │ ├── SourceRef.cs
│ │ │ │ │ ├── WatchItem.cs
│ │ │ │ │ └── WatchType.cs
│ │ │ │ ├── Diagnostics
│ │ │ │ │ ├── PerformanceCounter.cs
│ │ │ │ │ ├── PerformanceCounters
│ │ │ │ │ │ ├── DummyPerformanceStopwatch.cs
│ │ │ │ │ │ ├── GlobalPerformanceStopwatch.cs
│ │ │ │ │ │ ├── IPerformanceStopwatch.cs
│ │ │ │ │ │ └── PerformanceStopwatch.cs
│ │ │ │ │ ├── PerformanceCounterType.cs
│ │ │ │ │ ├── PerformanceResult.cs
│ │ │ │ │ └── PerformanceStatistics.cs
│ │ │ │ ├── Errors
│ │ │ │ │ ├── DynamicExpressionException.cs
│ │ │ │ │ ├── InternalErrorException.cs
│ │ │ │ │ ├── InterpreterException.cs
│ │ │ │ │ ├── ScriptRuntimeException.cs
│ │ │ │ │ └── SyntaxErrorException.cs
│ │ │ │ ├── Execution
│ │ │ │ │ ├── DynamicExpression.cs
│ │ │ │ │ ├── InstructionFieldUsage.cs
│ │ │ │ │ ├── Scopes
│ │ │ │ │ │ ├── BuildTimeScopeBlock.cs
│ │ │ │ │ │ ├── BuildTimeScope.cs
│ │ │ │ │ │ ├── BuildTimeScopeFrame.cs
│ │ │ │ │ │ ├── ClosureContext.cs
│ │ │ │ │ │ ├── IClosureBuilder.cs
│ │ │ │ │ │ ├── LoopTracker.cs
│ │ │ │ │ │ ├── RuntimeScopeBlock.cs
│ │ │ │ │ │ └── RuntimeScopeFrame.cs
│ │ │ │ │ ├── ScriptExecutionContext.cs
│ │ │ │ │ ├── ScriptLoadingContext.cs
│ │ │ │ │ └── VM
│ │ │ │ │ ├── ByteCode.cs
│ │ │ │ │ ├── CallStackItem.cs
│ │ │ │ │ ├── CallStackItemFlags.cs
│ │ │ │ │ ├── ExecutionState.cs
│ │ │ │ │ ├── Instruction.cs
│ │ │ │ │ ├── OpCode.cs
│ │ │ │ │ ├── OpCodeMetadataType.cs
│ │ │ │ │ └── Processor
│ │ │ │ │ ├── DebugContext.cs
│ │ │ │ │ ├── Processor_BinaryDump.cs
│ │ │ │ │ ├── Processor_Coroutines.cs
│ │ │ │ │ ├── Processor.cs
│ │ │ │ │ ├── Processor_Debugger.cs
│ │ │ │ │ ├── Processor_Errors.cs
│ │ │ │ │ ├── Processor_IExecutionContext.cs
│ │ │ │ │ ├── Processor_InstructionLoop.cs
│ │ │ │ │ ├── Processor_Scope.cs
│ │ │ │ │ └── Processor_UtilityFunctions.cs
│ │ │ │ ├── Interop
│ │ │ │ │ ├── Attributes
│ │ │ │ │ │ ├── MoonSharpHiddenAttribute.cs
│ │ │ │ │ │ ├── MoonSharpHideMemberAttribute.cs
│ │ │ │ │ │ ├── MoonSharpPropertyAttribute.cs
│ │ │ │ │ │ ├── MoonSharpUserDataAttribute.cs
│ │ │ │ │ │ ├── MoonSharpUserDataMetamethodAttribute.cs
│ │ │ │ │ │ └── MoonSharpVisibleAttribute.cs
│ │ │ │ │ ├── BasicDescriptors
│ │ │ │ │ │ ├── DispatchingUserDataDescriptor.cs
│ │ │ │ │ │ ├── IMemberDescriptor.cs
│ │ │ │ │ │ ├── IOptimizableDescriptor.cs
│ │ │ │ │ │ ├── IOverloadableMemberDescriptor.cs
│ │ │ │ │ │ ├── MemberDescriptorAccess.cs
│ │ │ │ │ │ └── ParameterDescriptor.cs
│ │ │ │ │ ├── Converters
│ │ │ │ │ │ ├── ClrToScriptConversions.cs
│ │ │ │ │ │ ├── NumericConversions.cs
│ │ │ │ │ │ ├── ScriptToClrConversions.cs
│ │ │ │ │ │ ├── StringConversions.cs
│ │ │ │ │ │ └── TableConversions.cs
│ │ │ │ │ ├── CustomConvertersCollection.cs
│ │ │ │ │ ├── DescriptorHelpers.cs
│ │ │ │ │ ├── IGeneratorUserDataDescriptor.cs
│ │ │ │ │ ├── InteropAccessMode.cs
│ │ │ │ │ ├── InteropRegistrationPolicy.cs
│ │ │ │ │ ├── IUserDataDescriptor.cs
│ │ │ │ │ ├── IUserDataMemberDescriptor.cs
│ │ │ │ │ ├── IUserDataType.cs
│ │ │ │ │ ├── IWireableDescriptor.cs
│ │ │ │ │ ├── LuaStateInterop
│ │ │ │ │ │ ├── CharPtr.cs
│ │ │ │ │ │ ├── LuaBase_CLib.cs
│ │ │ │ │ │ ├── LuaBase.cs
│ │ │ │ │ │ ├── LuaLBuffer.cs
│ │ │ │ │ │ ├── LuaState.cs
│ │ │ │ │ │ └── Tools.cs
│ │ │ │ │ ├── PredefinedUserData
│ │ │ │ │ │ ├── AnonWrapper.cs
│ │ │ │ │ │ └── EnumerableWrapper.cs
│ │ │ │ │ ├── PropertyTableAssigner.cs
│ │ │ │ │ ├── ProxyObjects
│ │ │ │ │ │ ├── DelegateProxyFactory.cs
│ │ │ │ │ │ └── IProxyFactory.cs
│ │ │ │ │ ├── ReflectionSpecialNames.cs
│ │ │ │ │ ├── RegistrationPolicies
│ │ │ │ │ │ ├── AutomaticRegistrationPolicy.cs
│ │ │ │ │ │ ├── DefaultRegistrationPolicy.cs
│ │ │ │ │ │ ├── IRegistrationPolicy.cs
│ │ │ │ │ │ └── PermanentRegistrationPolicy.cs
│ │ │ │ │ ├── StandardDescriptors
│ │ │ │ │ │ ├── AutoDescribingUserDataDescriptor.cs
│ │ │ │ │ │ ├── CompositeUserDataDescriptor.cs
│ │ │ │ │ │ ├── EventFacade.cs
│ │ │ │ │ │ ├── HardwiredDescriptors
│ │ │ │ │ │ │ ├── DefaultValue.cs
│ │ │ │ │ │ │ ├── HardwiredMemberDescriptor.cs
│ │ │ │ │ │ │ ├── HardwiredMethodMemberDescriptor.cs
│ │ │ │ │ │ │ └── HardwiredUserDataDescriptor.cs
│ │ │ │ │ │ ├── MemberDescriptors
│ │ │ │ │ │ │ ├── ArrayMemberDescriptor.cs
│ │ │ │ │ │ │ ├── DynValueMemberDescriptor.cs
│ │ │ │ │ │ │ ├── FunctionMemberDescriptorBase.cs
│ │ │ │ │ │ │ └── ObjectCallbackMemberDescriptor.cs
│ │ │ │ │ │ ├── ProxyUserDataDescriptor.cs
│ │ │ │ │ │ ├── ReflectionMemberDescriptors
│ │ │ │ │ │ │ ├── EventMemberDescriptor.cs
│ │ │ │ │ │ │ ├── FieldMemberDescriptor.cs
│ │ │ │ │ │ │ ├── MethodMemberDescriptor.cs
│ │ │ │ │ │ │ ├── OverloadedMethodMemberDescriptor.cs
│ │ │ │ │ │ │ ├── PropertyMemberDescriptor.cs
│ │ │ │ │ │ │ └── ValueTypeDefaultCtorMemberDescriptor.cs
│ │ │ │ │ │ ├── StandardEnumUserDataDescriptor.cs
│ │ │ │ │ │ ├── StandardGenericsUserDataDescriptor.cs
│ │ │ │ │ │ └── StandardUserDataDescriptor.cs
│ │ │ │ │ ├── UserDataMemberType.cs
│ │ │ │ │ └── UserDataRegistries
│ │ │ │ │ ├── ExtensionMethodsRegistry.cs
│ │ │ │ │ └── TypeDescriptorRegistry.cs
│ │ │ │ ├── ItineroLib
│ │ │ │ │ └── ItineroModule.cs
│ │ │ │ ├── LinqHelpers.cs
│ │ │ │ ├── LuaExtensions.cs
│ │ │ │ ├── Modules
│ │ │ │ │ ├── CoreModules.cs
│ │ │ │ │ ├── ModuleRegister.cs
│ │ │ │ │ ├── MoonSharpModuleAttribute.cs
│ │ │ │ │ ├── MoonSharpModuleConstantAttribute.cs
│ │ │ │ │ └── MoonSharpModuleMethodAttribute.cs
│ │ │ │ ├── Options
│ │ │ │ │ └── ColonOperatorBehaviour.cs
│ │ │ │ ├── Script.cs
│ │ │ │ ├── ScriptGlobalOptions.cs
│ │ │ │ ├── ScriptOptions.cs
│ │ │ │ └── Tree
│ │ │ │ ├── Expression_.cs
│ │ │ │ ├── Expressions
│ │ │ │ │ ├── AdjustmentExpression.cs
│ │ │ │ │ ├── BinaryOperatorExpression.cs
│ │ │ │ │ ├── DynamicExprExpression.cs
│ │ │ │ │ ├── ExprListExpression.cs
│ │ │ │ │ ├── FunctionCallExpression.cs
│ │ │ │ │ ├── FunctionDefinitionExpression.cs
│ │ │ │ │ ├── IndexExpression.cs
│ │ │ │ │ ├── LiteralExpression.cs
│ │ │ │ │ ├── SymbolRefExpression.cs
│ │ │ │ │ ├── TableConstructor.cs
│ │ │ │ │ └── UnaryOperatorExpression.cs
│ │ │ │ ├── Fast_Interface
│ │ │ │ │ └── Loader_Fast.cs
│ │ │ │ ├── IVariable.cs
│ │ │ │ ├── Lexer
│ │ │ │ │ ├── Lexer.cs
│ │ │ │ │ ├── LexerUtils.cs
│ │ │ │ │ ├── Token.cs
│ │ │ │ │ └── TokenType.cs
│ │ │ │ ├── Loop.cs
│ │ │ │ ├── NodeBase.cs
│ │ │ │ ├── Statement.cs
│ │ │ │ └── Statements
│ │ │ │ ├── AssignmentStatement.cs
│ │ │ │ ├── BreakStatement.cs
│ │ │ │ ├── ChunkStatement.cs
│ │ │ │ ├── CompositeStatement.cs
│ │ │ │ ├── EmptyStatement.cs
│ │ │ │ ├── ForEachLoopStatement.cs
│ │ │ │ ├── ForLoopStatement.cs
│ │ │ │ ├── FunctionCallStatement.cs
│ │ │ │ ├── FunctionDefinitionStatement.cs
│ │ │ │ ├── GotoStatement.cs
│ │ │ │ ├── IfStatement.cs
│ │ │ │ ├── LabelStatement.cs
│ │ │ │ ├── RepeatStatement.cs
│ │ │ │ ├── ReturnStatement.cs
│ │ │ │ ├── ScopeBlockStatement.cs
│ │ │ │ └── WhileStatement.cs
│ │ │ ├── Profile.cs
│ │ │ ├── ProfileExtensions.cs
│ │ │ ├── ProfileFactorAndSpeedCache.cs
│ │ │ ├── ProfileMetric.cs
│ │ │ ├── Speed.cs
│ │ │ ├── VehicleCache.cs
│ │ │ ├── Vehicle.cs
│ │ │ ├── VehicleExtensions.cs
│ │ │ └── Whitelist.cs
│ │ ├── Result.cs
│ │ ├── ResultExtensions.cs
│ │ ├── Route.cs
│ │ ├── RouteExtensions.cs
│ │ ├── RouterBase.cs
│ │ ├── RouterBaseExtensions.cs
│ │ ├── Router.cs
│ │ ├── RouterDb.cs
│ │ ├── RouterDbExtensions.cs
│ │ ├── RouterDbProfile.cs
│ │ ├── RouterPoint.cs
│ │ ├── RouterPointExtensions.cs
│ │ └── RoutingSettings.cs
│ ├── Itinero.Geo
│ │ ├── Attributes
│ │ │ └── AttributeExtensions.cs
│ │ ├── Extensions.cs
│ │ ├── Graphs
│ │ │ └── GeometricExtensions.cs
│ │ ├── Itinero.Geo.csproj
│ │ ├── Navigation
│ │ │ └── InstructionExtensions.cs
│ │ ├── Network
│ │ │ └── RoutingNetworkExtensions.cs
│ │ ├── NTSExtensions.cs
│ │ ├── RouteExtensions.cs
│ │ ├── RouterDbExtensions.cs
│ │ └── RouterExtensions.cs
│ ├── Itinero.IO.Osm
│ │ ├── Constants.cs
│ │ ├── Extensions.cs
│ │ ├── Itinero.IO.Osm.csproj
│ │ ├── LoadSettings.cs
│ │ ├── Nodes
│ │ │ └── DynamicVehicleNodeTagProcessor.cs
│ │ ├── Normalizer
│ │ │ ├── AttributeCollectionExtensions.cs
│ │ │ ├── DefaultTagNormalizer.cs
│ │ │ └── ITagNormalizer.cs
│ │ ├── Overpass
│ │ │ ├── Download.cs
│ │ │ ├── OverpassQueryBuilder.cs
│ │ │ └── OverpassSourceStream.cs
│ │ ├── Relations
│ │ │ ├── DynamicVehicleRelationTagProcessor.cs
│ │ │ └── RelationTagProcessor.cs
│ │ ├── Restrictions
│ │ │ ├── DynamicVehicleNodeRestrictionProcessor.cs
│ │ │ ├── Helper.cs
│ │ │ ├── NodeRestrictionProcessor.cs
│ │ │ └── RestrictionProcessor.cs
│ │ ├── RouterDbExtensions.cs
│ │ ├── Streams
│ │ │ ├── ITwoPassProcessor.cs
│ │ │ ├── NodeIndex.cs
│ │ │ ├── RouterDbStreamTarget.cs
│ │ │ ├── UniqueIdMap.cs
│ │ │ └── UnsignedNodeIndex.cs
│ │ └── TagAttributeCollection.cs
│ └── Itinero.IO.Shape
│ ├── Itinero.IO.Shape.csproj
│ ├── Reader
│ │ ├── ShapeFileReader.cs
│ │ └── ShapefileReaderExtensions.cs
│ ├── RouterDbExtensions.cs
│ └── Writer
│ ├── Extensions.cs
│ ├── FeaturesList.cs
│ └── ShapeFileWriter.cs
├── test
│ ├── Itinero.Test
│ │ ├── Algorithms
│ │ │ ├── Collections
│ │ │ │ └── SparseBitArray32Tests.cs
│ │ │ ├── Contracted
│ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ ├── DirectedGraphBuilderTests.cs
│ │ │ │ ├── DirectedGraphExtensionsTests.cs
│ │ │ │ ├── Dual
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ └── HierarchyBuilderTests.cs
│ │ │ │ ├── DykstraTests.cs
│ │ │ │ ├── DykstraWitnessCalculatorTests.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DirectedGraphBuilderTests.cs
│ │ │ │ │ ├── DirectedGraphExtensionsTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ ├── DykstraWitnessCalculatorTests.cs
│ │ │ │ │ ├── EdgeDifferencePriorityCalculatorTests.cs
│ │ │ │ │ ├── EdgePathExtensionsTests.cs
│ │ │ │ │ ├── HierarchyBuilderTests.cs
│ │ │ │ │ ├── ManyToManyWeightsTests.cs
│ │ │ │ │ ├── MockPriorityCalculator.cs
│ │ │ │ │ ├── RouterDbExtensions.cs
│ │ │ │ │ └── WitnessCalculatorMock.cs
│ │ │ │ ├── EdgeDifferencePriorityCalculatorTests.cs
│ │ │ │ ├── HierarchyBuilderTests.cs
│ │ │ │ ├── ManyToManyWeightsTests.cs
│ │ │ │ ├── MockPriorityCalculator.cs
│ │ │ │ └── WitnessCalculatorMock.cs
│ │ │ ├── Default
│ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ ├── DykstraTests.cs
│ │ │ │ ├── EdgeBased
│ │ │ │ │ ├── BidirectionalDykstraTests.cs
│ │ │ │ │ ├── DirectedDykstraTests.cs
│ │ │ │ │ ├── DirectedSequenceRouterTests.cs
│ │ │ │ │ ├── DykstraTests.cs
│ │ │ │ │ ├── ManyToManyTests.cs
│ │ │ │ │ ├── OneHopRouterTests.cs
│ │ │ │ │ └── OneToManyTests.cs
│ │ │ │ ├── ManyToManyTests.cs
│ │ │ │ ├── OneHopRouterTests.cs
│ │ │ │ └── OneToManyTests.cs
│ │ │ ├── EdgePathTests.cs
│ │ │ ├── Matrices
│ │ │ │ ├── DirectedWeightMatrixAlgorithmTests.cs
│ │ │ │ └── WeightMatrixAlgorithmTests.cs
│ │ │ ├── Networks
│ │ │ │ ├── Islands
│ │ │ │ │ ├── EdgeBasedIslandDetectorTests.cs
│ │ │ │ │ └── IslandDetectorTests.cs
│ │ │ │ ├── NetworkOptimizerTests.cs
│ │ │ │ ├── Preprocessing
│ │ │ │ │ ├── Areas
│ │ │ │ │ │ └── AreaMetaDataHandlerTests.cs
│ │ │ │ │ ├── MaxDistanceSplitterTests.cs
│ │ │ │ │ └── SimpleGraphConverterTest.cs
│ │ │ │ └── RouterDbExtensionTests.cs
│ │ │ ├── Restrictions
│ │ │ │ └── RestrictionExtensionTests.cs
│ │ │ ├── Routes
│ │ │ │ ├── CompleteRouteBuilderTests.cs
│ │ │ │ └── RouteSegmentAggregatorTests.cs
│ │ │ └── Search
│ │ │ ├── HibertTests.cs
│ │ │ ├── MassResolvingAlgorithmTests.cs
│ │ │ ├── MockResolver.cs
│ │ │ └── ResolveAlgorithmTests.cs
│ │ ├── Attributes
│ │ │ ├── AttributesIndexTests.cs
│ │ │ └── MappedAttributesIndexTests.cs
│ │ ├── ContextTests.cs
│ │ ├── Data
│ │ │ ├── Contracted
│ │ │ │ └── Edges
│ │ │ │ └── ContractedEdgeDataSerializerTests.cs
│ │ │ ├── Edges
│ │ │ │ └── EdgeDataSerializerTests.cs
│ │ │ ├── Meta
│ │ │ │ ├── MetaCollectionsDbTests.cs
│ │ │ │ └── MetaCollectionTests.cs
│ │ │ ├── Network
│ │ │ │ ├── Restrictions
│ │ │ │ │ └── RestrictionsDbTests.cs
│ │ │ │ └── RoutingNetworkTests.cs
│ │ │ └── Shortcuts
│ │ │ └── ShortcutsDbTests.cs
│ │ ├── ExtensionTests.cs
│ │ ├── Graphs
│ │ │ ├── Directed
│ │ │ │ ├── DirectedDynamicGraphTests.cs
│ │ │ │ ├── DirectedGraphTests.cs
│ │ │ │ └── DirectedMetaGraphTests.cs
│ │ │ ├── Geometric
│ │ │ │ ├── GeometricGraphTests.cs
│ │ │ │ └── Shapes
│ │ │ │ └── ShapesArrayTests.cs
│ │ │ └── GraphTests.cs
│ │ ├── IO
│ │ │ └── Osm
│ │ │ ├── Normalizer
│ │ │ │ └── AttributeCollectionExtensionsTests.cs
│ │ │ ├── Overpass
│ │ │ │ └── OverpassQueryBuilderTests.cs
│ │ │ ├── Relations
│ │ │ │ └── RelationTagsProcessorTests.cs
│ │ │ ├── Restrictions
│ │ │ │ └── RestrictionProcessorTests.cs
│ │ │ ├── RouterTests.cs
│ │ │ └── Streams
│ │ │ ├── NodeIndexTests.cs
│ │ │ └── RouterDbStreamTargetTests.cs
│ │ ├── Itinero.Test.csproj
│ │ ├── LocalGeo
│ │ │ ├── BoxTests.cs
│ │ │ ├── CoordinateTests.cs
│ │ │ ├── ExtensionTests.cs
│ │ │ ├── IntersectionTests.cs
│ │ │ ├── IO
│ │ │ │ └── GeoJsonExtensionTests.cs
│ │ │ ├── LineTests.cs
│ │ │ ├── Operations
│ │ │ │ ├── PointInPolygonTest.cs
│ │ │ │ ├── PolygonAreaCalculatorTest.cs
│ │ │ │ └── QuickHullTests.cs
│ │ │ └── ToolsTests.cs
│ │ ├── Mocks
│ │ │ └── StreamMock.cs
│ │ ├── Navigation
│ │ │ ├── Directions
│ │ │ │ └── DirectionCalculatorTests.cs
│ │ │ ├── InstructionGeneratorTests.cs
│ │ │ ├── Language
│ │ │ │ └── MockLanguageReference.cs
│ │ │ └── Osm
│ │ │ └── InstructionGenerationTests.cs
│ │ ├── Osm
│ │ │ ├── RouterTests.cs
│ │ │ └── VehicleTests.cs
│ │ ├── Profiles
│ │ │ ├── DynamicVehicleTests.cs
│ │ │ └── VehicleMock.cs
│ │ ├── RouterDbAddIslandsTests.cs
│ │ ├── RouterDbExtractAreaTests.cs
│ │ ├── RouterDbTestDbExtensions.cs
│ │ ├── RouterDbTests.cs
│ │ ├── RouterDirectedTests.cs
│ │ ├── RouterManyToManyTests.cs
│ │ ├── RouterMock.cs
│ │ ├── RouterPointTests.cs
│ │ ├── RouterResolveTests.cs
│ │ ├── RouterTests.cs
│ │ ├── RouteTests.cs
│ │ ├── test-data
│ │ │ ├── networks
│ │ │ │ ├── network10-meta.geojson
│ │ │ │ ├── network10.osm
│ │ │ │ ├── network11-meta.geojson
│ │ │ │ ├── network11.osm
│ │ │ │ ├── network12.geojson
│ │ │ │ ├── network13.geojson
│ │ │ │ ├── network14.geojson
│ │ │ │ ├── network15.geojson
│ │ │ │ ├── network16.geojson
│ │ │ │ ├── network17.geojson
│ │ │ │ ├── network18.geojson
│ │ │ │ ├── network19.geojson
│ │ │ │ ├── network1.geojson
│ │ │ │ ├── network20.osm
│ │ │ │ ├── network2.geojson
│ │ │ │ ├── network3.geojson
│ │ │ │ ├── network4.geojson
│ │ │ │ ├── network5.geojson
│ │ │ │ ├── network6.geojson
│ │ │ │ ├── network7.geojson
│ │ │ │ ├── network8.geojson
│ │ │ │ └── network9.geojson
│ │ │ ├── points
│ │ │ │ ├── points1.geojson
│ │ │ │ ├── points1.hull.geojson
│ │ │ │ ├── points2.geojson
│ │ │ │ ├── points2.hull.geojson
│ │ │ │ ├── polyArea1.hull.geojson
│ │ │ │ ├── polyArea2.hull.geojson
│ │ │ │ └── polyArea.hull.geojson
│ │ │ ├── profiles
│ │ │ │ ├── osm
│ │ │ │ │ └── car.lua
│ │ │ │ └── shape
│ │ │ │ └── car.lua
│ │ │ └── routes
│ │ │ ├── route1.xml
│ │ │ └── route2.json
│ │ ├── TestExtensions.cs
│ │ ├── TestNetworkBuilder.cs
│ │ ├── TestNetworkBuilderTests.cs
│ │ ├── TestRouteBuilder.cs
│ │ └── WeightHandlerMock.cs
│ └── Itinero.Test.Functional
│ ├── Assert.cs
│ ├── Extensions.cs
│ ├── Itinero.Test.Functional.csproj
│ ├── PerformanceInfoConsumer.cs
│ ├── PerformanceInfoConsumerExtensions.cs
│ ├── Program.cs
│ ├── Properties
│ │ └── AssemblyInfo.cs
│ ├── Staging
│ │ ├── BuildRouterDb.cs
│ │ ├── Download.cs
│ │ └── StagingHelper.cs
│ └── Tests
│ ├── Belgium
│ │ ├── resolve1.geojson
│ │ └── shortcuts1.geojson
│ ├── data
│ │ ├── sequence1.geojson
│ │ ├── sequence2.geojson
│ │ └── sequence3.geojson
│ ├── fictional.osm
│ ├── InstructionTests.cs
│ ├── IO
│ │ ├── GeoJson
│ │ │ └── GetGeoJsonTests.cs
│ │ └── Shape
│ │ └── ShapeFileWriterTests.cs
│ ├── MatrixTests.cs
│ ├── ResolvingTests.cs
│ ├── RouterDbBuildingTests.cs
│ ├── RouterDbExtensionsTests.cs
│ ├── RoutingTests.cs
│ ├── Runner.cs
│ └── WeightMatrixTests.cs
└── test.sh
189 directories, 768 files
好例子网口号:伸出你的我的手 — 分享!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论