MetaCRS

Background
This page is intended as an initial anchor for an OSGeo Project encompassing several projections, and coordinate system related technologies.

My (FrankW) hope was that we could treat a variety of coordinate system activities as one Project from an OSGeo point of view. This helps get us past the issue that some (all?) of them are rather small in terms of teams to justify the full "OSGeo project treatment".

But more importantly it would give us a forum to cooperate. Sharing things like coordinate system dictionaries, test suites and such.

Project Steering Commitee
The project steering committee consists of the following individuals and operates according to the MetaCRS PSC procedures.


 * Frank Warmerdam (chair)
 * Hugues Wisniewski
 * Norm Olson
 * Mike Adair

Sub-projects
The following are considered to be sub-projects of MetaCRS:


 * PROJ.4 - lead - Frank Warmerdam
 * Proj4js - lead - Mike Adair
 * CS-Map - lead - Hugues Wisiewski

Potential Participants

 * libproj4 (the projection-only library maintained by Gerald Evenden)
 * OSGSpatialReference (GDAL coordinate system translation classes)
 * OGR WCTS
 * GeoTIFF/libgeotiff

I'm also hopeful that folks from GeoTools, and OSSIM who maintain their own projections code would participate to take advantage of the dictionaries and test suites even though their libraries wouldn't be part of the project.

Mailing list
In order to facilitate further discussion I have created a mailing list. Please join if you have an interest.

http://lists.osgeo.org/mailman/listinfo/MetaCRS

Practical Questions
Answers are not authoritative - they are one opinion on possible answers.

Are we trying to merge the source into one super-library?
No, though there may be opportunities that arise for consolidation over time.

Is my library/component going to be subject to the whim of other contributors?
I imagine we will want to use the lieutenant model of development where particular components are essentially maintained by a chief maintainer. The project steering committee would establish broad policy (such as contributor rules) and facilitation for shared components (perhaps some dictionaries) while leaving technical direction of some components to their primary maintainer (ie. Norm for CS-Map).

So will all these packages live in a single subversion repository with a single Trac instance?
The current plan is to use a single SVN repository for MetaCRS projects (http://svn.osgeo.org/metacrs) with distinct subtrees for each project. But each project has the option of it's own distinct Trac instance - for example http://trac.osgeo.org/proj and http://trac.osgeo.org/proj4js.

What are Java developers doing on the mailing list?
The Java developers come from a range of projects; and are very interested in geeking out about correctness and accuracy issues. There are also a couple opportunities for collaboration (shared testing scripts and the like).

Non-Programming Collaboration
What opportunities are there for collaboration with projection libraries in languges that are not directly compatable with C programming language or C++ programming language libraries? (For example: GeoTools includes functional code for spatial reference systems in Java based on the ESPG database.)

Suggestions:
 * Common Spatial Reference System or Coordinate Reference System Names and Descriptions
 * Coordinate System (and CRS related object) dictionaries. Stuff like the EPSG dictionary.
 * Datum shift lists (towgs84), and datum grid shift files (NTv1, etc).
 * Transformations, calculations, and algorithms written in pseudocode that can be edited in different languages.
 * Descriptions of spatial reference systems that can be used by developers in different programming languages.
 * Notes on transformation from different representations of a CRS (WKT, PROJ.4, GCTP, GML,...).
 * Test suites with test points in a variety of coordinate systems and their lat/long and WGS84 equivelents).
 * Articles on spatial reference systems and translations useful for programmers interested in spatial reference system implementations. For example:
 * Understanding The Difference Between National Vertical Datum of 1929 and the North American Datum of 1988