• Like
  • Save
MapyHazardu.cz
Upcoming SlideShare
Loading in...5
×
 

MapyHazardu.cz

on

  • 5,400 views

Prezentace MapyHazardu.cz na Google Developer Day 2011 konaného 18.října 2011 v Praze. ...

Prezentace MapyHazardu.cz na Google Developer Day 2011 konaného 18.října 2011 v Praze.

Aplikace mapuje herny v obcích České republiky, jejichž provoz je povolen v rozporu s § 17 zákona o loteriích a jiných podobných hrách.

Kód aplikace je volně dostupný na adrese https://github.com/msgre/hazard

Statistics

Views

Total Views
5,400
Views on SlideShare
5,374
Embed Views
26

Actions

Likes
0
Downloads
0
Comments
0

5 Embeds 26

http://a0.twimg.com 18
http://us-w1.rockmelt.com 4
http://paper.li 2
https://twimg0-a.akamaihd.net 1
https://si0.twimg.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    MapyHazardu.cz MapyHazardu.cz Presentation Transcript

    • MapyHazardu.czMichal Valoušek / GDD 2011 Praha / 18.října 2011
    • Michal ValoušekVývojář webových aplikací / Django@msgre / msgre.tumblr.comScuk.cz / EnergoMonitor.cz
    • Brnění o.s.
    • google.maps.Marker špendlíky heren google.maps.Polygonvykreslení budov a jejich okolígoogle.maps.event.addListener zavěšení na myší události google.maps.StyledMapType přebarvení mapy
    • Výpočet okolí budovy>>> from django.contrib.gis.geos import Polygon>>> building = Polygon([(10,10), (20,10), (20,20), (10,20), (10,10)])>>> zone = building.buffer(50)>>> print zone.coords(((-90.0, 10.0), (-90.0, 20.0), (-88.07852804032305, 39.509032201612854), (-82.38795325112868, 58.26834323650898), ... (-88.07852804032294, -9.509032201613383), (-90.0, 10.0)),)
    • Výpočet konfliktu>>> from django.contrib.gis.geos import Polygon, Point>>> zone = Polygon([(10,10), (20,10), (20,20), (10,20), (10,10)])>>> point1 = Point(0, 0)>>> print zone.contains(point1)False>>> point2 = Point(15, 15)>>> print zone.contains(point2)True
    • http://www.exploreseakayaking.com/navigation.htm
    • http://maps.unomaha.edu/Peterson/gis/notes/MapProjCoord.html
    • Spatial Reference System Identity (SRID)>>> # WGS-84>>> # souradnice se zadavaji jako dvojice (lon, lat)>>> building = Polygon([(17.975283, 49.465755), (17.975033, 49.465729), (17.974962, 49.465992), (17.975212, 49.466019), (17.975283, 49.465755)], srid=4326)>>> point = Point(17.9748452, 49.4695582, srid=4326)
    • WGS84buffer(100)
    • Okolí & Křovák rulez!>>> from django.contrib.gis.geos import Polygon>>> from django.contrib.gis.gdal import CoordTransform, SpatialReference>>> ct1 = CoordTransform(SpatialReference(WGS84), SpatialReference(102065))>>> ct2 = CoordTransform(SpatialReference(102065), SpatialReference(WGS84))>>> building = Polygon([(17.968216,49.469791), ..., (17.968216,49.469791)], srid=4326)>>> building.transform(ct1)>>> zone = building.buffer(100) # 100 jakoze 100 m? ANO PROSÍM!>>> zone.transform(ct2)
    • Vypočítat 100 m okolí budov Vypočítat konflikty heren a okolí budov Získat pozice heren Získat seznam budov
    • MapyHazardu.cz
    • maps.google.com
    • maps.google.com
    • maps.google.com
    • maps.google.com
    • mapyhazardu.cz/pridat/
    • Keyhole Markup Language (KML) <?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://earth.google.com/kml/2.2"> <Document> <Placemark> <name>Škola pro sluchově postižené</name> <Polygon> <outerBoundaryIs> <LinearRing> <tessellate>1</tessellate> <coordinates> 17.975283,49.465755,0.000000 ... 17.975212,49.466019,0.000000 17.975283,49.465755,0.000000 </coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </Placemark> </Document> </kml>
    • Nová výzva
    • Seznam heren povolených MF
    • Import tabulky do Google Docs
    • Import tabulky do Google DocsDoplnění přesných “GPS” pozic heren
    • Google Geocoding APIhttps://github.com/simonw/geocoders
    • gdata.spreadsheet.service.SpreadsheetsService knihovna “gdata-python-client”>>> import gdata.spreadsheet.service>>> client = gdata.spreadsheet.service.SpreadsheetsService()>>> client.ClientLogin(GDOCS_USERNAME, GDOCS_PASSWORD)>>> feed = client.GetListFeed(DOCUMENT_ID) # parametr “key” z URL>>> for row_idx, entry in enumerate(feed.entry):... q = [entry.custom[ulice].text, entry.custom[obec].text]... gps = geocode(,.join(q))[1] # viz https://github.com/simonw/geocoders... gps = ,.join([str(i) for i in gps])... client.UpdateCell(row_idx + 2, 6, gps, DOCUMENT_ID)
    • Import tabulky do Google DocsDoplnění přesných “GPS” pozic herenExport dat z tabulky do KML po obcích
    • Import KML do maps.google.com
    • Import tabulky do Google DocsDoplnění přesných “GPS” pozic herenExport dat z tabulky do KML po obcích Získat data o budovách Import do aplikace mapyhazardu.cz
    • Import tabulky do Google DocsDoplnění přesných “GPS” pozic herenExport dat z tabulky do KML po obcích Získat data o budovách Import do aplikace mapyhazardu.cz
    • http://www.mapyhazardu.cz/gdd11/ https://github.com/msgre/hazard