I need mapping for an AJAX (Javascript/PHP/MySQL) project. All the providers I researched used a tile cost model or were beyond our budget.
I'm not looking for anything fancy, just something that allows:
Commercial Use (for us and users of our service who use the maps)
Panning
Zooming
Street Layers
Efficiently plotting large numbers (eg: >= 1,000) of markers by GIS or zip code.
Adding annotations to markers (directly or via legend).
I may even be able to do without 1 or 2 if it comes down to it.
The budget for this is tight: $2,500 for an annual license or and $5,000 to buy something outright. However, this figure may be adjusted if there's something that isn't too far out of the ballpark.
Does anyone know of anything that fits the bill (bad pun unintended)?
Also, an additional wrinkle is that the underlying tile server should be included in the price. Some excellent responses were provided so far (and I'm looking into them), but some of them are libraries only and the tile server may be a hidden cost. It's also not always clear just what (default) tile server is used with what library.
The first thing that I would try is MapQuest APIs with OpenStreetMap option:
It is free of charge for commercial and non-commercial use
It supports panning and zooming
It has geocoding, letting you map by ZIP code
It supports POI markers and InfoWindows, letting you supply annotations to markers on the map.
The biggest limitation that comes with using OpenStreetMap is the lack of routing services, but it is not on your "shopping list" anyway.
Some other solutions that might be worth investigating.
OpenLayers (http://openlayers.org/) appears to support what you need.
2-clause BSD License (also known as the FreeBSD)
zoom and panning
plotting
more examples here
Leaflet (http://leafletjs.com/) looks promising. Looks like it relies on the OpenStreetMap option.
Zoom buttons, Panning animation, GeoJSON layers,
Attribution-ShareAlike 2.0 Generic license
Also, here's a comparison of the two above solutions.
Hopefully, these help in your search for the optimal solution.
EDIT 0
MapBox (http://mapbox.com) looks like a pretty cool pay solution, that looks to be within your budget. It appears to support everything you need and more.
EDIT 1
I performed some more searching and found the following.
Modest Maps - http://modestmaps.com/
Custom Build - Build it yourself? SO user provides basic explanation.
My personal opinion would be to use the effective "standard" OSS
libraries that form this type of stack.
OSGEO has a bunch of resources for exactly this.
PostGIS (database)
Apache (webserver)
MapServer (WMS compliant GIS server)
OpenStreetMap (the maps you'll need)
OpenScales or OpenLayers
(Flex or JS API) Total cost: a few hours of setup.
Polymaps - http://polymaps.org/
CloudMade - http://cloudmade.com/; pricing; SO user feedback on the company
Google Maps - Not sure why it wasn't already mentioned, but Google maps (http://www.google.com/enterprise/earthmaps/maps.html; more here) might be a possible solution. The high usage limits seem promising; you'll have to contact them for pricing, unfortunately. Still, it might be worth a look.
Bing Maps - http://www.microsoft.com/maps/
Nokia Maps - http://developer.here.net/
Related
I've got a process tracking system built with PHP/MySQL and I'd like to provide a graphical representation of the entire process -- a map, more or less. Each step, tasks, assigned users, and dependencies are stored in MySQL tables and so I have no problem outputting the data in any number of ways, but I'm not sure how I could go about displaying that in a graphical manner. Processes can be edited by privileged users so I can't just create a process map once and save it -- it needs to be dynamic.
I thought about simply outputting tables or divs but my problem is how to make it responsive to mobile browsers, so I figure a JPG/PNG would be simpler and more platform-independent. I've seen plenty of LAMP based charting tools but nothing that will create workflows. The closest I found was yUML (http://yuml.me/) which looks like it would be easy to implement based on a quick review of the syntax, but I'm not running Rails and don't know anything about how to do so.
I also looked into screenshot services (Grabzit, Thumbshots, Websnapr, etc.) but the problem there is that this is a secure site so those services wouldn't be able to gain access.
I'm not looking for anything flashy which is why I thought UML might be a good fit -- I just need to be able to dynamically create process maps based on MySQL data.
Thanks to anyone who can point me in the right direction!
I don't know of a flow chart API, but there are any number of general purpose chart API's.
Google charts has examples for org chart (among many other chart types).
There are many threads on this kind of thing on SO already:
JavaScript Chart Library
Graph visualization library in JavaScript
etc
I bet one of the best solutions is D3.js.
D3.js is a JavaScript library for producing dynamic, interactive data
visualizations in web browsers. It makes use of Scalable Vector
Graphics, HTML5, and Cascading Style Sheets standards.
—Wikipedia
You can find many examples here to fit what you are looking for, especially its very well documented API reference. Also has an incredible wiki (in many languages), greatest tutorials and some plugins.
I was looking to find a solution to our product. We have a geo-location, on a web based dashboard that does not have internet connection.
I was looking for a product that allows you to have local maps and a script, I found OpenLayers which seems cool although weights 22gb.
Do you know if there are other solutions to generate map locally that takes less space?
If I assume correctly, you are basically looking for an alternative to Google Maps, i.e. an alternative mapping service where you can use your own local data, right?
Now, based on your question, its hard to tell whether you
Want to develop something for yourself or buy/adopt an already implemented software
Are looking for the serverside (i.e. tiling/caching engine, geospatial database, etc) or for the clientside or for both
I could give you an example of a possible configuration if you want to develop a clientside application yourself, but that might not be what you are exactly looking for.
For the serverside, you could use MapServer, backed by a PostGIS spatial database (PostGIS is an enhancement of PostgreSQL), and then use a client side Javascript framework BASED on OpenLayers to develop your client application (i.e., the map viewer), such as Fusion, which is also based on the MooTools Javascript Library. You could also natively develop with OpenLayers. There are a lot of possibilities in the Open Source world, it just depends on the skill and time you have.
Also, have a look at OSGEO, in the right sidebar you'll find a lot of projects that are hosted by them. It definetely is your first address for Open Source web mapping solutions.
Sadly, the face.com API is being shut down due acquisition by Facebook.
Are there any decent alternatives out there?
I'm looking to check for a given image if there is a face in it + demographics content about it.
Sad news indeed. If you have a good reason and already have an account, they may extend you until October, 2012:
http://developers.face.com/extension-request/
For everyone else, here's a list of potential alternatives I've compiled:
OpenCV: http://opencv.willowgarage.com/ (C/C++ but at least its opensource,
standalone and downloadable)
Viewdle (Objective-C)... bought/axed by Google, instead see: Face Recognition on the iPhone
Betaface API: http://www.betafaceapi.com/ (C#/.net or API)
Rekognition: http://rekognition.com/ (API)
Lambda Labs: http://lambdal.com/ (API; still in Private BETA)
BiometryCloud: http://www.biometrycloud.com/ (API; as already mentioned Private BETA)
Sky Biometry: http://www.skybiometry.com/
The following are similar but more on the Augmented Reality (AR) library side for detecting objects or movement with a webcam only, but with some extending could likely be trained to detect faces in snapshots or uploaded images as well:
FaceAPI - Track Faces from a Webcam: http://faceapi.com
SURF library - Image Recognition & Feature Extraction for Adobe Flash Platform: http://code.google.com/p/in-spirit/wiki/ASSURF
Content Based Image Recognition - a stab in PHP: http://web.archive.org/web/20120309034643/http://www.searchlores.org/finn_cbir_1.htm
A Not-so-slow JavaScript Face Detector: http://liuliu.me/ccv/js/nss/
Face Detection in JavaScript via HTML5 Canvas: https://github.com/neave/face-detection
If anyone knows others, please feel free to add here to make this list as comprehensive as possible.
UPDATE (2013-08-20): Found this article the other day and thought I should add it here, though not sure how many projects listed there are still active: http://blog.mashape.com/post/53379410412/list-of-40-face-detection-recognition-apis
SkyBiometry.com has a drop-in replacement. The API is available for free usage.
There is also HP Lab's Multimedia Analytics Platform, also in beta.
There is a Open Source Project called "openbr" which is built over opencv and Qt, that’s has got few good api's to be used.
Pretty Easy to use from shell and has got adapters for IIRC python and java too
example from website for face recognition:
$ br -algorithm FaceRecognition -compare me.jpg you.jpg
Github:https://github.com/biometrics/openbr
Website: http://openbiometrics.org/
Another option for some face.com developers, although it may not provide exactly what you're looking for, Noam (in terms of demographics), is BioID's face recognition API.
Since BioID's technology was developed for authentication the API doesn't support all the features of face.com (age, gender, glasses, multiple face points, etc.), but can do things face.com couldn't (such as better recognition, image quality checks, fraud detection, and naturally authentication).
You can find a more detailed explanation of the differences at
https://www.bioid.com/solutions/solutions-by-application/bioid-for-facedotcom.html
http://www.identitykit.it is a RESTful web service that offers face detection and face recognition functions. You can try a web demo in order to test their API at http://www.identitykit.it/index.php/demo/login
api.animetrics.com provides a pretty nice free face detection and facial recognition api. Their detectors don't provide demographics but they do include 20 or so feature points on the face, in addition to pitch, yaw, and roll. They will also generate a 3D "setpose" or mugshot image of an off-centered/rotated face.
Another option is Kairos.com's API.
We have a RESTful API available that is under active development and provides the same functionality as the old face.com API.
You can sign up at developer.kairos.com.
Full disclosure I am CTO at Kairos.
Please have a look at the videos we have at www.biometrycloud.com. I'm one of the founders and we've been working hard over the past year to provide a RESTFULL API that does facial recognition. First we focus on face recognition and verification. Now we are opening a private beta version of our API and will continue developing other features such as gender, age group, etc. if there's enough interest.
Here's a free trial with 75,000 API Calls
http://cloudinary.com/documentation
I want to add the redo search feature of google maps on this SITE. Any idea how to populate result markers and listings the way these people have done it?
There is an example here (check the source), but seems that V3 uses the Places library instead of focus on the GLocalSearch, see an example here (check the source). It is really easy to implement, but the database seems sparse, and I could find few results compared with the "query loc: Place name".
Using GLocalSearch with V3 gave me even less results than using Places library, what is even more frustrating. Anyway, you can give a try.
EDITED (after 1st answer):
Can anyone help by pointing to some good references for the creation and presentation of a 3D environment (a real room) on a website.
Ideally it will not involve too much expense or too high a learning curve as this is a one off requirement for a small project.
VRML, Java3D, or Flash depending on how adventurous you are.
See Papervision3D (panorama demo) and 360 Degrees of Freedom.
Hm... I'm not sure if I understand what exactly do you want to know. But, since I made a similar sites (panoye and ela) I'll try to respond...
There are many different ways to show a panoramic, java applet (ptviewer, very easy but it is java), javascript (bad for spherical images, since it can't deal with equirectangular panoramas distortions) and flash. I use javascript and flashpanoramas flash viewer. With flashpanoramas your php script must create XML files for all panoramas.
For spherical panoramas - I think flash is the way. But then, your panoramas should be cubic, not equirectangular.
Anyway, I'm not sure if there is an quick & easy way...
The panotools, and hugin in particular, suite is quite good if you are looking for a free tools. Viewers can also be found here
Check the stores and gallery i'm operating at enjoy3d.com .. They use various implementations of Papervision3D. I have developed a toolset and art-pipeline that allows me to create a rich immersive environment in less than a week. And I am currently working on new tech that can handle an 'endless' world with unbounded quantities of content.
I'd also take a look at Alternativa3D if you don't mind paying for licensing