From f47dea3e533a93a3bbcf2fa4ae793fbb0e0c0bea Mon Sep 17 00:00:00 2001 From: "hukekuan@163.com" Date: Wed, 11 Apr 2018 10:26:06 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../spatial/common/GeometryUtilities.java | 33 +++++++++++++++++-- src/test/java/com/gis3c/spatial/App.java | 13 ++++++-- 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/gis3c/spatial/common/GeometryUtilities.java b/src/main/java/com/gis3c/spatial/common/GeometryUtilities.java index 4901030..1a2e28b 100644 --- a/src/main/java/com/gis3c/spatial/common/GeometryUtilities.java +++ b/src/main/java/com/gis3c/spatial/common/GeometryUtilities.java @@ -47,6 +47,35 @@ public class GeometryUtilities { return geomFactory.createPoint(new Coordinate(lon,lat)); } + /** + * 点生成折现 + * @param coordinateArray + * @return + */ + public static LineString CreateLineStringByCoordinates(Coordinate[] coordinateArray){ + LineString lineString = null; + if(coordinateArray != null && coordinateArray.length > 1){ + lineString =geomFactory.createLineString(coordinateArray); + } + return lineString; + } + /** + * 点生成折现 + * @param points + * @return + */ + public static LineString CreateLineStringByPoints(Point[] points){ + LineString lineString = null; + if(points != null && points.length > 0){ + Coordinate[] coordinateArray = new Coordinate[points.length]; + for(int i = 0,len = points.length;i < len;i++){ + coordinateArray[i] = points[i].getCoordinate(); + } + lineString =CreateLineStringByCoordinates(coordinateArray); + } + return lineString; + } + /** * wkt转geometry * @param wktStr @@ -362,8 +391,8 @@ public class GeometryUtilities { } return JTS.orthodromicDistance( - startPoint.getCoordinate(), - endPoint.getCoordinate(), + new Coordinate(startPoint.getCoordinate().y,startPoint.getCoordinate().x), + new Coordinate(endPoint.getCoordinate().y,endPoint.getCoordinate().x), CRSUtilities.GetCRSFromSRID(String.valueOf(sridValue)) ); } diff --git a/src/test/java/com/gis3c/spatial/App.java b/src/test/java/com/gis3c/spatial/App.java index 76129ef..9838978 100644 --- a/src/test/java/com/gis3c/spatial/App.java +++ b/src/test/java/com/gis3c/spatial/App.java @@ -38,8 +38,17 @@ public class App { public static void main(String[] args) throws IllegalAccessException, IOException { ApplicationContext context = ApplicationInit(); - IntEnum[] objs = StationStatus.class.getEnumConstants(); - System.out.println(objs.length); + Set data = new HashSet<>(); + data.add(1); + data.add(2); + data.add(3); + + System.out.println(data.contains(1)); + + + +// IntEnum[] objs = StationStatus.class.getEnumConstants(); +// System.out.println(objs.length); // SourceService sourceService = context.getBean(SourceService.class); //