Details
-
Type:
Wish
-
Status:
Closed
-
Priority:
Minor
-
Resolution: Duplicate
-
Affects Version/s: 2.1.M0
-
Fix Version/s: None
-
Component/s: referencing
-
Labels:None
Description
Connecting to a live database of coordinate systems/projections is a heavyhanded way of providing persistence. First off, one must either be connected to the internet or install a database on one's own machine. Secondly, what happens if I have my own projection that I want to save? How do I access those projections the next time I run my program?
WKT, to the best of my knowledge, doesn't maintain authority name or code.
I'm just dreaming here. What I envision is some sort of CoordinateSystemAuthorityFactory implementation which uses an *.xml
file as a persistence mechanism. The EPSG factory would not have a write capability, but the UserDefined factory would.
There'd also need to be some sort of caching mechanism to maintain the most recently used coordinate systems (or components thereof) in memory.
The following dreams should be addressed:
1] Have access to the entire EPSG/other coordinate system database without a live connection.
2] Ability to construct own coordinate system from registered/standard components (like EPSG ellipsoids/datums).
3] Save (and name) one's own coordinate systems once they've been defined. (And load them back in when desired.)
4] Cache the most recently used CRSes for quick access.
XML would be a better storage format, and actually is already part of OGC specification. I believe it is part of GML. XML parsing and formatting of coordinate reference system has not been implemented in Geotools simply because of a lack of human resources. It is going to be a fair amount of work, but this work will need to be done soon or later anyway.
EPSG database without live connection is the subject of
GEOT-46("Provides EPSG data in java embedded database"). We would need a volunteer in order to pushGEOT-46ahead.In the main time, a persistence mechanism available right now is serialization. This is not a very robust one since it may broke if we change the implementation, but is convenient for a cache mechanism for example.
GEOT-46("Provides EPSG data in java embedded database"). We would need a volunteer in order to pushGEOT-46ahead. In the main time, a persistence mechanism available right now is serialization. This is not a very robust one since it may broke if we change the implementation, but is convenient for a cache mechanism for example.