| 1 | = Extended Regions = |
| 2 | |
| 3 | || '''Date''' || 2012/09/14 || |
| 4 | || '''Contact(s)''' || [http://wiki.osgeo.org/wiki/User:Jeichar Jesse Eichar] || |
| 5 | || '''Last edited''' || || |
| 6 | || '''Status''' || Proposed || |
| 7 | || '''Assigned to release''' || 2.9.x || |
| 8 | || '''Resources''' || Jesse personal time || |
| 9 | || '''Code''' || https://github.com/jesseeichar/core-geonetwork/tree/improvement/regions || |
| 10 | |
| 11 | == Overview == |
| 12 | |
| 13 | This proposal intends to extend the existing Regions API with the following features: |
| 14 | |
| 15 | * Add category for each region so they can be displayed in categories (for example continent, country, province) |
| 16 | * Add API for searching regions based: |
| 17 | * name |
| 18 | * category |
| 19 | * bbox |
| 20 | * Add optional geometry for each region (in addition to bbox) |
| 21 | * 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 |
| 22 | * 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 |
| 23 | |
| 24 | === Proposal Type === |
| 25 | * '''Type''': Improvement |
| 26 | * '''App''': Geonetwork |
| 27 | * '''Module''': Web |
| 28 | |
| 29 | === Links === |
| 30 | |
| 31 | * '''Email discussions''': |
| 32 | * '''IRC discussions''': |
| 33 | * '''Related work''': |
| 34 | |
| 35 | |
| 36 | === Voting History === |
| 37 | |
| 38 | * None as yet |
| 39 | |
| 40 | ---- |
| 41 | |
| 42 | |
| 43 | == Proposal == |
| 44 | |
| 45 | 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: |
| 46 | |
| 47 | |
| 48 | * Get |
| 49 | * Params |
| 50 | * id |
| 51 | * Example Response: {{{<response> |
| 52 | <record> |
| 53 | <id>338</id> |
| 54 | <north>38.2</north> |
| 55 | <south>-34.6</south> |
| 56 | <west>-17.3</west> |
| 57 | <east>51.1</east> |
| 58 | <label> |
| 59 | <eng>Africa</eng> |
| 60 | <fre>Afrique</fre> |
| 61 | <ger>Afrika</ger> |
| 62 | <spa>Africa</spa> |
| 63 | <rus>Africa</rus> |
| 64 | <por>Africa</por> |
| 65 | <chi>Africa</chi> |
| 66 | <dut>Afrika</dut> |
| 67 | <nor>Africa</nor> |
| 68 | <fin>Africa</fin> |
| 69 | <ara>Africa</ara> |
| 70 | <ita>Africa</ita> |
| 71 | </label> |
| 72 | <category>continent</category> |
| 73 | <hasGeom>false</hasGeom> |
| 74 | </record> |
| 75 | </response>}}} |
| 76 | === Backwards Compatibility Issues === |
| 77 | |
| 78 | none |
| 79 | |
| 80 | == Risks == |
| 81 | |
| 82 | |
| 83 | == Participants == |
| 84 | * As above |