
Security News
MCP Community Begins Work on Official MCP Metaregistry
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Vyperdatum [definition]
Vyperdatum requires GDAL
which can be installed from the conda's conda-forge channel. Below, we first create a conda environment, install GDAL
and Vperdatum.
conda create -n vd python=3.11
conda activate vd
conda install -c conda-forge proj=9.4 gdal=3.8.4 python-pdal
pip install vyperdatum
Before running vyperdatum, you need to copy NOAA's datum files and the updated proj.db
into the PROJ data directory [download link will be added here]. This process may get automated in the future. The Proj data directory path can be found here:
import pyproj as pp
pp.datadir.get_data_dir()
Vyperdatum offers a Transformer
class to handle the transformation of point and raster data. The Transformer
class applies transformation from crs_from
to crs_to
coordinate reference system. By default the transformation steps will be determined automatically:
from vyperdatum.transformer import Transformer
crs_from = "EPSG:6346" # NAD83(2011) 17N
crs_to = "EPSG:6346+NOAA:98" # NAD83(2011) 17N + MLLW
tf = Transformer(crs_from=crs_from,
crs_to=crs_to,
)
Alternatively, you may manually prescribe the transformation steps:
from vyperdatum.transformer import Transformer
crs_from = "EPSG:6346" # NAD83(2011) 17N
crs_to = "EPSG:6346+NOAA:98" # NAD83(2011) 17N + MLLW
steps = [{"crs_from": "EPSG:6346", "crs_to": "EPSG:6318", "v_shift": False},
{"crs_from": "EPSG:6319", "crs_to": "EPSG:6318+NOAA:98", "v_shift": True},
{"crs_from": "EPSG:6318", "crs_to": "EPSG:6346", "v_shift": False}
]
tf = Transformer(crs_from=crs_from,
crs_to=crs_to,
steps=steps
)
Once an instance of the Transformer
class is created, the transform()
method can be called. Vyperdatum supports all GDAL-supported drivers, variable resolution BAG, LAZ and NPZ point-cloud files.
tf.transform(input_file=<PATH_TO_INPUT_RASTER_FILE>,
output_file=<PATH_TO_OUTPUT_RASTER_FILE>
)
You may also, directly call the file-specific transform methods instead of the generic Transformer.transform()
method:
# dircet point transformation. x, y, z can be arrays, too.
x, y, z = 278881.198, 2719890.433, 0
xt, yt, zt = tf.transform_points(x, y, z, always_xy=True, allow_ballpark=False)
# GDAL-supported raster transform
tf.transform_raster(input_file=<PATH_TO_INPUT_RASTER_FILE>,
output_file=<PATH_TO_OUTPUT_RASTER_FILE>
)
# VRBAG transform
tf.transform_vrbag(input_file=<PATH_TO_INPUT_VRBAG_FILE>,
output_file=<PATH_TO_OUTPUT_VRBAG_FILE>
)
# LAZ transform
tf.transform_laz(input_file=<PATH_TO_INPUT_LAZ_FILE>,
output_file=<PATH_TO_OUTPUT_LAZ_FILE>
)
# NPZ transform
tf.transform_npz(input_file=<PATH_TO_INPUT_NPZ_FILE>,
output_file=<PATH_TO_OUTPUT_NPZ_FILE>
)
For a quick start, more detailed descriptions or search through the API, see Vyperdatums's documentation at: https://vyperdatum.readthedocs.io.
FAQs
Vyperdatum with built-in regional datums, proj.db, and vdatum vector files.
We found that vyperdatum demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The MCP community is launching an official registry to standardize AI tool discovery and let agents dynamically find and install MCP servers.
Research
Security News
Socket uncovers an npm Trojan stealing crypto wallets and BullX credentials via obfuscated code and Telegram exfiltration.
Research
Security News
Malicious npm packages posing as developer tools target macOS Cursor IDE users, stealing credentials and modifying files to gain persistent backdoor access.