/** * @inheritDoc * @see org.opengis.geometry.coordinate.GenericCurve#getStartPoint() */ public DirectPosition getStartPoint() { return (DirectPosition) controlPoints.positions().get(0); }
/** * {@inheritDoc } */ @Override public DirectPosition getStartPoint() { return (DirectPosition) controlPoints.positions().get(0); }
/** * Used to replace removed PointArray.get( column ) method. * <p> * Please note all example code uses getTarget( row, col ).clone() * when returning a direct position to client code. * </p> * @param row * @param column * @return DirectPosition */ DirectPosition getInternal( int row, int column ){ PointArray pointArray = pointGrid[row]; return (DirectPosition) pointArray.positions().get( column ); }
/** * Used to replace removed PointArray.get( column ) method. * <p> * Please note all example code uses getTarget( row, col ).clone() * when returning a direct position to client code. * </p> * @param row * @param column * @return DirectPosition */ DirectPosition getInternal( final int row, final int column ){ PointArray pointArray = pointGrid[row]; return (DirectPosition) pointArray.positions().get( column ); }
@XmlElement(name="pos", namespace="http://www.opengis.net/gml") @XmlJavaTypeAdapter(DirectPositionAdapter.class) public List<Position> getPositions() { if (controlPoints != null) { return controlPoints.positions(); } return null; }
/** * Populates the specified PointArray with the specified points. Any and all preexisting * points in the PointArray will be overwritten. * @param pointArray The PointArray to be populated. This must not be null. * @param dps The new array of points */ public static void populatePointArray(PointArray pointArray, DirectPosition[] dps) { List pts = pointArray.positions(); pts.clear(); int count = dps.length; for (int i = 0; i < count; i++) { pts.add(dps[i]); } }
/** * Populates the specified PointArray with the specified points. Any and all preexisting * points in the PointArray will be overwritten. * @param pointArray The PointArray to be populated. This must not be null. * @param dps The new array of points */ public static void populatePointArray(final PointArray pointArray, final DirectPosition[] dps) { List pts = pointArray.positions(); pts.clear(); int count = dps.length; for (int i = 0; i < count; i++) { pts.add(dps[i]); } }
/** * @inheritDoc * @see org.opengis.geometry.coordinate.GenericCurve#getEndPoint() */ public DirectPosition getEndPoint() { return (DirectPosition) controlPoints.positions().get(controlPoints.length() - 1); }
/** * {@inheritDoc } */ @Override public DirectPosition getEndPoint() { return (DirectPosition) controlPoints.positions().get(controlPoints.length() - 1); }
public CurveSegmentAdapter(final CurveSegment lineString) { this.positions = lineString.getSamplePoints().positions(); }
private String pointArrayCoordToStringWithoutFirstCoord(PointArray pa) { String rString = ""; List<Position> positions = pa.positions(); if (positions.size() == 0) return ""; for (int i = 1; i < positions.size(); i++) { if (i > 1) { rString += ", "; } rString += directPositionToString(positions.get(i).getPosition()); } return rString; }
/** * @inheritDoc * @see org.opengis.geometry.primitive.CurveSegment#reverse() */ public CurveSegment reverse() { LineStringImpl result = new LineStringImpl(); PointArray pa = result.getSamplePoints(); List list = pa.positions(); int n = controlPoints.length(); for (int i=n-1; i>=0; i--) { list.add(((DirectPosition)controlPoints.positions().get(i)).clone()); } return result; }
JTSLineString lsi = new JTSLineString(); LineString ls = null; List retList = lsi.getControlPoints().positions(); Object lastPoint = null; List segList = null; Object segment = curveSegments.get(0); if (segment instanceof LineString) { segList = ((LineString) segment).getControlPoints().positions(); if (segList.get(0).equals(lastPoint)) { retList.remove(retList.size() - 1);
LineStringImpl lsi = new LineStringImpl(); LineString ls = null; List retList = lsi.getControlPoints().positions(); Object lastPoint = null; List segList = null; Object segment = curveSegments.get(0); if (segment instanceof LineString) { segList = ((LineString) segment).getControlPoints().positions(); if (segList.get(0).equals(lastPoint)) { retList.remove(retList.size() - 1);
/** * {@inheritDoc } */ @Override public CurveSegment reverse() { JTSLineString result = new JTSLineString(); PointArray pa = result.getSamplePoints(); List list = pa.positions(); int n = controlPoints.length(); for (int i=n-1; i>=0; i--) { list.add(new GeneralDirectPosition(controlPoints.positions().get(i).getDirectPosition())); } return result; }
/** * @return * @see com.polexis.lite.spatialschema.geometry.geometry.GenericCurveImpl#computeJTSPeer() */ protected Geometry computeJTSPeer() { int n = controlPoints.length(); com.vividsolutions.jts.geom.Coordinate [] coords = new com.vividsolutions.jts.geom.Coordinate[n]; for (int i=0; i<n; i++) { coords[i] = JTSUtils.directPositionToCoordinate( (DirectPosition) controlPoints.positions().get(i)); } return JTSUtils.GEOMETRY_FACTORY.createLineString(coords); }
public void applyCRSOnChild() { if (controlPoints != null) { List<Position> newPositions = new ArrayList<Position>(); for (Position pos : controlPoints.positions()) { if (pos instanceof GeneralDirectPosition) { ((GeneralDirectPosition) pos).setCoordinateReferenceSystem(getCoordinateReferenceSystem()); newPositions.add(pos); } } controlPoints.clear(); controlPoints.addAll(newPositions); } }
public static Ring linearRingToRing(com.vividsolutions.jts.geom.LineString jtsLinearRing, CoordinateReferenceSystem crs) { int numPoints = jtsLinearRing.getNumPoints(); if (! jtsLinearRing.getCoordinateN(0).equals(jtsLinearRing.getCoordinateN(numPoints-1))) { throw new IllegalArgumentException("LineString must be a ring"); } Hints hints = new Hints( Hints.CRS, crs ); PrimitiveFactory pf = GeometryFactoryFinder.getPrimitiveFactory(hints); GeometryFactory gf = GeometryFactoryFinder.getGeometryFactory(hints); LineString ls = gf.createLineString(new ArrayList()); List pointList = ls.getControlPoints().positions(); for (int i=0; i<numPoints; i++) { pointList.add(coordinateToDirectPosition(jtsLinearRing.getCoordinateN(i), crs)); } Curve curve = pf.createCurve(new ArrayList()); curve.getSegments().add(ls); Ring result = pf.createRing(new ArrayList()); result.getGenerators().add(curve); return result; }
public static Ring linearRingToRing(final org.locationtech.jts.geom.LineString jtsLinearRing, final CoordinateReferenceSystem crs) { int numPoints = jtsLinearRing.getNumPoints(); if (numPoints != 0 && !jtsLinearRing.getCoordinateN(0).equals(jtsLinearRing.getCoordinateN(numPoints - 1))) { throw new IllegalArgumentException("LineString must be a ring"); } PrimitiveFactory pf = new JTSPrimitiveFactory(crs); //FactoryFinder.getPrimitiveFactory(hints); GeometryFactory gf = new JTSGeometryFactory(crs); //FactoryFinder.getGeometryFactory(hints); LineString ls = gf.createLineString(new ArrayList()); List pointList = ls.getControlPoints().positions(); for (int i = 0; i < numPoints; i++) { pointList.add(coordinateToDirectPosition(jtsLinearRing.getCoordinateN(i), crs)); } Curve curve = pf.createCurve(new ArrayList()); // Cast below can be removed when Types will be allowed to abandon Java 1.4 support. ((List) curve.getSegments()).add(ls); Ring result = pf.createRing(new ArrayList()); // Cast below can be removed when Types will be allowed to abandon Java 1.4 support. ((List) result.getGenerators()).add(curve); return result; }
/** * {@inheritDoc } */ @Override protected Geometry computeJTSPeer() { int n = controlPoints.length(); org.locationtech.jts.geom.Coordinate [] coords = new org.locationtech.jts.geom.Coordinate[n]; for (int i=0; i<n; i++) { coords[i] = JTSUtils.directPositionToCoordinate( (DirectPosition) controlPoints.positions().get(i)); } final org.locationtech.jts.geom.LineString result = JTSUtils.GEOMETRY_FACTORY.createLineString(coords); CoordinateReferenceSystem crs = getCoordinateReferenceSystem(); if (crs != null) { final int srid = SRIDGenerator.toSRID(crs, Version.V1); result.setSRID(srid); } return result; }