Skip to content

sachi097/hey-esri

Repository files navigation

Hey ESRI

A project to showcase various services provided by ESRI. And to incorporate NLP to support services over voice command.

This project is built using Ionic | Angular | Capacitor.

Features

  1. Explore Tab: Contains search widget, zoom widget and custom current location button.

  2. Hey ESRI Tab: Contains speech recognition feature where user can perform below tasks via voice command

    • Search location: Example - Search Boulder, Search Denver, etc.
    • Directions: Example - Give Me Directions From Boulder To Denver, Find Directions From Boulder To Denver, Give Me Direction From Boulder To Denver, Find Direction From Boulder To Denver
    • Find nearby places: Example - Find nearby food, Find nearby gas station
    • Navigate to current location: Example - My current location, Show me my current location, Give my current location

    Note: text in bold must be in your speech in order for speech recognition agent to serve your request

  3. Directions Tab: Contains directions wizard where user can manually enter source and destination, and get the directions.

  • Current location of the user is displayed on the map with pin icon, user can click on the pin to get current address and longitude-latitude details.
  • When the route is displayed on the map for directions service, user can click on the source/destination to get step-by-step navigations.
  • On getting results for nearby places, user can click on each places to get the address.

Builds

App is available on

  • ios devices
  • Web

Note: Web version has limitations with speech recognition hence Hey ESRI tab do not work well with web version of the app.

Running it locally

  1. Install required environments
  1. Clone repository
git clone https://github.com/sachi097/hey-esri.git
  1. Update environment files
  • add ArcGIS Developers api key in hey-esri/src/environments/environment.ts file and in environments.prod.ts (for production)
  1. For web
ionic serve
  1. For ios (assuming you have installed xcode and other required enviroments as per step)
ionic cap run ios --livereload --external

Working Video

Demo

Future Works

  1. Include features like current weather, weather predictions, disaster predictions.
  2. Integrate Natural Language Processing to enhance speech to service abilities. Currently, speech to service works over bunch of pre-defined speech patterns. Hence, NLP will eliminate pre-defined speech patterns.
  3. Enhance user interface and build app for android devices.

Useful links

  • Map - Class to create map instance with base map.
  • Basemap - A basemap is a collection of layers that provide geographic context to a map or scene.
  • ⁠MapView - A MapView displays a 2D view of a Map instance.
  • Widget - To add show search, zoom and locator widgets on the map.
  • Find Places - To find nearby places ex: food, gas station, coffee shop, hotel, and etc.
  • Reverse Geocoding - To convert point [longitude, latitude] to address or place.
  • MarkerSymbol - Used to draw Point graphics in a FeatureLayer or individual graphics in a 2D MapView.
  • MarkerSymbol Samples - Portal to explore available ESRI marker symbols.
  • ArcGIS Maps SDK for JS - ArcGIS API for JavaScript, is a developer product for building mapping and spatial analysis applications for the web.

Found problems or have suggestions

Please feel free to drop questions, comments and raise issues. You are welcome to create PRs.

Please star the repository if you like it

About

Project to showcase ESRI services with NLP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published