How are Google maps formed? [closed] - google-maps

Closed. This question is off-topic. It is not currently accepting answers.
Want to improve this question? Update the question so it's on-topic for Stack Overflow.
Closed 12 years ago.
Improve this question
How are Google maps formed? Are they based on satellite image solely? How are locations and places named? I sometimes see very minute details; gathering them doesn't look like an easy task.

Google Maps data is based on many sources, depending on both the type of data, and the area you're looking at.
Vector (Road, Park, etc. data)
Vector data, like roads, points of interest, etc. are bought from many different companies. Tele Atlas is one of their worldwide data providers, and is a key component, especially outside densely populated urban areas.
In some areas, this data is combined with other vector data providers, like Sanborn, who do 3D building outlines, as well as combining with more local sources of data, such as organizations which collect POI data (restaurants, etc.).
In countries other than the US, data is often purchased from a National Mapping Agency; a government agency tasked with collecting and distributing map data.
In some cases, data -- especially for populating searches -- is gathered via the web, and geocoded (looked up by address) to be placed on the map.
This data is commercial; the collection aspects are expensive, and Google pays a significant amount of money to license the data for this usage. (The actual amount is not public knowledge.)
Imagery
Imagery data for Google is similarly collected via many sources. Imagery up to .5M/px (Letting you see cars clearly, but not people) is typically collected via satellites flown by Digital Globe or Geoeye. (Geoeye actually flies a satellite, "Geoeye1", which was funded by Google in large part.)
In addition, Google adds in many different public datasources, from government organizations and programs (USGS, NAIP), state and local organizations, and more. In addition, for high profile events Google will sometimes specifically pay a company to do an overflight -- this was the case for the Haiti earthquake, and is common for them to do during the Burning Man festival.
Street View
Streetview data is collected by vehicles paid by Google to drive around with special tools (LIDAR detectors + 8-way videocameras) and collect the data.
Overall, in each case, you can look at the various sources for data -- at least those that require crediting, which is not all of them -- in the lower right hand corner of any Google Map.

They buy their data from other companies to form the maps. I beleive they purchased the majority of it from Tele Atlas. http://code.google.com/apis/maps/signup.html
Here is a lot of information on the history of it:
http://en.wikipedia.org/wiki/Google_Maps#Map_projection

Related

Is there an API for crime in the US?

As the question title states, I need the crime data from all the united states. I can't find a dataset for that, only numerous small ones for the different cities and countrysides.
Is there such a united API or should I maintain these small ones as well ?
There is currently no single open dataset or API (Socrata maintained or otherwise) that covers the US completely. Many cities publish crime reports to their open data portals, but the coverage is still pretty sparse.
There's also the FBI Uniform Crime Reporting datasets, but those are aggregated at the city level (which again is somewhat sparse) and the most recent data is a partial update from the first half of 2015.

Is it possible to obtain the coordinates of water bodies in Google Maps?

I'm in need of acquiring the coordinates of the outlines of all the water bodies inside a country, with the exception of "Sea" or "Ocean" water. Right now, I'm manually outlining the lakes and rivers but it is not a sustainable solution for the magnitude of the application I'm developing.
Even if I can only obtain the data of Lakes or Rivers, that would be a great start. I'm specifically interested in the countries of Malaysia, Brazil and the Dominican Republic.
My situation brings me to the question of, where does Google obtain its data? Are these data sets available?
Google gets this data usually from TomTom, (former TeleAtlas).
The coordinate polygons of that data is not available, at least not without paying much money.
This data is usually extracted from aerial fotos.
For research projects it might be possible to ask TomTom via your University.
An alternative professional quality source is the product NavStreets from Here (former Nokia).
For free you could try OpenStreetMap. You would get coordinates.
Unfortunateley the OpenStreetMap data is not always clean or closed polygons.
The quality depens much on the country. You can check the countries
first by looking in the web browser: https://www.openstreetmap.org/relation/57963
Geofabrik.de provides OpenStreetMap data converisons and extractions of specific countries, e.g in pbf and shp file format, you might check this to.
read further here:
http://wiki.openstreetmap.org/wiki/Waterways

Should I use Google Maps API/Geocoding to power a store finder

I'm new to geocoding so I'm not certain this is even the question I should be asking, but all of the other discussions I've seen on this topic (here and on the Google API forum) are so application specific that I feel like I might be missing a very elementary step - I don't need to know how to implement a store finder - I need to know if I should.
Here is my specific situation - I have been contracted to design an application wherein we will build a database of shops (say, independently owned bars and pubs). This list will continually grow and change as shops close and new ones open. The user can enter his/her point of origin (zip code or address) and be shown a list or map containing all the various shops within a given radius in order of proximity.
I know how to deliver these results from a static database:
One would store the longitude and latitude as columns for each row and then just use that information to check distances.
But I have inherited an (already fairly large) database of shops which have addresses but not coordinates - so I'm not sure what the best way to get those addresses is. I could write a script to query them one at a time against google geocoding, I could have a data entry person manually look up the coordinates for each one and populate the data that way, or maybe there is a third option I'm not aware of.
Is this the right place to be asking this question? Google Maps Geocoding doesn't host a forum of their own, but refers people to Stack Overflow. Other forums on the net dealing with this topic are all relating to a specific technical question but no one seems to be talking about it from a top-down perspective (ie the big picture).
Google imposes a 2,500 queries per day limit on free users and a 100,000 queries a day limit on paid ones - neither of these seem to be up to the task of a site with even moderate traffic if, every time a user makes a request, the entire database (perhaps thousands of shops) are being checked against Google's data. It seems certain we must store the coords locally but even storing them locally, there will have to be checks against Google in order to plot them on a map. If I had a finite number of locations (if, for example, I had six hardware shops) and I wanted to make a store locator, there would be a wealth of discussions, tutorials, and stack overflow questions available to point the way for me, but I'm dealing with a potentially vast number of records and not sure how to proceed or where to begin.
Any advice would be welcome - Additionally, if this is not the best place to be asking this question, a helpful response would be to indicate a better place to post it. I've searched for three days but haven't found what looks like a good resource for asking such subjective questions.
The best way of course would be when you use a geocoding-service to get coordinates and store the coordinates in your DB. But it's not possible with google's geocoding-service, because it's not permitted to store geocoded data permanent.
There are free services without this restriction, some keywords to search for: mapquest, nominatim, geonames(but these services are less accurate than google)
Another option would be to use a FusionTable. The geocoding would run automatically(but the daily limits are the same as for the geocoding-service). The benefit: the geocoding is permanent(you can't access the locations directly by e.g. downloading the DB-dump), but you may use the coordinates for plotting markers(via a FusionTablesLayer) or filtering(e.g. by distance)
The number of entries shouldn't be an issue, 100k is no problem for a database

How do I match street addresses to UK postcodes? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
U.K. sites that require addresses often ask the user to provide a postcode. The site then offers the user a choice between the different addresses that match that postcode.
How can I match a postcode to a street address?
Quick comparison:
Ideal Postcodes - https://ideal-postcodes.co.uk has an package on npm and reasonably priced. Gives address as individual parts as well as a single string, which can be useful for filling out a form as individual bits (and allowing people to customise).
getAddress - http://getaddress.io - also reasonably priced. Gives results as a single string only, rather than the broken down components - whether this is better or worse really depends on the situation.
PostCode Anywhere - http://www.postcodeanywhere.co.uk/ - used by lots of large household names but much more expensive than other solutions. You can get up to 50 JSON API calls a day directly though - see How do I look up a UK address based on house number and postcode?
Get the PAF file yourself http://poweredbypaf.com - this is incredibly expensive.
I believe you need the Royal Mail Postcode Address File. From that link:
PAF is the only complete source of all
known UK Postcodes.
Services do exist to handle requests for this info, such that it may be cheaper to use such services for small numbers of requests (obviously you have issues as and when such services aren't available for whatever reasons).
The only way to do it officially up to now has been to buy the Postcode Address File however there was a news item recently that the data may be free in 2010 so depends if you can wait!
Contrary to the answers here, you do NOT need the very expensive PAF from the Post Office. There are a number of commercial services (presumably powered by the PAF) that return the streets and street numbers for a specified post code. They generally charged on a per-request basis. I do not have any experience with a particular vendor, but this is an example - capscan
To do this you need access to the Postcode Address File - this is something that is licensed for use on an annual basis from the post-office, usually via a third party.
You have a choice depending on your needs of buying a package to use locally or of using web services.
The Royal Mail's page is here: http://www.royalmail.com/portal/rm/jump2?mediaId=400085&catId=400084 and on that page are links to service providers.
Postcode Anywhere is one of the providers out there (one of my clients uses them with no complaints). Licensing is flexible:
Postcode Anywhere UK Address Finder
You can use a geocoding service, such as the one provided by Google.
Physical Address to GeoLocation UK
If you want to get the approximate address for a UK postcode (i.e. street level) there is a way you can do it legally and for free without using PAF data.
Geocode the postcode - This can be done legally for free now. OS have released the codepoint database into the public domain
Do a reverse lookup on the WGS84 lat/lng pair using the Google Maps HTTP Geocoding API to get the street address
As an example of this take a look at this XML Web Service:
http://geo.jamiethompson.co.uk/W127RJ.xml
explained at:
http://jamiethompson.co.uk/projects/2010/04/30/an-open-free-uk-postcode-geocoding-web-service/
which returns:
<result>
<status>200</status>
<message/>
<postcode>W12 7RJ</postcode>
<geo>
<os_x>523180</os_x>
<os_y>180541</os_y>
<lat>51.510379</lat>
<lng>-0.226376</lng>
<landranger>TQ231805</landranger>
<accuracy>1</accuracy>
<key>UO1NV-4UO8</key>
</geo>
<address>
<street>White City Close</street>
<locality>Hammersmith</locality>
<district>Hammersmith</district>
<county>Greater London</county>
</address>
It's not as handy as the commercial offerings which give you a full list of actual addresses for any given postcode, but it lets you do a "What's your postcode? What's your house number?" type system.
You can either use the PAF or one of the commercial web services (there are a few) which licence the PAF. I think you usually buy "credits" or pay a flat rate for unlimited access.
To add to the answers already coming through:
In the paid for products typically you pay for either:
premise level - more detailed and can offer the user a list of premises at that postcode location
street level - simply matches the street at that postcode location - you or your user fills in "the first line of the address" usually house name or number
I believe this differentiation is built into the licencing by the Royal Mail at source. Premise level is substantially more expensive
If you're adding it into a website shopping cart or similar system, you can buy access to the data on a per-click basis. If you're using it for an internal system such as CRM, you need to buy a per-user license.
Either way, you can use the Data8 Postcode Lookup API via web services.
You don't need to purchase the Royal Mail Postcode Address File (PAF). There are lots of APIs available.
getaddress.io is the only one I've found that has a free plan:
https://getaddress.io

Plot latitude/longitude values from CSV file on Google Maps (or similar platform) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I've been provided with a table of data which includes columns for latitude and longitude. The data is US only. What I've like to do is to feed this data to Google Maps or a similar tool like Live Maps and have the data points plotted.
Does anyone have a code sample or know of a library that makes this task simple? I can read the values if something else can plot them (or generate the JavaScript to do it). I'm familar with C#, PHP, Python etc so language is not a priority. My preference is something that the is simple and robust.
I've dealt with this problem before many times. While KML is one option, if you have a CSV with the latitude and longitude already in it, my quick and dirty method is to use Google Fusion Tables: http://www.google.com/fusiontables/Home
Even if you have just names of cities and towns (anywhere in the world!) it does an okay job.
If you only care about US locations, and the G20 (rich, well geocoded nations), then batch GEO is probably the best fast method, but limits you to 2500 points on the free version: http://batchgeo.com/
But for my needs, BatchGeo's method falls short. When you drill down in Kenya you see that it guesses at many locations wrong. Those 666 locations in Nairobi are slums with names that appear in no official database. Since Kenya isn't one of the top 20 tech-friendly countries, this is a common source of error. Most interesting locations appear in slums. (See also www.mapKibera.org for the effort involved in fixing blank spots in google maps)
I have a more extensive blog about this with lots of images of what your output will look like: chewychunks.wordpress.com/2011/06/09/how-to-geomap-story-locations-across-east-africa/
(but newbies are not allowed to post images here directly :( )
The best solution for me required downloading 44,000 locations from Geonames.org list for Kenya and Uganda, adding a custom slum-locations geo-lookup-list, and a python multi-step matching algorythm based on DIFFLIB and REGEX.
Answer: use this website http://www.darrinward.com/lat-long/?id=257165 and it will plot them for you.
Unrelated, screenshot is locations of #thefappening leaks. I wish leakers would scrub EXIF before publishing this crap online, this is really not right.
You can plot in Google Earth by creating a special XML document known as a KVM document. See this tutorial for details.
I plotted all of our website visitor's coordinates using this plus a GeoIP service. Really fun stuff.
CSV is widely used in Google Maps mashups. You can find the code including the CSV parser here.
This link has information about using KML and the Google Earth plugin API to display geo-referenced data in csv files.
http://www.cs.umb.edu/~joecohen/#kml
I found this page while looking for some csv files to use while teaching a class about this. If you have some good play data I'd like to see it.