2

I need to be able to evaluate how remote a location is given its geographical coordinates. I rate remoteness based off of a few key metrics, so far, I am only able to calculate a subset of all the required metrics:

  1. The cellular reception at the given coordinate. More specifically, the density of cell towers around the coordinate. This can be found using opencellid.org.
  2. Elevation. This can be found using Google's Elevation API

How can one find these remaining metrics for remoteness?

  1. The type of natural feature the coordinate is in. (eg. Lake, River, Glacier, Ocean, Island, Mountain)
  2. Distance to the nearest road. (Google's Snap Road API and Nearest Road API only work if the coordinate is within 50m of a road, that will not work as some coordinates are hundreds of km from the nearest road).
Rage
  • 870
  • 9
  • 27
  • I assume you've found this: https://stackoverflow.com/questions/29614960/determine-type-of-terrain-at-location This is probably one of the "cheapest" solutions. I think a more full-fledged solution would be to design an image classifying neural network that would take the satellite view at that coordinate and classify it. This shouldn't be that bad to DIY, but I'd probably try to grab someone else's trained model first. – Mark H Feb 28 '21 at 20:16
  • For the cell, try OpenCellID http://www.opencellid.org/ – Mark H Feb 28 '21 at 20:22
  • @Rage where did end up with this ? I commented below as an answer. – Mike Q Mar 04 '21 at 18:35
  • I have edited the question @MikeQ – Rage Mar 04 '21 at 20:40

2 Answers2

2

About land type

For your first question it has already been answered here, except it is only for land/water.

My approach would be the following:

Using maps static, you get the image at your coordinate, you get the pixel at the center of your image (your coordinates) and you use a hashmap/dictionary that contains all the different possible colors and their land type, would be very quick to implement. But you can find out different ideas by reading the first link provided.


For strength of cellular signal

As for your second question, you can use Google API to detect the closest cell towers object, using the locationAreaCode that you can obtain through the coordinates:

An example cell tower object is below.

{
  "cellTowers": [
    {
      "cellId": 170402199,
      "locationAreaCode": 35632,
      "mobileCountryCode": 310,
      "mobileNetworkCode": 410,
      "age": 0,
      "signalStrength": -60,
      "timingAdvance": 15
    }
  ]
}
Antonin GAVREL
  • 9,682
  • 8
  • 54
  • 81
  • How do you suggest creating a hashmap of colors mapped with their land type? Google uses their own coloring scheme. – Rage Mar 04 '21 at 19:36
  • They don't use that many colors, so you can have a default "unknown land type" if your map doesnt have the color (you forgot to add it), and for the others it is up to scrap, I would recommend to use Colorzilla with ColorPicker to get the RGB value they use https://chrome.google.com/webstore/detail/colorzilla/bhlhnicpbhignbdhedgjhgdocnmhomnp – Antonin GAVREL Mar 04 '21 at 19:41
  • Good idea, however, I have edited the question – Rage Mar 04 '21 at 20:40
0
  1. What is the purpose I wonder? You could take a sampling of coordinates around the fix and if they are mostly on a hill or in water it is definitive, it seems people know how to figure out this kind of stuff with google apis.

  2. Would this be good enough? Get Lat/Lon and range from a sources like this: https://my.opencellid.org/dashboard/login?ref=opencellid for free. Use a formula to determine the distance between the gps locations like this: https://nathanrooy.github.io/posts/2016-09-07/haversine-with-python/. Then make your own determination on strength based on "range" and terrain. perhaps create a DB table of say 500 zip codes with label for terrain type rating. If 10 or something it's the worst terrain and you drop the strength by something that makes sense.

Mike Q
  • 6,716
  • 5
  • 55
  • 62
  • 1.) I have not seen an API that determines a natural feature at a pair of coordinates. 2.) That was helpful, I am now using opencellid.org – Rage Mar 04 '21 at 19:35