Database for streets world wide? - mysql

I use the downloadable Geonames database for all countries, states, counties and cities in the world, but I wonder if there is a database for streets?
So you could pick: country -> state/department/district -> (county/region) -> city -> street in whatever country you like.
Because when I do a search for a street in Google Maps I can see all the upper levels (country/region/city). Is there a database you could download for MySQL for this?
There has to be a database for this, cause there are always national companies that provide this kind of information. Where did they get it from?

Have you checked out OpenStreetMap? It is free and has a export screen that lets you download the data in XML and other formats.
Those concerned with the accruacy of the OpenStreetMap data may want to read what ITO has to say about OpenStreetMap's data for Haiti.
Enter OpenStreetMap, the wiki map of the world, CrisisMappers and an impromptu community of volunteers who collaborated to produce the most authoritative map of Haiti in existence.
If you have 5 minutes you may want to watch this TED video by Tim Berners-Lee talking about what is being done with OpenStreetMap data.

You're looking for Navteq or Tele Atlas.
They will charge lots of money.

The US Census Bureau provides what they call TIGER files, which might help you out for the US anyway... As far as freely available worldwide data I seriously doubt you're gonna find much, but many governments probably provide something similar to the TIGER files. Good luck.

I think one good solution would be Listreet
Samples seems to contain country, region, city, streets and even elevation with longitude and latitude
Prices are fair and the team behind is responsive

Related

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

how to map crawled locations to existing locations in the database

Background: I am building a website which crawls data from real-estate websites (a sample project) in hong kong. I crawl different websites, for various property listings. Hence I get a variety of locations formats from the raw crawled locations
Example:
few Samples of raw crawled locations:
North Point
8, Java Road, North Point, Hong Kong
Hong Kong Island , North Point
As can be seen from the above addresses, the same district in hong kong, that is North point can have many forms, few have been listed above. Issue is that this data doesnt make sense unless it is mapped/structured
Requirement:
I want some elegant solution, to be able to map these raw crawled locations to a pre-defined set of values. One way I can think of is, create a database of locations (I am using mysql), and find out the matching locationId for each crawled raw location.
If the above scheme sounds good, then my database would have fields like the below:
LOCATION_REF, country, state,city, locality, subLocality1, subLocality2, lat, long
Additional information: I am also using apache solr (lucene) to built this website, so any solr related matching suggestions are also welcome
Thoughts: I think there must be some predefined APIs to do things like this, because almost every app I see have location based searching and filtering. Is there a google api to do this? If yes, I would appreciate if anyone could help with good examples
PS: I use Jsoup to parse data from the pages (to extract raw location)
I have found out a way to do it, and Google geocoding anwers all the questions that I asked.
Google geocoding API maps the raw address format to its own format, gives structured data of the location based on the location hirarchy (example street number, neighbourhood, locality etc etc . This is what I needed
Here is the link for reference: https://developers.google.com/maps/documentation/geocoding/intro

Geopoints of areas in world

Is there maybe (although i doubt but you never know) some free (or not free) database of all areas in world (or just cities) described with geo polygons.
For example:
Soho, London : [(latitude1, longitude1), (latitude2, longitude2), (latitude3, longitude3) ... ]
I know that openstreetmap has some free stuff but I haven find anything like this.
Any information is helpful!
Thanks,
Ivan
The MapIt Global service may help. For any co-ordinate, it returns the administrative boundaries that cover it. If you have a list of cities you're interested in, you can simply query their service and get the shapes of their boundaries.
Have a look at the GeoNames web site. They have free gazetteer data sets available for world countries, including coordinates for capital cities, towns, parks, airports, business centers, etc. I know you asked for polygons but in my extensive travels across the net I haven't found anything that meets that requirement - not for free anyway.

How to plot historic country data (USSR, East Germany, etc) in GoogleMaps?

I'm building a series of infographics using Fusion Tables to show yearly data for countries, each nation represented by a pin on Google's map, the data values visible when you click on the nation's pin. I've got the contemporary values working perfectly, but:
My data goes back 80 years and I'd like to allow users to view historic data for non-existant countries like USSR, East / West Germany, etc.
Are there "archive" world maps that I can use when uploading historic data to Fusion Tables? (eg, world map for 1988, world map for 1934)
If not, I can simply use the contemporary map and select pin locations to approximate the old countries, but it wouldn't look so good. I'm neither sufficiently clever nor able to invest the time to create new world maps - I figure someone must have had this problem before now, but I can't find anything.
Any suggestions gratefully appreciated.
Best,
T.
If you can't find what you need on GeoCommons, this site provides a tutorial for creating your own GIS data sets from map imagery, if you're willing to put the work into it. It requires you to install ArcGIS Explorer (it's free, don't worry). There are numerous sources of historical map imagery that you could use, such as this one for Russia.
I would also back up geocodezip in that using KML is probably the easiest way to get a GIS data set onto a Google map, and a lot of GIS applications (like ArcGIS) support it.
You can overlay older maps on top of the Google Maps tiles. This is probably the easiest way to achieve what you are looking for.
See the overlays documentation
- https://developers.google.com/maps/documentation/javascript/overlays#GroundOverlays
Examples:
https://google-developers.appspot.com/maps/documentation/javascript/examples/groundoverlay-simple
Also there is a number of tools to help do this. I just did a simple search for Google Maps Tiles Overlay Generator.
- First one I found: http://www.maptiler.org/
you can use the styling parameters to theme the map to look a little older, probably removing labels for pois, roads etc.

How do I get vertice data from google/bing maps?

I'm trying to develop a application that uses informations from google/bing maps, but I need the vertice data to recreate roads and I can't use images since I can't get road names and height info.
I need vertices/nodes of streets (with latitude,longitude,altitude, street name ) and no visual data.
Thanks.
Open Street Map is definitely the way to go for this - extracting vertex information from Bing/Google is both technically difficult, and a breach of the Terms of Use. OSM data is better quality in many cases and, more to the point, free to use under a CC-BY-SA licence.
You'll also probably need a spatial database in which to store the information. I've written a couple of articles about loading OSM data into SQL Server which you might find helpful. e.g.:
http://alastaira.wordpress.com/2011/04/15/loading-open-street-map-data-in-sql-server-part-ii-ways/