NEWS.md
First CRAN submission.
Commit to rename of kissfft.hh to kissfft.h.
geodesic_nn() - Find k nearest neighbors using geodesic distances on the WGS84 ellipsoid. Uses a vantage-point tree for efficient searching.geodesic_nn_radius() - Find all neighbors within a specified radius (meters)Both functions build an optimized spatial index for fast repeated queries.
geocoords_to_mgrs() and geocoords_to_utm() which were producing garbled output. These functions have been removed as they duplicated mgrs_fwd() and utm_fwd() functionality. Use those functions instead.vignette("geodesics") with a new section on nearest neighbor searchgeodesic_intersect() - Find the closest intersection of two geodesics defined by starting points and azimuthsgeodesic_intersect_segment() - Find the intersection of two geodesic segments defined by their endpointsgeodesic_intersect_next() - Find the next closest intersection from a known intersection pointgeodesic_intersect_all() - Find all intersections within a maximum distanceAll functions return the displacement along each geodesic, a coincidence indicator, and the latitude/longitude of the intersection point.
vignette("geodesics") with a new section on geodesic intersectionsdms_decode() - Parse DMS strings in various formats to decimal degreesdms_decode_latlon() - Parse coordinate pairs with automatic hemisphere handlingdms_decode_angle() - Parse angles (no hemisphere designators)dms_decode_azimuth() - Parse azimuths (E/W allowed, result in [-180, 180])dms_encode() - Format decimal degrees to DMS strings with configurable precisiondms_split() - Split angles into degree, minute, second componentsdms_combine() - Combine d/m/s components to decimal degreesvignette("grid-reference-systems") with GeoCoords and DMS sectionsgeocoords_parse() - Parse coordinate strings in various formats (MGRS, UTM, DMS)geocoords_to_mgrs() - Convert lat/lon to MGRS stringsgeocoords_to_utm() - Convert lat/lon to UTM stringsalbers_fwd() and albers_rev() - Albers Equal Area conic projection
lon0 parameterpolarstereo_fwd() and polarstereo_rev() - Polar Stereographic projection
northp parameter is vectorizedtm_fwd() and tm_rev() - Transverse Mercator projection with user-defined central meridian and scale factor (series approximation, fast, ~5nm accuracy)tm_exact_fwd() and tm_exact_rev() - Transverse Mercator with exact formulation (slower but accurate everywhere)lon0 parameterazeq_fwd() and azeq_rev() are now fully vectorized on lon0 and lat0 parameters, allowing different projection centers for each point. Output now includes lon0 and lat0 columns to track which center was used.vignette("grid-reference-systems") - Detailed guide to MGRS, Geohash, GARS, and Georef with Southern Hemisphere and Antarctic examplesvignette("projections") - Comprehensive coverage of UTM/UPS, LCC, Cassini-Soldner, Gnomonic, Azimuthal Equidistant, and OSGBvignette("geodesics") - Distance, bearing, path, and polygon area calculations with Antarctic examplesvignette("local-coordinates") - Geocentric (ECEF), Local Cartesian (ENU), and ellipsoid properties for GNSS and surveyinggeodesic_direct_fast(), geodesic_inverse_fast(), geodesic_path_fast()
geodesic_distance_fast(), geodesic_distance_matrix_fast()
localcartesian_fwd() - Convert geographic to local East-North-Up coordinateslocalcartesian_rev() - Convert local coordinates back to geographiccassini_fwd() - Convert geographic to Cassini-Soldner projectioncassini_rev() - Convert back to geographicgnomonic_fwd() - Convert geographic to gnomonic projectiongnomonic_rev() - Convert back to geographicosgb_fwd() - Convert WGS84 to OSGB grid coordinatesosgb_rev() - Convert OSGB grid to WGS84osgb_gridref() - Convert to alphanumeric grid reference stringsosgb_gridref_rev() - Parse grid reference stringsgeocentric_fwd() - Convert geodetic (lon/lat/height) to geocentric (X/Y/Z) coordinatesgeocentric_rev() - Convert geocentric (X/Y/Z) to geodetic coordinatesellipsoid_params() - Get WGS84 ellipsoid parameters (a, f, b, e², etc.)ellipsoid_circle() - Get circle of latitude radius and meridian distanceellipsoid_latitudes() - Convert to auxiliary latitudes (parametric, geocentric, rectifying, authalic, conformal, isometric)ellipsoid_latitudes_inv() - Convert auxiliary latitudes back to geographicellipsoid_curvature() - Get meridional and transverse radii of curvatureazeq_fwd() - Convert geographic to azimuthal equidistant projectionazeq_rev() - Convert azimuthal equidistant to geographic coordinatesgars_fwd() - Convert geographic coordinates to GARS codesgars_rev() - Convert GARS codes to geographic coordinatesgeoref_fwd() - Convert geographic coordinates to Georef codesgeoref_rev() - Convert Georef codes to geographic coordinatesrhumb_direct() - Solve the direct rhumb problem (find destination given start, azimuth, distance)rhumb_inverse() - Solve the inverse rhumb problem (find distance and azimuth between two points)rhumb_path() - Generate points along a rhumb line between two pointsrhumb_line() - Generate points at specified distances along a rhumb linerhumb_distance() - Compute pairwise rhumb distancesrhumb_distance_matrix() - Compute rhumb distance matrix between sets of pointsgeohash_fwd() - Convert geographic coordinates to Geohash stringsgeohash_rev() - Convert Geohash strings back to coordinates with resolution informationgeohash_resolution() - Get lat/lon resolution for a given Geohash lengthgeohash_length() - Find minimum length needed for desired precisiongeodesic_direct() - Solve the direct geodesic problem (find destination given start, azimuth, distance)geodesic_inverse() - Solve the inverse geodesic problem (find distance and azimuths between two points)geodesic_path() - Generate points along a geodesic path between two pointsgeodesic_line() - Generate points at specified distances along a geodesic from a starting pointgeodesic_distance() - Compute pairwise geodesic distancesgeodesic_distance_matrix() - Compute distance matrix between sets of pointspolygon_area() - Compute geodesic polygon area and perimeter on WGS84 ellipsoidpolygon_area_cumulative() - Compute cumulative area/perimeter as vertices are addedutmups_fwd() - Convert geographic coordinates to UTM/UPS with full metadatautmups_rev() - Convert UTM/UPS coordinates back to geographicmgrs_rev() now returns 12 columns including:
mgrs_fwd() - Convert coordinates to MGRSmgrs_rev() - Convert MGRS to coordinates