Hot answers tagged

5

You could have a look at the Route360°-API, a pretty simple but powerful JS library which you can use with Leaflet (or even Google maps if you like). It adds travel time polygons to your map for the travel times you require (e.g. 10, 20, 60 minutes) and for the following travel modes: walk, bike, car, transit. There are quite a few examples on how to use ...


5

As an answer to both Uffe Kousgaard comments about "what the 18GB file contains" compared to a routable shapefile, and a possible answer to this question: You don't explicitly state it, but I guess you used the ArcGIS Editor for OpenStreetMap to convert your data. If not, I really recommend to have a look at it, as it contains a dedicated option to create ...


4

QGIS cannot convert OSM data into a routable graph. There are other tools which specialize on this task: osm2pgrouting open source osm2po free but not open source Both convert OSM data into a routable graph for import into PostGIS. From there, you can export in a format that you can feed into ArcGIS.


4

You can try RoadGraph plugin/Network analysis library. If you have two layers (they should be properly snapped): Set some settings Select point Start and Stop Calculate This plugin is based on a library that can be used to run queries programmatically. I don't know if English manual for it exists, here is Google Translated description of this ...


4

For QGIS, you could try the steps below. I used QGIS 2.12.3-Lyon and have a "road" line shapefile, the isolated road in the red circle is what we're trying to remove. Intersect your layer on itself (Vector > Geoprocessing Tools > Intersect): Load the Spatial Query plugin (you may need to download/install this from Plugins > Manage and Install Plugins): ...


4

Ok, I am sorry about me answering my own question. I guess I had to ask the question to think about it more and be able resolve the problem. It turns out the problem was not in the OSM data but with the osm2po default config file I use to generate the graph. The problem Somewhere (line 188, if you are using osm2po 5.1.8) in the default config file, there ...


3

Assuming you have ArcMap and a Network Analyst extension (as mentioned in your question) it is possible to use OSM data for routing without using qgis. The most important is that you need to generate a routable network (called "network dataset" in esri world). Eva Peters created a tool called OSM2NetworkDataset which converts OSM datasets (*.osm) into a ...


3

You might want to check out the open Route360° JavaScript API, which works with both Leaflet and Google maps. It returns travel time polygons for the following travel modes: walk, bike, car, transit. It is free and open source and coverage is pretty good. You can find a lot of different tutorials on how to use it on the website.


3

You can use OpenRouteService to add custom avoid areas / danger zones etc. The only alternative seems to be BRouter corresponding to the wiki overview.


3

Indeed, the default.config is very strict and to be honest it's too strict for my taste. I stumbled across a similar question weeks ago and modified the osm2po release notes for 5.1.0 to report this issue. Your solution above is correct. But I think there are not so many more positive tags, It would be shorter to modify the deny-option instead to sth. like ...


2

A bit late but there is another candidate. The Routing API of the GraphHopper Directions API has an optimize=true parameter and supports several dozens of locations (dependent on the purchased package). And with the Route Optimization API you can solve a lot more complex problems with time windows, capacity restrictions, multiple vehicles etc Disclaimer: I'...


2

I believe it is very important what version of OTP you use as the developers are constantly making changes - I've only recently been digging into v0.19 and below are two example work-in-progress wrappers of calling OTP's isochrone API with it. @Ravi has already given you the URL call for the isochrone API, if it doesn't work when you update the Lat/Lon for ...


2

I am pretty much in the same boat as you but I think I have figured out how to create an isochrone. I am using version 0.18.0, not sure if that is relevant or not. Here is where I found the example Here's a sample isochrone that I got http://localhost:8080/otp/routers/default/isochrone?&fromPlace=39.78,-86.1476&date=2015/01/09&time=12:00:00&...


2

If you only want to use your own data, I would suggest writing a script that converts it to the OSM XML format. We have done this in the past with proprietary data sets and it works fine (albeit you might consider writing out the PBF format if the data size is very large). Merging OSM and non-OSM data is whole different story. That is nothing that can be ...


2

The good way would be to Contribute your data to OSM so they would be included in the future osm extracts. If for some reason you cannot do that; Use data staging techniques. Download the extract somewhere, and call it source, duplicate source and add your extra nodes without breaking the topology, (OSM work in topological level if i remember correctly); ...


2

If you intent to create a derivative database then you have to share parts of your work. For more information read the Legal FAQ, especially section 3. And ideally contact your lawyer.


2

you could use "generate near table" with a small search radius. Values of -1 would mean that your road is far away from the network and should be removed. Values > 0 would mean that the road segment is not connect but that this could be automatically corrected by some edits/snapping tool.


2

I've no experience with QGIS or other GIS software but we automatically remove smaller 'islands' from the road network in GraphHopper via subnetwork detection. It uses the tarjan algorithm, maybe you can apply that for QGIS somehow. Keep in mind that bad connectivity does not just mean missing arcs but could also mean that an island is connected and ...


2

The problem is that you are not initializing your map completely. The routing machine sets the map view for you when you give it waypoints, but without them, you need to tell the map where to start out. You can do this by specifying the view, either using .setView or the center and zoom options. Change the first line of your script to: var map = L.map('map')...


2

You can get rid of such subnetworks otherwise it is harder as you'll need to decide for a 'cost factor' such distances need to be multiplied with. E.g. if you have A' and A'' and B' and B'' there are obviously 4 possible combinations with different distances and 4 potential different paths with different costs (e.g. distance, time or fuel costs) so you have ...


2

With a little inspiration from Melinda over in Esri's GeoNet forum I was able to implement the following script evaluator for my cost attribute under the default tab for turns. My logic behind the syntax is that if a route is attempting to traverse from one segment that is classified as a connector to another segment that is classified as a connector, the ...


2

To change the vehicle type, you would use: control.getRouter().options.urlParameters.vehicle = 'foot'; However, the router does not automatically recalculate the route when you change the parameters, so to get the foot directions to show up, you will need to request it again: control.route();


2

The PostGIS extension of PostgreSQL contains an executable (shp2pgsql) to import shapefiles (.shp) to PostgreSQL. The pgRouting extension contains functions for the routing of networks (ways), such as pgr_dijkstra(). You could either write a stored procedure to do the automation or use python to access and automate the functions.


1

You can run edge based algorithm without slow down if you allow traversal of one edge only once! This could work in your case but could lead to paths not found e.g. for situations of turn restriction detours. So maybe just use the edge based traversal with two directions (~2 time slowdown) without allowing U-turns for every junction (which would lead to a ~4 ...


1

First, if you haven't already, you need to transform your data from x/y coordinates into a readable vector shapefile. Do this by clicking "Add Delimited Text Layer" for each. Select file format as CSV, where X field is Longitude and Y field is Latitude, then click OK. Ensure your projection in the project properties is compatible (Project Properties - enable ...


1

You can also use our free OSM converter from www.routeware.dk, which can create routable datasets in SHP format. Output is formatted to be easy to use with our own software, but with a few field updates, you can also use it with Network Analyst.


1

Disclaimer: I work for iGeolise To model travel times you can use the TravelTime platform API. It uses a range of transport and map sources to produce travel time isochrones including ATOC, DFT, TFL and open street map. The image attached is an example isochrone of all locations reachable within 45 minutes using public transport from Waterloo in London (...


1

LRM is basically the UI for a routing tool. If you want to manipulate the speeds or weights for the routing you need to go 'down' to the routing tool itself, like GraphHopper is one (note: I'm the author). With these tools you could even modify the street geometry or topology or proprietary street data but also the weights for the routing, like done in this ...


1

You have no "seq" column in the inner select, and you use the column aliases in an opposite way. I suppose you should write: SELECT gid as seq, source as id1, target as id2, cost FROM pgr_kdijkstraCost(...


1

As well as Floyd-Warshall, for all-pairs routing, you could consider Johnson's algorithm. An alternative to running Dijkstra for each intersection could be to run A* as the latter is usually considered to be faster. I recommend you have a look at PgRouting, which is a plugin to PostGIS. It would be straightforward enough to import your data to PostGIS. ...



Only top voted, non community-wiki answers of a minimum length are eligible