Skip to content

Instantly share code, notes, and snippets.

@miloskroulik
Last active August 29, 2015 14:09
Show Gist options
  • Save miloskroulik/a4b38f0b4caddfa244d5 to your computer and use it in GitHub Desktop.
Save miloskroulik/a4b38f0b4caddfa244d5 to your computer and use it in GitHub Desktop.
Zápisky z GIS Hackathonu Brno 2014 #python #GIS

Zápisky z GIS Hackathonu 2014

Geopython

OWS - open web services

  • nejsou to webové služby

pydoc

  • man pro python

OGR

  • DataSource (lokální soubory, geodatabáze, webová služba)
  • layer (v rámci data source - v PostGISu odpovídá např. tabulkám, nebo views)

fiona - jednoduché rozhraní pro OGR rasterio - jednoduché rozhraní pro GDAL (rastery) shapely - manipulace geometrických dat (např. přidání bufferu) mapscript - rozhraní pro Mapserver (dá se použít jako knihovna pro Python - např. pro převod geodat do obrázku, apod.)

TileMill

  • stylování pomocí pseudoCSS
  • pracuje s SHP, Geotiffy
  • umožňuje přidat jednu vrstvu několikrát, přidat jim různé classy, tím je pak nastylovat různěme tím zákazníky odlákat

Návrh GUI

  • sidetracking - pokud umístíme na stránku dodatečný obsah, můžeme tím odlákat zákazníky od nákupu (což je náš cíl)

  • pořád je třeba mít na vědomí cíle zákazníka a jak jich může dosáhnout (potřebné kroky)

  • důležité je používat správná slova

  • postoj zákazníka k aplikaci a konkurenci

  • kolik času je zákazník ochoten věnovat

  • testování - informace jsou mnohdy velmi zkreslené (např. otázka proč uživatel nepoužívá určitou funkci?)

  • vzory chování:

    • safe exploration
      • zkoušení nových funkcí bez rizika, že něco pokazí. Uživatel se bojí nečekaných reakcí počítače ("Mě se tam něco objevilo!")
    • instant gratification
      • chci vidět výsledky hned (je dobré odhadnout první věc, kterou chce uživatel udělat). Také není dobré podmiňovat funkcionalitu nějakou registrací.
    • satisficing
      • je to dostatečné, nechci řešit alternativní přístupy (nebude používat novou úžasnou fičuru, kterou jsme mu připravili)
    • changes midstream
      • uživatel si rozmyslel rozhodnutí v průběhu procesu
      • co nejkratší procesy
      • možnost vrátit se do procesu, nebo ho dokončit na jiném zařízení
    • deferred choices
      • odložení nenutných rozhodnutí na později
      • odložit pouze tam, kde to nemůže uživatele ohrozit
    • incremental construction
      • každou funkci by mělo být možno udělat rychle a později se k tomu vrátit
    • habituation
      • stené přístupy napříč aplikacemi (Ctrl+s, Enter)
    • spatial memory
      • kde je sakra to tlačítko, které tam včera bylo?
  • kniha: Tidwell: Designing interfaces

GEOSENSE

  • používaj PostGIS, Mapserver, QGIS Server
  • tabulky propojené s tabulkama, filtry v hlavičce sloupců
  • dělá pro ně člověk, který je taky z Geomentors a je to extrémně chytrej člověk (už podle projevu)
  • pobyt v Silicon Valley měli financování CzechInvestem
  • prezentoval Ladislav Čapek

Tvorba renderovací infrastruktury nad OSM

  • používají ho tripomatic.com (martin.kucera@tripomatic.com)
    • dá se domluvit na využití dlaždic
  • důvodem byly příliš vysoké náklady na používání Mapboxu
  • data -> DB -> vizualizace ->
  • data
    • k dispozici pro státy, kontinenty, metropolitní oblasti
  • DB
    • PostGIS
    • kompromisy - maintenance_work_mem 4096 MB, work_mem 64MB
    • používají ImpOSM 3 (ale zvažují návrat k verzi 2)
    • dá se naimportovat do různých DB struktur (podle typů featur, apod.)
  • Render
    • MBTile - desktopová DB, nedochází k redundanci (např. nečleněný oceán tvoří jen jedna dlaždice)
    • TileMill,
    • TileStache
      • jádrem je mapnik
      • ukládá do cache
    • CartoCSS, Mapnik.xml
    • OSM Bright (od Mapboxu)
      • rychlý základ
    • MBTily se dají předrenderovat - to se nedá při velkých oblastech
      • v praxi se používá pro nejvíce využívané tily
    • mapnik.xml + TileStache - render on demand, ukládáno do cache)
  • Distribuce
    • urychluje se pomocí CDN
  • Zobrazení
    • na iOS mapbox.js
    • detekce retina vs. non-retina
  • výhody a nevýhody
    • je to levné, ale taky je to minové pole (bugy, špatná dokumentace)
    • klade to vysoké nároky na infrastrukturu
  • do budoucna chtějí přejít na vektory
    • vector tiles

OpenLayers 3 & Google Closure

  • Google Closure Tools
    • sada nástrojů pro vývoj JS
    • OL3 je připravena pro jejich použití
    • compiler
      • nejen minfikace JS kódu
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment