Perform interpolation on surfaces to generate topographic-style maps.
Project description
topography :earth_americas:
Contains different approaches to modeling terrain and topographic-style maps in python
Requirements
numpy
matplotlib
see the requirements.txt
Features
Inverse Distance Weighting (IDW)
A given point P(x, y)
is determined by the values of its neighbors, inversely to the distance of each neighbor.
P
is more heavily influenced by nearer points via a weighting function w(x, y)
.
Steps
The value of P(x, y)
is determined only by the closest raw data point.
This approach works best to get a "feel" for larger datasets. With few input points, the resulting map has little detail.
In the case of multiple equidistant points being closest, point values are stored, and averaged.
Nearest Neighbor (NN) [in progress :construction_worker: :hammer_and_wrench:]
Install
pip install topography
Example
from topography.Map import Map
from topography.utils.io import getPointValuesFromCsv
# take in csv/xlsx
rawData = getPointValuesFromCsv("tests/data/20x20.csv")
# make map from rawData
M = Map(rawData)
# Display the inputted raw data values
M.showRawPointValues()
# interpolate using inverse distance weighting
M.idw(showWhenDone=True)
# Display the interpolated data values
M.showFilledPointValues()
# Save the data to a .csv file
M.writeLastToCsv("idw_20x20", writeAsMatrix=True)
Development with twine
python setup.py sdist bdist_wheel
twine upload -r pypi dist/* -u <username> -p <password>
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for topography-1.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | baea7f5495bf0f25e412ee741c6f67393893e271cbbd503baca9249e860aacf2 |
|
MD5 | 226575c37e485e5772dcc4c57d862d9c |
|
BLAKE2b-256 | 44a9fc1d9856225bb50910273cf2df076846eb8409f4a602f8674368c3e9e4e9 |