wiki:ExtendedRegions

Version 3 (modified by jesseeichar, 12 years ago) ( diff )

--

Extended Regions

Date 2012/09/14
Contact(s) Jesse Eichar
Last edited
Status Proposed
Assigned to release 2.9.x
Resources Jesse personal time
Code https://github.com/jesseeichar/core-geonetwork/tree/improvement/regions

Overview

This proposal intends to extend the existing Regions API with the following features:

  • Add category for each region so they can be displayed in categories (for example continent, country, province)
  • Add API for searching regions based:
    • name
    • category
    • bbox
  • Add optional geometry for each region (in addition to bbox)
  • integrate into XmlSearch and Csw so that the region id can be used to look up the geometry of the region for a spatial filter
  • Add a configurable strategy object for that allows the region implementation to be easily pluggable. For example it might be based on a table in the database or wfs

Proposal Type

  • Type: Improvement
  • App: Geonetwork
  • Module: Web

  • Email discussions:
  • IRC discussions:
  • Related work:

Voting History

  • None as yet

Proposal

The Regions will be backwards compatible but will simply extend the functionality. Currently the Regions API provides a list of regions, each with a unique id. Each region has translated labels and a bounding box. The proposal will extend that API. The new API will be:

  • Get
    • Params
      • id - required
    • Example Response:
      <response>
        <record>
          <id>338</id>
          <north>38.2</north>
          <south>-34.6</south>
          <west>-17.3</west>
          <east>51.1</east>
          <label>
            <eng>Africa</eng>
            <fre>Afrique</fre>
            <ger>Afrika</ger>
            <spa>Africa</spa>
            <rus>Africa</rus>
            <por>Africa</por>
            <chi>Africa</chi>
            <dut>Afrika</dut>
            <nor>Africa</nor>
            <fin>Africa</fin>
            <ara>Africa</ara>
            <ita>Africa</ita>
          </label>
          <category>continent</category>
          <hasGeom>false</hasGeom>
        </record>
      </response>
      
  • List
    • Params
      • category - optional
      • bbox (minx,maxx,miny,maxy, srs) - optional. SRS is optional and assumed to be EPSG:4326
      • label - searches the labels for regions that contain the text in this parameters - optional
    • Example Response
      <regions count="1">
        <region>
          <id>country.1</id>
          <label>
            <eng>France</eng>
          </label>
        </region>
      </regions>
      
  • GetGeom
    • Params
      • id - required (if multiple are provided then multiple geometries will be returned)
      • simplified - optional (if present and true then the geometry will be a simplified version. Some implementations may ignore this hint and return full geometry)
    • Example Response:
      <response>
        <geom id="2"> MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))</geom>
        <geom id="3"> MULTIPOLYGON (((30 20, 10 40, 45 40, 30 20)), ((15 5, 40 10, 10 20, 5 10, 15 5)))</geom>
      </response>
      

Backwards Compatibility Issues

none

Risks

Participants

  • As above
Note: See TracWiki for help on using the wiki.