--- id: pymap3d version: "3.2.0" license: unclear license_treatment: permissive maintenance: aging --- # pymap3d — pure Python (no prereqs) coordinate conversions, following convention of several popular Matlab routines. License: permissive · Maintenance: aging · Downloads: 702.1K/mo ## What it is and what it does PyMap3D is a pure-Python library for converting between geographic and 3-D coordinate systems commonly used in geospatial, aerospace, and remote-sensing applications. It implements functions like geodetic2ecef, aer2geodetic, and enu2ned, mirroring the API of Matlab's Mapping Toolbox. The library requires only Python itself for basic use; NumPy and AstroPy are optional and enable vector operations and astronomical conversions respectively. Designed for non-interactive, data-streaming scenarios on embedded systems and HPC clusters, pymap3d handles both scalar and array inputs seamlessly. It supports multiple ellipsoid models (defaulting to WGS84) and includes specialized functions for Vincenty distance calculations, loxodrome navigation, and latitude transformations. Atmospheric effects and full planetary perturbations are not modeled, but the library is well-suited for applications where coordinate transformations are the primary computational need. Use it for: - Convert GPS coordinates (lat/lon/alt) to Earth-centered Cartesian (ECEF) for satellite or aircraft tracking systems. - Calculate azimuth, elevation, and range from an observer to a target for antenna pointing or radar applications. - Transform between local coordinate frames (ENU, NED) for autonomous vehicle navigation and sensor fusion. - Compute great-circle and rhumb-line distances and bearings between geographic points for route planning. - Embed coordinate conversions in embedded or HPC applications where minimal dependencies and pure Python are required. - Verify geospatial calculations against Matlab Mapping Toolbox reference implementations using the test suite. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Converts between geographic and 3-D coordinate systems (geodetic, ECEF, ENU, NED, AER, ECI) with pure Python and optional NumPy acceleration, following Matlab Mapping Toolbox conventions. Yes, if you need coordinate conversions and prefer pure Python with minimal dependencies. The permissive license, low install friction, and Matlab-compatible API make it a solid choice for embedded systems, HPC, and scientific workflows. The aging maintenance status is a minor concern for a stable, narrowly-scoped library, but verify that version 3.2.0 addresses your specific use case before relying on it for production work. ## Install pip install pymap3d uv add pymap3d poetry add pymap3d ## Installing pymap3d Before you install: Low friction: pure Python with no mandatory dependencies, distributed as a wheel. Maintenance status is aging (402 days since last release), but the package reached Production/Stable and supports current Python versions (3.9+). License in practice: Permissive BSD license allows commercial and private use with minimal restrictions, making it suitable for embedded systems and HPC environments where license flexibility matters. Quickstart: import pymap3d as pm # Convert geodetic coordinates to ECEF x, y, z = pm.geodetic2ecef(lat, lon, alt) # Convert to azimuth, elevation, range from observer az, el, rng = pm.geodetic2aer(lat, lon, alt, observer_lat, observer_lon, observer_alt) Requires Python 3.9 or later. NumPy and AstroPy are optional; without them, only scalar data is supported (use list comprehension for vectors). Verify before relying: - Whether the 402-day gap since last release indicates active maintenance or dormancy beyond the 'aging' classification. - Performance characteristics on embedded systems or HPC clusters compared to compiled alternatives. - Accuracy of astronomical conversions when AstroPy is not installed (algorithms from Vallado and Meeus mentioned but not detailed). ## Package facts - License: not declared (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 702.1K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags coordinate conversion geodetic ecef, geographic 3d coordinate transforms, geodesy python library, earth-centered earth-fixed conversion, azimuth elevation range calculations, local coordinate systems enu ned, latitude longitude altitude conversion, geodesy, coordinate-systems, pure-python [View on SkillFed](https://skillfed.io/packages/pymap3d) · [View on PyPI](https://pypi.org/project/pymap3d/)