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

# ![Image](./_d29623d8-088c-480c-8d70-0b831a2c23a6.jpg "PythonCoordinates") 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