Αφαιρέσεις της Πόλης & Εργαλεία Παραγωγής Πληροφορίας City Abstractions & Information Production Tools
Διάλεξη στα πλαίσια του μαθήματος: ΜΕΘΟΔΟΛΟΓΙΚΑ ΕΡΓΑΛΕΙΑ ΣΧΕΔΙΑΣΜΟΥ ΓΙΑ ΤΗ ΣΥΓΚΡΟΤΗΣΗ ΣΤΡΑΤΗΓΙΚΩΝ ΟΛΟΚΛΗΡΩΜΕΝΗΣ ΑΣΤΙΚΗΣ ΠΑΡΕΜΒΑΣΗΣ Αδαμόπουλος Γεώργιος Ιούνιος 2015
1 2 … … 3 4 … 5 … 6 … 7 … 8 … 9 … 10 … 11 … 12 … 13 … 14 … 15 … 16 … 17 … 18 … 19 … 20 … 21 … 22 … 23 … 24 … 25 … 26 … 27 … 28 … 29 … 30 … 31 32 33 … 34
<?xml version="1.0" encoding="UTF-8"?>! <osm version="0.6" generator="CGImap 0.4.0 (30123 thorn-01.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">! <bounds minlat="37.9809000" minlon="23.7198000" maxlat="37.9916000" maxlon="23.7336000"/>! <node id="31179536" visible="true" version="8" changeset="6461187" timestamp="2010-11-26T11:20:50Z" user="greecemapper" uid="23785" lat="37.9836616" lon="23.7285292"/>! <node id="31179467" visible="true" version="7" changeset="6152374" timestamp="2010-10-23T22:39:52Z" user="greecemapper" uid="23785" lat="37.9868882" lon="23.7261906"/>! <node id="31179468" visible="true" version="11" changeset="15366843" timestamp="2013-03-14T20:31:41Z" user="greecemapper" uid="23785" lat="37.9856901" lon="23.7242055"/>! <node id="95663372" visible="true" version="4" changeset="5388676" timestamp="2010-08-03T10:49:30Z" user="greecemapper" uid="23785" lat="37.9858109" lon="23.7231591"/>! <node id="95663394" visible="true" version="3" changeset="6145071" timestamp="2010-10-23T13:23:35Z" user="greecemapper" uid="23785" lat="37.9901935" lon="23.7295278"/>! <node id="95663395" visible="true" version="16" changeset="6145071" timestamp="2010-10-23T13:23:47Z" user="greecemapper" uid="23785" lat="37.9905883" lon="23.7268442"/>! <node id="95663404" visible="true" version="5" changeset="6152374" timestamp="2010-10-23T22:39:54Z" user="greecemapper" uid="23785" lat="37.9869877" lon="23.7270235"/>! <node id="95663422" visible="true" version="8" changeset="13442534" timestamp="2012-10-10T15:39:55Z" user="aitolos" uid="653" lat="37.9855927" lon="23.7283796"/>! <node id="95663418" visible="true" version="10" changeset="15366843" timestamp="2013-03-14T20:31:43Z" user="greecemapper" uid="23785" lat="37.9865670" lon="23.7257172"/>! <node id="95663502" visible="true" version="5" changeset="16551083" timestamp="2013-06-14T14:37:29Z" user="greecemapper" uid="23785" lat="37.9866700" lon="23.7250712"/>! <node id="95668388" visible="true" version="3" changeset="804984" timestamp="2009-03-14T10:48:08Z" user="AiNikolas" uid="14235" lat="37.9908358" lon="23.7202117"/>! <node id="95668439" visible="true" version="3" changeset="804984" timestamp="2009-03-14T10:48:08Z" user="AiNikolas" uid="14235" lat="37.9940505" lon="23.7209841"/>! <node id="95668428" visible="true" version="4" changeset="24149550" timestamp="2014-07-14T21:19:33Z" user="greecemapper" uid="23785" lat="37.9917052" lon="23.7204630"/>! <node id="95668430" visible="true" version="5" changeset="24149550" timestamp="2014-07-14T21:19:33Z" user="greecemapper" uid="23785" lat="37.9923102" lon="23.7206180"/>! <node id="95668456" visible="true" version="3" changeset="804984" timestamp="2009-03-14T10:48:08Z" user="AiNikolas" uid="14235" lat="37.9976403" lon="23.7204528"/>! <node id="97788202" visible="true" version="50" changeset="6145071" timestamp="2010-10-23T13:23:25Z" user="greecemapper" uid="23785" lat="37.9895357" lon="23.7308131"/>! <node id="97788213" visible="true" version="36" changeset="6152374" timestamp="2010-10-23T22:39:54Z" user="greecemapper" uid="23785" lat="37.9886565" lon="23.7304694"/>! <node id="97797086" visible="true" version="6" changeset="8271872" timestamp="2011-05-28T13:36:44Z" user="greecemapper" uid="23785" lat="37.9902382" lon="23.7349461"/>! <node id="97797098" visible="true" version="10" changeset="16785003" timestamp="2013-07-01T23:39:00Z" user="greecemapper" uid="23785" lat="37.9906663" lon="23.7320831"/>! <node id="97819320" visible="true" version="12" changeset="6447343" timestamp="2010-11-24T14:39:32Z" user="greecemapper" uid="23785" lat="37.9761161" lon="23.7254187"/>! <node id="97823756" visible="true" version="11" changeset="5935146" timestamp="2010-10-02T11:12:51Z" user="trooper7" uid="353083" lat="37.9770130" lon="23.7262493"/>! <node id="97834501" visible="true" version="10" changeset="6145071" timestamp="2010-10-23T13:23:25Z" user="greecemapper" uid="23785" lat="37.9906770" lon="23.7249636"/>! <node id="97834619" visible="true" version="8" changeset="6145071" timestamp="2010-10-23T13:23:44Z" user="greecemapper" uid="23785" lat="37.9897774" lon="23.7249020"/>! <node id="97834708" visible="true" version="5" changeset="6145071" timestamp="2010-10-23T13:23:27Z" user="greecemapper" uid="23785" lat="37.9907269" lon="23.7239300"/>! <node id="97834704" visible="true" version="4" changeset="6152374" timestamp="2010-10-23T22:39:57Z" user="greecemapper" uid="23785" lat="37.9898149" lon="23.7244047"/>! <node id="97834761" visible="true" version="8" changeset="15366843" timestamp="2013-03-14T20:31:44Z" user="greecemapper" uid="23785" lat="37.9870661" lon="23.7264731"/>! <node id="97839400" visible="true" version="4" changeset="6152374" timestamp="2010-10-23T22:39:58Z" user="greecemapper" uid="23785" lat="37.9896838" lon="23.7244907">! <tag k="highway" v="crossing"/>! </node>! <node id="98303804" visible="true" version="2" changeset="778979" timestamp="2009-03-10T17:38:32Z" user="Willem1" uid="58066" lat="37.9888874" lon="23.7210395"/>! <node id="98303810" visible="true" version="2" changeset="778979" timestamp="2009-03-10T17:38:32Z"
Τοπολογικοποίηση Topologization
Η πόλη ως γράφημα Τοπολογικοποιώντας το οδικό δίκτυο της πόλης, αφαιρούμε από αυτό κάθε έννοια χώρου ή γεωμετρίας, περιγράφοντας λογικές σχέσεις αδιάστατων τόπων. Κάθε διασταύρωση μετατρέπεται σε κόμβο/ τόπο και τα διαστήματα μεταξύ των διασταυρώσεων ορίζουν τις συνδέσεις μεταξύ των κόμβων. Ο αστικός χώρος περιγράφεται έτσι ως μια λίστα κόμβων και μεταξύ τους συνδέσεων, η οποία στην ουσία εκφράζει τους τυπικούς τρόπους με τους οποίους μπορεί (ή δεν μπορεί) να κινηθεί κάποιος σε αυτόν. Από τη στιγμή που υπάρχουν πάνω από ένας τρόποι να φτάσει κανείς από ένα σημείο της πόλης σε ένα άλλο, προκύπτει η ανάγκη απόφασης μεταξύ των πιθανών διαδρομών.
Αλγόριθμοι Εύρεσης Διαδρομής Path-Finding Algorithms
Δεδομένου ενός γραφήματος (σύνολο κόμβων/τόπων + πληροφορία για τις μεταξύ τους συνδέσεις και το “κόστος” ή “βάρος” της κάθε σύνδεσης), ο στόχος ενός αλγορίθμου εύρεσης διαδρομής είναι να βρεί εκείνη την αλληλουχία συνδέσων η οποία συνδέει 2 οποιουσδήποτε κόμβους του γραφήματος με το μικρότερο δυνατό κόστος.
B
A
Κατηγορίες Αλγορίθμων Εύρεσης Διαδρομής Εξαντλητικοί
Άπληστοι
Ευριστικoί
Exhaustive
Greedy
Heurestics-Based
Εξέταση όλων των πιθανών “διαδρομών” από το Α στο Β προκειμένου να επιλεχθεί τελικά η βέλτιστη.
Βεβιασμένη επιλογή των φθηνότερων επι μέρους συνδέσεων, αγνοώντας αν η συνολική διαδρομή είναι τελικά η βέλτιστη.
Χρήση ευριστικών τεχνασμάτων προκειμένου να μην εξεταστούν καν πιθανές διαδρομές που δεν έχουν «νόημα».
Δημοφιλέστεροι Αλγόριθμοι (μέχρι σήμερα)
Dijkstra
A*
(Amsterdam, 1959)
(Stanford, 1968)
Κάτι ανάμεσα σε greedy & exhaustive
Βελτιωμένη εκδοχή του Dijkstra με χρήση ευριστικής.
Πλήρης διαδραστική εξήγηση: http://www.redblobgames.com/pathfinding/a-star/introduction.html
Dijkstra Σταδιακή εύρεση της συνολικής βέλτιστης διαδρομής από το Α στο Β, μετρώντας σε κάθε βήμα για κάθε υποψήφιο κόμβο Κ, το κόστος της διαδρομής Α-Κ που έχει ήδη διανυθεί και επιλέγωντας τον κόμβο ο οποίος παρήγαγε μέχρι στιγμής τη φθηνότερη διαδρομή. Τείνει να εξετάζει μεγάλο αριθμό κόμβων, πριν καταλήξει στην τελική διαδορμή.
Α* Για κάθε υποψήφιο κόμβο Κ εξετάζεται όχι μόνο το κόστος της διαδρομής Α-Κ που έχει ήδη διανυθεί, αλλά και η ευκλείδια απόσταση (η ελάχιστη δυνατή) του κόμβου αυτού από το στόχο Β. Αγνοούνται οι κόμβοι που τείνουν να απομακρυνθούν από το στόχο, μειώνοντας έτσι σημαντικά τον αριθμό των κόμβων που εξετάζονται.
Πώς τοπολογικοποιούμε την πόλη;
A) Με το χέρι Β) Αυτόματα
(Grasshopper, DepthMap X)
Γ) Κάποιοι το Έχουν Κάνει Ήδη (Open Street Map, Cad Mapper)
Εύρεση Ελάχιστων Διαδρομών στον Αστικό Ιστό Software:
Grasshopper + Elk + Shortest Walk (εναλλακτικά SpiderWeb ή
Python+NetworkX)
Βήμα 1: Φόρτωμα Δεδομένων OpenStreetMap μέσω Elk
Βήμα 2A: Επιλογή Οδικού Δικτύου
Βήμα 2B: Τοπολογικοποίηση
Βήμα 3: Εύρεση Ελάχιστης Διαδρομής
Από τη στιγμή που η πόλη είναι εκφρασμένη ως τοπολογικό μοντέλο (και όχι ως γεωμετρικό), το «κόστος» μετάβασης από τον έναν κόμβο στον άλλο μπορεί να οριστεί αυθαίρετα.
Η έννοια «κόστος διαδρομής» μπορεί να αποκτήσει οποιαδήποτε σημασία. Παραδείγματα: Αν Κόστος = Κλίση δρόμου τότε Φθηνότερη διαδρομή = Πιο επίπεδη διαδρομή Αν Κόστος = Θόρυβος
τότε
Φθηνότερη διαδρομή = Πιο ήσυχη διαδρομή
Αν Κόστος = Υψόμετρο
τότε
Φθηνότερη διαδρομή = Πιο πεδινή διαδρομή
. . .
Eric Fischer, â&#x20AC;&#x153;Shortest-path routing through geotag densityâ&#x20AC;?, 2012
Tilemill (Map Styling): https://www.mapbox.com/tilemill/ Τα πάντα για Path Finding: http://www.redblobgames.com/pathfinding/a-star/introduction.html http://theory.stanford.edu/~amitp/GameProgramming/index.html Ανοικτά Δεδομένα Αξονικών Χαρτών: www.openstreetmap.org/ https://cadmapper.com/ Εlk + Shortest Walk GH http://www.food4rhino.com/project/elk?etx http://www.food4rhino.com/project/shortestwalkgh?etx Spiderweb, Networkx http://www.gbl.tuwien.ac.at/Archiv/digital.html?name=SpiderWeb http://www.grasshopper3d.com/forum/topics/least-cost-path-on-mesh-python Χάρτες του Eric Fischer: https://www.flickr.com/photos/walkingsf/albums
Διακριτοποίηση Discretization
Η πόλη ως κάνναβος Κατάτμηση της επιφάνειας της πόλης σε πεπερασμένο πλήθος υπο-επιφανειών/θεμελιωδών μονάδων. Κάθε θεμελιώδης οντότητα εκφράζει μέσω των ιδιοτητών της, τις τοπικές συνθήκες της περιοχής την οποία καλύπτει. Εξ ‘ορισμού αναπαριστά με μία μόνο τιμή, τις θεωρητικά άπειρες τιμές που περικλείονται στα όρια της. Ως εκ τούτου, όσο μεγαλύτερο το πλήθος των στοιχείων (ανάλυση), τόσο ακριβέστερη η προσέγγιση της πραγματικότητας.
Μελέτη Ηλιακής Πρόσπτωσης Software:
Grasshopper + Ladybug (εναλλακτικά Diva ή Geco) Προεργασίες
Α) Εύρεση Καιρικών Δεδομένων http://apps1.eere.energy.gov/buildings/energyplus/weatherdata_about.cfm
Β) Προσθήκη Δομημένου Περιβάλλοντος
β1) Με το χέρι β2) Αυτόματα (Grasshopper, ESRI City Engine) β3) Κάποιος το Έχει Κάνει Ήδη (Google)
Γ) Διακριτοποίηση Περιοχής Μελέτης
Βήμα 1: Φόρτωμα Δεδομένων .epw μέσω Ladybug
Βήμα 2: Ορισμός Επιφανειών Προς Μελέτη & Δομημένου Περιβάλλοντος
Βήμα 3: Διακριτοποίηση Επιφανειών & Υπολογισμός
Μέγιστο Μέγεθος Ψηφίδας:
6m
Χρόνος Υπολογισμού:
1.8 seconds
3m / 4.5 seconds
1m / 30 seconds
0,5m / 2 minutes !
> 1000 ώρες ηλιοφάνειας
< 1000 ώρες ηλιοφάνειας
Καιρικά Δεδομένα .epw: http://apps1.eere.energy.gov/buildings/energyplus/weatherdata_about.cfm MIT Mapdwell Project: http://web.mit.edu/SustainableDesignLab/projects/CambridgeSolarMap/index.html http://www.mapdwell.com/en/cambridge/ Ladybug, DIVA, Geco: http://www.food4rhino.com/project/ladybug-honeybee?etx http://diva4rhino.com/ http://www.food4rhino.com/project/geco?etx Για τολμηρούς (υποκλοπή κτιρίων από Google Earth): http://brian-horning.com/google-earth-to-obj-using-glintercept/ http://brian-horning.com/google-earth-to-3ds-using-3d-ripper-dx/ http://diverg.co/blog/2012/03/01/extract-geometry-from-google-earth-to-mesh/ http://make2d.blogspot.com/2011/10/request-model.html ESRI City Engine: http://www.esri.com/software/cityengine