2个版本
0.4.1 | 2024年8月14日 |
---|---|
0.4.0 | 2024年1月21日 |
0.3.2 |
|
0.2.1 |
|
#62 in 地理空间
每月 223 次下载
385KB
353 行
japan-geoid
使用GSI的地理水准模型计算日本地理水准高度的库。它用Rust编写,还支持Python和JavaScript。该库包含基于GSIGEO2011(gsigeo2011_ver2_2.asc
)的地理水准数据,经授权创建:「依据测量法获得国土地理院院长的批准(使用)R 5JHs 560」。
这是一个用于计算日本地理水准高度的库。它用Rust实现,还可以使用Python和JavaScript(Wasm)。它使用国土地理院的地理水准模型「日本地理水准2011」,按照国土地理院提供的C++示例代码进行插值计算。该库包含基于日本地理水准2011 v.2.2(gsigeo2011_ver2_2.asc
)的地理水准数据(依据测量法获得国土地理院院长的批准(使用)R 5JHs 560)。
许可证:MIT
本库不是国土地理院提供的。
Python
安装
pip install japan-geoid -U
使用
from japan_geoid import load_embedded_gsigeo2011
# Load the embedded GSIGEO2011 model.
geoid = load_embedded_gsigeo2011()
# Calculate the geoid height.
(lng, lat) = (138.2839817085188, 37.12378643088312)
height = geoid.get_height(lng, lat)
print(f"{lng=} {lat=} {height=}")
# Returns NaN if the input is outside the domain.
geoid.get_height(10.0, 10.0)) # => nan
# The library also works with Numpy.
import numpy as np
geoid.get_heights(
np.array([138.2839817085188, 141.36199967724426]),
np.array([37.12378643088312, 43.06539278249951]),
)
Rust
安装
cargo add japan-geoid
使用
use japan_geoid::gsi::load_embedded_gsigeo2011;
use japan_geoid::Geoid;
fn main() {
// Load the embedded GSIGEO2011 model.
let geoid = load_embedded_gsigeo2011();
// Calculate the geoid height.
let (lng, lat) = (138.2839817085188, 37.12378643088312);
let height = geoid.get_height(lng, lat);
println!("Input: (lng: {lng}, lat: {lat}) -> Geoid height: {height}");
// Returns NaN if the input is outside the domain.
assert!(f64::is_nan(geoid.get_height(10.0, 10.0)))
}
JavaScript (Wasm) - 实验
安装
npm add japan-geoid
使用
import init, { loadEmbeddedGSIGEO2011 } from "japan-geoid";
await init(); // load .wasm
const geoid = loadEmbeddedGSIGEO2011();
console.log(
geoid.getHeight(138.2839817085188, 37.12378643088312)
); // => 39.47387115961899
console.log(
geoid.getHeights(
[138.2839817085188, 141.36199967724426],
[37.12378643088312, 43.06539278249951]
)
); // => Float64Array(2) [ 39.47387115961899, 31.90071200378531 ]
构建
wasm-pack build -t web
python patch_esm.py
许可证
MIT许可证
依据测量法获得国土地理院院长的批准(使用)R 5JHs 560
作者
- Taku Fukada
- MIERUNE Inc.