brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
geodesic-calculationsUse pyproj.Geod for ellipsoidal longitude-latitude distance, azimuth, intermediate-point, line, and polygon calculations, with optional Shapely geometry adapters and explicit units, angular conventions, and signed-area handling.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this route when a task asks for distance, azimuth, a geodesic destination,
points along an ellipsoidal path, line length, or geodesic polygon area and
perimeter. The core runtime is the PROJ-backed CPU implementation of
pyproj.Geod; it operates on geographic coordinates and does not project or
transform a CRS.
Geod coordinate argument is ordered (longitude, latitude), or
(lon, lat), even when a CRS elsewhere advertises native latitude-first
axes. Do not pass (lat, lon) to fwd, inv, line, polygon, or geometry
methods.radians=False, longitude, latitude, and azimuths are in
degrees. With radians=True, all angular inputs and angular outputs are in
radians. Distances remain metres in either mode; del_s remains metres;
polygon areas are square metres and perimeters are metres.fwd returns a terminus
longitude, latitude, and by default the back azimuth. inv returns the
forward azimuth, back azimuth, and ellipsoidal distance by default.../crs-and-database/SKILL.md, and route
coordinate transformation to
../coordinate-transformations/SKILL.md.(lon, lat) coordinates, record
the angular unit, and record whether the requested output is metres,
square metres, or an angle.Geod with an intentional ellipsoid. The live constructor
is Geod(initstring=None, **kwargs); use a named ellps, a PROJ-style
initstring, or explicit ellipsoid parameters rather than relying on an
implicit default.inv for endpoint-to-endpoint distance and azimuths, fwd for a
destination from an initial point/azimuth/distance, and an intermediate
method when a path must be sampled.line_length or line_lengths for a polyline, and
polygon_area_perimeter for coordinate sequences. Do not close a polygon
by repeating its first vertex unless the input contract specifically
requires it; the polygon routine closes it algebraically.abs() until the caller explicitly requests unsigned area.references/api-reference.md.references/workflows.md.references/troubleshooting.md.../crs-and-database/SKILL.md.../coordinate-transformations/SKILL.md.../cli-data-and-network/SKILL.md.When handing off a result, state both the signed polygon area and the
orientation used, along with the area/perimeter units. If Shapely is missing,
state that the geometry adapter was not used and provide the equivalent
coordinate-array fallback. If a CRS has no ellipsoid, CRS.get_geod() may
return None; return to the CRS route rather than inventing an ellipsoid.
Before treating a calculation as complete, confirm that:
Geod construction identifies the ellipsoid parameters or named ellipsoid;(lon, lat) and have compatible lengths/shapes;