Giter VIP home page Giter VIP logo

disasterwatch's People

Contributors

codemacabre avatar themapsmith avatar vincentsarago avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

disasterwatch's Issues

Uploading Disaster Geometry file

Up to now you can only draw a Point or a Polygon, but it will be nice to able the user to upload there own geojson/shapefile (but we'll have to check the geometry).

Emailing function

Some work still need to be done on the UI, but now I'm going to work on some lambda function for the emailings:

  • Receive Email when we add an event with and email
  • Receive Email when new image is available
  • Unsubscribe

Disaster Form Style ?

I set up a first form to add disaster info!

capture d ecran 2016-09-07 a 22 34 12

I tried to add general disaster tag, but if someone want's to add one I'm all open.
capture d ecran 2016-09-07 a 22 33 40

About the style, it's really basic so I may ask to a someone handy in design to provide some icons!

V1 on its way

Project dev is going really well!
Now with database + mailing working it's time for an early official release.

I'll work on a blog post on RemotePixel.ca to make the announcement before the end of the week

Imagery date and opacity

It seems like the imagery date is one of the most important controls when using this app. I'd suggest making this control popup at the bottom of the screen when an imagery basemap is selected. Maybe a date slider?

image

I'm also not quite sure about the reason for having an imagery opacity control. The Mapbox basemap underneath is so simple I'm not sure what it's supposed to help show the user.

Switch to AWS Lambda and DB

Seems that using AWS Lambda and DynamoDB will be more suitable!

I'll explore that solution in the next weeks.

If you have any thought, PLEASE Share it!

Adding Sentinel 1 radar images

Earthquakes are major disasters and SAR images are the most powerful data to understand and analyze earthquakes damages so it was important to add Sentinel-1 support to disasterwatch.

Up to now I've decided to show only SLC datatype (instead of RAW and GRD) but I'll work on something to make other datatype available.

I'll work on the UI to add a satellite filter because they are a lot of S1 images and not all peoples care about SAR images.

Javascript Correction ?

I'm not a JS dev so there might have a lot a corrections or performance edit to do !

I sliced the app.js file into multiple files to ease access to functions

handling non-point geometry with sat-api-lib

I can not get non-point geometry to work with developmentseed sat-api!

disasterwatch/js/app.js

Lines 287 to 298 in e073cab

if (features.features[0].geometry.type === "Polygon") {
var queryString = 'intersects=' + features.features[0];
}
if (features.features[0].geometry.type === "LineString") {
var queryString = 'intersects=' + features.features[0];
}
if (features.features[0].geometry.type === "Point") {
var queryString = 'contains=' + features.features[0].geometry.coordinates[0].toString() + ',' + features.features[0].geometry.coordinates[1].toString();
}
var sat_api = 'https://api.developmentseed.org/satellites?',
query = sat_api + queryString + '&limit=2000',

To do September 2016

To do list

  • add on-click function and popup for earthquake
  • add option to add earthquake to db
  • create marker and draw function to add a place to disasters db
  • create a form to enter disaster info
  • create a view of available image (Landsat8 and sentinel2 first using sat-api)
  • create a disasters db (mapbox dataset or aws hosted geojson or both)
  • create a function (aws lambda?) to update the disasters db

Database

Up to now I have set up function to read/write/update a geojson file for a disaster database.
Thinking about it this might be a really bad idea in the case where 2 users will add an event a the same time.

Solution: Using a proper database (elasticsearch ?) might be the best way to manage that.

Unable to update event in Firefox

Adding comment to event causes error message "Error... Cannot Add/Update this event". This issue seems to only occur in Firefox (update succeeded when using Microsoft Edge).

dw-updatebug

disasterwatch tiles servers ?

A nice add-on to the UI will be to have the possibility to visualize Full resolution Landsat-8 and Sentinel-2 data.

To Do

  • UI design
  • AWS lambda function to process Landsat-8 (TOA Reflect RGB or band Math)
  • AWS lambda function to process Sentinel-2 (TOA Reflect RGB or band Math)
  • Get GDAL mbtiles drivers to work on lambda function
  • create and host mbtiles server

Landsat8 data are hosted on us-west-2 bucket and Sentinel-2 are hosted on eu-central-1 bucket

  • Check Cost/time of moving data to a bucket instead of creating server in each bucket

UI Enhancement!

Work to be done on UI:

  • Icons for draw selection
  • Add help section
  • Add a box if someone wants to subscribe to an event
  • Ask user before updating or removing an event
  • Add the number of people following an event ?

Restarting Dev

Hi,
I'm planning to move forward on the dev during May and June.

Frontend

  • Implement Mapbox-GL
  • Create an Interface to visualize imagery quicklook and metadata.
  • Create an Interface to add disaster to the database.

Backend

  • Create a database (ElasticSearch).
  • Build a REST like service to add disaster to a database (GET, PUT). (AWS Lambda \ API GateWay)
  • Build a REST like service to get imagery available (GET). (AWS Lambda \ API GateWay)
  • Connection to providers API (REST and OATH) need to be done in JS (AWS Lambda \ API GateWay)

Email models

I see at least three different email that the user can receive:

  • subscription confirmation email
  • Image update email
  • unsubscription confirmation email

I need to get my hands into AWS SES but I think working with email html models will be useful.

?

HTTP to HTTPS for USGS Earthquake

Earthquake geojson from USGS is served in a non secure HTTP connexion.

To Do

  • create an aws lambda function transform content from http to https
    #9

Single Event Page

Would be nice to have a static page for each Event! (e.g. for link in email)

Popup Disaster Type onfocus

I didn't realize the first few times I used the Add to Database form that the Disaster Type box was a select dropdown. It would be nice to give a visual indication of this in some way, like the traditional "down triangle." Also, you could have it popup using the onfocus= event

image

mapbox-gl-draw with map source change

In DW, I love being able to switch form mapbox basemaps to NASA VIIRS/MODIS satellite image but this has a downside, when changing mapbox-gl style we are loosing the mapbox-gl draw. I'm not sure it's a bug but I'll create an issue on mapbox-gl-draw repo.

What to do ?
  • working on the getStyle function to see if adding and removing sources may be better than calling map.setStyle
  • see how mapbox-gl-draw can work on when changing basemap
    #11

Overlay labels on satellite basemap

I'd suggest swapping out the reference labels when the satellite basemaps are on. The light grey with white halos are difficult to read, and the solid black labels are also difficult.

image

To Do - January 2016

Project is currently in phase 1 (Defining structure and to do list)

Frontend

two main things needs to be done

  • Create an Interface to visualize imagery quicklook and metadata.
  • Create an Interface to add disaster to the database.
As I want the webpage to be mobile friendly we have to find a go way to do it either on desktop and on mobile

ideas

  • For visualizing the available imagery I thinking about something like planetLab modal gallery
  • I'm style thinking about the add to database interface, so I'm open to any ideas

Backend

  • Create a nodejs server.
  • Create a database (ElasticSearch or MongoDB).
  • Build a REST like service to add disaster to a database (GET, PUT).
  • Build a REST like service to get imagery available (GET).
  • Connection to providers API (REST and OATH) need to be done in JS
Nothing is done yet, I made some test with nodeJS but It was really basic

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.