解决了2个todo
This commit is contained in:
parent
a7e4809463
commit
f4367893e2
38
dem.py
38
dem.py
|
|
@ -100,7 +100,7 @@ class Dem:
|
|||
dxfattribs={"color": 5},
|
||||
) # 蓝色
|
||||
# 树的线
|
||||
# TODO 没有考虑用最高边线的情况
|
||||
# 考虑用最高边线的情况
|
||||
if self._tree_height > 0:
|
||||
dm_msp.add_polyline2d(
|
||||
[
|
||||
|
|
@ -217,10 +217,6 @@ class Dem:
|
|||
Xpixel = (Xgeo[i] - gt[0]) / gt[1]
|
||||
Yline = (Ygeo[i] - gt[3]) / gt[5]
|
||||
# 寻找左上,左下,右上,右下4个点
|
||||
# lu_xy = np.array([math.floor(Xpixel), math.floor(Yline)]) # 左上
|
||||
# ld_xy = np.array([math.floor(Xpixel), math.ceil(Yline)]) # 左下
|
||||
# ru_xy = np.array([math.ceil(Xpixel), math.floor(Yline)]) # 右上
|
||||
# rd_xy = np.array([math.ceil(Xpixel), math.ceil(Yline)]) # 右下
|
||||
lu_xy = np.array([math.floor(Xpixel), math.ceil(Yline)]) # 左上
|
||||
ld_xy = np.array([math.floor(Xpixel), math.floor(Yline)]) # 左下
|
||||
ru_xy = np.array([math.ceil(Xpixel), math.ceil(Yline)]) # 右上
|
||||
|
|
@ -237,37 +233,7 @@ class Dem:
|
|||
rd_elevation = gdal_data.ReadAsArray(
|
||||
int(rd_xy[0]), int(rd_xy[1]), 1, 1
|
||||
).astype(float)
|
||||
# delta_x = (Xpixel - ld_xy[0]) / 1 # 距离是1
|
||||
# delta_y = (ld_xy[1]-Yline) / 1
|
||||
# site_ele[i] = (
|
||||
# ld_elevation
|
||||
# + (lu_elevation - ld_elevation) * delta_y
|
||||
# + (rd_elevation - ld_elevation) * delta_x
|
||||
# + (ld_elevation - lu_elevation + ru_elevation - rd_elevation)
|
||||
# * delta_x
|
||||
# * delta_y
|
||||
# )
|
||||
|
||||
# 通过空间平面方程拟合Z值 参考《数字高程模型教程》 汤国安,李发源,刘学军编著 p89
|
||||
# equation_a = np.array(
|
||||
# [
|
||||
# [lu_xy[0], lu_xy[0] * lu_xy[1], lu_xy[1], 1],
|
||||
# [ld_xy[0], ld_xy[0] * ld_xy[1], ld_xy[1], 1],
|
||||
# [ru_xy[0], ru_xy[0] * ru_xy[1], ru_xy[1], 1],
|
||||
# [rd_xy[0], rd_xy[0] * rd_xy[1], rd_xy[1], 1],
|
||||
# ]
|
||||
# )
|
||||
# equation_b = np.array(
|
||||
# [lu_elevation[0], ld_elevation[0], ru_elevation[0], rd_elevation[0]]
|
||||
# )
|
||||
# equation_c = np.linalg.solve(equation_a, equation_b)
|
||||
# point_z = (
|
||||
# Xpixel * equation_c[0]
|
||||
# + equation_c[1] * Xpixel * Yline
|
||||
# + equation_c[2] * Yline
|
||||
# + equation_c[3]
|
||||
# )
|
||||
# 已经https://blog.csdn.net/jameschen9051/article/details/109469228中的公司
|
||||
# 依据https://blog.csdn.net/jameschen9051/article/details/109469228中的公司
|
||||
point_z = (
|
||||
lu_elevation[0]
|
||||
* (
|
||||
|
|
|
|||
13
main_dem.py
13
main_dem.py
|
|
@ -1,13 +0,0 @@
|
|||
import sys
|
||||
from dem import Dem
|
||||
from loguru import logger
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) < 2:
|
||||
toml_file_path = r"db_JS.toml"
|
||||
else:
|
||||
toml_file_path = sys.argv[1]
|
||||
logger.info(f'读取配置文件{toml_file_path}')
|
||||
dem = Dem(toml_file_path)
|
||||
dem.get_dem_info(if_print=True)
|
||||
dem.write_dxf()
|
||||
print("Finished.")
|
||||
Loading…
Reference in New Issue