diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..746556e --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# Default ignored files +/shelf/ +/workspace.xml +/.idea +# Datasource local storage ignored files +/../../../../:\git\gts4vect\.idea/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/gts4vect.iml b/gts4vect.iml index 4098198..feb1231 100644 --- a/gts4vect.iml +++ b/gts4vect.iml @@ -1,2 +1,148 @@ - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 5eab701..cb886a0 100644 --- a/pom.xml +++ b/pom.xml @@ -11,41 +11,14 @@ UTF-8 1.7 1.7 - 21-SNAPSHOT - 42.1.4 + 24.2 + 42.2.19 - - maven2-repository.dev.java.net - Java.net repository - http://download.java.net/maven/2 - osgeo Open Source Geospatial Foundation Repository - http://download.osgeo.org/webdav/geotools/ - - - - true - - boundless - Boundless Maven Repository - http://repo.boundlessgeo.com/main - - - maven - Maven Repository Switchboard - default - http://repo1.maven.org/maven2 - - false - - - - osgeo - Open Source Geospatial Foundation Repository - http://download.osgeo.org/webdav/geotools/ + https://repo.osgeo.org/repository/release/ @@ -101,26 +74,29 @@ gt-epsg-hsql ${geotools.version} + org.geotools gt-api - ${geotools.version} + 20.3 + org.geotools gt-data - ${geotools.version} + 20.3 + com.vividsolutions jts-core 1.14.0 - - org.geotools - gt-geotools - 18.4 - + + + + + @@ -149,6 +125,22 @@ commons-io 2.6 + + org.hibernate + hibernate-core + 5.3.7.Final + + + commons-collections + commons-collections + 3.2.1 + + + junit + junit + 4.9 + + \ No newline at end of file diff --git a/src/main/java/com/wangkang/gts4vect/App.java b/src/main/java/com/wangkang/gts4vect/App.java index e75cfbf..2964e22 100644 --- a/src/main/java/com/wangkang/gts4vect/App.java +++ b/src/main/java/com/wangkang/gts4vect/App.java @@ -3,6 +3,7 @@ import org.apache.log4j.Logger; import org.geotools.data.DataStore; +import org.junit.Test; /** * @author wangkang @@ -17,21 +18,40 @@ public static void main(String[] args) { DataStore datastore = PGDatastore.getDefeaultDatastore(); Geotools geotools = new Geotools(datastore); String geojsonpath = "C:\\test\\ChinaWorldCitysBigbelin\\chinaCompany2.geojson"; - String shpfilepath = "C:\\test\\ChinaWorldCitysBigbelin\\MuchBig.shp"; - String pgtableName = "MuchBigPolygon"; + String shpfilepath = "E:\\Temp\\shap\\MuchBig.shp"; + String pgtableName = "test"; // geotools.geojson2pgtable(geojsonpath, pgtableName); - geotools.geojson2shp(geojsonpath, shpfilepath); +// geotools.geojson2shp(geojsonpath, shpfilepath); // geotools.shp2geojson(shpfilepath, geojsonpath); // geotools.shp2pgtable(shpfilepath, pgtableName); utility.tagLast("shp导入postgis"); // geotools.pgtable2geojson(pgtableName, geojsonpath); -// geotools.pgtable2shp(pgtableName, shpfilepath, "geom"); + geotools.pgtable2shp(pgtableName, shpfilepath, "geom"); } + @Test + public void importData(){ + DataStore datastore = PGDatastore.getDefeaultDatastore(); + Geotools geotools = new Geotools(datastore); + String geojsonpath = "D:\\git\\gts4vect\\src\\main\\java\\com\\wangkang\\gts4vect\\polygon.geojson"; + String shpfilepath = "E:\\Temp\\shap\\MuchBig.shp"; + String pgtableName = "test2"; + geotools.geojson2pgtable(geojsonpath, pgtableName); + } + + @Test + public void export(){ + DataStore datastore = PGDatastore.getDefeaultDatastore(); + Geotools geotools = new Geotools(datastore); + String shpfilepath = "E:\\Temp\\shap\\MuchBig.shp"; + String pgtableName = "test2"; + geotools.pgtable2shp(pgtableName, shpfilepath, "geom"); + } + private static Logger logger = Logger.getLogger(App.class); private static Utility utility = new Utility(); diff --git a/src/main/java/com/wangkang/gts4vect/polygon.geojson b/src/main/java/com/wangkang/gts4vect/polygon.geojson new file mode 100644 index 0000000..94029f3 --- /dev/null +++ b/src/main/java/com/wangkang/gts4vect/polygon.geojson @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"north","polygon":"rect1"},"geometry":{"type":"Polygon","coordinates":[[[476.78865909576416,39.96791137735179],[476.8079710006714,39.96791137735179],[476.8079710006714,39.96958877253231],[476.78865909576416,39.96958877253231],[476.78865909576416,39.96791137735179]]]}},{"type":"Feature","properties":{"name":"west","polygon":"polygon1"},"geometry":{"type":"Polygon","coordinates":[[[476.78389549255377,39.965280086303764],[476.78209304809565,39.96370126306186],[476.78355216979975,39.961530321573036],[476.7854404449463,39.961530321573036],[476.78638458251953,39.96284605191611],[476.78578376770014,39.965148519092814],[476.7854404449463,39.965740569548146],[476.78466796874994,39.966398397374036],[476.78389549255377,39.965280086303764]]]}},{"type":"Feature","properties":{"name":"sourth","polygon":"polygon1"},"geometry":{"type":"Polygon","coordinates":[[[476.7896461486816,39.96225397639493],[476.78835868835444,39.959030364168434],[476.78947448730463,39.95600397765473],[476.7931652069092,39.95600397765473],[476.7926502227783,39.959030364168434],[476.7896461486816,39.96225397639493]]]}},{"type":"Feature","properties":{"name":"east","polygon":"rect2"},"geometry":{"type":"Polygon","coordinates":[[[476.8044090270996,39.957188231806086],[476.80792808532715,39.957188231806086],[476.80792808532715,39.9613987471462],[476.8044090270996,39.9613987471462],[476.8044090270996,39.957188231806086]]]}}]} \ No newline at end of file diff --git a/src/main/resources/log4j.properties b/src/main/resources/log4j.properties index 16b7276..3e483b1 100644 --- a/src/main/resources/log4j.properties +++ b/src/main/resources/log4j.properties @@ -11,7 +11,7 @@ log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] log4j.appender.info.datePattern='.'yyyy-MM-dd log4j.appender.info.Threshold = info log4j.appender.info.append=true -log4j.appender.info.File=G://LOG/info.log +log4j.appender.info.File=E:\\Temp\\LOG\\info.log log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender @@ -20,7 +20,7 @@ log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p log4j.appender.error.datePattern='.'yyyy-MM-dd log4j.appender.error.Threshold = error log4j.appender.error.append=true -log4j.appender.error.File=G://LOG/error.log +log4j.appender.error.File=E:\\Temp\\LOG\\error.log log4j.logger.DEBUG=DEBUG log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender @@ -29,4 +29,4 @@ log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd log4j.appender.DEBUG.Threshold = DEBUG log4j.appender.DEBUG.append=true -log4j.appender.DEBUG.File=G://LOG/debug.log \ No newline at end of file +log4j.appender.DEBUG.File=E:\\Temp\\LOG\\debug.log \ No newline at end of file diff --git a/target/classes/com/wangkang/gts4vect/App.class b/target/classes/com/wangkang/gts4vect/App.class new file mode 100644 index 0000000..5ebb9e6 Binary files /dev/null and b/target/classes/com/wangkang/gts4vect/App.class differ diff --git a/target/classes/com/wangkang/gts4vect/Geotools.class b/target/classes/com/wangkang/gts4vect/Geotools.class new file mode 100644 index 0000000..d3744fb Binary files /dev/null and b/target/classes/com/wangkang/gts4vect/Geotools.class differ diff --git a/target/classes/com/wangkang/gts4vect/PGDatastore.class b/target/classes/com/wangkang/gts4vect/PGDatastore.class new file mode 100644 index 0000000..ebcce27 Binary files /dev/null and b/target/classes/com/wangkang/gts4vect/PGDatastore.class differ diff --git a/target/classes/com/wangkang/gts4vect/ShpCharset.class b/target/classes/com/wangkang/gts4vect/ShpCharset.class new file mode 100644 index 0000000..8081285 Binary files /dev/null and b/target/classes/com/wangkang/gts4vect/ShpCharset.class differ diff --git a/target/classes/com/wangkang/gts4vect/Utility.class b/target/classes/com/wangkang/gts4vect/Utility.class new file mode 100644 index 0000000..f8cbf8f Binary files /dev/null and b/target/classes/com/wangkang/gts4vect/Utility.class differ diff --git a/target/classes/log4j.properties b/target/classes/log4j.properties index 16b7276..3e483b1 100644 --- a/target/classes/log4j.properties +++ b/target/classes/log4j.properties @@ -11,7 +11,7 @@ log4j.appender.info.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p] log4j.appender.info.datePattern='.'yyyy-MM-dd log4j.appender.info.Threshold = info log4j.appender.info.append=true -log4j.appender.info.File=G://LOG/info.log +log4j.appender.info.File=E:\\Temp\\LOG\\info.log log4j.logger.error=error log4j.appender.error=org.apache.log4j.DailyRollingFileAppender @@ -20,7 +20,7 @@ log4j.appender.error.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p log4j.appender.error.datePattern='.'yyyy-MM-dd log4j.appender.error.Threshold = error log4j.appender.error.append=true -log4j.appender.error.File=G://LOG/error.log +log4j.appender.error.File=E:\\Temp\\LOG\\error.log log4j.logger.DEBUG=DEBUG log4j.appender.DEBUG=org.apache.log4j.DailyRollingFileAppender @@ -29,4 +29,4 @@ log4j.appender.DEBUG.layout.ConversionPattern=%d{yyyy-MM-dd-HH-mm} [%t] [%c] [%p log4j.appender.DEBUG.datePattern='.'yyyy-MM-dd log4j.appender.DEBUG.Threshold = DEBUG log4j.appender.DEBUG.append=true -log4j.appender.DEBUG.File=G://LOG/debug.log \ No newline at end of file +log4j.appender.DEBUG.File=E:\\Temp\\LOG\\debug.log \ No newline at end of file