Archive for the ‘Nieuwe ontwikkelingen’ Category

Voorproefje 3

zondag, november 20th, 2011

Ik denk dat met deze post mensen toch wel enigszins in de richting zullen gaan denken wat we gaan lanceren.


# search oude trambaan 7 leidschendam
Sphinx 2.0.1-id64-beta (r2792)
Copyright (c) 2001-2011, Andrew Aksyonoff
Copyright (c) 2008-2011, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinx/sphinx.conf'...
index 'bag': query 'oude trambaan 7 leidschendam ': returned 1 matches of
1 total in 0.034 sec

displaying matches:
1. document=1916200000022621, weight=4578

words:
1. 'oude': 179646 documents, 184628 hits
2. 'trambaan': 1005 documents, 1005 hits
3. '7': 184619 documents, 184779 hits
4. 'leidschendam': 41339 documents, 46296 hits

# search 2265CA 7
Sphinx 2.0.1-id64-beta (r2792)
Copyright (c) 2001-2011, Andrew Aksyonoff
Copyright (c) 2008-2011, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/etc/sphinx/sphinx.conf'...
index 'bag': query '2265CA 7 ': returned 1 matches of 1 total in 0.005 sec

displaying matches:
1. document=1916200000022621, weight=2611

words:
1. '2265ca': 59 documents, 59 hits
2. '7': 184619 documents, 184779 hits

Ja, er moet nog wat worden getuned šŸ˜‰ Maarja, wanneer niet he.

Voorproefje 2

vrijdag, november 11th, 2011
BAG=# select nummeraanduiding.identificatie, openbareruimtenaam as straat,
huisnummer, postcode, brt_2010.gm_naam as gemeente, omschrijvi as provincie,
bu_naam as buurt, wk_naam as wijk
from verblijfsobject, nummeraanduiding, wijk_2010, brt_2010, provincies2003, openbareruimte
where postcode = '2629JD' and huisnummer = 12 and hoofdadres = nummeraanduiding.identificatie
and st_within(geometrie, brt_2010.the_geom) and wijk_2010.wk_code = brt_2010.wk_code
and st_within(geometrie, provincies2003.the_geom) and gerelateerdeopenbareruimte = openbareruimte.identificatie;
  identificatie  |      straat       | huisnummer | postcode | gemeente |  provincie   |            buurt             |      wijk      
-----------------+-------------------+------------+----------+----------+--------------+------------------------------+----------------
 503200000122340 | Molengraaffsingel |         12 | 2629JD   | Delft    | Zuid-Holland | Bedrijventerrein Technopolis | Wijk 29 Ruiven

Je mag uiteraard in de comments raden wat dit zou kunnen worden.

Voorproefje

donderdag, november 10th, 2011
BAG=# SELECT X(ST_Transform(geometrie, 4326)), Y(ST_Transform(geometrie, 4326))
FROM verblijfsobject, nummeraanduiding 
WHERE postcode = '2629JD' and huisnummer = 12 and hoofdadres = nummeraanduiding.identificatie;
        x         |        y         
------------------+------------------
 4.38628456387679 | 51.9934935616238
 4.38628456387679 | 51.9934935616238
(2 rows)

Time: 200.766 ms
BAG=# SELECT X(ST_Transform(geometrie, 4326)), Y(ST_Transform(geometrie, 4326)) 
FROM verblijfsobject, nummeraanduiding 
WHERE postcode = '2629JD' and huisnummer = 14 and hoofdadres = nummeraanduiding.identificatie;
       x        |        y         
----------------+------------------
 4.387109892279 | 51.9937080752974
 4.387109892279 | 51.9937080752974
(2 rows)

Time: 1.878 ms
BAG=# SELECT X(ST_Transform(geometrie, 4326)), Y(ST_Transform(geometrie, 4326)) 
FROM verblijfsobject, nummeraanduiding 
WHERE postcode = '2265CA' and huisnummer = 7 and hoofdadres = nummeraanduiding.identificatie;
        x         |        y        
------------------+-----------------
 4.40486441005266 | 52.089716521293
(1 row)

Time: 52.008 ms

OpenStreetMap real-time visualization

dinsdag, augustus 9th, 2011

De mooie en niet mooie dingen met OSM

zondag, april 17th, 2011

Vandaag kwam ik (alleen via Firefox) terecht op deze fan-tas-ti-sche OpenLayers website. Zo eentje waar we in de afgelopen jaren alleen maar van konden dromen, omdat het op Google API’s werd gebouwd, of omdat er gewoon weg geen data beschikbaar was. Data wordt nu zoetjes aan via officiĆ«le kanalen bereikbaar gemaakt. Eerst volgende de NS API, snel daarna mocht openOV live. Samen met de Belgen komt er nu schot in de de wereld der OV data gebruik.

Eerste voorbeeld wat ik gaf was iets wat gewoon door iemand gemaakt lijkt te zijn. Dit weekend ben ik zelf bezig geweest aan een ander OpenLayers dingetje, wat plagiaat Belgen natuurlijk direct moesten kopiĆ«ren šŸ˜‰ Zo gaat dat in open projecten, standing on shoulders of giants. En vooral niet zeuren als andere mensen meer kunnen met jouw ideeĆ«n, dan zijn het immers goede ideeĆ«n.

Vandaag hoorde ik op #osm-nl dat de verplichte acceptatie of het verwerpen van de zo gehypte Licentie voorwaarden en Contributor Terms een feit was. Betekent zoiets dat je niet meer mag editen als je nu niet ja of nee zegt. Je data wordt dan niet automatisch behouden of gewist, je wordt alleen levende statistiek. Of, zoals ik, een onderdeel van een schandpaal lijstje. Een aantal dingen vielen mij op, er komt een waslijst aan tekst met een vakje “al mijn edits mogen eigenlijk ook wel in het publieke domein” en een “accept” (accepteer), “decline” (accepteer niet) knop. Het viel mij op dat de “decline”-knop wat betreft gebruikers ervaring iets compleet anders doet dan de “accept” knop. Er gebeurt gewoon niets.

Is dit nu de ultieme manier om een democratisch proces visueel inzichtelijk te maken? Het maakt niet uit dat je “nee” zegt, alles blijft hetzelfde, zelfs de internetpagina die voor je staat.

Misschien was dit niet eens de bedoeling van de programmeur die die webpagina heeft gemaakt. Mijn keuze heeft overigens te maken met de inhoud van mijn edits, ik kan en wil niet alle mensen die ik ooit heb gebeld om te vragen ‘mag ik dit van je gebruiken’ nog een keer bellen met een onzin verhaal omdat iemand zo graag wilde switchen naar twee andere licenties. CC-BY-SA heeft voor mij gewerkt, en dat doet het nogsteeds. Het feit dat er nogsteeds mensen denken dat er geen geld verdiend mag worden aan iemand anders werk, gaat een licentie verandering niet veranderen. Conceptueel ben ik dan ook voor een gelaagd licentie model, dat data uit verschillende bronnen toe staat, de ene vrijer dan de andere, met als ultieme doel de algemene realisatie dat het delen zonder voorwaarden voor de eeuwigheid is. En de rest voor de leeftijd van Mickey Mouse.

Microsoft doneert aerial imagery aan OpenStreetMap

dinsdag, november 23rd, 2010

Steve Coast heeft Cloudmade verlaten en gaat een handje helpen bij Microsoft Bing Maps. Als gevolgt daarvan mag OpenStreetMap de aerial imagery van Bing / Microsoft gaan gebruiken als onderlaag in de editors !

Microsoft is donating access to it’s global orthorectified aerial imagery to help OpenStreetMappers make the map even better than it already is.

Meer info op..

pbf planet files beschikbaar!

dinsdag, september 28th, 2010

Al enige tijd wordt er gewerkt aan pbf (Protobuf Binary Format). Dit binaire formaat is een alternatief op de xml om OSM data op te slaan. Met als grote voordeel dat het een stuk kleiner is en sneller te verwerken. Tevens kan je (al is dat nog niet geĆÆmplementeerd) ook “eenvoudig” zoeken en updaten in dit formaat!

Er is reeds support voor pbf in osmosis en in Nederland wordt er ook hard gewerkt aan de C tool pbf2osm.

Sinds gisteren staan op planet.openstreetmap.nl ook onze planet extracts (benelux, overzeese gebiedsdelen, haiti) in pbf. Hier is duidelijk te zien dat pbf een stuk kleiner is dan gzip (376mb vs 784mb).

Gebruik de tileserver!

dinsdag, september 21st, 2010

Zoals Roeland al op IRC zei:

(18:01:43) rullzer: we moeten promotie campagne starten om osm te gebruiken… nu de NL tile server zo rap is hebben mensen niet echt meer een excuus šŸ˜‰

Dus moeten we daar gewoon maar mee gaan beginnen. Dus als je ooit dacht om te wisselen van tileserver van .org naar ons, moet je dat vooral doen. Je kunt trouwens gebruik maken van:
a.tile.openstreetmap.nl/osm/
b.tile.openstreetmap.nl/osm/
c.tile.openstreetmap.nl/osm/
d.tile.openstreetmap.nl/osm/

…want we weten dat niet alle webbrowsers zo goed werken als IE9.

Nieuwe tile code op productie II

zaterdag, september 18th, 2010

Na de vorige aankondiging kwam erg waardevolle feedback van een aantal reegulahrs op ons onvolprezen IRC kanaal. We zijn weer een beetje aan het sleutelen geweest en kwamen tot de volgende setup:

tile.openstreetmap.nl

  1. Controleert of een tile niet bestaat
  2. Controleert of een tile expired is
  3. Serveert iedere tile die we al op disk hebben

In het eerste geval hebben we dus geen tile om op terug te vallen. We zullen dus zo snel mogelijk moeten beginnen met renderen om de gebruiker te laten zien wat er gebeurt. Het berichtje naar renderd is een zogenaamde renderPrio, met een timeout van 10 seconden, waarna er een 404 zal optreden als het renderen niet is gelukt.

In het tweede geval hebben we wel een tile om op terug te vallen, en die zullen we in deze virtuele server ook direct gebruiken. Echter nu wordt er een berichtje naar renderd gestuurd waar we niet gaan wachten tot het renderen klaar is. Het renderen zal geen prioriteit hebben en wordt een keer meegenomen als het rustig is. De tile die naar de gebruiker wordt toegestuurd heeft een expire tijd van twee minuten, dus de volgende keer dat de browser nog een keer om het bestand vraagt, staat er waarschijnlijk al een nieuwe tile klaar.

In het derde geval is er niets mis met de tile, en gaat hij gewoon naar de eindgebruiker met een expire tijd van twee dagen.

live.openstreetmap.nl

  1. Controleert of een tile niet bestaat of een tile expired is
  2. Serveert iedere tile die we al op disk hebben

Op deze virtuele server gaan we altijd een poging doen om een tile die veranderd is of niet bestaat in z’n nieuwe vorm bij de eind gebruiker af te leveren. De timeout voor het renderen is hier 5 seconden, anders sturen we toch de oude tile mee. De expire tijd voor de tiles die niet bestaan is ook twee minuten, en de expire tijd voor alle andere tiles is een uur.

Bij live kun je er dus vanuit gaan dat je browser altijd even checkt of de tiles toch niet zijn veranderd. We hebben de optie must-revalidate namelijk ook aangezet.

Nieuwe tile code op productie

dinsdag, september 7th, 2010

Na flink wat gepruts en C code gaan we weer eens wat innovatie naar productie brengen. We gaan tiles niet meer wissen als ze te oud zijn, maar alleen markeren dat ze opnieuw gerenderd moeten worden. Dat heeft als voordeel dat je in principe niet meer hoeft te wachten als we een oude tile beschikbaar hebben, en het renderen wat langzaam gaat.

Wat is er nog meer veranderd?
Allereerst gaan we naar de meest recente versie van Cherokee, hier hebben we een extra module aan toegevoegd met de veel zeggende naam rule_filetime. Deze module kan uitlezen hoe oud of hoe nieuw een bestand is en wanneer deze voor het laatst is gewijzigd. Voorheen stuurde we je vanuit handler_tile na een render request terug naar waar je vandaan kwam. Je kreeg of een redirect of een foutmelding bij een probleem. Nu wordt echter altijd door de webserver geprobeerd een tile bij je te krijgen. Immers: misschien hebben we nog wel een oude tile in de aanbieding!

In de nieuwe vorm kunnen we ook niet meer ‘serveren’ als we een bestand hebben, en renderen als het bestand toch aan een reguliere expressie voldoet. We controleren nu eerst of het bestand aan de reguliere expressie voldoet en het bestand mogelijk ‘te oud is’ of het bestand niet bestaat. In die twee gevallen wordt de aanvraag doorgestuurd naar renderd. In alle andere gevallen zal het bestand ‘gewoon’ richting de ‘standaard’ regel vallen die niets meer doet dan een bestandje serveren (of een 404 sturen natuurlijk!)

Cherokee-admin rule management

Wanneer gaan we echt over?
Binnen de webserver draaien meer domeinen, en we hebben wat listigs aan gepast in Cherokee om het voor elkaar te krijgen dat we zonder busy waiting toch kunnen wachten op een mogelijk vertraagde render request. Deze aanpassing laten we eerst even controleren door Alvaro, de hoofd-ontwikkelaar van Cherokee.

En nu verder?
Omdat we nu tiles bewaren zal onze gesponsorde productie VM misschien wat voller worden. Maar aan de andere kant zouden we ook op de stille momenten wat tiles kunnen gaan renderen in de achtergrond. Of dat nuttig weten weinig mensen, want we updaten onze database nogsteeds 1x per minuut.

De sneakpreview?
Omdat we momenteel nog tiles wissen is het niet echt vergelijkingsmateriaal maar je kunt de test omgeving bekijken op: http://tile.openstreetmap.nl:8000/

Update: sinds vannacht zijn we over šŸ™‚