[wiki:Haiti] == Haiti GIS == bitner, gavin_t, flavour & tcarobruce coordinating in #sahana-gis dokotreas joined the team === Map-based Lat/Lon Data entry === * Provide a function to allow selecting a location on a map to populate * Points: Lat/Lon fields * Polygons: WKT === Fix the map-based gis_location.represent === Currently this is commented out in {{{models/03_gis.py}}} Want to separate out HTML representation .represent's from Export ones (i.e. all the rest). * Plan for this in-progress === Bugs === * #87 * #91 * #109 === GPS Conversion Tool === * Accessible from /gis/location/create * Should support negative degrees! * Ideally should allow setting of N/S & E/W instead of having to remember the +/- === MGRS === * Add MGRS Coordinate Display to Map * Chris Schmidt made MGRS / Lat Lon mouse position control using Jim Klassens USNG Lib * map.addControl(new OpenLayers.Control.MGRSMousePosition()); * Example Code http://hypercube.telascience.org/haiti/js/haiti.js * Using http://hypercube.telascience.org/haiti/js/usng2.js * And http://hypercube.telascience.org/haiti/js/MP.js * Add Clickable Index (KML,GeoRSS, or Queryable WMS) to get to MGRS Map Sheets begin Produced by Talbot Brooks === Admin UI === * Provide admin UI for feature_to_feature_group, feature_class_to_feature_group, etc * {{{controllers/gis.py}}} & {{{views/gis/...}}} * Features are stored in the table gis_location * Feature Classes are types of Feature & determine their Marker (Icon): gis_feature_class * Feature Groups are collections of Features & Feature Groups & determine whether they appear as a separate layer on the Map to be enabled/disabled: gis_feature_group * There are Many-to-Many tables linking these together (defined in {{{models/03_gis.py}}}) * There are basic Controller functions for editing these resources, however they aren't fully-exposed to users (need to type URL manually) * We want nice User interface for these & menus (menus for GIS need some wider cleanup work anyway) * Allow to reorder layers and select which base layer to start with === Feeds === * Provide UI to access feeds: * KML feeds: * http://haiti.sahanafoundation.org/prod/gis/location.kml * http://haiti.sahanafoundation.org/prod/gis/location.kml?feature_class=Hospital * http://haiti.sahanafoundation.org/prod/or/organisation/4/office.kml * Provide an easy way to select the Org by name * http://haiti.sahanafoundation.org/prod/or/office.kml * GeoRSS feeds: * http://haiti.sahanafoundation.org/prod/gis/location.georss * http://haiti.sahanafoundation.org/prod/gis/location.georss?feature_class=Hospital * http://haiti.sahanafoundation.org/prod/or/organisation/4/office.georss * http://haiti.sahanafoundation.org/prod/or/office.georss * GPX feeds: * http://haiti.sahanafoundation.org/prod/gis/location.gpx * http://haiti.sahanafoundation.org/prod/gis/location.gpx?feature_class=Hospital * http://haiti.sahanafoundation.org/prod/or/organisation/4/office.gpx * http://haiti.sahanafoundation.org/prod/or/office.gpx * KML Export * Include Marker * From our own site when using Portal * From sahanafoundation.org when using an offline instance? * So have a setting flag in {{{models/00_settings.py}}} for this (or gis_config table or gis_settings table?) * bounds information - e.g. lat/lon min/max to go in the metadata. this improves display of KML when opened in the like of GE and other apps. not required, but does improve display * Polygon support (currently uses Centroid) * GeoRSS Export * Polygon support (currently uses Centroid) * GPX Export * stick some extra info into - as auto GPS units what support bluetooth phones can recognise phone numbers and allow hands free calling * bounds information - e.g. lat/lon min/max to go in the metadata. this improves display of GPX when opened in the like of GE and other apps. not required, but does improve display * Polygon support (currently uses Centroid) * Import * GPX * Bulk Uploader needs finishing * GeoRSS * KML === UI === * Separate out the Internal Features from External Features in !LayerSwitcher ([http://geoext.org/tutorials/layertree-tutorial.html#filtering GeoExt] skills) * {{{views/gis/map_viewing_client.html}}} +68 * Be able to Group layers in layer Tree into Folders * ~~Add numZoomLevels=22 (or some higher number than the default 16 so can zoom in on high res imagery better~~ === IS_LOCATION Validator === Add a custom validator to {{{modules/validators.py}}} (or new {{{modules/s3gis.py}}}): {{{ IS_LOCATION() }}} * This should support the ability to select a gis_location as an admin area (i.e. we don't know the exact location, but we know the town or district) * This should be an AJAX auto-complete. * Once chosen, then the 'parent' will be set to this location * It should also support the ability to enter a precise Lat/Lon (or Polygon), in which case a function in the new {{{modules/s3gis.py}}} would calculate which admin area to set as the Parent automatically. === !OpenLayers === * Cluster Strategy * Handle many Vectors (IE can't handle many more than 100) * http://openlayers.org/dev/examples/strategy-cluster.html * WFS Layers * WMS Capabilities Browser * http://dev.geoext.org/trunk/geoext/examples/wms-capabilities.html * Unzip KMZ layers * ~~[http://dev.openlayers.org/releases/OpenLayers-2.8/doc/apidocs/files/OpenLayers/Layer/XYZ-js.html XYZ Layers]~~ * Generated JS seems OK, but layers aren't visible * XYZ layers verbatim from http://hypercube.telascience.org/haiti/uav.html work when entered as advanced JS layers * Image layers? * Added image layers from http://hypercube.telascience.org/haiti/uav.html using advanced JS === Load GIS data === tcarobruce working on this * Polygons for PaP neighborhoods from https://www.geoint-online.net/community/haitiearthquake/Geospatial%20Data%20Files/Forms/AllItems.aspx * '''Projection Issue''' Departments and Communes files are in [http://www.spatialreference.org/ref/epsg/32618/ EPSG:32618] * Administratrive Areas (3 levels) -- tcarobruce has a partial solution for this * Unofficial: [http://tcbxyz.com/haiti/HaitiAdminAreas.zip Departments, Communes, Sections in EPSG:4326] * Official (with '''projection issue'''): [https://www.geoint-online.net/community/haitiearthquake/Geospatial%20Data%20Files/haiti_departments01132010.zip Departments], [https://www.geoint-online.net/community/haitiearthquake/Geospatial%20Data%20Files/haiti_communes_01132010.zip Communes], [https://www.geoint-online.net/community/haitiearthquake/Geospatial%20Data%20Files/haiti_sections_01132010.zip Sections] * Shapefile to WKT (for calculations): {{{ogr2ogr -f CSV haiti_departments Haiti_departementes_edited_01132010.shp -lco GEOMETRY=AS_WKT}}} (OGR 1.6+) * '''to reproject''' with ogr2ogr, add source and transformation SRSes: {{{-s_srs EPSG:32618 -t_srs EPSG:4326}}} * Build a script to do this (very useful for future responses as this is a common process) * can run the script from a Controller so that you can access Models * provide UI afterwards * WMS for display on Map (large Vectors will slow browsers to a crawl): http://haiti.opensgi.net/geoserver/ows?service=wms&version=1.1.1&request=GetCapabilities * Populations * Shapefiles https://www.geoint-online.net/community/haitiearthquake/Geospatial%20Data%20Files/2003_Haiti_pop_estimates.zip * WFS (ortelius): http://haiti.opensgi.net/geoserver/ows?service=wfs&version=1.1.0&request=GetCapabilities * TMS/WMS layers for new imagery: * http://hypercube.telascience.org/haiti/uav.html * http://haiti.opensgi.net/styler/index.html * [http://google-latlong.blogspot.com/2010/01/haiti-imagery-layer-now-available.html GeoEye] * http://www.geonames.org/search.html?q=&country=HT * http://www.fallingrain.com/world/HA/ ---- [wiki:Haiti]