From: Richard G. <ric...@gm...> - 2008-02-11 17:29:33
|
I am copying this to the mapbuilder-proj list. This is a reply to an off-list discussion between Mike Adair and myself. I'll use 'cscs' below when referring to the JavaScript. Following on one of my suggestions from September, I'd like the core of cscs to be a subset of cs2cs.c. The core would closely parallel cs2cs.c. I would like to go back and modify some of my work to move it closer to the C code. e.g. the forward/inverse functions should return an XY or LP object rather than modifying the input values by reference. Returning XY or LP is consistent with cs2cs.c, modifying by reference is the gctpc convention. Keeping the core close to cs2cs.c makes maintenance easier, and it makes it easier for other people to help with porting. I'd like the core to be very lean, and have no dependencies on other JS libraries. I would like to leave out lookups. e.g. support from_greenwich but not pm, to_wgs84 but not datum, etc. A wrapper could provide a superset of functionality: dynamic loading, lookups, functionality required by specific implementations like OpenLayers, etc. I am in complete agreement on having a unique namespace, but I would like to see the core stay closer to cs2cs.c. The wrapper could be as object oriented as you like, because it is original work. There is a temptation when porting to 'improve' on the original. But those improvements should go into the original C code first. For each projection added to the project, I would like to see the following metadata in comments: who added it date added source (Proj.4, gctpc, other) and version of source tests (which forms were tested, which hemispheres, etc.) With regard to name, I am as opposed to a Proj*.* type name as I ever was. Naming a new project on a colloquialism is unprofessional, and it is a disservice to non-English speakers. I've never found GDAL or OGR especially catchy, but that doesn't appear to have hindered their adoption. 'CRS' and 'SRS' are commonly used abbreviations. Combined w/ JS that would yield: CRS-JS, JS-CRS, SRS-JS, JS-SRS. I prefer to see a 'G' in there since we are working with specifically with geodetic coordinate systems. I am skiing into a yurt for the rest of the week and will not have email, but I think this is an important discussion. Rich -- Richard Greenwood ric...@gm... www.greenwoodmap.com |