Hallo,

wij gebruiken in een project een nieuwekaart laag boven 900913 tiles en hebben hetzelfde probleem
Het lijkt aan de WMS van de nieuwekaart te liggen.
Onze oplossing is een verschuiving met een offset van x: 47 en y: 170
(zie codeuitsnede onderaan).

Groeten,

   Dirk

// -------------------------------------------
// Workaround om WMS met bepaalde offset te verschuiven
// -------------------------------------------
  OpenLayers.Layer.WMS.prototype.getURL =
  function (bounds) {
      bounds = this.adjustBounds(bounds);
      if (this.sphericalcorrection) {
          var y = (bounds.top+bounds.bottom)/2;
          var p = new OpenLayers.Geometry.Point(0,y);
          var WGS84 = p.transform(
              new OpenLayers.Projection("EPSG:900913"),
              new OpenLayers.Projection("EPSG:4326"));
          var x=WGS84.y;
          var dy = 4.440670387E-7*x*x*x*x*x + 9.641338494E-6*x*x*x*x -
                   3.791462848E-2*x*x*x + 1.521499548E-2*x*x + 745.0588281*x + 0.434;
          bounds.top -= dy;
          bounds.bottom -= dy;
      }
      if (this.corry) {
          bounds.top += this.corry;
          bounds.bottom += this.corry;
      }
      if (this.corrx) {
          bounds.left += this.corrx;
          bounds.right += this.corrx;
      }
                           
      var imageSize = this.getImageSize();
      var newParams = {
          'BBOX': this.encodeBBOX ?  bounds.toBBOX() : bounds.toArray(),
          'WIDTH': imageSize.w,
          'HEIGHT': imageSize.h
      };
      var requestString = this.getFullRequestString(newParams);
      return requestString;
  };

        nieuwekaartWMS1 = new OpenLayers.Layer.WMS(
      "Nieuwe Kaart 1",
      "http://webservice.nieuwekaart.nl/cgi-bin/nkn",
      { layers: 'nk_wonen,nk_werken,nk_voorziening,nk_gemengd,nk_verkeer',
        format:'png',
        transparent: 'true'},
      { isBaseLayer: false,
        singleTile: true,
        ratio: 1,
        projection: new OpenLayers.Projection("EPSG:900913"),
        corrx: 47,
        corry: 170
      });

De laatste dagen ben ik - deels uit nieuwsgierigheid, deels voor OSM én omdat ik er misschien voor m'n werk iets mee kan - aan het spelen met Geoserver en OpenLayers. Daarbij leek het me leuk de OSM kaart als baselayer te combineren met enige lagen die ik in Oracle heb en de tiles van De Nieuwe Kaart [1+2].
 
[2] http://webservice.nieuwekaart.nl/cgi-bin/nkn?service=wms&version=1.1.1&request=getCapabilities

OSM en Oracle (SRID = 90112) combineren gaat goed, maar de lagen uit De Nieuwe Kaart zijn verschoven. Wie kan mij helpen vast te stellen of dit aan mij ligt of aan de WMS service van De Nieuwe Kaart?
 
In OpenLayers heb ik een 'standaard' map gedefinieerd met projection "EPSG:900913", met een OSM laag met sphericalMercator: true. Hierop probeer ik overlays te tonen zoals:
 
 map.addLayer(new OpenLayers.Layer.WMS.Untiled("Nieuwe kaart - Gemengd",
  "http://webservice.nieuwekaart.nl/cgi-bin/nkn",
  { service: 'wms', version: '1.0.0',
   layers: 'nk_gemengd',
   format: 'image/png',
   projection: 'epsg:900913' ,
   transparent: true,
   isBaseLayer: false }
 ));
 
*) Het is mij niet duidelijk of 'projection' of 'srs' de juiste key is om het coördinatenstelsel aan te duiden.
 
De WMS claimt '900913' te ondersteunen (zie getCapabilities response [2]), maar alle geometrieën lijken circa 100m naar het noorden verschoven te zijn. Zie ik iets over het hoofd, of kan er iets mis zijn met de configuratie van de WMS server?
 
De originele data is in RD (EPSG:28992, zie [2]) en moet voor "900913" dus getransformeerd worden. Bij Martijn van Exel [3] vond ik een aanwijzing dat er wat mis zou kunnen zijn met de definitie van EPSG:28992 en dat dit best een verschuiving van 100m kan veroorzaken. Elders [4+5] kreeg ik de indruk dat OpenLayers geen WMS tiles transformeert, maar dat dit op de server moet gebeuren.
 
 
Dank, en groet,
 
J-----.
 
Jeroen Muris
_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-nl


_______________________________________________
Talk-nl mailing list
Talk-nl@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-nl

Antwoord per e-mail aan