I want to know if the GraphHopper is free to use a company internally? - graphhopper

I need to develop an internal application where the user of a source and up to 8 destinations, the best route is drawn on the map and show the distance in km. So based on that mileage the system calculates how much it would cost.
I implemented this using the Google Maps API, but the application was limited to company then we would have to adiquirir a license.
I want to know if the GraphHopper is free to use a company internally.

The GraphHopper routing engine is Open Source under the permissive Apache License and is therefor free to use for anything. You could even integrate it in your products, modify GraphHopper and sell this, without notice to us or contributing back. Although it is encouraged to contribute back so that your feature gets maintained for free by us. Also you can host GraphHopper on your own servers for 'free' and do whatever you want with it.
The GraphHopper Directions API that we host falls under our usage terms and always requires an API key. We decided to make it free for development purposes and Open Source projects, both with a limit of currently 500 queries per day. So, the free usage of the API in a company internally would not be allowed. But there are custom packages possible - see the current pricing here.

Related

Considering Tyk API Gateway - open source version

Project background: Building an API driven Learning Management System. The back-end system will be receiving data from multiple systems and interfaces: web, mobile, VR.
Looking at API Gateways to front our APIs. Preferably an Open Source API gateway but need to be sure that the support and service is available. Tried out Tyk.io and it feels like it might be the way to go. Been reading other StackOverflow threads around this and looks like TYK's gateway fairs quite well against the likes of Kong and WSO2.
Main areas of consideration for us are:
Rate-limiting
Open ID Connect authentication
Analytics
Scalability
Hybrid model of hosting - combination of on-prem and cloud depending on compliance requirements of educational institutes (Probably rules of AWS' gateway)
It would be really helpful if anyone who is using or has used TYK.io for their production projects can share their experience, especially for enterprise clients/projects.
Full disclosure: I work for Tyk, so of course think that Tyk is the best fit for your project ;)
Seriously, though - Tyk can do all those things you’re after. Here are some links to the documentation for each item that is big on your list:
Rate-limiting
Open ID Connect authentication
Analytics
Scalability
Hybrid model of hosting
You can also post on the Tyk community for help, if you haven’t already, or search to see what else others have said.
The Tyk Open Source API Gateway will do everything you need, even outputting analytics to difference sources, like ElasticSearch, Mongo or just CSV.
In addition, you can also use our API Management Platform to control your open source gateway. The Tyk API Management platform includes a Dashboard with analytics and out-of-the-box developer portal. Tyk is free to use, under a developer license, to manage a single gateway node, ideal if you are doing a POC.
Hope this helps and please keep in touch to let us know more about your use case.

saving Google places information for better user experience and performance

My friend and I are building a standard coffee shop finder app to explore the google places and maps api.
We want to know if we can save google data (just like the name, placeID, lat, long, and maybe type) to user's devices so that our users could see these places - their favourites - as markers on the map, without needing to be connected to the internet.
We are thinking that we could save this information to core-data on the user's device and save just the placeIDs on our server (connected to the users profile) so as not to break Google's caching rules. We are wondering if this would in fact infringe on Google's rules. Any help or insight would be appreciated as Google's documentation on this area is a bit ambiguous.
Also if possible we would like to save some information other then the place IDs to our server. So we are wondering if a business name retrieved from Google's web service api is considered Google's property or is that something we could store on our server? Thanks in advance!
The caching policy is set in section 10.5 d of Google Maps API Terms of Service. You can temporarily save the data for the purpose of improving the performance:
No caching or storage. You will not pre-fetch, cache, index, or store any Content to be used outside the Service, except that you may store limited amounts of Content solely for the purpose of improving the performance of your Maps API Implementation due to network latency (and not for the purpose of preventing Google from accurately tracking usage), and only if such storage:
is temporary (and in no event more than 30 calendar days);
is secure;
does not manipulate or aggregate any part of the Content or Service; and
does not modify attribution in any way.
https://developers.google.com/maps/terms#section_10_5
Please also note that place ID is exempt from this rule and you can store place IDs without any restrictions. This is documented here:
https://developers.google.com/places/place-id#save-id
Hope this clarifies your doubts.

Maps-service for small internal project

I'm currently developing a small webpage for a customer where i need a simple map with pins. It's really basic usage and the customer is going to hit the page maybe 50-100 times/month, what is a good service price-wise? I have tried contacting google, bing, and two local (swedish) providers, but the customer service is.. not good...
Your problem is that you say it's an "internal" project - I assume this means that it's not hosted on a publicly-accessible webpage?
For non-public sites, both Google and Bing require you to take out an enterprise licence agreement, which is normally prohibitively expensive for small businesses. (Licences are individually-negotitated, but think of the order of $10,000 per annum).
Alternatively, you could look at using the Leaflet JS map control (http://leaflet.cloudmade.com), displaying data from open street map (http://osm.org) - both of which are free and open source (and, in many cases, have higher quality data than either Bing or Google anyway)
ask about the new Bing Maps CRM licensing thats available, it may well meet your needs and be cost effective for you

Geocoding service for a startup?

I'm working on an idea for a service that uses geocoded data (lat/lng) form a US address. Google maps API v3 has been awesome, until I read the terms of service and acceptable uses a little closer. The problem is that the terms seem to prohibit use of the maps API for any commercial use where the site is not freely accessibly to the public, such as a subscription based service. The alternative offered is Google Maps API Premier, but at $10,000 per year minimum, it's just not possible at this time.
Same goes for services offered by Yahoo! and MS - initial fees are small for enterprises, but for a very early stage startup (not even a finished prototype yet!) it's just not doable.
Geocoding process needs to be real-time and volume would be very small - user would enter address at setup time and only update it if needed.
Any help is greatly appreciated!
I've used geocoder.us for a few projects. They do require sign up for a commercial license, on the upside it only costs $50 per 20,000 lookups. I haven't used their commercial services though to know how reliable they are, but during startup and especially because there will primarily only be one lookup per user from what you say, this seems like a safe bet.
The software company I work for (Safe Software) has incorporated a geocoding service into our product (FME). The service is pxpoint from Proxix. I hear good things, so perhaps it's worth checking them out?
WorldWeatherOnline offers a geocoding API as part of their weather forecast service. The accuracy isn't great though. In some parts of my country, I'm getting bogus results. Their support has not been helpful in this matter.

Should I code for browser or PC? (fleet management)

I have to architect a commercial vehicle fleet tracking system.
Each vehicle (a few 100, max a few 1,000) will have a GPS and satellite transmitter and will periodically report its position. Positions will be stored in a database and used to create a Google Map.
There will of course be other functionalities. Security, log in, etc and probably lots of interaction with other corporate databses (drivers start/stop time for salary purposes, etc).
Question: pure GoogleMaps is probably best implemented as a browser based app (Php & MySql?), but with the additional functionality of a commercial vehicle fleet tracking system, would it be better doing something PC based (Windows/Linux)?
Any other advice? Thanks
I think with the capabilities of modern browsers, along with various mature client-side frameworks, we are witnessing an always thinning distinction between web and desktop interfaces.
You may want to take into consideration that a web application automatically solves some important problems for you:
Distribution: No need to distribute your application. Simply provide a URL.
Updates: Upgrading and fixing problems in your software will be easier and quicker if you distribute it through a web interface.
Security: Deriving from the above, you are able to fix security vulnerabilities more promptly.
Compatibility: Your application will be able to work on any operating system that can launch a web browser.
Last but not least, remember that the Google Maps API is not free for this type of application. Article 10.9.C of Google Maps API Terms and Conditions explicitly restrict using the standard Google Maps API for fleet management and asset tracking. You would need the Google Maps API Premier to legally use Google Maps for your application.
According to one unofficial source (dated April 2008), this would cost USD 10,000 per year, which entitles you to track 100 vehicles. If you exceed the 100 vehicles, you would need to add USD 24 per additional vehicle per year.
Implement solution for the domain problems first. It means data storage, data transmission between vehicles and your system, methods of data analysis, aggregation and visualisation.
These will likely to sit as a head-less system on a server and provide access to it remotely, in both directions: to input data and to query data.
Now, PC or Web is more related to presentation on a client side. You can make both if you like. Web client as well as desktop application can serve as a client to remote data and operational server.
Don't forget that you can always host a web control in a thick client app. This is actually trivial with .Net on the Windows platform with the IE control. You can also access the browser's DOM this way and do some neat things. So just because there's a strong web component to what you're doing you're not necessarily "stuck" writing a pure web app.
One big question is what kind of hardware you'll be able to put in the vehicles. Will they be laptops or small PCs with full fledged OSs or something more mobile like CE or a pared-down Linux distro?
Google Maps is JavaScript based so you can do most things with it, e.g browser based, widgets, etc. However due to the licensing Google won't allow you to use it in anything other than an Internet environment unless you use there Enterprise License.
In terms of integrating it into other systems, its really difficult to say what's best without knowing what other software you are using, what protocols they use, are web services available, etc. I agree with Daniel though in that any distributed system not implemented in a browser better have some good reasons not to, simply because the benefits are substantial. You'll need to weight them up though with a full break down of all the different systems you will need to interact with and work out what fits best.
The great thing is that with it being JavaScript based you have a lot of flexibility in what you can do with it.
This is more an extension to #Daniel Vassallo's answer. Although a web based application would solve most problems there may be the small potential issue of bandwidth usage and reception for internet access. This may or may not be an issue for the fleet management, depending on how that is tackled on the hardware side of things.
An offline solution may assist with this issue but then a clever architect could find a way to create an initial web based solution which can be accessed with an offline application which can pick up the slack and/or provide predictive reasoning until a connection is re-established.