Re: [OSM-talk-nl] OpenStreetMap WMS server

2007-11-06 Berichten over hetzelfde onderwerp Richard Duivenvoorde

Hoi Milo,
sorry dat ik zo laat reageer, maar is het niet handig om TileCache 
(http://www.tilecache.org/) op je server te installeren? Het steeds 
aanroepen van Mapserver vergt echt vrij veel processorkracht van je 
server (het steeds opnieuw renderen is best zwaar). Probeer maar eens 
met een man of twintig tegelijk je kaartje te verschuiven (pannen).

Met tilecache tussen je webclient en de server kun je zo 'gaandeweg' de 
tiles(cache) opbouwen. Je hoeft niet persee te 'pre-renderen', maar het 
kan wel. Je kunt tilecache vrij eenvoudig naar mapserver toe 
configureren. Van elk request wordt dan gekeken of er al een bestaande 
tile is, if so: dan wordt die uitgeserveerd. En anders wordt de url 
doorgegeven aan mapserver die dan de tile genereert (op basis van je 
huidige mapfile) en opslaat voor toekomstig gebruik.

Een ander voordeel wat ik ook vaak noem is het feit dat mensen door 
googlemaps wat verwend zijn geraakt mbt response tijden, de 'tiles' 
vliegen je echt binnen luttele centiseconden (kan dat? (microseconde 
lijkt me wat overdreven...) om de oren. Met tiles is het een beetje 
'googlemaps-like'.

Tilecache is een setje python files die je met een configfile 
configureert. Ik heb het zelf al voor een paar projecten ingezet: vaak 
de baselayers als tiles, en eventuele dynamische datalagen erbovenop WEL 
als realtime gerenderde mapserver images.

Ok, vergeet dit verder maar als je nooit performance problemen hebt, een 
server een beetje aan het werk houden is ook wel eens leuk ;-)

Groet Richard


Milo van der Linden wrote:
 Leuk om te zien dat jullie hier ook actief mee bezig zijn!
 
 
 Als je i.p.v. een standaard openLayer layer deze gebruikt:
 new OpenLayers.Layer.WMS.Untiled
 
 Dan behandelt ie de WMS als één plaatje wat de snelheid met een factor 9 
 verhoogt. Waarom? Als je een tiled server gebruikt wordt mapserver voor 
 elke afzonderlijke tile aangeroepen. Per tile zal mapserver dan een 
 compleet plaatje opbouwen. Dit is in het geval de rendering live 
 plaatsvindt niet efficient. Wél bij pre-rendered tiles!
 
 Om een voorbeeld te bekijken van het javascript voor een werkende RD 
 koppeling kun je even spieken op:
 
 http://www.mapserv.nl/init.js
 
 Ook is mijn WMS server gepromoot naar producte, ik zie dat je de oude 
 URL nog gebruikt. De nieuwe is:
 
 http://www.mapserv.nl/cgi-bin/mapserv.exe?map=E:\\mapconfig\\osm.mapSRS=EPSG:28992
 
 Ja, deze goochem heeft www.mapserv.nl in gebruik genomen. ;-)
 
 Je ziet dat ik naast dat ik de EPSG in de init.js definieer ook nog aan mijn 
 mapserver vertel dat ie wel in EPSG:28992 moet aanbieden. Anders krijg je een 
 verwrongen kaart.
 
 Mijn eigen OpenLayers voorbeeld dat gebruik maakt van bovengenoemde init.js 
 staat op http://www.mapserv.nl
 
 
 Happy hunting!
 
 P.S. beetje reclame voor mijzelf, mocht je behoefte hebben aan WMS hosting 
 (het beschikbaar stellen van eigen, niet OSM kaart-data via Mapserver) dan 
 kun je bij mij terecht voor aantrekkelijke hosting fees. Uiteraard krijg je 
 dan localhost access naar de OpenStreetMap/AND kaart geheel kostenloos tot je 
 beschikking!
 
 
 
 
 
 
 Richard Duivenvoorde schreef:
 Hoi,
 Je moet OpenLayers even vertellen dat je de kaart in 28992 wilt:
 als je bijvoorbeeld op deze manier een map definieert:

 map = new OpenLayers.Map('map',  {
  'projection':'EPSG:28992',
  'units':'m',
  'maxExtent':new OpenLayers.Bounds(-2,30,30,65),
  'resolutions':[1, 2.5, 5, 10, 50, 100, 175, 256, 512],
  });

 layer = new OpenLayers.Layer.WMS.Untiled( Milo, 
 http://82.176.214.209/cgi-bin/mapserv.exe?map=/ms4w/apps/mappingworlds/service/ANDNL.mapversion=1.1.1service=WMS;,
  {layers: 
 'woonkern,Industrie,Recreatie,Industrie,Parken,Water,bos,Spoorwegen,Wegen,Stations,begraafplaats',
  
 'FORMAT':'png', 'transparent':'false'} );

 map.addLayer(layer);
 map.zoomToMaxExtent();

 Krijg je dit soort url's:
 http://82.176.214.209/cgi-bin/mapserv.exe?map=/ms4w/apps/mappingworlds/service/ANDNL.mapversion=1.1.1service=WMSLAYERS=woonkern%2CIndustrie%2CRecreatie%2CIndustrie%2CWegen%2CSpoorwegen%2CParken%2CWater%2Cbos%2CStations%2CbegraafplaatsFORMAT=pngTRANSPARENT=falseREQUEST=GetMapSTYLES=EXCEPTIONS=application%2Fvnd.ogc.se_inimageSRS=EPSG%3A28992BBOX=-272610%2C234425%2C546590%2C720825WIDTH=1600HEIGHT=950

 en ziet nl er weer ok uit. (let niet op de laag(volgorde), even gauw bij 
 elkaar gesprokkeld).

 Richard

 Peter Peterse wrote:
   
 Hallo Richard en de rest natuurlijk ook,

 Een uitgebreidere handleiding dan
 http://wiki.openstreetmap.org/index.php/Mapnik en dan het onderdeel
 osm2pgsql heb ik nog niet beschikbaar. Ben er overigens al wel mee bezig.

 Tot op heden maak ik gebruik van Milo's WMS server in combinatie met een
 WMS van Rijkswaterstaat.
 http://www.xs4all.nl/~ppeterse/openstreetmap/index.html

 Zowel Milo's WMS als Rijkswaterstaat ondersteunen volgens de XML
 EPSG:28992
 

Re: [OSM-talk-nl] OpenStreetMap WMS server

2007-11-06 Berichten over hetzelfde onderwerp Milo van der Linden

Hallo Richard,

Bedankt voor het idee!

Richard Duivenvoorde schreef:


Hoi Milo,
sorry dat ik zo laat reageer, maar is het niet handig om TileCache 
(http://www.tilecache.org/) op je server te installeren? Het steeds 
aanroepen van Mapserver vergt echt vrij veel processorkracht van je 
server (het steeds opnieuw renderen is best zwaar). Probeer maar eens 
met een man of twintig tegelijk je kaartje te verschuiven (pannen).
Net even geprobeerd, in mijn geval is dat i.d.d. niet handig. De machine 
die momenteel als mapserv host dienst doet is een W2003, IIS6.0 ASP.NET 
machine. Het installeren van tilecache op deze architectuur is nu niet 
echt dat je zegt vaak gedaan en goed gedocumenteerd, iedereen weet te 
vertellen hoe het moet met Apache, maar over IIS zijn geen topics te 
vinden. Nu geen tijd om dit verder uit te zoeken, en gelet op het hoe en 
wat van mijn mapserv machine laat ik het even zitten.


Begrijp me niet verkeerd, ik heb uiteindelijk grootse plannen, wil een 
park met mapservers opzetten die elkaar loadbalancen , specifieke 
postGres database servers aanroepen etc. maar nu nog niet.


Met tilecache tussen je webclient en de server kun je zo 'gaandeweg' 
de tiles(cache) opbouwen. Je hoeft niet persee te 'pre-renderen', maar 
het kan wel. Je kunt tilecache vrij eenvoudig naar mapserver toe 
configureren. Van elk request wordt dan gekeken of er al een bestaande 
tile is, if so: dan wordt die uitgeserveerd. En anders wordt de url 
doorgegeven aan mapserver die dan de tile genereert (op basis van je 
huidige mapfile) en opslaat voor toekomstig gebruik.
Waar checkt ie op? een md5-hash waarin ook de bestandsgrootte zit 
versleuteld? Ja, de huidige OSM kaart is in principe statisch, maar zal 
in de toekomst dynamisch worden als het aan mij ligt. Daarnaast heb ik 
nog een wereldkaart die ook statisch is, maar de klantimplementatie van 
mijn mapserver is hoog-dynamisch, klanten wijzigen via qGIS rechtstreeks 
de postGIS tabellen die dan ook direct dienen te verschijnen, gaat dit 
goed komen met tilecache? Of zou de cache dan bij iedere wijziging op 
postGIS db niveau moeten worden geleegd?


Een ander voordeel wat ik ook vaak noem is het feit dat mensen door 
googlemaps wat verwend zijn geraakt mbt response tijden, de 'tiles' 
vliegen je echt binnen luttele centiseconden (kan dat? (microseconde 
lijkt me wat overdreven...) om de oren. Met tiles is het een beetje 
'googlemaps-like'.
Tsja, ik heb laatst bij een klant een showcase gedaan vergelijk 
CartoWeb met Google Maps met Firebug aan. Klant klaagde dat zijn kaart 
traag in beeld kwam. Ik heb hem laten zien dat de kaart het probleem 
niet is, zijn eigen mapserver host elke afzonderlijke tile vele malen 
sneller dan Google (logisch, minder concurrent users). Maar duidelijk te 
zien was dat terwijl je in Google naar de kaart zit te kijken laadt 
Google vrolijk door! Soms tot wel 5Mb aan tiles die niet in beeld zijn, 
maar bij het schuiven plots wel om het hoekje duiken!


Tilecache is een setje python files die je met een configfile 
configureert. Ik heb het zelf al voor een paar projecten ingezet: vaak 
de baselayers als tiles, en eventuele dynamische datalagen erbovenop 
WEL als realtime gerenderde mapserver images.


Ok, vergeet dit verder maar als je nooit performance problemen hebt, 
een server een beetje aan het werk houden is ook wel eens leuk ;-)
Ik heb inderdaad niet zoveel performance problemen. Terwijl ik toch 
gemiddeld zo'n 3000 mapserver requests per dag verwerk. Ok, er wordt 
geen Googolistische snelheid gehaald, maar de klanten zijn tevree. En 
daar gaat het om. Hardware bijkopen kan in de toekomst als er iets van 
een ROI in beeld begint te komen.


Groet Richard


Milo van der Linden wrote:

Leuk om te zien dat jullie hier ook actief mee bezig zijn!


Als je i.p.v. een standaard openLayer layer deze gebruikt:
new OpenLayers.Layer.WMS.Untiled

Dan behandelt ie de WMS als één plaatje wat de snelheid met een 
factor 9 verhoogt. Waarom? Als je een tiled server gebruikt wordt 
mapserver voor elke afzonderlijke tile aangeroepen. Per tile zal 
mapserver dan een compleet plaatje opbouwen. Dit is in het geval de 
rendering live plaatsvindt niet efficient. Wél bij pre-rendered tiles!


Om een voorbeeld te bekijken van het javascript voor een werkende RD 
koppeling kun je even spieken op:


http://www.mapserv.nl/init.js

Ook is mijn WMS server gepromoot naar producte, ik zie dat je de oude 
URL nog gebruikt. De nieuwe is:


http://www.mapserv.nl/cgi-bin/mapserv.exe?map=E:\\mapconfig\\osm.mapSRS=EPSG:28992 



Ja, deze goochem heeft www.mapserv.nl in gebruik genomen. ;-)

Je ziet dat ik naast dat ik de EPSG in de init.js definieer ook nog 
aan mijn mapserver vertel dat ie wel in EPSG:28992 moet aanbieden. 
Anders krijg je een verwrongen kaart.


Mijn eigen OpenLayers voorbeeld dat gebruik maakt van bovengenoemde 
init.js staat op http://www.mapserv.nl



Happy hunting!

P.S. beetje reclame voor mijzelf, mocht je behoefte hebben aan WMS 
hosting 

Re: [OSM-talk-nl] OpenStreetMap WMS server

2007-10-29 Berichten over hetzelfde onderwerp Richard Duivenvoorde

Hoi Peter,

ik ben zeker van plan om dit ook te gaan proberen op korte termijn. Heb 
je ergens een korte handleiding staan?

Wat betreft 'plat' lijken, en projecties, ik ben door schade en schande 
wat wijzer geworden: wij zijn 'gewend' aan de RD (rijksdriehoekstelsel) 
projectie. Die heeft als epsg code epsg:28992. Op wereld schaal wordt 
vaak WGS-84 gebruikt (met epsg code epgsg:4326). Nederland ziet er een 
beetje verwrongen uit dan.
Veel mappingservices die tegenwoordig worden gebruikt (googlemaps, 
virtual earth enz enz) gebruiken echter een 'nieuwe' projectie. Je kutn 
dan de hele wereld afbeelden, en nederland ziet er dan toch 
'fatsoenlijk' uit. Hiervan waren een tijdlang de juiste parameters niet 
duidelijk. Intussen zijn die voor de veel gebruikte projectie lib 'proj' 
wel gevonden (zie: 
http://www.spatialreference.org/ref/user/google-projection/) en heeft de 
projectie de code epsg:900913 (lees 'google') gekregen.
Dus als je je openstreets mapserver 'even' wilt combineren met google, 
kun je twee dingen doen:

-1-
ofwel je laat de mapserver je data bij het genereren van je kaart-images 
je data on-the-fly omzetten. Dat doet hij als je in je mapfile hebt 
aangegeven dat de mapserver ook epsg:900913 uitserveert, en je dus een 
aanroep doet voor een epsg:900913 kaartje.
Mapserver kent echter standaard niet de epsg:900913 projectie. Daarvoor 
moet je dan even in je proj-file (voor ms4w bv C:\ms4w\proj\nad\epsg ) 
de volgende regel toevoegen:

# http://www.nabble.com/Google-Projection:-EPSG:900913-t4559806.html
# Google Mercator projection epsg:900913
# Used in combination with GoogleMercator layer type in OpenLayers
900913 +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 
+x_0=0.0 +y_0=0 +k=1.0 +units=m [EMAIL PROTECTED] +no_defs 

-2-
ofwel je laat postgis 'even' al je data in een keer omzetten. Dat kan 
door postgis te laten weten hoe de 900913 in elkaar zit: voeg
+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 
+k=1.0 +units=m [EMAIL PROTECTED] +no_defs 
toe aan je 'spatial_ref_sys' tabel.
en dan een query als:
SELECT AddGeometryColumn('public', 'tabelnaam', 'wkb_geometry_900913', 
900913, 'POINT', 2)
en
UPDATE tabelnaam SET wkb_geometry_900913 = Transform(wkb_geometry, 900913)


En om even snel een goed beeld te krijgen:
- gebruik een desktop gispakket die kan babbelen met mapservers, bv qgis 
(www.qgis.org) of udig (http://udig.refractions.net/)
- gebruik openlayers (www.openlayers.org) en firefox en de firebug 
plugin om alle url's te bekijken

Ok, ik hoop dat iemand hier iets aan heeft.
Groet Richard

Peter Peterse wrote:
 Hallo,
 
 Inmiddels is het gelukt om een PostGIS database met de OSM data te vullen.
 
 Heeft iemand al een mapfile voor mapserv gemaakt?
 
 Milo waarom ziet jouw WMS server er zo plat uit? Als ik deze vergelijk
 met de openstreetmap dan lijkt de jouwe plat gedrukt te worden.
 
 Alvast bedankt.
 
 Peter
 
 
 ___
 Talk-nl mailing list
 Talk-nl@openstreetmap.org
 http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl
 
 


___
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl


Re: [OSM-talk-nl] OpenStreetMap WMS server

2007-10-29 Berichten over hetzelfde onderwerp Peter Peterse
Hallo Richard en de rest natuurlijk ook,

Een uitgebreidere handleiding dan
http://wiki.openstreetmap.org/index.php/Mapnik en dan het onderdeel
osm2pgsql heb ik nog niet beschikbaar. Ben er overigens al wel mee bezig.

Tot op heden maak ik gebruik van Milo's WMS server in combinatie met een
WMS van Rijkswaterstaat.
http://www.xs4all.nl/~ppeterse/openstreetmap/index.html

Zowel Milo's WMS als Rijkswaterstaat ondersteunen volgens de XML
EPSG:28992
http://www.mapserv.nl/cgi-bin/mapserv.exe?map=E:\mapconfig\osm.mapVERSION=1.1.1REQUEST=GetCapabilitiesSERVICE=WMS
http://www.rijkswaterstaat.nl/services/geoservices/basispakket/nationaalwegenbestand?VERSION=1.1.1REQUEST=GetCapabilitiesSERVICE=WMS

Maar als ik de eigenschappen van een plaatjes vanuit mijn voorbeeld
OpenLayer pagina opvraag staat er: SRS=EPSG%3A4326

Met als resultaat een plat samen gedrukt Nederland.

Alvast bedankt.

Peter.


___
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl


[OSM-talk-nl] OpenStreetMap WMS server

2007-10-25 Berichten over hetzelfde onderwerp Peter Peterse
Hallo,

Inmiddels is het gelukt om een PostGIS database met de OSM data te vullen.

Heeft iemand al een mapfile voor mapserv gemaakt?

Milo waarom ziet jouw WMS server er zo plat uit? Als ik deze vergelijk
met de openstreetmap dan lijkt de jouwe plat gedrukt te worden.

Alvast bedankt.

Peter


___
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/talk-nl