title: Need a standalone Java library for performing spatial calculations on lat/lon data
body: <p>I'm looking for a Java library that is capable of performing spatial calculations on sets of lat/lon data. Here are some of the functions that I'm looking for:  </p>
  
  <ul>
  <li>Calculate the Great Circle distance between two points</li>
  <li>Determine if a point lies within a simple closed polygon, where the polygon is defined by an ordered list of points</li>
  <li>Determine if the line between point "A" and point "B" intersects a simple closed polygon, where the polygon is defined by an ordered list of points</li>
  <li>Determine if point "A" is within a certain radius of point "B"</li>
  </ul>
  
  <p>What I'm <strong>NOT</strong> looking for:</p>
  
  <ul>
  <li>I <strong>don't</strong> want a library that is dependent upon a database geospatial component, such as Oracle Spatial, and cannot function independently.</li>
  <li>I <strong>don't</strong> want a library whose purpose is to generate graphics/maps/etc. I am building an analysis module for an existing application and the end goal is not to create pretty pictures.</li>
  <li>I <strong>don't</strong> want a library for searching large amounts of spatial data. If it also happens to do this, that's ok, but I'm not going to use that feature.</li>
  </ul>
  
  <p>The organization is planning to acquire a license for Oracle Spatial eventually (so spatial searching will be covered at that point), but for now I need to implement the analysis functions that I have mentioned above on small data sets without relying on database-supplied spatial support.</p>