I'm working on an one-time problem that I'm hoping to solve with a computer program using free GIS libraries (preferably for VB.Net, C#, or Python... Java or C/C++ could work too). Alternatively, I wouldn't mind using a tool like the free MapWindow GIS.
- Given knowledge about the ultimate origin/destination for passengers flying, draw lines weighted by passenger volume connecting origin and destination airports. (i.e. passengers flying from San Francisco to New York can travel via many routes, but we only care about the total volume of passengers flying between the two cities).
- Find intersections for all the lines. Each intersection will have a 'weight' - the sum of the passenger volume on the two intersecting lines.
- Given 3-digit ZIP codes, calculate a density for each ZIP code by summing the weights of each intersection within X miles of the centroid.
The idea here, being to find good natural locations for hub airport given current passenger volume.
I found Shapely for Python that looks useful. It includes a lot of spatial analysis tools (like centroid, buffer, intersection, etc.) that would make solving this problem fairly easy. However, it works in the Cartesian coordinate system. It seems like that would be rather inaccurate on a continental scale. It seems like, from an accuracy standpoint, it would be best to do spatial analysis in the geographic coordinate system (lat/lon on a datum) itself rather than re-projecting the data.
So my questions:
- Since we only want a general picture, is the Cartesian coordinate systems accurate enough?
- Can I do spatial analysis directly in a geographic coordinate system/datum?
- What tools exist that would allow me to convert the data (if necessary), and do the required spatial analysis on it (with minimal setup effort since this is an one-time thing).