Elevation API/database without using Google? - api

I need to find the maximum elevation along a given path (defined by start and end latitude/longitude), but in searching the internet the only option I seem to find is the Google elevation api. Unfortunately, that's not an option because the google terms of service explicitly state that:
The Google Maps Elevation API may only be used in conjunction with displaying results on a Google map. It is prohibited to use Google Maps Elevation API data without displaying a Google map.
Since my usage does not involve a google map (I'm using Open streetmap data combined with FAA sectional charts), using the Google Maps Elevation API would directly violate this. Additionally, I want to say that Google prohibits commercial usage, which this is (although we may be able to pay an exorbitant fee to get around that restriction).
In any case, given that the Google Maps Elevation API isn't an option, what other options do I have, either in a web-based API similar to Google, or in some sort of a local database download that I can query?

The USGS offers downloads of elevation data in various formats at https://nationalmap.gov/small_scale/atlasftp.html I was able to download a GeoTIFF of the area of interest, load it into a PostgreSQL database, and use the PostGIS extension to perform queries against the data to retrieve the desired information. No licensing issues or number of data point restrictions, plus it's all local.

Related

Google maps API usage limits

I have used google map API but unfortunately I have discovered that they have an usage limits so I want to know that are there anyway o get an google map API without any usage limits, and if it is not how can I get any license?
Google maps api usage and limits
Do I need an API key?
Answer: in the early days of google maps you did not require an API key (it is still possible to not have one due to backwards compatibility) however, today, it is recommended that you generate an API key for google maps V3. Also, have in mind that some features are not available without the API key.
If you want to inform your self more about the API key, here is the official page that will tell you how to get started with it and how to include it to your project,
url: https://developers.google.com/maps/documentation/javascript/tutorial
What are the usage limits?
Answer: If your site gets 25 000 map loads or more every single day, for more than 90 days in a row, the google team will get in touch with you (they are well aware of your google maps usage). If however you don't think your google maps will generate such an amount of traffic then do the following:
Modify your application so that your usage is less than 25 000 map loads per day.
Enroll for automated billing of excess map loads in the Google Developers Console.
Purchase a Google Maps API for Work license.
Here is the official page for the limits,
url: https://developers.google.com/maps/documentation/javascript/usage#quota
To sum it all up:
If you can predict huge traffic on your website (and using the google maps API within your website), then once again, read carefully the docs and see what further steps need to be taken, otherwise you can experiment with google maps as much as you want.

Google Adwords Keyword Tool API to automatically extract data onto a website

Im looking to use Google Adwords Keyword tool data on a website. Ive been looking around in the API and I cant find much to match what I need. I noticed a lot of keyword research tool websites use google as their main source for their information. How would I go about doing this and extracting the data and have it run on a website automatically so it wouldnt need to be updated manually each month?
you can use the Traffic Estimator service in the AdWords API:
https://developers.google.com/adwords/api/docs/reference/v201409/TrafficEstimatorService
Be warned that this is notoriously inaccurate (which is odd given that you would think Google had its own data to call upon!)
I use the TargetingIdea service in the AdWords API to generate lists of keywords to use for building AdWords campaigns. (https://developers.google.com/adwords/api/docs/reference/v201409/TargetingIdeaService.TargetingIdea)
First off you need an API key - they're not that easy to get and your app needs to offer a whole lot of features to meet the required minimum functionality - take a look here https://developers.google.com/adwords/api/docs/requirements
Once you've jumped over that hurdle you get the data from Google by sending a request to the service. That request includes some targeting criteria like location and language and also a "seed" keyword. You can also specify if you want closely related results or broadly related results.
For example if you sold tractors you'd put 'tractors' in as a seed keyword and then the API would return either closely related terms like 'tractors for sale', 'used tractor spares' etc or more broadly related terms like 'agricultural machinery'.

No projects listed with Maps Engine Lite API

I've set up API service account access and that seems to be authenticating and connecting OK using the provided sample code (https://developers.google.com/maps-engine/documentation/oauth/serviceaccount).
I've shared my map with the provided service account email address in the Google Maps Engine UI.
Accessing the API method https://www.googleapis.com/mapsengine/v1/projects I expected to see my map in a returned list of projects visible to the service account. Instead, only an empty projects array is returned.
Ultimately my goal is to access place name and geodata stored within a layer on the map I have created in Maps Engine Lite. Is there a step I have missed or something I have misunderstood about granting API access to a Maps Engine Lite map?
Did you progress with your question?. I got one project in the list but because I singed in for a free Google Maps Engine account. That allows you to créate just one project.
But I was looking for accessing "my places" maps.
It turns out certain features, such as the ones I was looking to use, are only available on the (paid for) Maps Engine, and not "Maps Engine Lite". The API is different.
When you mention that they are just available on the Maps Engine Pro (paid for) version, do you mean that the user who owns the maps has to upgrade or yourself, as a developer that want's to access user's maps, have?.
I wouldn't mind to pay (a reasonable price) for it in order to get my app working again. But I don't think most of my app's users would.
Could you check if it worked that way?

Google Maps, Bing Maps, OpenStreetMaps and MapQuest limitation

I'm very confused reading the online term of use of some Online Map Service (like Google Maps, Bing Maps, OpenStreetMaps and Mapquest)...
There is a way to use Google or Bing Maps on a website for non-commercial or commercial pourpose without any daily limitation of request?? What kind of Api I can use for free without any limitation of use or request, if I want to see a map on my site with several point of interest inserted by me??
I have read that in free version of Google or Bing some ads may appear sometimes inside the maps, and I cannot insert in my webpages any ads from another provider different from Google or Bing. It's true?
If I want to use OpenStreetMaps (an opensource Maps Database) or the partner MapQuest, it's true that there aren't any limitations of daily request or appearing ads on the maps or policy of exclusive banner campaign??
But, at the end, If I try to build a portal with this maps, and I want to plan in the future the insertion of some ads and the creation of a little company, I'm doing a commercial or not-commercial use (now and in future)??
Google recently announced new advertising and rate limiting in their terms of service. Websites will be forced to display ads in their maps, or pay for a premium account. Popular websites (resulting in lots of hits of google map tile server) will also need to pay for a premium account. It's not clear if your intended use will trigger those limits.
OpenStreetMap might offer a viable alternative. They do run a map tile server which can be used to embed a slippy map on your website. There is also an open source javascript library called OpenLayers (among other options), meaning that you can be free of google and their ads. OpenStreetMap do however operate a strict tile usage policy to protect the service which is paid for by donations, and run by volunteers.
OpenStreetMap also uniquely offers another approach: Create your own tile server, rendering the raw map data yourself. This might be a sensible option if you run a very popular website, or if you require only a limited area of the world to be shown. It's also really neat because you have full control over rendering style. It's a fairly technical process though ...but
Because this is possible, a number of third parties will offer you a map tile service built using OpenStreetMap data. e.g. MapQuest, CloudMade, TileServer, TileDrawer, or MapBox

Why does Google stipulate that you specify whether you are using a sensor in the maps API?

When retrieving the Google Maps API javascript, Google requires that you specify whether you are using a sensor or not with your application (e.g. sensor=false). Why is this? Is it simply a matter of data collection so Google can approximate how the API is being used, or does it actually modify what is returned in some instances?
Per the API, the sensor option is to determine if you are using a GPS-Enabled / location tracking device. The sensor=false maps are more light-weight since they don't handle this additional functionality. As you mentioned, the sensor=true maps handle device specific location tracking, etc.