Archive

Archive for May, 2008

Coffee art

May 8th, 2008

V souvislosti s výstavou Podoby současné kartografie na Přírodovědecké fakultě UK, kterou jsem zatím neměl možnost navštívit, jsem si vzpomněl na tuhle záležitost:

Tohle by byl exponát! Otázka je, který ze studentů nebo členů katedry by byl ochoten jej udržovat. Též by zažil těžké časy při odpovídání na otázku, ve kterém kartografickém zobrazení mapa je, zvlášť když uvážíme, že bublinky v kávové pěně rozhodně na jednom místě nepostávají.

Na další povedené kousky, včetně pár instruktážních videí, lze mrknout zde .

Uncategorized

GIS DSL

May 2nd, 2008

Zajímavou věcí, i když nijak novou, jsou tzv. doménově specifické jazyky (znáte někdo lepší překlad?). Dobrý a docela podrobný popis pojmu lze nalézt např. na Wikipedii, kratší a obecnější vysvětlení pak na root.cz. Co je zvláštní, že v oblasti GIS v podstatě žádné produkty ničím takovým vybaveny nejsou. Nebylo by fajn moci vyjádřit se např. tímto způsobem:

Dataset ds = open "folder://d:/data/shapefiles/";
Features lesy = ds open "lesy.shp";
Features silnice = ds open "silnice.shp";

Features silnice1a2tridy = query silnice {
   "TRIDA" in (1, 2)
}

Features vyberLesu = query lesy {
   area(.) > 5km2 and . intersects buffer(silnice1a2tridy, 100m)
}

double celkovaRozloha = 0;
foreach(Feature les in vyberLesu) {
  celkovaRozloha += area(les);
}

Výše uvedený pseudokód měl zjistit celkovou plochu lesů s výměrou nad 5km2, které leží do vzdálenosti 100m od silnic 1. a 2. třídy. Kdybychom podobnou záležitost měli napsat např. v ArcObjects, vyšlo by to určitě minimálně na 50 řádků kódu (spíš víc). Jistě, ArcGIS od ESRI poskytuje geoprocessing a na něj vázaný ModelBuilder, což v podstatě je grafická forma DSL, ale ten zase na druhou stranu nenabízí takovou kontrolu nad jednotlivými prvky a daty tak, jak bychom často potřebovali (i když výše popsaný příklad by se pomocí něj vzhledem k jednoduchosti dal popsat velice snadno). Geoprocessing v ESRI pomocí Pythonu je už tomuto cíli o něco blíže, ale stále je pro tento účel poněkud těžkopádný, jeho výhoda ovšem leží v dostupnosti široké škály modulů.

Potenciál je veliký – představme si jednotný jazyk nad různými systémy (ESRI, grass, …). Jistě, implementace něčeho takového by určitě byla oříšek, překvapující je snad jen to, že žádný takový projekt v současnosti neexistuje (rád bych se mýlil).

Uncategorized ,