Changeset 8584 in josm for trunk/test/unit


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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • 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.