[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