In Japan, looking back on our history, we' ve been hit a lot of disaster. From the viewpoint of geography, we are exposed to some danger. Nowadays there are several applications that show routes to shelters when people are under dangerous situation. However, do these apps take into account how safe the route itself is? On this occasion, we developed Evacuation Support App in order to enable people to escape from danger quickly identifing which route is safe and better.
What it does
When we are faced with emergency situations, for example; tsunami, or earthquake, the app shows its users how they can get to the place where the local government designates as a shelter. It is accompanied with drones. Graphical data from drone is meant to be sent to the app, and then it provides the users with information that which is the best way and real images of streets. The users can opt for their way from the information. They can also choose the other ways which are not the optimal if they reckon that they can go ahead. In addition, if the basic information of shelters are registered beforehand, the users can check how many people are heading for each shelter and the shelter can accept. Evacuation support app is existed at least in Japan; however, it has a problem that people cannot identify which is the best way for them from the perspective of safety and distance. The unique value of our app is that adding visual information of streets or shelters to map in real time. It also has a wide range of probability, for example: once the app links with data such as citizen information restored by the local governments, they can know who is already under safety and who is now evacuating.
This system interacts with a drone, extracts data from pictures taken by the drone (we borrowed it from Media Lease corporation(http://www.mlinc.co.jp) ). Then it saves disaster information into a database. Person who is in charge of this system and belongs to the Japanese local government operates it and collects data using a drone. The drone is meant to head for the area which is suggested it is hit by disaster. This system is comprised of an iOS app and backend APIs. The system process is as follows :
- Person in charge takes pictures using iOS app with a drone.
- Data is sent to a backend API.
- Based on the pictures, the backend API identifies whether disaster happens or not and if happened, what kind of disaster it is.
- the API saves the data into a database once it identifies disaster happens.
In terms of that iOS app, there are two features.
- Take pictures using drone - this app can communicate with drone made by DJI and take pictures by the camera which is equipped with the drone using DJI SDK. Pictures are saved in the internal storage of the drone.
- Send and save disaster information into database - Pictures saved in internal storage is sent to S3 using DJI SDK/ Amazon Amplify. In the meantime, location information as Exif data are attached to pictures (JPEG). Then, object information in S3 is supposed to be sent to backend API.
With regards to backend API, it consists of two components.
- Disaster Detection API with Sagemaker - it uses IncidentsDataset learning model which is made up of 446,684 pictures related to some events such as traffic accident, natural disaster, and so on. This API predicts the type of disaster and returns the result. (In terms of IncidentsDataset, please see a thesis "Detecting natural disasters, damage, and incidents in the wild" )
- Aggregate API - This API calls Disaster Detection API and makes it identify whether disaster happens or not based on the pictures received from iOS app. Then, if Disaster Detection API determines disaster happens, this API sends location information and the URL of pictures to Dynamo DB.
In terms of sending disaster and shelter information to HTML, Lambda detects every actions in Dynamo DB and sends JSON file to S3 bucket which the app runs in. The process is as follows:
- Get all tables in Dynamo DB as JSON file - Once Lambda detects update, delete, add actions in Dynamo DB, it converts data in each table (Location, Disaster Information)to JSON. The converted data is saved in designated S3 buckets.
- Cleanse data for the app in S3 - Once JSON file saved in designated S3 bucket, Lambda starts to cleanse the file. After completing it, the file is sent to another S3 bucket which the app runs in. Then, HTML reads the data and the app shows disaster and shelter information.
This app is a map application showing disaster and shelter information. It is supposed to be used when disaster happens, people escape from the dangerous area using this app. It is a web application running on cross-platform browser like mobile devices and PC. There are two main features
- Show information - Showing basic geo information is realised by AWS Location and MapLibre GL JS. When the app runs, country code and local government code in accordance with ISO3166 is designated using URL parameter. Then, the app gets the up-to-date disaster information and shelter information in the local area which is specified by the code. The app shows the information on map using graphical depiction like pins, red circle and so force.
- Search for routes - This app can search for safe routes from user's current location to shelters. On the first attempt to get information, it uses Route feature on AWS Location service. After obtaining the information, it checks whether the dangerous area is overlapped with routes or not, makes the best effort not to guide user to the area, and changes the route to safer one.
How we built it
In our team, we have two frontend engineers and two backend engineers. We communicated with each other frequently. Basically the two teams implemented systems separately; however, once we had trouble with establishment, we got together and discuss how we can get it over.
Challenges we ran into
We had trouble with operating a drone and the Japanese law was a standing block for testing.
Accomplishments that we're proud of
We borrowed real drone and built an app on drone. Media Lease lends us a drone. We are very delighted to use it and appliciates it.
What we learned
We learnt how to use Sagemaker, Location, and Amplify.
What's next for Evacuation Support App
We would like to propose our solution to the Japanese local government.