Package pygeodesy :: Module geodesici |
[frames] | no frames]

# Module geodesici

Classes Intersectool and Intersector to find the intersections of two geodesic lines or line segments.

Class Intersector is a pure Python version of Karney's C++ class Intersect.

Class Intersectool is a wrapper to invoke Karney's IntersectTool utility, but intended for testing purposes only.

Set env variable `PYGEODESY_INTERSECTTOOL` to the (fully qualified) path of the `IntersectTool` executable. For usage and some examples run `"env PYGEODESY_INTERSECTTOOL=<IntersectTool-path> python3 -m pygeodesy.geodesici --help"`.

Both Intersectool and Intersector provide methods `All`, `Closest`, `Next` and `Segment` and produce XDict instances with 4 or more items. Adjacent methods `All5`, `Closest5`, `Next5` and `Segment` return or yield Intersectool5Tuple or Intersector5Tuples with the lat-, longitude and azimuth of each intersection as an extended, geodesic `Position`-like GDict instance.

For more details, see the C++ GeographicLib documentation, Charles F.F. Karney's paper Geodesics intersections and S. Baselga Moreno & J.C. Martinez-Llario's Intersection and point-to-line solutions for geodesics on the ellipsoid.

Version: 24.07.25

Classes
| XDict 4+Item result from Intersectool and Intersector methods `All`, `Closest`, `Next` and `Segment` with the intersection offsets `sA`, `sB` and `sX0` in `meter` and the coincidence indicator `c`, an `int`, +1 for parallel, -1 for anti-parallel or 0 otherwise.
| _IntersectBase (INTERNAL) Base class for Intersectool and Intersector.
| Intersectool Wrapper to invoke Karney's utility IntersectTool similar to class Intersector.
| Intersector Finder of intersections between two goedesic lines, each an instance of GeodesicLineExact, wrapped GeodesicLine or GeodesicLineSolve.
| Intersect7Tuple 7-Tuple `(A, B, sAB, aAB, c, kA, kB)` with `A` and `B` each a `LatLon` or LatLon4Tuple`(lat, lon, height, datum)` of the intersection on each geodesic line, the distance `sAB` in in `meter` and angular distance `aAB` in `degrees` between `A` and `B`, coincidence indicator `c` and segment indicators `kA` and `kB` all `int`, see XDict and method intersect7.
| Intersectool5Tuple 5-Tuple `(A, B, sAB, aAB, c)` with `A` and `B` the `Position` of the intersection on each geodesic line, the distance `sAB` between `A` and `B` in `meter`, the angular distance `aAB` in `degrees` and coincidence indicator `c` (`int`), see XDict.
| Intersector5Tuple 5-Tuple `(A, B, sAB, aAB, c)` with `A` and `B` the `Position` of the intersection on each geodesic line, the distance `sAB` between `A` and `B` in `meter`, angular distance `aAB` in `degrees` and coincidence indicator `c` (`int`), see XDict.
| Middle5Tuple 5-Tuple `(A, B, sMM, aMM, c)` with `A` and `B` the line segments including the mid-point location in `latM`, `lonM`, distance `s1M` in `meter` and angular distance `a1M` in `degrees`, the distance between both mid-points `sMM` in `meter` and angular distance `aMM` in `degrees` and coincidence indicator `c` (`int`).

Variables
| __all__ = `_ALL_LAZY.geodesici`