public double distance(Geometry g) { return point.distance(g); }
/** * Remove holes from a polygon * * @param polygon */ private Polygon simplifyPoly(Polygon polygon) { if(polygon.getNumInteriorRing() == 0) return polygon; LineString outer = polygon.getExteriorRing(); if (outer.getStartPoint().distance(outer.getEndPoint()) != 0) { List clist = new ArrayList(Arrays.asList(outer.getCoordinates())); clist.add(outer.getStartPoint().getCoordinate()); outer = outer.getFactory().createLinearRing( (Coordinate[]) clist.toArray(new Coordinate[clist.size()])); } LinearRing r = (LinearRing) outer; return outer.getFactory().createPolygon(r, null); }
private Point getCentralPoint(MultiPoint multiPoint) { int numPoints = multiPoint.getNumPoints(); if (numPoints == 1) { return (Point) multiPoint.getGeometryN(0); } double minDistance = Double.MAX_VALUE; Point centralPoint = null; for (int i = 0; i < numPoints; i++) { Point ce = (Point) multiPoint.getGeometryN(i); double curDistance = 0d; for (int j = 0; j < numPoints; j++) { Point de = (Point) multiPoint.getGeometryN(j); if (i != j) { curDistance += ce.distance(de); } } if (minDistance > curDistance) { minDistance = curDistance; centralPoint = ce; } } return centralPoint; }
final double heightAtFromNode = Math.pow(bufferWidth-fromPoint.distance(fire),2.) ; final double heightAtToNode = Math.pow( bufferWidth - point.distance(fire),2.) ; if ( heightAtToNode>heightAtFromNode) { penaltyFactorsOfLinks.put( link.getId(), heightAtToNode-heightAtFromNode ) ; final double heightAtToNode = Math.pow( bufferWidth - point.distance(fire),2.) ; penaltyFactorsOfLinks.put(link.getId(), heightAtToNode ) ;
final double distanceFromNode = point.distance(fire) ; final double distanceToNode = point2.distance(fire) ; if ( distanceToNode > distanceFromNode ) { penaltyFactorsOfLinks.put(link.getId(), buffer2bufferGettingAway); final double distanceToNode = point.distance(fire) ; final double distanceFromNode = point2.distance(fire) ; if ( distanceToNode > distanceFromNode ) { penaltyFactorsOfLinks.put(link.getId(), buffer2bufferGettingAway);