Package org.geoserver.mbtiles.gs.wps

Source Code of org.geoserver.mbtiles.gs.wps.MBTilesProcessTest

package org.geoserver.mbtiles.gs.wps;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;

import java.io.File;
import java.util.logging.Level;
import java.util.logging.Logger;

import org.geoserver.data.test.SystemTestData;
import org.geoserver.wps.WPSTestSupport;
import org.geotools.data.DataUtilities;
import org.geotools.mbtiles.MBTilesFile;
import org.geotools.mbtiles.MBTilesMetadata;
import org.geotools.util.logging.Logging;
import org.junit.Test;

public class MBTilesProcessTest extends WPSTestSupport {

    private final static Logger LOGGER = Logging.getLogger(MBTilesProcessTest.class);

    @Override
    protected void setUpTestData(SystemTestData testData) throws Exception {
        super.setUpTestData(testData);
        testData.setUpDefaultRasterLayers();
    }

    @Test
    public void testMBTilesProcess() throws Exception {
        File path = getDataDirectory().findOrCreateDataRoot();

        String urlPath = string(post("wps", getXml(path))).trim();
        File file = new File(path, "World.mbtiles");
        // File file = getDataDirectory().findFile("data", "test.mbtiles");
        assertNotNull(file);
        assertTrue(file.exists());

        MBTilesFile mbtiles = new MBTilesFile(file);
        MBTilesMetadata metadata = mbtiles.loadMetaData();
        assertEquals(11, mbtiles.maxZoom());
        assertEquals(10, mbtiles.minZoom());
        assertEquals("World", metadata.getName());

        assertEquals(-0.17578125, metadata.getBounds().getMinimum(0), 0.0001);
        assertEquals(-0.087890625, metadata.getBounds().getMinimum(1), 0.0001);
        assertEquals(0.17578125, metadata.getBounds().getMaximum(0), 0.0001);
        assertEquals(0.087890625, metadata.getBounds().getMaximum(1), 0.0001);

        try {
            mbtiles.close();
        } catch (Exception e) {
            LOGGER.log(Level.SEVERE, e.getMessage(), e);
        }
    }

    public String getXml(File temp) {
        return "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
                + "<wps:Execute version=\"1.0.0\" service=\"WPS\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns=\"http://www.opengis.net/wps/1.0.0\" xmlns:wfs=\"http://www.opengis.net/wfs\" xmlns:wps=\"http://www.opengis.net/wps/1.0.0\" xmlns:ows=\"http://www.opengis.net/ows/1.1\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:ogc=\"http://www.opengis.net/ogc\" xmlns:wcs=\"http://www.opengis.net/wcs/1.1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" xsi:schemaLocation=\"http://www.opengis.net/wps/1.0.0 http://schemas.opengis.net/wps/1.0.0/wpsAll.xsd\">"
                + "  <ows:Identifier>gs:MBTiles</ows:Identifier>" + "  <wps:DataInputs>"
                + "    <wps:Input>" + "      <ows:Identifier>path</ows:Identifier>"
                + "      <wps:Data>" + "        <wps:LiteralData>"
                + DataUtilities.fileToURL(temp)
                + "</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>layers</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>wcs:World</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>layers</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>cite:Lakes</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>format</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>image/png</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>boundingbox</ows:Identifier>"
                + "    <wps:Data>"
                + "    <wps:BoundingBoxData crs=\"EPSG:4326\" dimensions=\"2\">"
                + "     <ows:LowerCorner>-0.17578125 -0.087890625</ows:LowerCorner>"
                + "    <ows:UpperCorner>0.17578125 0.087890625</ows:UpperCorner>"
                + "    </wps:BoundingBoxData>"
                + "    </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>minZoom</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>10</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>maxZoom</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>12</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "    <wps:Input>"
                + "      <ows:Identifier>bgColor</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>#FFFFFF</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "  </wps:DataInputs>"
                + "    <wps:Input>"
                + "      <ows:Identifier>transparency</ows:Identifier>"
                + "      <wps:Data>"
                + "        <wps:LiteralData>true</wps:LiteralData>"
                + "      </wps:Data>"
                + "    </wps:Input>"
                + "  <wps:ResponseForm>"
                + "    <wps:RawDataOutput>"
                + "      <ows:Identifier>mbtile</ows:Identifier>"
                + "    </wps:RawDataOutput>"
                + "  </wps:ResponseForm>" + "</wps:Execute>";
    }
}
TOP

Related Classes of org.geoserver.mbtiles.gs.wps.MBTilesProcessTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.