use of com.revolsys.geometry.model.Point in project com.revolsys.open by revolsys.
the class ShapefileGeometryHandler method writePoint.
public void writePoint(final EndianOutput out, final Geometry geometry) {
if (geometry instanceof Point) {
final Point point = (Point) geometry;
if (this.writeLength) {
final int recordLength = 10;
// (BYTES_IN_INT + 2 * BYTES_IN_DOUBLE) / BYTES_IN_SHORT;
out.writeInt(recordLength);
}
out.writeLEInt(ShapefileConstants.POINT_SHAPE);
writeXy(out, point);
} else {
throw new IllegalArgumentException("Expecting " + Point.class + " geometry got " + geometry.getClass());
}
}
use of com.revolsys.geometry.model.Point in project com.revolsys.open by revolsys.
the class ShapefileGeometryHandler method writePointZM.
public void writePointZM(final EndianOutput out, final Geometry geometry) {
if (geometry instanceof Point) {
final Point point = (Point) geometry;
if (this.writeLength) {
final int recordLength = 18;
// (BYTES_IN_INT + 4 * BYTES_IN_DOUBLE) / BYTES_IN_SHORT;
out.writeInt(recordLength);
}
out.writeLEInt(ShapefileConstants.POINT_ZM_SHAPE);
writeXy(out, point);
final double z = point.getZ();
if (Double.isNaN(z)) {
out.writeLEDouble(0);
} else {
out.writeLEDouble(z);
}
final double m = point.getM();
if (Double.isNaN(m)) {
out.writeLEDouble(0);
} else {
out.writeLEDouble(m);
}
} else {
throw new IllegalArgumentException("Expecting " + Point.class + " geometry got " + geometry.getClass());
}
}
use of com.revolsys.geometry.model.Point in project com.revolsys.open by revolsys.
the class TextLineConverter method read.
@Override
public Object read(final OsnIterator iterator) {
final Map<String, Object> values = new TreeMap<>();
values.put(TYPE, SaifConstants.TEXT_LINE);
TextLinePoint geometry = null;
String fieldName = iterator.nextFieldName();
while (fieldName != null) {
if (fieldName.equals("position")) {
final String objectName = iterator.nextObjectName();
final OsnConverter osnConverter = this.converters.getConverter(objectName);
if (osnConverter == null) {
iterator.throwParseError("No Geometry Converter for " + objectName);
}
geometry = new TextLinePoint((Point) osnConverter.read(iterator));
} else {
readAttribute(iterator, fieldName, values);
}
fieldName = iterator.nextFieldName();
}
Property.set(geometry, values);
return geometry;
}
use of com.revolsys.geometry.model.Point in project com.revolsys.open by revolsys.
the class TextOnCurveConverter method read.
@Override
public Object read(final OsnIterator iterator) {
final List<Point> points = new ArrayList<>();
String fieldName = iterator.nextFieldName();
while (fieldName != null) {
if (fieldName.equals("characters")) {
while (iterator.next() != OsnIterator.END_LIST) {
final String objectName = iterator.nextObjectName();
final OsnConverter osnConverter = this.converters.getConverter(objectName);
if (osnConverter == null) {
iterator.throwParseError("No Geometry Converter for " + objectName);
}
points.add((TextLinePoint) osnConverter.read(iterator));
}
}
fieldName = iterator.nextFieldName();
}
final Geometry geometry = new TextOnCurve(this.geometryFactory, points);
return geometry;
}
use of com.revolsys.geometry.model.Point in project com.revolsys.open by revolsys.
the class ScaledIntegerPointCloudGeometryWriter method write.
@Override
public void write(final Geometry geometry) {
if (geometry instanceof Point) {
final Point point = (Point) geometry;
final double x = point.getX();
final double y = point.getY();
final double z = point.getZ();
write(x, y, z);
} else {
throw new IllegalArgumentException("Only points supported: " + geometry);
}
}
Aggregations