Skip to main content

A collection of classes for representing the physical measurable quantities and the methods to locate them

Project description

Image PythonCoordinates

During the development of code to construct the source noise directivity patterns from my dissertation, it became apparent that on limitation of coding of physical elements was units. Whether it was the code I wrote myself, or what I found online it was difficult to know the specific units that we expected, and how to convert them for the appropriate unit base used within the function.

In addition to units, there is the locating of the objects in 3-space, how to move and rotate them. And just as important how two or more were related. This Python module provides access to the appropriate linear algebra equations, a series of measurement objects, and the coordinates that can represent a location in 3-space. These coordinates were extended to represent the real world, providing an interface for converting the geodesic(latitude/longitude) to geodetic(UTM) coordinate descriptions.

This code is part of a larger sweet of tools for the determination of physical phenomena that propagate through the atmosphere from a source to a receiver.

Dr. Frank Mobley

This code was cleared for public release on 15 March 2023 with originator Reference Number: RH-23-124158, Case Reviewer: Katie Brakeville using Case Number: AFRL-2023-1262

In May 2023, the code that converts a sparse matrix to a dense matrix using nearest neighbor, bi-linear interpolation was added to the package. This code originates with the Mobley, Frank S., Alan T. Wall, and Stephen C. Campbell. Translating jet noise measurements to near-field level maps with nearest neighbor bilinear smoothing interpolation. The Journal of the Acoustical Society of America 150.2 (2021): 687-693 paper. When using this code, please reference this article.

Usage

Conversion of Temperature Units

from PythonCoordinates.measurables.physical_quantities import Temperature

t = Temperature(59, Temperature.Units.Fahrenheit)
print(t.kelvin)

This file details the usage and history of the physical quantity classes contained within this module.

Version History

2023

January

  • Created the initial structure and module from the Hawkeye code.

February

  • Moved the repository to GitLab through AFRL ELSZ. This is where the code will live until we receive public affairs approval for releasing this code to the public.
  • Reorganized the tests and the code according to the typical structure within PyCharm
  • All tests pass.

March

  • Refactored the name
  • Created a new folder structure
  • Updated the setup.py to actually install code
  • published version 0.5.2 to Pypi.org
  • published version 0.5.3 to Pypi.org
  • Added the floating point epsilon value for when the radius is too small to really calculate the polar component of the spherical coordinate

May

  • Updated the SphericalCoordinate constructor to use the names polar and azimuthal rather than the Greek letter names
  • Added the nearest neighbor, bi-linear interpolation code from the maintainer measurement paper.
  • Added icon for the package generated by Bing AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PythonCoordinates-0.9.4.tar.gz (30.3 kB view hashes)

Uploaded Source

Built Distribution

PythonCoordinates-0.9.4-py3-none-any.whl (32.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page