@Override protected <P extends Position> CoordinateReferenceSystem<P> readCrs(ByteBuffer byteBuffer, int typeCode, CoordinateReferenceSystem<P> crs) { // if a CRS is already specified, ignore this value if (crs != null) return crs; CoordinateReferenceSystem crsDeclared = CrsRegistry.getCoordinateReferenceSystemForEPSG(srid, CoordinateReferenceSystems.PROJECTED_2D_METER); return (CoordinateReferenceSystem<P>)crsDeclared; }
@SuppressWarnings("unchecked") protected static <T extends Position> CoordinateReferenceSystem<T> getCrs(Geometry<T>[] geometries) { if (geometries == null || geometries.length == 0) { return (CoordinateReferenceSystem<T>)CrsRegistry.getCoordinateReferenceSystemForEPSG(-1, CoordinateReferenceSystems.PROJECTED_2D_METER); } return geometries[0].getCoordinateReferenceSystem(); }
public static CoordinateReferenceSystem<?> mkCoordinateReferenceSystem( int epsgCode, LinearUnit verticalUnit, LinearUnit measureUnit) { return mkCoordinateReferenceSystem( CrsRegistry.getCoordinateReferenceSystemForEPSG(epsgCode, PROJECTED_2D_METER), verticalUnit, measureUnit ); }
/** * The instance fields wktString and crsId are initialized prior to decoding. For postgis EWKT that entails * extracting the SRID prefix (if any) from the WKT string. * * @param wkt the WKT representation */ private <P extends Position> void prepare(String wkt, CoordinateReferenceSystem<P> crs) { Matcher matcher = SRID_RE.matcher(wkt); if (matcher.find()) { int srid = Integer.parseInt(matcher.group(1)); this.crs = crs != null? crs : CrsRegistry.getCoordinateReferenceSystemForEPSG(srid, CoordinateReferenceSystems.PROJECTED_2D_METER); wktString = wkt.substring(matcher.end()); } else { this.crs = crs != null ? crs : CoordinateReferenceSystems.PROJECTED_2D_METER; wktString = wkt; } }
CoordinateReferenceSystem<?> getCRS(int srid, boolean hasZValues, boolean hasMValues ) { CoordinateReferenceSystem<?> crs = CrsRegistry.getCoordinateReferenceSystemForEPSG(srid, DEFAULT_CRS); if (hasZValues) { crs = CoordinateReferenceSystems.addVerticalSystem(crs, Unit.METER); } if (hasMValues) { crs = CoordinateReferenceSystems.addLinearSystem(crs, Unit.METER); } return (CoordinateReferenceSystem<?>) crs; }
@Override @SuppressWarnings("unchecked") protected <P extends Position> CoordinateReferenceSystem<P> readCrs(ByteBuffer byteBuffer, int typeCode, CoordinateReferenceSystem<P> crs) { boolean hasM = (typeCode & PostgisWkbTypeMasks.M_FLAG) == PostgisWkbTypeMasks.M_FLAG; boolean hasZ = (typeCode & PostgisWkbTypeMasks.Z_FLAG) == PostgisWkbTypeMasks.Z_FLAG; // if set, just validate if (crs != null) { validateCrs(crs, hasM, hasZ); return crs; } CoordinateReferenceSystem crsDeclared; if (hasSrid(typeCode)) { int srid = byteBuffer.getInt(); crsDeclared = CrsRegistry.getCoordinateReferenceSystemForEPSG(srid, CoordinateReferenceSystems.PROJECTED_2D_METER); } else { crsDeclared = CoordinateReferenceSystems.PROJECTED_2D_METER; } if (hasZ) { crsDeclared = addVerticalSystem(crsDeclared, Unit.METER); } if (hasM) { crsDeclared = addLinearSystem(crsDeclared, Unit.METER); } return (CoordinateReferenceSystem<P>)crsDeclared; }