$npx skillfedfor your agent

pymap3d

pure Python (no prereqs) coordinate conversions, following convention of several popular Matlab routines.

With conditionsPyPI GISReleased Jul 2025702.1K downloads / mopermissive licensePure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — pymap3d-3.2.0-py3-none-any.whl
v3.2.0 · released 2025-07-08 · Python >=3.9

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.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Python 3.9 or later.
  • NumPy and AstroPy are optional; without them, only scalar data is supported (use list comprehension for vectors).
  • Low friction: pure Python with no mandatory dependencies, distributed as a wheel.

License · maintenance · safety

permissive license (permissive) — Permissive BSD license allows commercial and private use with minimal restrictions, making it suitable for embedded systems and HPC environments where license flexibility matters.

last release 2025-07-08 (402 days)

0 known vulnerabilities (OSV.dev, 2026-08-14) · 702,079 downloads/mo, #5,287 on PyPI

Verify before relying

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)
  • 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).
Same gist for agents: .md · .json

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 on this page. Verify before relying on it.

With conditions

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

pymap3d on PyPI

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+).

Requires Python 3.9 or later. NumPy and AstroPy are optional; without them, only scalar data is supported (use list comprehension for vectors).

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)

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

Licensepermissive license permissive
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependenciesNone
MaintenanceAging 402 days since the last release
First released
Downloads702,079 / month, #5,287 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Scientific/Engineering :: GIS

Evidence: pymap3d-3.2.0-py3-none-any.whl

Tags

Capabilities
coordinate conversion geodetic ecefgeographic 3d coordinate transformsgeodesy python libraryearth-centered earth-fixed conversionazimuth elevation range calculationslocal coordinate systems enu nedlatitude longitude altitude conversion
Topics
geodesycoordinate-systemspure-python
PyPI keywords
coordinate-conversiongeodesy

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “coordinate conversion geodetic ecef”

  • pymap3dConverts between geographic and 3-D coordinate systems (geodetic,…
  • pygeodesyPyGeodesy provides pure Python implementations of geodetic…
  • pyprojpyproj provides a Python interface to PROJ, enabling cartographic…

Give your agent the search over MCP, or paste the wish link into any chat.

More GIS packages

shapely Worth it
PyPI · GIS · released Sep 2025

Shapely provides Python tools for creating, manipulating, and analyzing 2D geometric objects (points, lines, polygons) using the GEOS library, with both scalar and vectorized NumPy-based operations.

BSD-3-Clausecompiled wheel · 3.10+
85.8Mdownloads / mo
pyproj Unrated
PyPI · Scientific/Engineering · released Aug 2025

pyproj provides a Python interface to PROJ, enabling cartographic projections and coordinate system transformations for geospatial applications.

MITcompiled wheel · 3.11+
28.0Mdownloads / mo
geopandas Worth it
PyPI · GIS · released Jun 2026

GeoPandas extends pandas DataFrames to handle geographic data, combining pandas operations with shapely geometry and spatial analysis capabilities that would otherwise require a spatial database.

Install it if you work with geographic data in Python and want to avoid setting up a spatial database or learning a separate GIS tool.

BSD-3-Clausepure Python · 3.10+
24.8Mdownloads / mo
geopy Worth it
PyPI · Python Modules · released Jul 2026

geopy is a Python client for geocoding and distance calculation that converts addresses to coordinates and vice versa using multiple web-based geocoding services, and computes geodesic and great-circle distances between geographic points.

Install it if you need geocoding or distance calculations in your application.

MITpure Python · 3.8+
19.0Mdownloads / mo
pyogrio Worth it
PyPI · GIS · released Jun 2026

Pyogrio provides fast, bulk-oriented read and write access to vector spatial data formats (Shapefile, GeoPackage, GeoJSON, etc.) via GDAL/OGR bindings, typically for use with GeoPandas GeoDataFrames.

MITcompiled wheel · 3.10+
17.2Mdownloads / mo
h3 Worth it
PyPI · GIS · released May 2026

h3 provides Python bindings to Uber's H3 geospatial indexing library, converting geographic coordinates into hierarchical hexagonal grid cells and performing spatial operations on them.

Apache-2.0compiled wheel · 3.10+
12.1Mdownloads / mo

See also pygeodesy · gsw · utm · pyGeoTile · mgrs · utide · gps3 · geoarrow-types · gwcs