Search in sources :

Example 1 with NoSuchResourceException

use of com.revolsys.spring.resource.NoSuchResourceException in project com.revolsys.open by revolsys.

the class EpsgCoordinateSystems method loadCoordinateAxis.

private static IntHashMap<List<Axis>> loadCoordinateAxis() {
    final IntHashMap<List<Axis>> axisesByCoordinateSystemId = new IntHashMap<>();
    try (ChannelReader reader = newChannelReader("coordinateAxis")) {
        while (true) {
            final int coordinateSystemId = reader.getInt();
            final AxisName axisName = readCode(reader, AXIS_NAMES);
            final String orientation = reader.getStringUtf8ByteCount();
            final Character abbreviation = (char) reader.getByte();
            final UnitOfMeasure unitOfMeasure = readCode(reader, UNIT_BY_ID);
            final Axis axis = new Axis(axisName, orientation, abbreviation.toString(), unitOfMeasure);
            List<Axis> axises = axisesByCoordinateSystemId.get(coordinateSystemId);
            if (axises == null) {
                axises = new ArrayList<>();
                axisesByCoordinateSystemId.put(coordinateSystemId, axises);
            }
            axises.add(axis);
        }
    } catch (final NoSuchResourceException e) {
    } catch (final WrappedException e) {
        if (Exceptions.isException(e, EOFException.class)) {
        } else {
            throw e;
        }
    }
    return axisesByCoordinateSystemId;
}
Also used : WrappedException(com.revolsys.util.WrappedException) UnitOfMeasure(com.revolsys.geometry.cs.unit.UnitOfMeasure) ParameterValueString(com.revolsys.geometry.cs.ParameterValueString) NoSuchResourceException(com.revolsys.spring.resource.NoSuchResourceException) IntHashMap(com.revolsys.collection.map.IntHashMap) AxisName(com.revolsys.geometry.cs.AxisName) ChannelReader(com.revolsys.io.channels.ChannelReader) EOFException(java.io.EOFException) List(java.util.List) ArrayList(java.util.ArrayList) Axis(com.revolsys.geometry.cs.Axis)

Example 2 with NoSuchResourceException

use of com.revolsys.spring.resource.NoSuchResourceException in project com.revolsys.open by revolsys.

the class EpsgCoordinateSystems method loadCoordOperationMethod.

private static IntHashMap<CoordinateOperationMethod> loadCoordOperationMethod(final IntHashMap<List<ParameterName>> paramOrderByMethodId, final IntHashMap<List<Byte>> paramReversalByMethodId) {
    final IntHashMap<CoordinateOperationMethod> methodById = new IntHashMap<>();
    try (ChannelReader reader = newChannelReader("coordOperationMethod")) {
        while (true) {
            final int id = reader.getInt();
            final String name = reader.getStringUtf8ByteCount();
            final boolean reverse = readBoolean(reader);
            final boolean deprecated = readBoolean(reader);
            final List<ParameterName> parameterNames = paramOrderByMethodId.getOrDefault(id, Collections.emptyList());
            final List<Byte> reversal = paramReversalByMethodId.getOrDefault(id, Collections.emptyList());
            final CoordinateOperationMethod method = new CoordinateOperationMethod(id, name, reverse, deprecated, parameterNames);
            methodById.put(id, method);
        }
    } catch (final NoSuchResourceException e) {
    } catch (final WrappedException e) {
        if (Exceptions.isException(e, EOFException.class)) {
        } else {
            throw e;
        }
    }
    return methodById;
}
Also used : WrappedException(com.revolsys.util.WrappedException) ParameterName(com.revolsys.geometry.cs.ParameterName) ParameterValueString(com.revolsys.geometry.cs.ParameterValueString) NoSuchResourceException(com.revolsys.spring.resource.NoSuchResourceException) IntHashMap(com.revolsys.collection.map.IntHashMap) ChannelReader(com.revolsys.io.channels.ChannelReader) CoordinateOperationMethod(com.revolsys.geometry.cs.CoordinateOperationMethod) EOFException(java.io.EOFException)

Example 3 with NoSuchResourceException

use of com.revolsys.spring.resource.NoSuchResourceException in project com.revolsys.open by revolsys.

the class EpsgCoordinateSystems method loadDatum.

private static void loadDatum() {
    final IntHashMap<Ellipsoid> ellipsoids = loadEllipsoid();
    try (ChannelReader reader = newChannelReader("datum")) {
        while (true) {
            final int id = reader.getInt();
            final String name = reader.getStringUtf8ByteCount();
            final int datumType = reader.getByte();
            final Ellipsoid ellipsoid = readCode(reader, ellipsoids);
            final PrimeMeridian primeMeridian = readCode(reader, PRIME_MERIDIAN_BY_ID);
            final Area area = readCode(reader, AREA_BY_ID);
            final boolean deprecated = readBoolean(reader);
            final EpsgAuthority authority = new EpsgAuthority(id);
            Datum datum;
            if (datumType == 0) {
                datum = new GeodeticDatum(authority, name, area, deprecated, ellipsoid, primeMeridian);
            } else if (datumType == 1) {
                datum = new VerticalDatum(authority, name, area, deprecated);
            } else if (datumType == 2) {
                datum = new EngineeringDatum(authority, name, area, deprecated);
            } else {
                throw new IllegalArgumentException("Unknown datumType=" + datumType);
            }
            DATUM_BY_ID.put(id, datum);
        }
    } catch (final NoSuchResourceException e) {
    } catch (final WrappedException e) {
        if (Exceptions.isException(e, EOFException.class)) {
        } else {
            throw e;
        }
    }
}
Also used : WrappedException(com.revolsys.util.WrappedException) Datum(com.revolsys.geometry.cs.datum.Datum) EngineeringDatum(com.revolsys.geometry.cs.datum.EngineeringDatum) GeodeticDatum(com.revolsys.geometry.cs.datum.GeodeticDatum) VerticalDatum(com.revolsys.geometry.cs.datum.VerticalDatum) GeodeticDatum(com.revolsys.geometry.cs.datum.GeodeticDatum) VerticalDatum(com.revolsys.geometry.cs.datum.VerticalDatum) ParameterValueString(com.revolsys.geometry.cs.ParameterValueString) PrimeMeridian(com.revolsys.geometry.cs.PrimeMeridian) NoSuchResourceException(com.revolsys.spring.resource.NoSuchResourceException) EngineeringDatum(com.revolsys.geometry.cs.datum.EngineeringDatum) Area(com.revolsys.geometry.cs.Area) ChannelReader(com.revolsys.io.channels.ChannelReader) EOFException(java.io.EOFException) Ellipsoid(com.revolsys.geometry.cs.Ellipsoid)

Example 4 with NoSuchResourceException

use of com.revolsys.spring.resource.NoSuchResourceException in project com.revolsys.open by revolsys.

the class EpsgCoordinateSystems method loadPrimeMeridians.

private static void loadPrimeMeridians() {
    try (ChannelReader reader = newChannelReader("primeMeridian")) {
        while (true) {
            final int id = reader.getInt();
            final String name = reader.getStringUtf8ByteCount();
            final AngularUnit unit = (AngularUnit) readCode(reader, UNIT_BY_ID);
            final double longitude = reader.getDouble();
            final double longitudeDegrees = unit.toDegrees(longitude);
            final EpsgAuthority authority = new EpsgAuthority(id);
            final PrimeMeridian primeMeridian = new PrimeMeridian(name, longitudeDegrees, authority, false);
            PRIME_MERIDIAN_BY_ID.put(id, primeMeridian);
        }
    } catch (final NoSuchResourceException e) {
    } catch (final WrappedException e) {
        if (Exceptions.isException(e, EOFException.class)) {
        } else {
            throw e;
        }
    }
}
Also used : NoSuchResourceException(com.revolsys.spring.resource.NoSuchResourceException) WrappedException(com.revolsys.util.WrappedException) ChannelReader(com.revolsys.io.channels.ChannelReader) EOFException(java.io.EOFException) ParameterValueString(com.revolsys.geometry.cs.ParameterValueString) AngularUnit(com.revolsys.geometry.cs.unit.AngularUnit) PrimeMeridian(com.revolsys.geometry.cs.PrimeMeridian)

Example 5 with NoSuchResourceException

use of com.revolsys.spring.resource.NoSuchResourceException in project com.revolsys.open by revolsys.

the class EpsgCoordinateSystems method loadArea.

private static void loadArea() {
    try (ChannelReader reader = newChannelReader("area")) {
        while (true) {
            final int code = reader.getInt();
            final String name = reader.getStringUtf8ByteCount();
            final double minX = reader.getDouble();
            final double minY = reader.getDouble();
            final double maxX = reader.getDouble();
            final double maxY = reader.getDouble();
            final boolean deprecated = readBoolean(reader);
            final Authority authority = new EpsgAuthority(code);
            BoundingBox boundingBox;
            if (Double.isFinite(minX) || Double.isFinite(minX) || Double.isFinite(minX) || Double.isFinite(minX)) {
                boundingBox = new BoundingBoxDoubleXY(minX, minY, maxX, maxY);
            } else {
                boundingBox = BoundingBox.empty();
            }
            final Area area = new Area(name, boundingBox, authority, deprecated);
            AREA_BY_ID.put(code, area);
        }
    } catch (final NoSuchResourceException e) {
    } catch (final WrappedException e) {
        if (Exceptions.isException(e, EOFException.class)) {
        } else {
            throw e;
        }
    }
}
Also used : WrappedException(com.revolsys.util.WrappedException) Authority(com.revolsys.geometry.cs.Authority) ParameterValueString(com.revolsys.geometry.cs.ParameterValueString) BoundingBoxDoubleXY(com.revolsys.geometry.model.impl.BoundingBoxDoubleXY) NoSuchResourceException(com.revolsys.spring.resource.NoSuchResourceException) Area(com.revolsys.geometry.cs.Area) ChannelReader(com.revolsys.io.channels.ChannelReader) BoundingBox(com.revolsys.geometry.model.BoundingBox) EOFException(java.io.EOFException)

Aggregations

ChannelReader (com.revolsys.io.channels.ChannelReader)14 NoSuchResourceException (com.revolsys.spring.resource.NoSuchResourceException)14 WrappedException (com.revolsys.util.WrappedException)14 EOFException (java.io.EOFException)14 ParameterValueString (com.revolsys.geometry.cs.ParameterValueString)12 ParameterName (com.revolsys.geometry.cs.ParameterName)5 Area (com.revolsys.geometry.cs.Area)4 IntHashMap (com.revolsys.collection.map.IntHashMap)3 CoordinateOperationMethod (com.revolsys.geometry.cs.CoordinateOperationMethod)3 UnitOfMeasure (com.revolsys.geometry.cs.unit.UnitOfMeasure)3 Axis (com.revolsys.geometry.cs.Axis)2 AxisName (com.revolsys.geometry.cs.AxisName)2 CoordinateSystemType (com.revolsys.geometry.cs.CoordinateSystemType)2 Ellipsoid (com.revolsys.geometry.cs.Ellipsoid)2 ParameterValue (com.revolsys.geometry.cs.ParameterValue)2 PrimeMeridian (com.revolsys.geometry.cs.PrimeMeridian)2 Datum (com.revolsys.geometry.cs.datum.Datum)2 EngineeringDatum (com.revolsys.geometry.cs.datum.EngineeringDatum)2 GeodeticDatum (com.revolsys.geometry.cs.datum.GeodeticDatum)2 VerticalDatum (com.revolsys.geometry.cs.datum.VerticalDatum)2