A GeoPackage is an open and standardized local geographical database, based upon the SQLite format. We have just added a new method, so you can import directly from this file format. Compared to importing from a TAB file (large network for Brazil) it is a bit slower, but not that much:
We have added a new method for Steiner Tree’s, which deals with the problem of connecting points on a network with the shortest possible set of links, so there is a path between all points. Like when you install pipelines along roads for various purposes.
Finding the optimum solution is an NP-complete problem, so our algorithm only finds an approximation – although a good one. If you inspect the sample below closely, you will also see that it had been slightly more efficient if node 7 rather than node 20 had been connected to the line between 6 and 16.
We have just implemented a number of low-level performance improvements of the simple isochrones (method DriveTimeSimpleDyn), so they are generated faster, particularly in large networks and when they have multiple steps. This is done by using the spatial index as part of the calculations and avoiding too many of the same conversion from degree to radians.
Posted inRW Net|Comments Off on Isochrone Improvements
It was the exact same mapbasic application and we got the exact same results (distance matrices, isochrones etc.). Success !!
The 64-bit version of RW Net 4 DLL shall be included in the next release of RW Net.
There is also the option of calling the RW Net 4 .NET assembly from MapBasic 12.5. According to the documentation this has been extended a lot, so it is possible to call constructors etc. This means support for objects, rather than only static methods. But that is an area we haven’t tested yet.
For the municipality of Næstved we have calculated drive time isochrones showing the effect of the Fixed link at Femern Belt, scheduled to open in 2021 and connecting Germany and Eastern Denmark. Calculations were done with RW Net 4, OpenStreetMap data and this coastline dataset. Almost one hour is expected to be saved on drive time, making Berlin reachable in 5 hours.
The fully detailed OSM has been used in the calculations, while only motorways and trunk roads are shown.
A spatial index is key to the routing calculations, since it allows us to convert from real-world coordinates to the internal nodes and links of the street network. Many data structures have been developed for spatial indices and for RW Net 4 we have chosen a quad tree, where we are storing a mix of nodes and partial links in the cells. This makes it very fast to generate and query. Storing partial links mean we don’t have to test every section of even very long roads, but can focus on the relevant part (within the grid cell).
Index generation wasn’t as fast as we would like it to be, so we have just improved it with reduced memory foot print and calculation time as a result. Testing it on USA+Canada (35 million links) showed an improvement from 30 min to just 5 min. Loading the spatial index is also faster and uses 25-30% less RAM, while the speed of searches has improved, but no big difference. With typical GPS data a search takes just a couple of msec on the same network.
Below is an example of a spatial index with max 50 nodes in every cell: