[Dutch] Dutch Verzamelmail, Volume 52, Nummer 5
Ron Wardenier GeoConsult
ron op rwgc.nl
Wo Apr 15 12:51:31 PDT 2015
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
> ************************************************
Meer informatie over de Dutch
maillijst