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
FDTD simulator that generates s-parameters from OFF geometry files using a GPU

Emport Overview This repo provides a FDTD (Finite Differences Time Domain) simulator called emport for solving RF circuits. Emport outputs its simulat

4 Dec 15, 2022
Creates 3D geometries from 2D vector graphics, for use in geodynamic models

geomIO - creating 3D geometries from 2D input This is the Julia and Python version of geomIO, a free open source software to generate 3D volumes and s

3 Feb 01, 2022
Construct and use map tile grids in different projection.

Morecantile +-------------+-------------+ ymax | | | | x: 0 | x: 1 | | y: 0 | y: 0

Development Seed 67 Dec 23, 2022
Starlite-tile38 - Showcase using Tile38 via pyle38 in a Starlite application

Starlite-Tile38 Showcase using Tile38 via pyle38 in a Starlite application. Repo

Ben 8 Aug 07, 2022
Software for Advanced Spatial Econometrics

GeoDaSpace Software for Advanced Spatial Econometrics GeoDaSpace current version 1.0 (32-bit) Development environment: Mac OSX 10.5.x (32-bit) wxPytho

GeoDa Center 38 Jan 03, 2023
ProjPicker (projection picker) is a Python module that allows the user to select all coordinate reference systems (CRSs)

ProjPicker ProjPicker (projection picker) is a Python module that allows the user to select all coordinate reference systems (CRSs) whose extent compl

Huidae Cho 4 Feb 06, 2022
A package built to support working with spatial data using open source python

EarthPy EarthPy makes it easier to plot and manipulate spatial data in Python. Why EarthPy? Python is a generic programming language designed to suppo

Earth Lab 414 Dec 23, 2022
A service to auto provision devices in Aruba Central based on the Geo-IP location

Location Based Provisioning Service for Aruba Central A service to auto provision devices in Aruba Central based on the Geo-IP location Geo-IP auto pr

Will Smith 3 Mar 22, 2022
Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Example of animated maps in matplotlib + geopandas using entire time series of congressional district maps from UCLA archive. rendered, interactive version below

Apoorva Lal 5 May 18, 2022
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
Using Global fishing watch's data to build a machine learning model that can identify illegal fishing and poaching activities through satellite and geo-location data.

Using Global fishing watch's data to build a machine learning model that can identify illegal fishing and poaching activities through satellite and geo-location data.

Ayush Mishra 3 May 06, 2022
Simple, concise geographical visualization in Python

Geographic visualizations for HoloViews. Build Status Coverage Latest dev release Latest release Docs What is it? GeoViews is a Python library that ma

HoloViz 445 Jan 02, 2023
Pure Python NetCDF file reader and writer

Pyncf Pure Python NetCDF file reading and writing. Introduction Inspired by the pyshp library, which provides simple pythonic and dependency free data

Karim Bahgat 14 Sep 30, 2022
Calculate & view the trajectory and live position of any earth-orbiting satellite

satellite-visualization A cross-platform application to calculate & view the trajectory and live position of any earth-orbiting satellite in 3D. This

Space Technology and Astronomy Cell - Open Source Society 3 Jan 08, 2022
Stitch image tiles into larger composite TIFs

untiler Utility to take a directory of {z}/{x}/{y}.(jpg|png) tiles, and stitch into a scenetiff (tif w/ exact merc tile bounds). Future versions will

Mapbox 38 Dec 16, 2022
Python module and script to interact with the Tractive GPS tracker.

pyTractive GPS Python module and script to interact with the Tractive GPS tracker. Requirements Python 3 geopy folium pandas pillow usage: main.py [-h

Dr. Usman Kayani 3 Nov 16, 2022
Program that shows all the details of the given IP address. Build with Python and ipinfo.io API

ip-details This is a program that shows all the details of the given IP address. Build with Python and ipinfo.io API Usage To use this program, run th

4 Mar 01, 2022
A compilation of several single-beam bathymetry surveys of the Caribbean

Caribbean - Single-beam bathymetry This dataset is a compilation of several single-beam bathymetry surveys of the Caribbean ocean displaying a wide ra

Fatiando a Terra Datasets 0 Jan 20, 2022
Using SQLAlchemy with spatial databases

GeoAlchemy GIS Support for SQLAlchemy. Introduction GeoAlchemy is an extension of SQLAlchemy. It provides support for Geospatial data types at the ORM

109 Dec 01, 2022
Computer Vision in Python

Mahotas Python Computer Vision Library Mahotas is a library of fast computer vision algorithms (all implemented in C++ for speed) operating over numpy

Luis Pedro Coelho 792 Dec 20, 2022