This isn't JTS-related (except inasmuch as we're using it for handling our geometries) but you guys are pretty knowledgeable so maybe you can point out what I'm doing wrong.
I earlier had the question on how to find distance in lat/lon. The solution we've decided to use (because it's pretty fast and easy) is just to construct a "circular" polygon (a 60-point polygon is close enough to a circle for our purposes) and query ArcGIS Server for all intersecting polygons.
The problem is how to construct the circle, since we're working in lat/lon. At first we though it would be easy to just reproject the center point to spherical mercator, draw a circle, and reproject the circle points back to lat/lon. The problem is that doesn't keep the bounds of the circle "correct for what we expect to see".
We're viewing the map stretched flat, using web mercator, so vertical distance (in degrees latitude) is a constant (in screen pixels), but Antarctica and Greenland are of course stretched to rediculous widths. What the above technique does is keeps the ratio between width and height correct, but the "wrong" one gets scaled (for what we want). So as you move the circle north from the equator, it gets shorter instead of wider.
Would I be better off just writing a function to generate circle points in lat/lon, or did I just pick the wrong projection to use to draw the circle in?