This repository contains the scripts to derivate the ENU and ECEF coordinates from the longitude, latitude, and altitude values encoded in the NAD83 coordinates.

Related tags

Geolocationata-datum
Overview

ata-datum

This repository contains the scripts to derivate the ENU and ECEF coordinates from the longitude, latitude, and altitude values encoded in the NAD83 coordinates. These coordinates can be verified with the ESRI satellite imagery in this website. The pre-computed coordinates are provided by the CSV file containing the ENU, ECEF, WGS84, and NAD83 values derived from the original NAD83 file coordinates. The previously used, and slightly wrong, legacy ENU coordinates are also present in the CSV file for completeness. Both ENU coordinates have antenna 2A as the reference point. Keep in mind that these values might change in the future. Therefore, it's a good practice not to hard-code the pre-computed coordinates values in your software.

The process starts with the latitude, longitude, and altitude in NAD83 (ellipsoid GRS80) coordinates of each antenna. These values are converted to the WGS84 coordinate system using the position vector approximation described here. This method visually appears to perform better than the coordinate frame approximation. The obtained WGS84 coordinates are then transformed into ECEF using PyProj. Finally, the ENU position of each antenna relative to the position of antenna 2A is obtained by converting the WGS84 values into meters using the optimal Universal Transverse Mercator grid for the area. The UTM value of the reference point (antenna 2A) is then subtracted from the UTM value of each antenna.

The columns present in the pre-computed CSV-file are the following:

  • antenna: Antenna designation. It starts with a number and ends with a letter. The map below illustrates the positions.
  • lat_wgs: Point latitude in WGS84.
  • lon_wgs: Point longitude in WGS84.
  • alt_wgs: Point altitude in WGS84.
  • lat_nad: Point latitude in NAD83 (ellipsoid GRS80).
  • lon_nad: Point longitude in NAD83 (ellipsoid GRS80).
  • alt_nad: Point altitude in NAD83 (ellipsoid GRS80).
  • x: The X-axis of the point in ECEF.
  • y: The Y-axis of the point in ECEF.
  • z: The Z-axis of the point in ECEF.
  • e: Point east coordinate in ENU in reference to antenna 2A.
  • n: Point north coordinate in ENU in reference to antenna 2A.
  • u: Point up coordinate in ENU in reference to antenna 2A.
  • e_legacy: Legacy point east coordinate in ENU in reference to antenna 2A (inaccurate).
  • n_legacy: Legacy point north coordinate in ENU in reference to antenna 2A (inaccurate).
  • u_legacy: Legacy points up coordinate in ENU in reference to antenna 2A (inaccurate).

Dependencies

Owner
Luigi Cruz
Computer Engineering Student. Radio Amateur (PU2SPY). I talk about SDRs, Raspberry Pi, ML, Parallel Computing, Satellites, Python, C++ and Golang.
Luigi Cruz
Google Maps keeps old satellite imagery around for a while – this tool collects what's available for a user-specified region in the form of a GIF.

google-maps-at-88-mph The folks maintaining Google Maps regularly update the satellite imagery it serves its users, but outdated versions of the image

Noah Doersing 111 Sep 27, 2022
Logging the position of the car on an sdcard

audi-mmi-3g-gps-logging Logging the position of the car on an sdcard, startup script origin not clear to me, logging setup and time change is what I d

2 May 31, 2022
prettymaps - A minimal Python library to draw customized maps from OpenStreetMap data.

A small set of Python functions to draw pretty maps from OpenStreetMap data. Based on osmnx, matplotlib and shapely libraries.

Marcelo de Oliveira Rosa Prates 9k Jan 08, 2023
Water Detect Algorithm

WaterDetect Synopsis WaterDetect is an end-to-end algorithm to generate open water cover mask, specially conceived for L2A Sentinel 2 imagery from MAJ

142 Dec 30, 2022
Open Data Cube analyses continental scale Earth Observation data through time

Open Data Cube Core Overview The Open Data Cube Core provides an integrated gridded data analysis environment for decades of analysis ready earth obse

Open Data Cube 410 Dec 13, 2022
Rasterio reads and writes geospatial raster datasets

Rasterio Rasterio reads and writes geospatial raster data. Geographic information systems use GeoTIFF and other formats to organize and store gridded,

Mapbox 1.9k Jan 07, 2023
a Geolocator made in python

Geolocator A Geolocator made in python ✨ Features locates ur location using ur ip thats it! 💁‍♀️ How to use first download the locator.py file instal

Portgas D Ace 1 Oct 27, 2021
Python library to decrypt Airtag reports, as well as a InfluxDB/Grafana self-hosted dashboard example

Openhaystack-python This python daemon will allow you to gather your Openhaystack-based airtag reports and display them on a Grafana dashboard. You ca

Bezmenov Denys 19 Jan 03, 2023
A ready-to-use curated list of Spectral Indices for Remote Sensing applications.

A ready-to-use curated list of Spectral Indices for Remote Sensing applications. GitHub: https://github.com/davemlz/awesome-ee-spectral-indices Docume

David Montero Loaiza 488 Jan 03, 2023
Daily social mapping project in November 2021. Maps made using PyGMT whenever possible.

Daily social mapping project in November 2021. Maps made using PyGMT whenever possible.

Wei Ji 20 Nov 24, 2022
Manipulation and analysis of geometric objects

Shapely Manipulation and analysis of geometric objects in the Cartesian plane. Shapely is a BSD-licensed Python package for manipulation and analysis

3.1k Jan 03, 2023
Color correction plugin for rasterio

rio-color A rasterio plugin for applying basic color-oriented image operations to geospatial rasters. Goals No heavy dependencies: rio-color is purpos

Mapbox 111 Nov 15, 2022
ColoringMapAlgorithm-CSP- - Graphical Coloring of Countries with Condition Satisfaction Algorithm

ColoringMapAlgorithm-CSP- Condition Satisfaction Algorithm Output Condition

Kerem TAN 2 Jan 10, 2022
Enable geospatial data mining through Google Earth Engine in Grasshopper 3D, via its most recent Hops component.

AALU_Geo Mining This repository is produced for a masterclass at the Architectural Association Landscape Urbanism programme. Requirements Rhinoceros (

4 Nov 16, 2022
Geocode rows in a SQLite database table

Geocode rows in a SQLite database table

Chris Amico 225 Dec 08, 2022
Tile Map Service and OGC Tiles API for QGIS Server

Tiles API Add tiles API to QGIS Server Tiles Map Service API OGC Tiles API Tile Map Service API - TMS The TMS API provides these URLs: /tms/? to get i

3Liz 6 Dec 01, 2021
EOReader is a multi-satellite reader allowing you to open optical and SAR data.

Remote-sensing opensource python library reading optical and SAR sensors, loading and stacking bands, clouds, DEM and index.

ICube-SERTIT 152 Dec 30, 2022
h3-js provides a JavaScript version of H3, a hexagon-based geospatial indexing system.

h3-js The h3-js library provides a pure-JavaScript version of the H3 Core Library, a hexagon-based geographic grid system. It can be used either in No

Uber Open Source 648 Jan 07, 2023
Geographic add-ons for Django REST Framework. Maintained by the OpenWISP Project.

django-rest-framework-gis Geographic add-ons for Django Rest Framework - Mailing List. Install last stable version from pypi pip install djangorestfra

OpenWISP 981 Jan 03, 2023
Minimum Bounding Box of Geospatial data

BBOX Problem definition: The spatial data users often are required to obtain the coordinates of the minimum bounding box of vector and raster data in

Ali Khosravi Kazazi 1 Sep 08, 2022