<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">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.<br>
<br>
Ik haal met leaflet gewoon tegeltjes op niveau 14:<br>
<a class="moz-txt-link-freetext" href="http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/14/7571/8636.jpeg">http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/14/7571/8636.jpeg</a><br>
<br>
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.<br>
<br>
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.<br>
<br>
Ik heb mijn werkende Leaflet versie hier gezet:
<a class="moz-txt-link-freetext" href="http://research.geodan.nl/sites/pico-pm/#14/52.3554/4.8997">http://research.geodan.nl/sites/pico-pm/#14/52.3554/4.8997</a><br>
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?<br>
<br>
groet,<br>
Steven<br>
<br>
<br>
<br>
<br>
<br>
<br>
On 15/04/15 09:59, Steven M. Ottens wrote:<br>
</div>
<blockquote cite="mid:552E1A7D.9040004@minst.net" type="cite">
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
<div class="moz-cite-prefix">Hoi Allemaal,<br>
<br>
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.<br>
<br>
<br>
Origineel wordt de grootte van de projectbounds horizontaal
gedeeld door de schaal (bold) en verticaal vermenigvuldigd met
de schaal (italic):<br>
<br>
_calculateSizes: function() {<br>
var sizes = [],<br>
crsBounds = this.projectedBounds,<br>
projectedTileSize,<br>
upperY,<br>
i;<br>
for (i = this._scales.length - 1; i >= 0; i--) {<br>
if (this._scales[i]) {<br>
projectedTileSize = this.options.tileSize /
this._scales[i];<br>
upperY = crsBounds[1] +
Math.ceil((crsBounds[3] - crsBounds[1]) /<br>
projectedTileSize) *
projectedTileSize;<br>
sizes[i] = L.point(<b>(crsBounds[2] -
crsBounds[0]) / this._scales[i]</b>,<br>
<i> (upperY - crsBounds[1]) *
this._scales[i])</i>;<br>
}<br>
}<br>
<br>
return sizes;<br>
},<br>
<br>
Correct is beide vermenigvuldigen met de schaal:<br>
_calculateSizes: function() {<br>
var sizes = [],<br>
crsBounds = this.projectedBounds,<br>
projectedTileSize,<br>
upperY,<br>
i;<br>
for (i = this._scales.length - 1; i >= 0; i--) {<br>
if (this._scales[i]) {<br>
projectedTileSize = this.options.tileSize /
this._scales[i];<br>
upperY = crsBounds[1] +
Math.ceil((crsBounds[3] - crsBounds[1]) /<br>
projectedTileSize) *
projectedTileSize;<br>
sizes[i] = L.point((crsBounds[2] -
crsBounds[0]) * this._scales[i],<br>
(upperY - crsBounds[1]) *
this._scales[i]);<br>
}<br>
}<br>
<br>
return sizes;<br>
},<br>
<br>
<br>
<br>
On 14/04/15 22:44, Edward Mac Gillavry wrote:<br>
</div>
<blockquote cite="mid:DUB115-W27653624231EE6CEB48DDED7E60@phx.gbl"
type="cite">
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style>
<div dir="ltr">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.<br>
<br>
Groet,<br>
<br>
Edward<br>
<br>
<br>
<div>
<hr id="stopSpelling">From: <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:emacgillavry@hotmail.com">emacgillavry@hotmail.com</a><br>
To: <a moz-do-not-send="true"
class="moz-txt-link-abbreviated" href="mailto:ron@rwgc.nl">ron@rwgc.nl</a>;
<a moz-do-not-send="true" class="moz-txt-link-abbreviated"
href="mailto:dutch@lists.osgeo.org">dutch@lists.osgeo.org</a><br>
Date: Tue, 14 Apr 2015 22:30:51 +0200<br>
Subject: Re: [Dutch] Leaflet tile URL probleem<br>
<br>
<style><!--
.ExternalClass .ecxhmmessage P {
padding:0px;
}
.ExternalClass body.ecxhmmessage {
font-size:12pt;
font-family:Calibri;
}
--></style>
<div dir="ltr">Ha Ron,<br>
<br>
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 <br>
<br>
-285401.92,22598.08,595401.91,903401.92 (genoemd in de
Geonovum tiling richtlijn [1], pagina 6)<br>
<br>
ipv<br>
<br>
-285401.92,22598.08,595401.9199999999,903401.9199999999<br>
<br>
Dit maakte echter geen verschil. Ook zag ik, dat de
resolutions array nog extra entries nodig heeft voor de
diepste zoomniveaus:<br>
<br>
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]<br>
<br>
(genoemd in de Geonovum tiling richtlijn [1], in de tabel
op pagina 13)<br>
<br>
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?<br>
<br>
Groetjes,<br>
<br>
Edward<br>
<br>
[1]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.geonovum.nl/sites/default/files/nederlandse_richtlijn_tiling_-_versie_1.1.pdf">http://www.geonovum.nl/sites/default/files/nederlandse_richtlijn_tiling_-_versie_1.1.pdf</a><br>
[2] <a moz-do-not-send="true"
class="moz-txt-link-freetext"
href="http://kaart.pdok.nl/">http://kaart.pdok.nl/</a><br>
<br>
<div>
<hr id="ecxstopSpelling">From: <a
moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:ron@rwgc.nl">ron@rwgc.nl</a><br>
Date: Tue, 14 Apr 2015 20:55:38 +0200<br>
To: <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:dutch@lists.osgeo.org">dutch@lists.osgeo.org</a><br>
Subject: [Dutch] Leaflet tile URL probleem<br>
<br>
<span style="font-family:ArialMT;">Hallo </span><a
moz-do-not-send="true" href="http://OSGeo.nl"
style="font-family:ArialMT;" target="_blank">OSGeo.nl</a><span
style="font-family:ArialMT;">-ers,</span>
<div style="font-family:ArialMT;"><br>
</div>
<div style="font-family:ArialMT;">Bij het maken van een
heel basic Leaflet kaart loop ik tegen een probleem
aan met de tile URL en hopelijk weet iemand raad.<br>
<br>
Ik heb het voorbeeld met de PDOK BRT TMS in Leaflet
die door Bart van den Eijnden is gemaakt genomen als
basis (zie <a moz-do-not-send="true"
href="https://github.com/bartvde/PDOK-Leaflet"
target="_blank">https://github.com/bartvde/PDOK-Leaflet</a>).<br>
<br>
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.<br>
<br>
Leaflet vraagt dan:<br>
<a moz-do-not-send="true"
href="http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402.0000000000005/2602.jpe"
target="_blank">http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402.0000000000005/2602.jpe</a>g<br>
en dat levert niets op want de gewenste tile is:<br>
<a moz-do-not-send="true"
href="http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402/2602.jpeg"
target="_blank">http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/12/2402/2602.jpeg</a><br>
<br>
Het vreemde is ook dat dit niet optreedt bij de BRT
service.<br>
<br>
Ik zou zeggen, een simpele round functie ergens
volstaat maar waar?<br>
<br>
NB dit is de config in script.js :<br>
<br>
var RD = new L.Proj.CRS.TMS(<br>
'EPSG:28992',<br>
'+proj=sterea +lat_0=52.15616055555555
+lon_0=5.38763888888889<br>
+k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel
+units=m<br>
+towgs84=565.2369,50.0087,465.658,-0.406857330322398,0.350732676542563,-1.8703473836068,4.0812<br>
+no_defs',<br>
[-285401.92,22598.08,595401.9199999999,903401.9199999999],
{<br>
resolutions: [3440.640, 1720.320, 860.160,
430.080, 215.040,<br>
107.520, 53.760, 26.880, 13.440, 6.720, 3.360, 1.680,
0.840, 0.420]<br>
});<br>
<br>
var map = new L.Map('map', {<br>
continuousWorld: true,<br>
crs: RD,<br>
layers: [<br>
new<br>
L.TileLayer('<a moz-do-not-send="true"
href="http://geodata.nationaalgeoregister.nl/tms/1.0.0/brtachtergrondkaartpastel%40EPSG:28992%40png8/%7bz%7d/%7bx%7d/%7by%7d.png%27"
target="_blank">http://geodata.nationaalgeoregister.nl/tms/1.0.0/brtachtergrondkaartpastel@EPSG:28992@png8/{z}/{x}/{y}.png'</a>,<br>
{<br>
tms: true,<br>
minZoom: 3,<br>
maxZoom: 14,<br>
attribution: 'Kaartgegevens: © <a<br>
href="<a moz-do-not-send="true"
href="http://www.cbs.nl" target="_blank">http://www.cbs.nl</a>">CBS</a>,
<a<br>
href="<a moz-do-not-send="true"
href="http://www.kadaster.nl" target="_blank">http://www.kadaster.nl</a>">Kadaster</a>,
<a<br>
href="<a moz-do-not-send="true"
href="http://openstreetmap.org" target="_blank">http://openstreetmap.org</a>">OpenStreetMap</a><span<br>
class="printhide">-auteurs (<a<br>
href="<a moz-do-not-send="true"
href="http://creativecommons.org/licenses/by-sa/2.0/"
target="_blank">http://creativecommons.org/licenses/by-sa/2.0/</a>">CC-BY-SA</a>).</span>',<br>
continuousWorld: true,<br>
opacity: 0.5<br>
}),<br>
new<br>
L.TileLayer('<a moz-do-not-send="true"
href="http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/%7bz%7d/%7bx%7d/%7by%7d.jpeg%27"
target="_blank">http://geodata1.nationaalgeoregister.nl/luchtfoto/tms/1.0.0/luchtfoto/EPSG28992/{z}/{x}/{y}.jpeg'</a>,<br>
{<br>
tms: true,<br>
minZoom: 3,<br>
maxZoom: 14,<br>
attribution: 'Kaartgegevens: © <a<br>
href="<a moz-do-not-send="true"
href="http://www.kadaster.nl" target="_blank">http://www.kadaster.nl</a>">Kadaster</a>.</span>',<br>
continuousWorld: false,<br>
opacity: 0.5,<br>
maxNativeZoom: 14 // The map will use zoom
level 14 (max<br>
luchtfoto zoom level) tiles for all zoom levels beyond
this level<br>
})<br>
],<br>
//center: new L.LatLng(52, 5.3),<br>
center: new L.LatLng(53.223606, 6.532480),<br>
zoom: 9,<br>
minZoom: 3,<br>
maxZoom: 14,<br>
});<br>
// test RD coordinates<br>
map.on('click', function(e) {<br>
if (window.console) {<br>
var point = RD.projection.project(e.latlng);<br>
console.log("RD X: " + point.x + ", Y: " +
point.y);<br>
}<br>
});<br>
<br>
// functie om huidig zoom level in het kaartbeeld te
tonen<br>
map.on('zoomend', function(){<br>
document.getElementById('zoom-level').innerHTML =
'Zoom Level: ' +<br>
map.getZoom();<br>
});<br>
<br>
<br>
<br>
<br>
Bedankt en groeten,<br>
Ron Wardenier</div>
<br>
_______________________________________________ Dutch
mailing list <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:Dutch@lists.osgeo.org">Dutch@lists.osgeo.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://lists.osgeo.org/mailman/listinfo/dutch">http://lists.osgeo.org/mailman/listinfo/dutch</a></div>
</div>
<br>
_______________________________________________ Dutch
mailing list <a moz-do-not-send="true"
class="moz-txt-link-abbreviated"
href="mailto:Dutch@lists.osgeo.org">Dutch@lists.osgeo.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://lists.osgeo.org/mailman/listinfo/dutch">http://lists.osgeo.org/mailman/listinfo/dutch</a></div>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Dutch mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Dutch@lists.osgeo.org">Dutch@lists.osgeo.org</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/dutch">http://lists.osgeo.org/mailman/listinfo/dutch</a></pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Dutch mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Dutch@lists.osgeo.org">Dutch@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="http://lists.osgeo.org/mailman/listinfo/dutch">http://lists.osgeo.org/mailman/listinfo/dutch</a></pre>
</blockquote>
<br>
</body>
</html>