title: Fast python GIS library that supports Great Circle Distance and polygon
body: <p>I was looking for a geographical library for python.
  I need to be able to do the following:</p>
  
  <ol>
  <li>Get the distance between 2 points (in meters) using <a href="http://en.wikipedia.org/wiki/Great-circle_distance" rel="nofollow noreferrer">Great-circle distance</a> (not liner distance calculation)</li>
  <li>Check if a point is inside a polygon </li>
  <li>Perform 1 and 2 couple of thousands times per seconds</li>
  </ol>
  
  <p>At start I've looked at this post:  <a href="https://stackoverflow.com/questions/9078776/python-module-for-storing-and-querying-geographical-coordinates">Python module for storing and querying geographical coordinates</a> and started to use <a href="http://code.google.com/p/geopy/wiki/GettingStarted" rel="nofollow noreferrer">geopy</a>.
  I've encountered 2 problems:</p>
  
  <ol>
  <li>Geopy doesn't support polygons</li>
  <li>High CPU usage of geoPy (it takes about 140ms of CPU to calculate distance between a point and relative 5000 points)</li>
  </ol>
  
  <p>I've continued looking and found <a href="https://stackoverflow.com/questions/7157076/best-python-gis-library">Best Python GIS library?</a> and <a href="https://gis.stackexchange.com/">https://gis.stackexchange.com/</a> . It looked promising as geos is using complied C code which should be faster and shapely supports polygons.
  The problem is that geos/OGR performs linear distance calculations instead of sphere. This eliminates all other geos based modules (like GEODjango and shapely). 
  Am I missing something here? I don't think that I'm the first person who is using python to perform GIS calculations and wants to get accurate results.</p>