| 29 | | This section is moving to [wiki:BluePrintGISLocationSelector] |
| 30 | | |
| 31 | | There are 6 ways of adding a location, listed in ideal order: |
| 32 | | 1. '''Bulk import''' has either Location Names or Lat/Lons |
| 33 | | * This could optionally use Image EXIF headers or a timesynced GPX file |
| 34 | | * NB: This refinement can be added later |
| 35 | | 2. '''HTML5 !GeoLocation''': If the resource is one where the user is likely to be physically at the relevant location |
| 36 | | * e.g. pr/person/presence can be recorded automatically upon login |
| 37 | | * We should use a 'nearby' algorithm (like {{{gis.get_features_in_radius()}}}) to re-use existing locations rather than adding a new one each time. |
| 38 | | * NB: This refinement can be added later |
| 39 | | 3. '''Map''': User clicks on a location on the map |
| 40 | | * If we have admin boundaries available then: |
| 41 | | * We can zoom to the correct area if a level of hierarchy has been selected |
| 42 | | * The correct hierarchy can be filled-in automatically |
| 43 | | * If not then the user can be prompted to provide these (as per 6) |
| 44 | | * Michael: It would also be useful if existing locations could be displayed on the map (prehaps with the Location Type displayed too), so that the user could add a new location relative to existing locations, or choose a existing location off the map instead. |
| 45 | | 4. '''Manual Entry of Lat/Lon''': (either from a GPS or looked up in an online resource like Wikipedia) |
| 46 | | * A Conversion tool is available to convert from Deg/Min/Sec to Decimal Degrees |
| 47 | | * If we have admin boundaries available then the correct hierarchy can be filled-in automatically |
| 48 | | * If not then the user can be prompted to provide these (as per 6) |
| 49 | | 5. '''Geocoder''': Street Address is entered & this is matched to a location via a [wiki:BluePrintGISGeolocator Geocoding service] |
| 50 | | * We already have functionality ready for Google & Yahoo in {{{modules/s3gis.py}}}. |
| 51 | | * We need to add at least [http://geonames.org Geonames]. |
| 52 | | 6. '''Hierarchical Selector''': |
| 53 | | * We have dropdowns for each of the different levels. |
| 54 | | * The country selector should remain hidden if there is only 1 country being used. |
| 55 | | * Initially just a single dropdown should be displayed. |
| 56 | | * When this dropdown is selected then the next dropdown is displayed, along with appropriate values |
| 57 | | * We download the values via AJAX in order to not have to download all Locations, however we could download the next set in the background whilst the user is thinking: means a bigger download to filter client-side, but maybe less time overall. Can be experimented with. |
| 58 | | * When the final dropdown is selected then the user has the option of adding a more specific Name & a Street Address |
| 59 | | * This should not be mandatory as some records need to link directly to the L0-L4 levels. |
| 60 | | |
| 61 | | If adding a new Location, then the name of the location should *not* be the general name, but rather a specific one |
| 62 | | * Where possible, we automate this by using the name of the Shelter or Hospital |
| 63 | | * Should we prevent 'Add Location' from working until that field is filled-in? |
| 64 | | * We need to make this clear in the online help. |
| 65 | | |
| 66 | | We want to be able to optionally specify which levels of hierarchy we are interested in for this resource. This would be part of the API for location_id() |
| 67 | | |
| | 29 | This section has moved to [wiki:BluePrintGISLocationSelector] |