diff --git a/pom.xml b/pom.xml
index cceb445..b009c3f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -229,6 +229,11 @@
gt-swing
${geotools.version}
+
+ no.ecc.vectortile
+ java-vector-tile
+ 1.2.1
+
@@ -242,5 +247,9 @@
Open Source Geospatial Foundation Repository
http://download.osgeo.org/webdav/geotools/
+
+ ECC
+ https://github.com/ElectronicChartCentre/ecc-mvn-repo/raw/master/releases
+
diff --git a/src/main/java/com/gis3c/Main.java b/src/main/java/com/gis3c/Main.java
index d5948d1..c7b58ea 100644
--- a/src/main/java/com/gis3c/Main.java
+++ b/src/main/java/com/gis3c/Main.java
@@ -1,8 +1,11 @@
package com.gis3c;
import com.gis3c.entity.C3Map;
-import org.apache.commons.dbcp.datasources.SharedPoolDataSource;
-import org.geotools.data.FeatureSource;
+import com.gis3c.entity.GeoCity;
+import com.gis3c.service.PostGISService;
+import no.ecc.vectortile.VectorTileDecoder;
+import no.ecc.vectortile.VectorTileEncoder;
+import org.apache.commons.collections.map.HashedMap;
import org.geotools.data.FileDataStore;
import org.geotools.data.FileDataStoreFinder;
import org.geotools.data.shapefile.ShapefileDataStore;
@@ -14,17 +17,20 @@ import org.geotools.styling.SLD;
import org.geotools.styling.SLDParser;
import org.geotools.styling.Style;
import org.geotools.styling.StyleFactory;
-import org.geotools.swing.JMapFrame;
import org.geotools.swing.data.JFileDataStoreChooser;
-import org.geotools.swing.dialog.JExceptionReporter;
-import org.geotools.swing.styling.JSimpleStyleDialog;
-import org.opengis.feature.simple.SimpleFeatureType;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.support.ClassPathXmlApplicationContext;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
import java.nio.charset.Charset;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
public class Main {
+ public static ApplicationContext ContextInit(){
+ return new ClassPathXmlApplicationContext("classpath:spring-config.xml");
+ }
public static StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory();
// public static Style createStyle(File file, FeatureSource featureSource) {
// File sld = toSLDFile(file);
@@ -61,7 +67,7 @@ public class Main {
// }
// return null;
// }
- public static void main(String[] args) throws IOException {
+ public static void StyleTest()throws IOException{
File file = JFileDataStoreChooser.showOpenFile("shp",null);
if(file == null){
return;
@@ -83,7 +89,39 @@ public class Main {
map.addLayer(layer);
map.saveImage("D://mapimage//1.jpg",256);
System.out.println("image has saved");
-// JMapFrame.showMap(map);
+ }
+ public static void copy(Reader in,Writer out) throws IOException {
+ int c = -1;
+ while((c = in.read()) != -1) {
+ out.write(c);
+ }
+ }
+ public static void VectorTilesTest()throws IOException{
+ ApplicationContext context =ContextInit();
+ PostGISService postGISService = (PostGISService) context.getBean("postGISService");
+ List geoCities = postGISService.AllCities();
+
+ VectorTileEncoder encoder = new VectorTileEncoder();
+ VectorTileDecoder d = new VectorTileDecoder();
+ byte[] encoded;
+ geoCities.forEach(city -> {
+ Map cityAttr = new HashMap<>();
+ cityAttr.put("name",city.getName());
+ cityAttr.put("code",city.getCode());
+ encoder.addFeature("city",cityAttr,city.getGeom());
+ });
+ encoded = encoder.encode();
+
+ Reader in = new FileReader("C:\\Users\\Administrator\\Desktop\\0.vector.pbf");
+ StringWriter out = new StringWriter();
+ copy(in,out);
+
+// System.out.println(out.toString());
+ System.out.println(d.decode(out.toString().getBytes()));
+ }
+ public static void main(String[] args) throws IOException {
+ VectorTilesTest();
+ //VectorTilesTest();
}
diff --git a/src/main/java/com/gis3c/sqlmaps/PostGISMapper.xml b/src/main/java/com/gis3c/sqlmaps/PostGISMapper.xml
index 0de1d2a..8ad7fb7 100644
--- a/src/main/java/com/gis3c/sqlmaps/PostGISMapper.xml
+++ b/src/main/java/com/gis3c/sqlmaps/PostGISMapper.xml
@@ -119,7 +119,7 @@