public final class Projections extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
static class |
Projections.ProjectionDefinition
Class to hold information about one projection.
|
Modifier and Type | Field and Description |
---|---|
private static java.util.Set<java.lang.String> |
allCodes |
private static java.util.Map<java.lang.String,Datum> |
datums |
private static java.util.Map<java.lang.String,Ellipsoid> |
ellipsoids |
private static java.util.Map<java.lang.String,Projections.ProjectionDefinition> |
inits |
private static java.util.Map<java.lang.String,NTV2GridShiftFileWrapper> |
nadgrids |
private static java.util.Map<java.lang.String,Projection> |
projectionsByCode_cache |
private static java.util.Map<java.lang.String,java.util.function.Supplier<Projection>> |
projectionSuppliersByCode |
private static java.util.Map<java.lang.String,ProjFactory> |
projs
Registry for custom projection
should be compatible to PROJ.4
|
Modifier | Constructor and Description |
---|---|
private |
Projections() |
Modifier and Type | Method and Description |
---|---|
static java.util.Collection<java.lang.String> |
getAllBaseProjectionIds()
Get a list of ids of all registered base projections.
|
static java.util.Collection<java.lang.String> |
getAllProjectionCodes()
Get a list of all supported projection codes.
|
static Proj |
getBaseProjection(java.lang.String id)
Get a base projection by id.
|
static Datum |
getDatum(java.lang.String id)
Get a geodetic datum by id.
|
static Ellipsoid |
getEllipsoid(java.lang.String id)
Get an ellipsoid by id.
|
static java.lang.String |
getInit(java.lang.String code)
Get the projection definition string for the given code.
|
static NTV2GridShiftFileWrapper |
getNTV2Grid(java.lang.String id)
Get a NTV2 grid database by id.
|
static Projection |
getProjectionByCode(java.lang.String code)
Get a projection by code.
|
static java.lang.String |
listDatums()
Replies the list of datums as string (comma separated).
|
static java.lang.String |
listEllipsoids()
Replies the list of ellipsoids as string (comma separated).
|
private static java.lang.String |
listKeys(java.util.Map<java.lang.String,?> map) |
static java.lang.String |
listNadgrids()
Replies the list of nadgrids as string (comma separated).
|
static java.lang.String |
listProjs()
Replies the list of projections as string (comma separated).
|
private static void |
loadNadgrids(java.lang.String definition) |
static java.util.List<Projections.ProjectionDefinition> |
loadProjectionDefinitions(java.io.BufferedReader r)
Load projection definitions from file.
|
static java.util.List<Projections.ProjectionDefinition> |
loadProjectionDefinitions(java.lang.String path)
Load projection definitions from file.
|
static void |
registerBaseProjection(java.lang.String id,
java.lang.Class<? extends Proj> projClass,
java.lang.String origin)
Plugins can register additional base projections.
|
static void |
registerBaseProjection(java.lang.String id,
ProjFactory fac,
java.lang.String origin)
Plugins can register additional base projections.
|
static void |
registerProjectionSupplier(java.lang.String code,
java.util.function.Supplier<Projection> supplier)
Register a projection supplier, that is, a factory class for projections.
|
private static final java.util.Set<java.lang.String> allCodes
private static final java.util.Map<java.lang.String,java.util.function.Supplier<Projection>> projectionSuppliersByCode
private static final java.util.Map<java.lang.String,Projection> projectionsByCode_cache
private static final java.util.Map<java.lang.String,ProjFactory> projs
private static final java.util.Map<java.lang.String,Ellipsoid> ellipsoids
private static final java.util.Map<java.lang.String,NTV2GridShiftFileWrapper> nadgrids
private static final java.util.Map<java.lang.String,Projections.ProjectionDefinition> inits
private Projections()
private static void loadNadgrids(java.lang.String definition)
public static void registerBaseProjection(java.lang.String id, ProjFactory fac, java.lang.String origin)
id
- The "official" PROJ.4 id. In case the projection is not supported
by PROJ.4, use some prefix, e.g. josm:myproj or gdal:otherproj.fac
- The base projection factory.origin
- Multiple plugins may implement the same base projection.
Provide plugin name or similar string, so it be differentiated.public static void registerBaseProjection(java.lang.String id, java.lang.Class<? extends Proj> projClass, java.lang.String origin)
id
- The "official" PROJ.4 id. In case the projection is not supported
by PROJ.4, use some prefix, e.g. josm:myproj or gdal:otherproj.projClass
- The base projection class.origin
- Multiple plugins may implement the same base projection.
Provide plugin name or similar string, so it be differentiated.public static void registerProjectionSupplier(java.lang.String code, java.util.function.Supplier<Projection> supplier)
code
- the code of the projection that will be returnedsupplier
- a supplier to return a projection with given codepublic static Proj getBaseProjection(java.lang.String id)
id
- the id, for example "lonlat" or "tmerc"public static Ellipsoid getEllipsoid(java.lang.String id)
id
- the id, for example "bessel" or "WGS84"public static Datum getDatum(java.lang.String id)
id
- the id, for example "potsdam" or "WGS84"public static NTV2GridShiftFileWrapper getNTV2Grid(java.lang.String id)
id
- the idpublic static java.lang.String getInit(java.lang.String code)
code
- the codepublic static java.util.List<Projections.ProjectionDefinition> loadProjectionDefinitions(java.lang.String path) throws java.io.IOException
path
- the pathjava.io.IOException
- in case of I/O errorpublic static java.util.List<Projections.ProjectionDefinition> loadProjectionDefinitions(java.io.BufferedReader r) throws java.io.IOException
r
- the readerjava.io.IOException
- in case of I/O errorpublic static Projection getProjectionByCode(java.lang.String code)
code
- the code, e.g. "EPSG:2026"public static java.util.Collection<java.lang.String> getAllProjectionCodes()
getProjectionByCode(java.lang.String)
public static java.util.Collection<java.lang.String> getAllBaseProjectionIds()
getBaseProjection(java.lang.String)
private static java.lang.String listKeys(java.util.Map<java.lang.String,?> map)
public static java.lang.String listProjs()
public static java.lang.String listEllipsoids()
public static java.lang.String listDatums()
public static java.lang.String listNadgrids()