NOiV jaarcongres 2010 18 maart 2010
Flamingo http://flamingo.gbo-provincies.nl/
‘de weg naar versie 4 … een kwestie van durven?’
Richard de Bruin
Agenda • • • • •
Flamingo historie Huidig Flamingo gebruik Toekomst van Flamingo 'Best practice' Geoportaal Drenthe Flamingo tips
Flamingo historie • In 2003 gestart door het interprovinciaal overleggroep voor geo-informatie • In 2004 versie 1 opgeleverd aan het Risicokaart project • Medio 2005 Flamingo Beheergroep • April 2006 versie 2 als 'Open Source' • Mei 2009 versie 3
Beheer Flamingo • Het beheer en de ontwikkeling van Flamingo is op dit moment ondergebracht binnen de Gemeenschappelijke Beheerorganisatie Provincies • GBO provincies treedt op als sponsor waarbij het ontwikkelwerk wordt gedaan door drie bedrijven.
Flamingo ontwikkelaars • Tot en met versie 2.0.2 ontwikkeling geheel gedaan door Menko Kroeske van provincie Fryslân • Huidige ontwikkelaars zijn Herman Assink, Roy Braam, Abeer Mahdi, Menko Kroeske en Linda Vels.
Gebruik van Flamingo Enkele voorbeelden: • Risicokaart (IPO) • Leefbaarometer (VROM) • Ruimtelijke plannen (VROM) • Bodeminformatie (Gemeente Breda) • Monitor Nationale Landschappen
Risicokaart
Leefbaarometer
Ruimtelijke plannen
Bodeminformatie
De weg naar versie 4 … • GIS wereld anders dan in 2003 • Basis Flamingo is verouderd, actionscript 1 en 2 • Andere spelers op de markt zoals bijv. OpenLayers, FLEX dus ....
.. geeft veel ideeën • Nieuwe beheersorganisatie volgens Apache model • Trend richting lichte applicaties • Functionaliteiten bijdrage bestaande community's • Initiatief tot overheid GIS viewer samen met NoiV, GEOZET, Rijkswaterstaat, TNO, Alterra, gemeenten, etc..
'Key features' versie 4 (1) • Hogere 'usability' (aansluiten wat mensen gewend zijn, bijvoorbeeld bepaalde aspecten overnemen van Google Earth • 'Click and Play' (user interface voor beheerders, i.p.v. XML config bestanden bewerken • Geen uitbreiding van mogelijkheden (het is en blijft een viewer)
'Key features' versie 4 (2) • Sneller (vooral opstarten van de applicatie en optimaliseren van de communicatie met mapservers (wordt ook in versie 3 al aan gewerkt)) • 'State of the Art' platform (en Open Source)
Voorlopige Roadmap versie 4 • Onderzoek technologie versie 4 tot zomer 2010 • Start ontwikkeling versie 4 tweede helft 2010 • Doorontwikkeling versie 3 tot eind 2010 • Alleen bugfixes versie 3 vanaf begin 2011 • Versie 4 beschikbaar eerste kwartaal 2011 • Einde ondersteuning versie 3 eind 2011
Ontwikkelen met Flamingo .. .. gewoon doen Geoportaal Drenthe
Doelstellingen • Gebruik maken ISO- standaard voor metadata • Gewerkt kan worden met metadata binnen de huidige GIS software lijn • Via intranet de provinciale medewerker zonder GIS-applicaties toegang heeft tot metadata en kaartmateriaal • Via internet bedrijven, andere overheden en burgers toegang hebben tot openbare gegevens
Aan de slag • Aan sluiten op interprovinciale ontwikkelingen • De Flamingo viewer, metagegevens in een verouderde omgeving en een download plugin voor Flamingo • Besloten het geheel zelf te ontwikkelen en het resultaat als Open Source vrij te geven.
Functionaliteiten • • • • • •
Alfabetisch zoeken Zoeken op trefwoord Maak en Kaart Online kaarten bekijken Online meta-gegevens downloaden Online gegevens downloaden
Werking • Metadata in database die d.m.v. PHP wordt ontsloten • Interface volledig door PHP gegenereerd • Flamingo datasets aan/uitzetten en legenda door Javascript API
Flamingo aansturen http://www.drenthe.info/kaarten/website/geoportaal/kaart.php? e=@KAARTFULL&laag=geoportaal&vis=NAT_AARDKUNDIGWAARPNT_250_P,NAT_AARDKUNDIGWAA RGEB_250_V&tvis=Aardkundig%20waardevol%20element$Aardkundig%20waardevol %20gebied$&gdb_legend=GDB_Geoportaal_paros5636692074307.png,GDB_Geoportaal_paros563670367 4308.png if (vis.length > 0) { sLegend = "
"; sPlaat = gdb_legend.split(","); sLagen = vis.split(","); sTit = tvis.split("$"); for (iRecord = 0; iRecord < sLagen.length; iRecord++) { sLaag = "- <symbol label=\"\" url=\"" + sPlaat[iRecord] + "\"/>
"; sLegend = sLegend + sLaag; } app.call("flamingo","setConfig", sLegend + ""); } if (vis.length > 0) { app.call("flamingo" , "setArgument", "map_" + laag, "visible" , vis); }
Conclusie • Kennisopbouw van PHP, Javascript, XML, WMS • Zeer flexibel en snel inspelen op veranderingen, bijv. van ISO 19115 versie 1.1 naar 1.2. • Sluit perfect aan op interne werkproces • Open Source, dus hergebruik
Tip 1. Flamingo 'identify' • De Flamingo 'onIdentifyData' API call afvangen met Javascript en hierdoor kunnen koppelen aan andere databases function flamingo_naammapinflamingo_onIdentifyData(map, layer, data, identifyextent, nridentified, total) { if (data.naamlaag != undefined) { var gegevens = data.naamlaag; var ids = []; var id = ""; for(var i = 0; i < gegevens.length; i++) { if (field = "GDB.NAAMLAAAG.OBJECTID"){ ids.push(gegevens[i][field]); } } var w = window.open("php/iets.php?ids=" + ids, "details", "width=900,height=600"); w.focus(); } }
Tip 2. Flamingo 'tekenen' • De Flamingo 'onGeometryDrawFinished' API call afvangen met Javascript en hierdoor geometrie en gegevens wegschrijven in databases function flamingo_editMap_onGeometryDrawFinished(comp,wktGeom) { //wktGeom is geometrie in WKT formaat var w = window.open("php/teken.php?geom=" + wktGeom, "details", "width=900,height=600"); w.focus(); //editMap is naam van de editMap in Flamingo flamingo.call("editMap", 'removeAllFeatures'); } In de teken.php bijv. WMS verversen print("opener.document.flamingo.call(\"map\", 'update',0,true);");
Vragen?
Bedankt voor uw aandacht