views:

314

answers:

2

Hi,

I need a library (preferably written in Python) which is able to take a series of IP addresses (or geographic coordinates) and plots them on a World Map.

I already found this one, but it outputs data as a .svg file and it's simply unable to cope with large data sets.

Please note that I need something which can be downloaded and run locally, so no data uploading to 3rd party web services.

Thanks!

A: 

The google maps API can support all of the above if you would be willing to set up a local web environment for testing. There is a wrapper around the API for Python called pymaps.

The API documentation has an example on how to use Google's geocoder to plot points on a map given a particular input address:

Google Maps API Example: Simple Geocoding

cballou
From what I understand, pymaps is just a wrapper to make using Google Maps easier. However, I want to run this completely offline, without sending any data outside (to Google for instance).
A: 

Perhaps Basemap in Matplotlib for the plotting.

It can do all sorts of projections (don't mind the ugly default colours). And you have good control over what/how you plot. You can even use NASA Blue Marble imagery. And of course, you can plot markers, lines, etc on the map using the plot command.

I haven't put huge datasets through it, but being that it is a part of Matplotlib I suspect it will do well.

If I remember right, despite being part of the library, by default it doesn't ship with Matplotlib.

nazca