public DirectPosition createDirectPosition(double[] ordinates) { return getPositionFactory().createDirectPosition(ordinates); }
public Position createPosition(Position position) { return getPositionFactory().createPosition(position); }
public PointArray createPointArray(double[] array, int start, int end) { return getPositionFactory().createPointArray(array, start, end); }
/** * Creates a curve from a Coordinate array * * @param aCoords * @return */ private OrientableCurve createCurve(Coordinate[] aCoords) { List<Position> points = new ArrayList<Position>(); for (int i = 0; i < aCoords.length; i++) { points.add(this.positionFactory .createPosition(this.positionFactory .createDirectPosition((aCoords[i] .getCoordinates())))); } // Create List of CurveSegments (LineStrings) LineString lineString = new LineStringImpl(new PointArrayImpl( points ), 0.0); //this.geometryFactory.createLineString(points); List<CurveSegment> segments = new ArrayList<CurveSegment>(); segments.add(lineString); return new CurveImpl(crs, segments); //this.primitiveFactory.createCurve(segments); }
public Precision getPrecision() { return getPositionFactory().getPrecision(); }
public Geometry transform(CoordinateReferenceSystem newCRS, MathTransform transform) throws MismatchedDimensionException, TransformException { PositionFactory newPositionFactory = new PositionFactoryImpl(newCRS, getPositionFactory().getPrecision()); PrimitiveFactory newPrimitiveFactory = new PrimitiveFactoryImpl(newCRS, newPositionFactory); DirectPosition dp1 = new DirectPositionImpl(newCRS); dp1 = transform.transform(((PointImpl)this).getPosition(), dp1); return newPrimitiveFactory.createPoint( dp1 ); } }
public Point createPoint(Position position) throws MismatchedReferenceSystemException, MismatchedDimensionException { if (position == null) { throw new NullPointerException(); } setCoordinateReferenceSystem(position.getDirectPosition().getCoordinateReferenceSystem()); DirectPosition copy = (DirectPosition) getPositionFactory() .createDirectPosition(position.getDirectPosition().getCoordinate()); return getPrimitiveFactory().createPoint(copy); }
public Envelope createEnvelope( DirectPosition lowerCorner, DirectPosition upperCorner) throws MismatchedReferenceSystemException, MismatchedDimensionException { // Test ok return new EnvelopeImpl((DirectPosition) positionFactory.createPosition(lowerCorner), (DirectPosition) positionFactory.createPosition(upperCorner)); }
public PointArray createPointArray() { return getPositionFactory().createPointArray(); }
private Ring processBoundsToRing(Envelope bounds, LineSegment segment, final int D) { DirectPosition one = getPositionFactory().createDirectPosition(segment.getStartPoint().getCoordinate()); one.setOrdinate(D, bounds.getMinimum(D)); DirectPosition two = getPositionFactory().createDirectPosition(segment.getEndPoint().getCoordinate()); two.setOrdinate(D, bounds.getMinimum(D)); DirectPosition three = getPositionFactory().createDirectPosition(two.getCoordinate()); three.setOrdinate(D, bounds.getMaximum(D)); DirectPosition four = getPositionFactory().createDirectPosition(one.getCoordinate()); four.setOrdinate(D, bounds.getMaximum(D)); LineSegment edge1 = getGeometryFactory().createLineSegment(one, two); LineSegment edge2 = getGeometryFactory().createLineSegment(two, three); LineSegment edge3 = getGeometryFactory().createLineSegment(three, four); LineSegment edge4 = getGeometryFactory().createLineSegment(four, one); List<OrientableCurve> edges = new ArrayList<OrientableCurve>(); edges.add(createCurve(Arrays.asList(edge1))); edges.add(createCurve(Arrays.asList(edge2))); edges.add(createCurve(Arrays.asList(edge3))); edges.add(createCurve(Arrays.asList(edge4))); return createRing(edges); }
/** * Creates an array of <code>Point</code>s having the given <code>Coordinate</code>s. * * @param coordinates the <code>Coordinate</code>s with which to create the * <code>Point</code>s * @return <code>Point</code>s created using this <code>WKTReader</code> * s <code>GeometryFactory</code> */ private List toPoints(List coordinates) { List points = new ArrayList(); for (int i = 0; i < coordinates.size(); i++) { points.add(positionFactory.createPosition((Point)coordinates.get(i))); } return points; }
public PointArray createPositionList(float[] array, int start, int end) { return getPositionFactory().createPointArray(array, start, end); }
private LineSegment processBoundsToSegment(Envelope bounds) { final int D = 0; CoordinateReferenceSystem crs = bounds.getCoordinateReferenceSystem(); CoordinateSystemAxis axis = crs.getCoordinateSystem().getAxis(D); DirectPosition positionA = getPositionFactory().createDirectPosition(null); DirectPosition positionB = getPositionFactory().createDirectPosition(null); if (axis.getDirection() != AxisDirection.OTHER) { positionA.setOrdinate(D, bounds.getMinimum(D)); positionB.setOrdinate(D, bounds.getMaximum(D)); } return getGeometryFactory().createLineSegment(positionA, positionB); }
/** * Creates an array of <code>Point</code>s having the given <code>Coordinate</code>s. * * @param coordinates the <code>Coordinate</code>s with which to create the * <code>Point</code>s * @return <code>Point</code>s created using this <code>WKTReader</code> * s <code>GeometryFactory</code> */ private List toPoints(final List coordinates) { List<Position> points = new ArrayList<Position>(); for (int i=0,n=coordinates.size(); i<n; i++) { points.add(positionFactory.createPosition((Point)coordinates.get(i))); } return points; }
public PointArray createPointArray(double[] array) { return getPositionFactory() .createPointArray( array, 0, array.length / crs.getCoordinateSystem().getDimension()); }
public DirectPosition createDirectPosition() { // Test ok return (DirectPosition) positionFactory.createDirectPosition(null); }
public Position createPosition(DirectPosition dp) { // Test ok return new PositionImpl((DirectPosition) positionFactory.createPosition(dp)); }
/** * @param coordLists * @param lineStrings * @return Collection<LineStringImpl> */ public Collection<LineStringImpl> createLineStrings( Collection<List<double[]>> coordLists, List<LineStringImpl> lineStrings) { if (lineStrings == null) lineStrings = new ArrayList<LineStringImpl>(coordLists.size()); //GeometryFactoryImpl cf = this.geometryFactory.getGeometryFactoryImpl(); double startPar = 0.0; for (List<double[]> coordList : coordLists) { //List<Position> positions = cf.createPositions(coordList, null); PointArray positions = positionFactory.createPointArray(); for (double[] coords : coordList) { positions.add(createPosition(coords)); } PointArrayImpl pai = createPointArray(positions); lineStrings.add(createLineString(pai, startPar)); startPar += pai.getDistanceSum(); } return lineStrings; }
Hints hints = new Hints( Hints.CRS, DefaultGeographicCRS.WGS84 ); PositionFactory positionFactory = GeometryFactoryFinder.getPositionFactory( hints ); PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory( hints ); DirectPosition here = positionFactory.createDirectPosition( new double[]{48.44, -123.37} ); Point point1 = primitiveFactory.createPoint( here ); PositionFactory has a helper method allowing you to save one step: Hints hints = new Hints( Hints.CRS, DefaultGeographicCRS.WGS84 ); PrimitiveFactory primitiveFactory = GeometryFactoryFinder.getPrimitiveFactory( hints ); Point point2 = primitiveFactory.createPoint( new double[]{48.44, -123.37} ); System.out.println( point2 );
/** * @param dp * @return DirectPositionImpl */ public DirectPosition createDirectPosition(DirectPosition dp) { return (DirectPosition) positionFactory.createDirectPosition(dp.getCoordinates() ); }