Changeset 8584 in josm for trunk/test


Ignore:
Timestamp:
2015-07-08T20:59:09+02:00 (9 years ago)
Author:
wiktorn
Message:
  • added axis definition to ESPG projections definition, where it's not default (i.e. North/East)
  • added switchXY boolean in Projection interface
  • WMTS and WMS (1.3.0) uses now switchXY when doing requests against servers
  • better error reporting when there are problems with parsing the WMTS TileSource

Addresses: #10623

Now http://webgis.linz.at/WMTS/1.0.0/getCapabilities.xml should work.

Wallonie services still being debugged.

Location:
trunk/test
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/test/data/wmts/getCapabilities-wien.xml

    r8569 r8584  
    6060                        <ResourceURL format="image/png" template="http://webgis.linz.at/WMTS/1.0.0/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
    6161                </Layer>
    62                 <Layer>
    63                         <ows:Title>Stadtkarte</ows:Title>
    64                         <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
    65                                 <ows:LowerCorner>14.42 48.21</ows:LowerCorner>
    66                                 <ows:UpperCorner>14.24 48.38</ows:UpperCorner>
    67                         </ows:WGS84BoundingBox>
    68                         <ows:Identifier>Stadtkarte</ows:Identifier>
    69                         <Style isDefault="true">
    70                                 <ows:Identifier>normal</ows:Identifier>
    71                         </Style>
    72                         <Format>image/png</Format>
    73                         <TileMatrixSetLink>
    74                                 <TileMatrixSet>Stadtkarte_standard</TileMatrixSet> 
    75                         </TileMatrixSetLink>
    76                         <ResourceURL format="image/png" template="http://webgis.linz.at/WMTS/1.0.0/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
    77                 </Layer>
    78                 <Layer>
    79                         <ows:Title>Beschriftungen</ows:Title>
    80                         <ows:WGS84BoundingBox crs="urn:ogc:def:crs:OGC:2:84">
    81                                 <ows:LowerCorner>14.42 48.21</ows:LowerCorner>
    82                                 <ows:UpperCorner>14.24 48.38</ows:UpperCorner>
    83                         </ows:WGS84BoundingBox>
    84                         <ows:Identifier>Beschriftungen</ows:Identifier>
    85                         <Style isDefault="true">
    86                                 <ows:Identifier>normal</ows:Identifier>
    87                         </Style>
    88                         <Format>image/png</Format>
    89                         <TileMatrixSetLink>
    90                                 <TileMatrixSet>Beschriftungen_alles</TileMatrixSet>
    91                         </TileMatrixSetLink>
    92                         <ResourceURL format="image/png" template="http://webgis.linz.at/WMTS/1.0.0/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png" resourceType="tile"/>
    93                 </Layer>
    94 
    9562                <TileMatrixSet>
    9663                        <ows:Identifier>Orthofotos_standard</ows:Identifier>
  • trunk/test/data/wmts/getcapabilities-pseudo-mercator.xml

    r8568 r8584  
    5353      <ows:Identifier>EPSG:3857:0</ows:Identifier>
    5454      <ScaleDenominator>559082264.0287178</ScaleDenominator>
    55       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     55      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    5656      <TileWidth>256</TileWidth>
    5757      <TileHeight>256</TileHeight>
     
    6363      <ows:Identifier>EPSG:3857:1</ows:Identifier>
    6464      <ScaleDenominator>279541132.0143589</ScaleDenominator>
    65       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     65      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    6666      <TileWidth>256</TileWidth>
    6767      <TileHeight>256</TileHeight>
     
    7373      <ows:Identifier>EPSG:3857:2</ows:Identifier>
    7474      <ScaleDenominator>139770566.0071794</ScaleDenominator>
    75       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     75      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    7676      <TileWidth>256</TileWidth>
    7777      <TileHeight>256</TileHeight>
     
    8383      <ows:Identifier>EPSG:3857:3</ows:Identifier>
    8484      <ScaleDenominator>69885283.00358972</ScaleDenominator>
    85       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     85      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    8686      <TileWidth>256</TileWidth>
    8787      <TileHeight>256</TileHeight>
     
    9393      <ows:Identifier>EPSG:3857:4</ows:Identifier>
    9494      <ScaleDenominator>34942641.50179486</ScaleDenominator>
    95       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     95      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    9696      <TileWidth>256</TileWidth>
    9797      <TileHeight>256</TileHeight>
     
    103103      <ows:Identifier>EPSG:3857:5</ows:Identifier>
    104104      <ScaleDenominator>17471320.75089743</ScaleDenominator>
    105       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     105      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    106106      <TileWidth>256</TileWidth>
    107107      <TileHeight>256</TileHeight>
     
    113113      <ows:Identifier>EPSG:3857:6</ows:Identifier>
    114114      <ScaleDenominator>8735660.375448715</ScaleDenominator>
    115       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     115      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    116116      <TileWidth>256</TileWidth>
    117117      <TileHeight>256</TileHeight>
     
    123123      <ows:Identifier>EPSG:3857:7</ows:Identifier>
    124124      <ScaleDenominator>4367830.187724357</ScaleDenominator>
    125       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     125      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    126126      <TileWidth>256</TileWidth>
    127127      <TileHeight>256</TileHeight>
     
    133133      <ows:Identifier>EPSG:3857:8</ows:Identifier>
    134134      <ScaleDenominator>2183915.093862179</ScaleDenominator>
    135       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     135      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    136136      <TileWidth>256</TileWidth>
    137137      <TileHeight>256</TileHeight>
     
    143143      <ows:Identifier>EPSG:3857:9</ows:Identifier>
    144144      <ScaleDenominator>1091957.546931089</ScaleDenominator>
    145       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     145      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    146146      <TileWidth>256</TileWidth>
    147147      <TileHeight>256</TileHeight>
     
    153153      <ows:Identifier>EPSG:3857:10</ows:Identifier>
    154154      <ScaleDenominator>545978.7734655447</ScaleDenominator>
    155       <TopLeftCorner>20037509.917339604 -20037508.342789244</TopLeftCorner>
     155      <TopLeftCorner>-20037508.3428 20037508.3428</TopLeftCorner>
    156156      <TileWidth>256</TileWidth>
    157157      <TileHeight>256</TileHeight>
  • trunk/test/unit/org/openstreetmap/josm/data/imagery/WMTSTileSourceTest.java

    r8570 r8584  
    33
    44import static org.junit.Assert.assertEquals;
     5import static org.junit.Assert.assertTrue;
    56
    67import java.io.File;
     
    1011import org.junit.BeforeClass;
    1112import org.junit.Test;
     13import org.openstreetmap.gui.jmapviewer.TileXY;
    1214import org.openstreetmap.gui.jmapviewer.tilesources.TemplatedTMSTileSource;
    1315import org.openstreetmap.josm.JOSMFixture;
    1416import org.openstreetmap.josm.Main;
     17import org.openstreetmap.josm.data.Bounds;
    1518import org.openstreetmap.josm.data.coor.LatLon;
    1619import org.openstreetmap.josm.data.projection.Projections;
     
    6972        assertEquals("TileXMax", 5, testSource.getTileXMax(3));
    7073        assertEquals("TileYMax", 4, testSource.getTileYMax(3));
     74
    7175    }
    7276
     
    7579        Main.setProjection(Projections.getProjectionByCode("EPSG:31370"));
    7680        WMTSTileSource testSource = new WMTSTileSource(testImageryWALLONIE);
    77     }
     81        Bounds wallonieBounds = new Bounds(
     82                new LatLon(49.485372459967245, 2.840548314430268),
     83                new LatLon(50.820959517561256, 6.427849693016202)
     84                );
     85        verifyBounds(wallonieBounds, testSource, 10, 20324, 17724);
     86
     87    }
     88
     89    private void verifyBounds(Bounds bounds, WMTSTileSource testSource, int z, int x, int y) {
     90        LatLon ret = new LatLon(testSource.tileXYToLatLon(y, y, z));
     91        assertTrue(ret.toDisplayString() + " doesn't lie within: " + bounds.toString(), bounds.contains(ret));
     92    }
     93
     94
    7895
    7996    @Test
     
    83100        int zoomOffset = 10;
    84101
     102        // Linz - 11/1105/709.png
    85103        verifyMercatorTile(testSource, 0, 0, 1, zoomOffset);
     104        verifyMercatorTile(testSource, 1105, 709, 2, zoomOffset);
     105        verifyMercatorTile(testSource, 1, 1, 1, zoomOffset);
     106        verifyMercatorTile(testSource, 2, 2, 1, zoomOffset);
    86107        verifyMercatorTile(testSource, 0, 0, 2, zoomOffset);
    87108        verifyMercatorTile(testSource, 1, 1, 2, zoomOffset);
    88         for (int x = 0; x < 4; x++) {
    89             for (int y = 0; y < 4; y++) {
     109
     110
     111        LatLon ll = new LatLon(testSource.tileXYToLatLon(500,  500, 1));
     112
     113        TileXY xy = testSource.latLonToTileXY(new LatLon(48.21, 14.24).toCoordinate(), 1);
     114        assertTrue("X index is negative: " + xy.getXIndex(), xy.getXIndex() > 0);
     115        assertTrue(xy.getYIndex() > 0);
     116        for(int x = 0; x < 4; x++) {
     117            for(int y = 0; y < 4; y++) {
    90118                verifyMercatorTile(testSource, x, y, 3, zoomOffset);
    91119            }
    92120        }
    93         for (int x = 0; x < 8; x++) {
    94             for (int y = 0; y < 4; y++) {
     121        for(int x = 0; x < 8; x++) {
     122            for(int y = 0; y < 4; y++) {
    95123                verifyMercatorTile(testSource, x, y, zoomOffset);
    96124            }
    97125        }
    98126
    99         verifyMercatorTile(testSource, 2 << 9 - 1, 2 << 8 - 1, zoomOffset);
     127        verifyMercatorTile(testSource, 2<<9 - 1, 2<<8 - 1, zoomOffset);
    100128
    101129        assertEquals("TileXMax", 1, testSource.getTileXMax(1));
     
    122150        assertEquals("TileYMax", 74, testSource.getTileYMax(3));
    123151        assertEquals(
    124                 "http://mapy.geoportal.gov.pl/wss/service/WMTS/guest/wmts/TOPO?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=MAPA "
    125                 + "TOPOGRAFICZNA&STYLE=&FORMAT=image/jpeg&TileMatrixSet=EPSG:4326&TileMatrix=EPSG:4326:0&TileRow=1&TileCol=1",
     152                "http://mapy.geoportal.gov.pl/wss/service/WMTS/guest/wmts/TOPO?SERVICE=WMTS&REQUEST=GetTile&"
     153                + "VERSION=1.0.0&LAYER=MAPA TOPOGRAFICZNA&STYLE=&FORMAT=image/jpeg&tileMatrixSet=EPSG:4326&"
     154                + "tileMatrix=EPSG:4326:0&tileRow=1&tileCol=1",
    126155                testSource.getTileUrl(1,  1,  1));
    127156    }
Note: See TracChangeset for help on using the changeset viewer.