[Dutch] Dutch Verzamelmail, Volume 52, Nummer 5
Edward Mac Gillavry
emacgillavry op hotmail.com
Wo Okt 7 00:39:54 PDT 2015
Even geleden, maar bleef knagen:
OGC-services aan de praat krijgen met de nieuwste versies van:
- Leaflet.js (0.7.5)
- Proj4.js (2.3.10)
Bart heeft een versie obv een oudere Leaflet en Proj http://bartvde.github.io/PDOK-Leaflet/. Het is nu gelukt om TMS en WFS in RD te combineren met een aangepaste versie van "proj4leaflet.js". Deze is nu te vinden op:
https://github.com/emacgillavry/Proj4Leaflet/tree/master/src
Ontvang graag input van anderen:
- werkt het voor jullie?
- kan het eleganter?
- breekt dit andere projecties?
Dan kan er pull-request naar Kartena, zodat iedereen Leaflet kan gebruiken icm OGC-services in RD.
Groet,
Edward
> From: ron op rwgc.nl
> Date: Wed, 15 Apr 2015 21:51:31 +0200
> To: dutch op lists.osgeo.org
> Subject: Re: [Dutch] Dutch Verzamelmail, Volume 52, Nummer 5
>
> Hallo Gertjan, Edward en Steven,
>
> Bedankt voor de hulp. Het lek is wel boven geloof ik als je maar de juiste versies gebruikt en de beschreven patch. Ik ga dat binnenkort proberen.
>
> Groeten,
> Ron
>
> > Op 15 apr. 2015 om 21:11 heeft dutch-request op lists.osgeo.org het volgende geschreven:
> >
> > Stuur Dutch maillijst aanmeldingen naar
> > dutch op lists.osgeo.org
> >
> > Om u aan of af te melden via het web, bezoek
> > http://lists.osgeo.org/mailman/listinfo/dutch
> > of stuur een e-mail bericht met als onderwerp of tekst het woord
> > 'help' naar
> > dutch-request op lists.osgeo.org
> >
> > U kunt de persoon die de lijst beheert bereiken op
> > dutch-owner op lists.osgeo.org
> >
> > Als u berichten beantwoordt, gelieve meer specifieke informatie in de
> > onderwerp-regel op te nemen dan alleen maar "Re: Inhoud van Dutch
> > verzamelmail..."
> >
> >
> > Onderwerpen van vandaag:
> >
> > 1. Re: Leaflet tile URL probleem (Edward Mac Gillavry)
> >
> >
> > ----------------------------------------------------------------------
> >
> > Message: 1
> > Date: Wed, 15 Apr 2015 21:06:40 +0200
> > From: Edward Mac Gillavry <emacgillavry op hotmail.com>
> > To: "Steven M. Ottens" <steven op minst.net>, "dutch op lists.osgeo.org"
> > <dutch op lists.osgeo.org>
> > Subject: Re: [Dutch] Leaflet tile URL probleem
> > Message-ID: <DUB115-W706633F46BE8162CFB0D68D7E50 op phx.gbl>
> > Content-Type: text/plain; charset="iso-8859-1"
> >
> > Dankjewel voor je reactie! Inderdaad de bbox teruggezet naar de
> > coördinaten die Bart had opgegeven. Vervolgens heb ik de ene deling
> > omgezet in een vermenigvuldiging. Vervolgens kreeg ik de juiste paden,
> > zonder afrondingsfouten! Daarna een upgrade geprobeerd naar de nieuwste versie van de Proj4Leaflet geprobeerd samen met een verse download van proj4js. Dat bleek een brug te ver voor nu. Kortom: voorbeeld van Bart nemen en zoals Steven aangeeft de deling in een vermenigvuldiging veranderen werkt!
> >
> > Date: Wed, 15 Apr 2015 10:40:08 +0200
> > From: steven op minst.net
> > To: dutch op lists.osgeo.org
> > Subject: Re: [Dutch] Leaflet tile URL probleem
> >
> >
> >
> >
> >
> >
> > Oh sorry, ik had de mail niet helemaal
> > goed gelezen, het is niet het probleem dat op niveau 13 in ene de
> > verkeerde tegels worden gevraagd, het is een afrondingsprobleem.
> >
> >
> >
> > Ik haal met leaflet gewoon tegeltjes op niveau 14:
> >
> > http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/14/7571/8636.jpeg
> >
> >
> >
> > Leaflet heeft een probleem met afronden (of eigenlijk browsers
> > hebben een probleem met afronden ze onthouden maar n cijfers
> > achter de komma) Leaflet berekent alles in WGS84, of in ieder
> > geval alles wat niet spherical mercator is, en dan krijg je last
> > van de afrondingsbugs van browsers: 21 cm in Nederland is
> > 0.000zoveel graden in WGS84: veel relevante cijfers achter de
> > komma.
> >
> >
> >
> > Daarnaast gaat Leaflet uit van het OSM tileschema en TMS is
> > precies omgekeerd dus er is ergens een 'max - tegel' functie die
> > zorgt dat als een tegeltje precies op de de boundingbox valt hij
> > bij de verkeerde rij/kolom wordt getoond, vandaar dat Bart met
> > -285401.92,22598.08,595401.9199999999,903401.9199999999 is
> > gekomen, dan val je precies niet op het randje.
> >
> >
> >
> > Ik heb mijn werkende Leaflet versie hier gezet:
> > http://research.geodan.nl/sites/pico-pm/#14/52.3554/4.8997
> >
> > De luchtfoto komt van PDOK en je kan zien dat die werkt. Ik
> > gebruik een iets oudere versie van Proj4Leaflet met mijn eigen
> > patch, dus misschien dat daar het verschil zit?
> >
> >
> >
> > groet,
> >
> > Steven
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > On 15/04/15 09:59, Steven M. Ottens wrote:
> >
> >
> >
> >
> > Hoi Allemaal,
> >
> >
> >
> > Ik ben er ook een keer tegenaan gelopen en de versie van
> > Proj4Leaflet die ik gebruikte had een bug in de functie
> > _calculateSizes() De nieuwste versie van proj4leaflet lijkt de
> > bug niet te hebben, maar die heb ik verder niet getest.
> >
> >
> >
> >
> >
> > Origineel wordt de grootte van de projectbounds horizontaal
> > gedeeld door de schaal (bold) en verticaal vermenigvuldigd met
> > de schaal (italic):
> >
> >
> >
> > _calculateSizes: function() {
> >
> > var sizes = [],
> >
> > crsBounds = this.projectedBounds,
> >
> > projectedTileSize,
> >
> > upperY,
> >
> > i;
> >
> > for (i = this._scales.length - 1; i >= 0; i--) {
> >
> > if (this._scales[i]) {
> >
> > projectedTileSize = this.options.tileSize /
> > this._scales[i];
> >
> > upperY = crsBounds[1] +
> > Math.ceil((crsBounds[3] - crsBounds[1]) /
> >
> > projectedTileSize) *
> > projectedTileSize;
> >
> > sizes[i] = L.point((crsBounds[2] -
> > crsBounds[0]) / this._scales[i],
> >
> > (upperY - crsBounds[1]) *
> > this._scales[i]);
> >
> > }
> >
> > }
> >
> >
> >
> > return sizes;
> >
> > },
> >
> >
> >
> > Correct is beide vermenigvuldigen met de schaal:
> >
> > _calculateSizes: function() {
> >
> > var sizes = [],
> >
> > crsBounds = this.projectedBounds,
> >
> > projectedTileSize,
> >
> > upperY,
> >
> > i;
> >
> > for (i = this._scales.length - 1; i >= 0; i--) {
> >
> > if (this._scales[i]) {
> >
> > projectedTileSize = this.options.tileSize /
> > this._scales[i];
> >
> > upperY = crsBounds[1] +
> > Math.ceil((crsBounds[3] - crsBounds[1]) /
> >
> > projectedTileSize) *
> > projectedTileSize;
> >
> > sizes[i] = L.point((crsBounds[2] -
> > crsBounds[0]) * this._scales[i],
> >
> > (upperY - crsBounds[1]) *
> > this._scales[i]);
> >
> > }
> >
> > }
> >
> >
> >
> > return sizes;
> >
> > },
> >
> >
> >
> >
> >
> >
> >
> > On 14/04/15 22:44, Edward Mac Gillavry wrote:
> >
> >
> >
> >
> > Zet ik trouwens de maxZoom op 16 voor de
> > referentiekaartlaag, dan krijg ik ook fracties in de URL's
> > naar bijvoorbeeld de BRT-Achtergrondkaart op zoomniveaus 15 en
> > 16. Het is dus niet specifiek voor de luchtfoto's maar wel op
> > een ander zoomniveau. Hopelijk sluiten we zo steeds meer uit.
> >
> >
> >
> > Groet,
> >
> >
> >
> > Edward
> >
> >
> >
> >
> >
> >
> > From: emacgillavry op hotmail.com
> >
> > To: ron op rwgc.nl;
> > dutch op lists.osgeo.org
> >
> > Date: Tue, 14 Apr 2015 22:30:51 +0200
> >
> > Subject: Re: [Dutch] Leaflet tile URL probleem
> >
> >
> >
> >
> > Ha Ron,
> >
> >
> >
> > Nieuwsgierig geworden heb ik even een poging gewaagd.
> > Stuitte op dezelfde issues en constateerde, dat ik normaal
> > gesproken een andere bbox gebruik voor het tile grid,
> > namelijk
> >
> >
> >
> > -285401.92,22598.08,595401.91,903401.92 (genoemd in de
> > Geonovum tiling richtlijn [1], pagina 6)
> >
> >
> >
> > ipv
> >
> >
> >
> > -285401.92,22598.08,595401.9199999999,903401.9199999999
> >
> >
> >
> > Dit maakte echter geen verschil. Ook zag ik, dat de
> > resolutions array nog extra entries nodig heeft voor de
> > diepste zoomniveaus:
> >
> >
> >
> > resolutions: [3440.640, 1720.320, 860.160, 430.080,
> > 215.040, 107.520, 53.760, 26.880, 13.440, 6.720, 3.360,
> > 1.680, 0.840, 0.420, 0.21, 0.105, 0.0575]
> >
> >
> >
> > (genoemd in de Geonovum tiling richtlijn [1], in de tabel
> > op pagina 13)
> >
> >
> >
> > Dit maakte echter nog steeds geen verschil ;-(. Toen keek
> > ik ook nog even naar de PDOK-Kaartwizard [2]. Ook hier
> > gebeurt het, dat je bij het gebruik van de lufo op de
> > diepste zoomniveaus fracties krijgt in de URL's die de
> > tegels ophalen... Kortom: het lijkt niet een specifiek
> > Leaflet issue te zijn. Maar waar ligt het dan wel aan?
> >
> >
> >
> > Groetjes,
> >
> >
> >
> > Edward
> >
> >
> >
> > [1]
> > http://www.geonovum.nl/sites/default/files/nederlandse_richtlijn_tiling_-_versie_1.1.pdf
> >
> > [2] http://kaart.pdok.nl/
> >
> >
> >
> >
> > From: ron op rwgc.nl
> >
> > Date: Tue, 14 Apr 2015 20:55:38 +0200
> >
> > To: dutch op lists.osgeo.org
> >
> > Subject: [Dutch] Leaflet tile URL probleem
> >
> >
> >
> > Hallo OSGeo.nl-ers,
> >
> >
> >
> > Bij het maken van een
> > heel basic Leaflet kaart loop ik tegen een probleem
> > aan met de tile URL en hopelijk weet iemand raad.
> >
> >
> >
> > Ik heb het voorbeeld met de PDOK BRT TMS in Leaflet
> > die door Bart van den Eijnden is gemaakt genomen als
> > basis (zie https://github.com/bartvde/PDOK-Leaflet).
> >
> >
> >
> > Daar heb ik de open luchtfoto TMS aan toegevoegd. Dat
> > werkt prima maar bij zoom level 12 en hoger gaat het
> > mis. Dan treedt er een afrondingsfout op in de tile
> > URL die er voor zorgt dat de luchtfoto op die levels
> > niet getoond wordt.
> >
> >
> >
> > Leaflet vraagt dan:
> >
> > http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402.0000000000005/2602.jpeg
> >
> > en dat levert niets op want de gewenste tile is:
> >
> > http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402/2602.jpeg
> >
> >
> >
> > Het vreemde is ook dat dit niet optreedt bij de BRT
> > service.
> >
> >
> >
> > Ik zou zeggen, een simpele round functie ergens
> > volstaat maar waar?
> >
> >
> >
> > NB dit is de config in script.js :
> >
> >
> >
> > var RD = new L.Proj.CRS.TMS(
> >
> > 'EPSG:28992',
> >
> > '+proj=sterea +lat_0=52.15616055555555
> > +lon_0=5.38763888888889
> >
> > +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel
> > +units=m
> >
> > +towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812
> >
> > +no_defs',
> >
> >
> > [-285401.92,22598.08,595401.9199999999,903401.9199999999],
> > {
> >
> > resolutions: [3440.640, 1720.320, 860.160,
> > 430.080, 215.040,
> >
> > 107.520, 53.760, 26.880, 13.440, 6.720, 3.360, 1.680,
> > 0.840, 0.420]
> >
> > });
> >
> >
> >
> > var map = new L.Map('map', {
> >
> > continuousWorld: true,
> >
> > crs: RD,
> >
> > layers: [
> >
> > new
> >
> > L.TileLayer('http://geodata.nationaalgeoregister.nl/tms/1.0.0/brtachtergrondkaartpastel@EPSG:28992@png8/{z}/{x}/{y}.png',
> >
> > {
> >
> > tms: true,
> >
> > minZoom: 3,
> >
> > maxZoom: 14,
> >
> > attribution: 'Kaartgegevens: © <a
> >
> > href="http://www.cbs.nl">CBS</a>,
> >
> > <a
> >
> > href="http://www.kadaster.nl">Kadaster</a>,
> >
> > <a
> >
> > href="http://openstreetmap.org">OpenStreetMap</a><span
> >
> > class="printhide">-auteurs (<a
> >
> > href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>).</span>',
> >
> > continuousWorld: true,
> >
> > opacity: 0.5
> >
> > }),
> >
> > new
> >
> > L.TileLayer('http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/{z}/{x}/{y}.jpeg',
> >
> > {
> >
> > tms: true,
> >
> > minZoom: 3,
> >
> > maxZoom: 14,
> >
> > attribution: 'Kaartgegevens: © <a
> >
> > href="http://www.kadaster.nl">Kadaster</a>.</span>',
> >
> > continuousWorld: false,
> >
> > opacity: 0.5,
> >
> > maxNativeZoom: 14 // The map will use zoom
> > level 14 (max
> >
> > luchtfoto zoom level) tiles for all zoom levels beyond
> > this level
> >
> > })
> >
> > ],
> >
> > //center: new L.LatLng(52, 5.3),
> >
> > center: new L.LatLng(53.223606, 6.532480),
> >
> > zoom: 9,
> >
> > minZoom: 3,
> >
> > maxZoom: 14,
> >
> > });
> >
> > // test RD coordinates
> >
> > map.on('click', function(e) {
> >
> > if (window.console) {
> >
> > var point = RD.projection.project(e.latlng);
> >
> > console.log("RD X: " + point.x + ", Y: " +
> > point.y);
> >
> > }
> >
> > });
> >
> >
> >
> > // functie om huidig zoom level in het kaartbeeld te
> > tonen
> >
> > map.on('zoomend', function(){
> >
> > document.getElementById('zoom-level').innerHTML =
> > 'Zoom Level: ' +
> >
> > map.getZoom();
> >
> > });
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > Bedankt en groeten,
> >
> > Ron Wardenier
> >
> >
> > _______________________________________________ Dutch
> > mailing list Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> >
> >
> >
> > _______________________________________________ Dutch
> > mailing list Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Dutch mailing list
> > Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> >
> >
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Dutch mailing list
> > Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> >
> >
> >
> >
> >
> >
> > _______________________________________________
> > Dutch mailing list
> > Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> > ------------- volgend deel ------------
> > Een HTML-bijlage is gescrubt...
> > URL: <http://lists.osgeo.org/pipermail/dutch/attachments/20150415/10fd659d/attachment.html>
> >
> > ------------------------------
> >
> > _______________________________________________
> > Dutch mailing list
> > Dutch op lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/dutch
> >
> > Eind van Dutch Verzamelmail, Volume 52, Nummer 5
> > ************************************************
> _______________________________________________
> Dutch mailing list
> Dutch op lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/dutch
------------- volgend deel ------------
Een HTML-bijlage is gescrubt...
URL: <http://lists.osgeo.org/pipermail/dutch/attachments/20151007/0b5b8543/attachment-0001.html>
More information about the Dutch
mailing list