Return-Path: X-Original-To: apmail-sis-commits-archive@www.apache.org Delivered-To: apmail-sis-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BA24C187D5 for ; Thu, 28 May 2015 16:52:17 +0000 (UTC) Received: (qmail 75087 invoked by uid 500); 28 May 2015 16:52:17 -0000 Delivered-To: apmail-sis-commits-archive@sis.apache.org Received: (qmail 75014 invoked by uid 500); 28 May 2015 16:52:17 -0000 Mailing-List: contact commits-help@sis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sis-dev@sis.apache.org Delivered-To: mailing list commits@sis.apache.org Received: (qmail 74927 invoked by uid 500); 28 May 2015 16:52:17 -0000 Delivered-To: apmail-incubator-sis-commits@incubator.apache.org Received: (qmail 74923 invoked by uid 99); 28 May 2015 16:52:17 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 28 May 2015 16:52:17 +0000 Date: Thu, 28 May 2015 16:52:17 +0000 (UTC) From: "Martin Desruisseaux (JIRA)" To: sis-commits@incubator.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Resolved] (SIS-199) Resolve confusion between EPSG and IOGP in Citations MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/SIS-199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Martin Desruisseaux resolved SIS-199. ------------------------------------- Resolution: Fixed > Resolve confusion between EPSG and IOGP in Citations > ---------------------------------------------------- > > Key: SIS-199 > URL: https://issues.apache.org/jira/browse/SIS-199 > Project: Spatial Information Systems > Issue Type: Bug > Components: Metadata > Affects Versions: 0.4, 0.5 > Reporter: Martin Desruisseaux > Assignee: Martin Desruisseaux > Fix For: 0.6 > > > EPSG is the database while IOGP is the organization maintaining that database. "EPSG" is the codespace used for Coordinate Reference System identifiers (especially in URN), while "IOGP" is the value declared in the {{codeSpace}} attribute of GML documents. Example: > {code:xml} > urn:ogc:def:crs:EPSG::4326 > {code} > This makes the {{Citations.EPSG}} constant confusing. In particular, the {{org.apache.sis.internal.util.Citations}} class contains undocumented hacks checking if a {{Citations}} instance implement the {{IdentifiedSpace}} interface, in which case the {{IdentifiedSpace.getName()}} value is handled as if it was a hidden identifier. Below is two proposals for trying to clarify the situation: > h3. Proposal 1: separate the EPSG and IOGP citations > We could: > * Change the {{Citations.EPSG}} title to _"EPSG Geodetic dataset"_. > * Have {{Citation.getIdentifiers()}} to return an {{Identifier}} singleton with: > ** {{Identifier.getCode()}} return {{"EPSG"}}; > ** {{Identifier.getCodeSpace()}} return {{"IOGP"}}; > ** {{Identifier.getAuthority()}} return a new {{Citation}} with the _"International Association of Oil & Gas producers"_ title. > * Remove the {{Citations.getCodeSpace(Citation)}} internal method, since {{getUnicodeIdentifier(Citation)}} would produce the expected result. However a special care is needed for {{org.apache.sis.internal.jaxb.referencing.Code}} which needs the old behavior. The rule would be: > If {{identifier}} is an identifier of a geodetic object (for example "EPSG:4326") then: > * {{getUnicodeIdentifier(identifier.getAuthority())}} return "EPSG". > * {{getUnicodeIdentifier(identifier.getAuthority().getIdentifier().getAuthority())}} return "IOGP" (because this would be the "authority of the EPSG authority"). > This is admittedly convolved. > h3. Proposal 2: A single citation > {{Citations.EPSG}} would be documented as the IOGP authority in the particular case when it is used for CRS of the EPSG dataset. Its title would be _"International Association of Oil & Gas producers"_ despite the {{EPSG}} constant name. Advantages of this simpler approach is to make clearer that EPSG is a codespace rather an authority (the authority is IOGP). So: > * {{Identifier.getAuthority()}} would return a {{Citation}} with the _"International Association of Oil & Gas producers"_, which (as said above) may be a more accurate authority than _"EPSG Geodetic Dataset"_ if we want the authority to be a real organization. > * {{Identifier.getCodeSpace()}} would return "EPSG". > "IOGP" and "OGP" identifiers would be added, while {{IdentifierSpace.getName()}} would continue to return "EPSG". But it may not allow us to remove the hack in {{Citations}} internal class. -- This message was sent by Atlassian JIRA (v6.3.4#6332)