I have the circles' center in lat & long, as well as the radius in meters. How do I find the circles intersections?
Circle 1: Center on Earth's surface (43.564627,-116.220524) These values are Latitude and Longitude Radius: 15 Meters a Length on the surface of the earth Circle 2: Center on Earth's surface (43.564736,-116.219741) These values are Latitude and Longitude Radius: 15 Meters a Length on the surface of the earth
Expressed in Latitude and Longitude, where do these circles intersect?
I am unsure of the best method to find the closest results, accuracy within 2 meters should be alright.
If your circles' radii are relatively small (like your sample 15m), you could transform this into a purely geometric problem by projecting circle centers onto a plane and calculating their intersections. Then you could unproject the intersection points back into geodetic coordinates. The key is to find the best projection.
Since you say the radii are small and circles could be placed anywhere on Earth, I guess for best accuracy you'd need an oblique conformal projection, something like
- http://mathworld.wolfram.com/MercatorProjection.html (see "oblique form")
EDIT: general steps to calculate intersections (and I'm not saying this is a best approach):
- For each circle calculate the lat/lon point on the circle which is on the same meridian as the circle's center. You can use Earth's circumference for this.
- Calculate the midpoint between two circles (by simply averaging the two circles' center lat/lons. This will be the center of the map projection.
- Project circles' centers using Oblique Mercator.
- Project the two points on the circle (also using Oblique Mercator).
- For each circle you now have its center (X,Y) and radius (by subtracting Y coordinate of the point on the circle from the Y coordinate of the center).
- Calculate intersections using the link I mentioned above.
- Project the two intersection points back onto Earth's surface (using inverse projection formulas).
- That's it.