We are looking at using graph hopper for one of our projects. In this regard, given point A and point B, we wanted to get top 10 different routes in the ascending order of transit time. Does graph hopper support this out of the box and yes, what API I should use?
Thanks
This is currently only possible in a development branch, there is no released version. See this issue where the round trip feature is implemented via 'alternative routes'. Also it has some quality and feature limitations like it is only possible without CH. But with some more effort all should be possible.
Related
I want to have a software to manage my drivers of a delivery-service.
My plan:
A googlemaps-route planner where i can fit in the orders to drive.
The driver has a netbook with the same googlemaps-route planner in his car. it gets synchroned with my map.
the driver has a GPS that show me his position on the map.
the driver can use the route-planner as a navigation software.
Is this possible? how can I implement it?
Is there already a solution where I can use?
There is no easy solution for that. This will require some advanced programming skills, so if I were in your place I would simply equip your driver in a tablet/smartphone which usually come with GPS receiver and try to find ready made solution for Android/iOS platform as those are the most popular today.
Answers to your 4.points:
1) can work, you send the position via internet to the app on his tablet which calls the routeplaner for that position.
2) yes, see 1)
3) yes, your app on the netbook sends the coodsinates to your server.
4) no, what i know this is prohibitted by google. see google license conditions, and further it would technically not work.
Point 4 could theoretically be solved by OpenSoure Navi solution(s) but they all give a bad route compared to professional navis.
recently TomTom provides a solution to interact with a (special version) of a TomTom navi.
But consider that your task needs some person years of effort.
I'm looking to develop a mobile app which is going to help people find out whether a train is going to go to a particular platform or not.It is very simple. I know the timetables. I'll be making database of train timings and compare with the timings of user, when he uses the app and tell him, if the next train coming at the station he's at, is going to this platform at location X or not.
There won't be any fancy UI. There would be a dropdown of all stations. That's it. Response from the app will be going to platform no A. I don't know if I will include any feature as of now. The requirement that I see is, app should be offline and platform agnostic.The database entries are fixed and if they change then I should be able to give a new update.I have been reading about HTML5, but I don't want people to use the Internet for this. It should be available on Nokia phones,Android phones, Blackberry,Apple in that order.
Offline and platform agnostic will be hard to combine, unless you use one of the toolkits that pretend to do this (we started that way, but reverted - cost more time to chase bugs in the toolkit than to write code). Easiest is you give up the first requirement - most people with smart phones will have data bundles anyway, a tiny query is not going to make them frown.
Assuming you're not dropping the requirement, HTML5 for the UI can still be an option as most platforms let you embed the browser in your app. That way, you'd only need to port some small wrapper code and the business logic. If it's a commercial app, pick one or two key platforms (that will give you the necessary user feedback to make your app better) and outsource porting of the rest.
This is a tough one... I'd choose native programming. Id just have all the different platforms linked so they use the exact same database. Unfortunately, they all use different programming languages. I don't know about Nokia or Blackberry, but Android uses Java (or C# through MonoDroid) while Iphones/Ipods use Obj-C (or C# through MonoTouch).
I am a final year Computer Science undergraduate student from India. I want to create a WPF application that displays 3D buildings like in the latest Google maps 5 for android. This will be the basis of my final year project. I have some questions before i start working on this.
Should I make it desktop or web based, or should I use the web to store some metadata and render the data in the desktop software?
For 3D display of buildings in a map area, is WPF enough or will I need knowledge of XNA and Direct X too?
Will this violate Google Maps TOS if I use Google Maps API? (I want to do something Google Maps does not provide in India) Is using Bing Maps a better option?
Is it feasible to read building elevations and rendering them using the above mentioned Maps APIs? Is it that the elevation data available through Google Maps API is only for the terrain and not for individual buildings?
I have three months to complete this project and have given details of the technologies I intend to work with.
Will I need in-depth knowledge of any more technologies for this?
Excuse me if I missed some detail. I am posting this from my cellphone using opera mobile. It's time we have an android client for stackoverflow.
1) That is entirely up to you. As you don't specify your target user then it is hard to say what the best way to deliver the application is. For example, if you want to be able to widely distribute it and have a high compatibility then perhaps a web-based application would be best. Conversley, if you require high performance and are targeting a specific os, chip-set, etc then a stand-alone application may be better.
2) Again, it is hard to say. WPF can certainly render 3d objects and may provide you with everything you require. If again you require more complex rendering you may also want to look at later versions of Direct3D, which can help a lot with things like HDR textures, Multi-threading, etc.
3) I am not a lawyer so I can't say for sure - even if I If I were it would still depend on the specifics of your implementation. That said, the bing maps section 2 (i) seems pretty good for you - Academic use seems pretty open as long as you make the application available publicly without restriction. The Google TOS seems more restrictive to me at least.
4) To me that would be a breech of the Google Maps/Earth TOS - The section on Restrictions on use seems pretty clear...But again, I am not a lawyer so I can't say for sure...
I am not familiar with the GIS (or map), but recently I have to do some work related to this field. I know some map providers: OpenStreetMap, CloudMadeMap, OpenCycleMap, OpenAerialMap ...
My questions is: Do those map providers have the same standards? I mean the tile size, zoom levels, scales for each zoom level and so on.
Is there any standard for open GIS? If yes, where can I find them or some one could give me some references or links?
Yes, all the services you mention, along with many others in the open-source GIS mapping world, share the same defacto "z/x/y.png tile standard". The tile numbering, zoom levels, scales and so on are all the same across the these providers.
The "standard" isn't official, but the OCG are formalizing the details under the acronym "TMS", unfortunately in an incompatible way with what is in practice (different origin for the tile numbering. Gah!)
The OpenStreetMap wiki has the best description of the numbering scheme. You can display such tiles in OpenLayers using the XYZ or OSM layers. Note that the projection for all these layers is "Spherical Mercator", aka EPSG:900913 or EPSG:3857.
I run the OpenCycleMap servers, and was the Technical Lead for CloudMade when we chose this scheme. Both were chosen to be identical to OpenStreetMap, which in turn was based on the scheme Google were using at the time.
I am also very new to GIS programming, but it seems GIS is heavily standardized. From the storage layer (WKT, WKB), to the server layer (WMS, WFS, SLD..). Try lookinh those up on wikipedia (I think I can't post this many links with my reputation?).
We started developing using the following open source stack: PostGIS, GeoServer, OpenLayers and so far we are happy with our decision, everything fits together beautifully,
You might be interested in the Open Geospatial Consortium Web Map Service (WMS) standard. It is a standard protocol for serving georeferenced map images over the Internet.
Consumers of web map services can "mash up" lots of different layers from different providers to create their own applications.
There are no exact standards regarding tile sizes, zoom levels and such because these are highly customizable.
There are technical standards regarding file, db and web service formats.
Some file formats of ESRI (i.e. Shapefiles) are de-facto standards, for better and for worse.
Others are open standards from the OGC, but don't expect to see all of these open formats in commercial products (i.e. even the ubiquitous KML format is not 100% supported in ESRI products).
There are two relevant OGC standards with regard to map tiling. The Web Map Tiling Service (WMTS) currently in candidate standard form and a proposed extension to WMS to add a cached/tiled version.
So the short answer is "no", there's no official standard yet.
The three major vendors have standardized on a defacto standard for tiling scheme's. A description of the scheme can be found here, among other places.
From what I know of the map providers you listed, they each have their own scheme... though I don't know for sure. You will likely have to check each individual provider for their tiling scheme. You will also need to make sure that their usage agreements let you use the tiles directly (as opposed to using any API they might provide).
This doesn't really speak to standards, but I thought it worth pointing out that the first three you mentioned, OpenStreetMap, CloudMadeMap, and OpenCycleMap, are all related projects.
OpenStreetMap is the project to collect the open mapping data, OpenCycleMap is an implementation that uses that data to a create a map tailored to Cyclists, and Cloudmade is a for-profit company founded by a number of the people who founded the OpenStreetMap project, and they also use its data.
When I wanted to add OpenStreetMap data to my website, I ended up using a (for now, free) tile serving service offered by Cloudmade. This saved me having to worry about generating tiles or serving them myself. I've had a good experience with it.
Simple question, the answer may not be...
I'm going to be developing a web app (ASP.NET MVC) for a client. They have asked me for an opinion on whether to use Google Maps or Virtual Earth for providing a mapping solution.
Which would you go for and why? Or are there others you can recommend?
What else do you need to know?
Street view (or equivalent) won't be
necessary in the near future, but
one day it might.
The client wants to identify certain
mappable features, and beyond that
find these features when within a
specified distance.
What else should I be considering at a high level? Or my client?
Thank you in advance.
One of your major considerations needs to be licensing if this is for a commercial web site. You'll have to contact both Google and Microsoft for exact details and pricing, but there's plenty on the web that indicates it could cost you $10k to implement these solutions in production. They get you hooked on the rapid and easy development though!
My preference is for Google Maps, it just feels a bit slicker but I have developed some pretty good prototypes with the Virtual Earth SDK before.
I don't know if Microsoft are planning an equivalent to the StreetView feature so if that is on the requirements cards in the future then stick with Google.
Either of the technologies will allow you to search for geographic features in various ways - whether via region, street address or specific latitude + longitude. They also allow you to overlay your own images or draw lines, polygons etc.
Google Maps seems to have a wider user base (even though Microsoft were technically doing this stuff before Google got into it!), so you're likely to find more help out on the intarweb when implementing your solution than for Microsoft.
More info on Google Maps for Enterprise is located here:
http://www.google.com/enterprise/maps/map_info.html
You should be asking the client for a reasonably comprehensive list of requirements for the mapping solution. You've mentioned one - these "mappable features". Are there any others?
Once you've got the list you can then see which one provides the best fit and go with that.
If Street View is definitely on the horizon then you have to go with Google - or is it something that's just come up in conversation?
Having said that, for a little bit more effort you could write an abstraction layer that sits between your application and the mapping solution so that if the one you didn't choose provides a better fit in the future it would be easier to make the change. Though this does go against the Agile methodology (YAGNI).