Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afMathilde Simonsen Redigeret for ca. et år siden
1
So ein GIS ding Afstandsberegninger med pgRouting og python på en gratis Amazon server København 10-01-2015
2
Agenda Runde 2A Opsætning af server Om pgRouting Eksempel Runde 2B - hør mere om Amazon (og få koden) Python koden der beregner afstande Optimering af kald til pgRouting POI fra OSM og Rejseplanen Alternativer til pgRouting?? Erfaringsudveksling
3
Opsætning af Amazon server
4
pgRouting Core Features pgRouting provides functions for: All Pairs Shortest Path, Johnson’s Algorithm [1] All Pairs Shortest Path, Floyd-Warshall Algorithm [1] Shortest Path A* Bi-directional Dijkstra Shortest Path [1] Bi-directional A* Shortest Path [1] Shortest Path Dijkstra Driving Distance K-Shortest Path, Multiple Alternative Paths [1] K-Dijkstra, One to Many Shortest Path [1] Traveling Sales Person Turn Restriction Shortest Path (TRSP) [1] Shortest Path Shooting Star [2] Other ”Features” Service area Distance Matrix
5
Eksempler
6
Runde 2B Runde 2B - hør mere om Amazon (og få koden) Python koden der beregner afstande Optimering af kald til pgRouting POI fra OSM og Rejseplanen Alternativer til pgRouting?? Erfaringsudveksling
7
Amazon og installation af pgRouting Opret en linux ubuntu server på (det er gratis): http://aws.amazon.com/ec2/ Åben en consol -Åben port 80 -Installer git -Klon git arkiv https://github.com/gisgroup/soeingisdingdemohttps://github.com/gisgroup/soeingisdingdemo - Kør filen: install_all.sh (kør som super user)
8
Beregn afstande gisgroup_api.distance ~~~~~~~~~~~~~~~~~~~~~ Provide endpoint for calculating distances between addresses and POIs """ import os from flask import Blueprint, jsonify from. import utils as distance_utils from..geocode import utils as geocode_utils # initialize blueprint blueprint = Blueprint('distance', __name__) @blueprint.route( "/ / " ) def distance_address( target, origin ): location_origin = geocode_utils.findone( origin ) location_target = geocode_utils.findone( target ) coordinates_origin = location_origin.get('adgangsadresse').get('adgangspunkt').get('koordinater') coordinates_target = location_target.get('adgangsadresse').get('adgangspunkt').get('koordinater') r = distance_utils.calculate( coordinates_origin[0], coordinates_origin[1], coordinates_target[0], coordinates_target[1] ) return jsonify( distance=r )
9
Optimering af kald Optimeringer i koden Brug af en god hurtig geokoder (f.eks. DAWA) Brug af de rigtige projektioner (konverter evt)! Geo-index på felter i postgis Søge nærmeste i fugleflugt, udvælge dem og udregn djikstra til dem og kun dem Caching på server
10
POI fra OSM og Rejseplanen OSM: http://download.geofabrik.de/europe.html Rejseplanen: http://labs.rejseplanen.dk/labs/data__brug/rejseplanens_api/
11
Alternativer til pgRouting afstandsberegning https://graphhopper.com/maps/ http://www.liedman.net/leaflet-routing-machine/
12
Erfaringsudveksling Hvad har andre af erfaringer?
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.