树櫴希德 发表于 2014-5-7 20:43:56

不管使用任何软件(国内还是国外)生成三角网,都要处理好地形特征线与高程点之间关系,三角形组网时除了要遵守最近点连线法则(或者其他),最重要是不能穿越地性线file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpgfile:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.jpg

树櫴希德 发表于 2014-5-7 20:51:59

当然软件用CASS9.1比较好点,但其实都差不多。7.1就够了

树櫴希德 发表于 2014-5-7 20:57:59

CASS-DTM三角网两期间土石方计算终极改进

flytoday 发表于 2014-5-18 07:12:49

很强大………………

zzyong00 发表于 2014-5-27 22:27:22

关于三角网的资料,可否共享一下

yanshengjiang 发表于 2014-9-10 23:03:16

llsheng_73 发表于 2014-5-5 22:02 static/image/common/back.gif
其实相对于你这个问题我更好奇为什么会有两个点位一样而高程不一样的点?
挖填前后测的?那怎么保证它的坐 ...

一个是挖前一个是挖后。。起对比作用。

newbuser 发表于 2014-11-19 09:56:50

有没有强大的编组程序分享呢?

yanshengjiang 发表于 2018-11-14 15:37:40

树櫴希德 发表于 2014-5-7 20:36
生成三角网处理坡坎方面,网中每一个三角形只能是坡顶线上相邻两点连接坡脚线上对应一点,或者是坡脚线相邻 ...

我觉得算方量最精确的算法是三角网。但用三角网直接两期算我觉得还是会增大误差。我的理论就是用两期的三角网同时算到一个平面。然后计算差值。这样就不存在你们说的双线性差值带来的烦恼了。   一个非测绘专业的十年测量员的理解,有可能有误清不要见笑。

树櫴希德 发表于 2023-8-20 16:13:33

721.163,,221379.262,53977.810,5.529,5.220,0.309
721.164,,221374.790,53987.740,5.629,5.220,0.409
721.165,,221367.996,53989.463,5.750,5.220,0.530
721.166,,221365.112,53994.742,5.664,5.220,0.444
721.167,,221360.353,53989.567,5.779,5.220,0.559
721.168,,221357.032,53993.537,5.679,5.220,0.459
721.169,,221352.605,53991.569,5.558,5.220,0.338
721.170,,221358.207,53983.844,5.820,5.220,0.600
721.171,,221350.822,53980.183,5.679,5.220,0.459
721.172,,221351.556,53971.801,5.847,5.220,0.627
721.173,,221346.575,53964.486,5.666,5.220,0.446
721.174,,221337.767,53961.983,5.732,5.220,0.512
721.175,,221337.048,53961.640,5.752,5.220,0.532
721.176,,221330.348,53965.111,5.680,5.220,0.460
721.177,,221334.548,53966.549,5.707,5.220,0.487
721.178,,221347.084,53961.034,5.570,5.220,0.350
721.179,,221351.271,53955.535,5.646,5.220,0.426
721.180,,221358.610,53951.355,5.503,5.220,0.283
721.181,,221361.237,53950.476,5.671,5.220,0.451
(defun String:Split (str delimiter / post strlst stl)
    (if      str
      (progn
      (setq stl (strlen delimiter))
      (while (vl-string-search delimiter str)
          (setq      post   (vl-string-search delimiter str)
                strlst (cons (substr str 1 post) strlst)
                str    (substr str (+ 1 post stl))
          )
      )
      (reverse (vl-remove "" (cons str strlst)))
      )
    )
)
;;;;;;;;;

;;by Gu_xl
(defun gxl-cs:gcd (inspt scale / pt blkdef obj height height1 height2);展高程点函数(inspt:((x y)h1 h2)),scale:缩放比例)
(setvar "CMDECHO" 0)

(regapp "PSOUTH")
;;;检查字体 "HZ" 是否存在
(if(not(tblobjname "style" "HZ"))(command "style" "HZ" "rs.shx,gbcbig.shx" 0 1 0 "" "" ""))
;;;检查是否存在高程点图块定义
(if(not(tblobjname "block" "GC2000"))
    (progn
      (setq obj
      (vla-AddPolyline
         (vla-Add(vla-get-Blocks(vla-get-ActiveDocument(vlax-get-acad-object)))(vlax-3D-point '(0 0 0)) "GC2000")
   (vlax-make-variant(vlax-safearray-fill(vlax-make-safearray vlax-vbdouble (cons 0 5))'(-0.2 0 0 0.2 0 0)))))
      (vla-SetBulge obj 0 1)(vla-SetBulge obj 1 1)
      (vla-put-Closed obj :vlax-true)
      (vla-put-ConstantWidth obj 0.4)))
(setq height (rtos(nth 2 inspt)2 3)
      height1 (rtos(nth 3 inspt)2 3)
   height2(rtos(-(nth 2 inspt)(nth 3 inspt))2 3)

    )
;;;插入块
(entmake (list
             '(0 . "INSERT")
       '(2 . "GC2000")
             '(100 . "AcDbEntity")
             '(100 . "AcDbBlockReference")
             '(66 . 1);;;属性跟随标志,1跟随,0不跟随
            
            (cons 10(setq pt(list(car inspt)(cadr inspt) )))
            (cons 41 scale)
            (cons 42 scale)
            (cons 43 scale)
            (list -3 '("PSOUTH" (1000 . "202101")))
       )
   )
;;;插入属性
(entmake (list
             '(0 . "ATTRIB")
             '(100 . "AcDbEntity")
             '(100 . "AcDbText")
      (cons 62 1)
            (cons 10 (setq pt(polar pt 0(* 1.2 scale))))
            (cons 40 (* 2.0 scale))
            (cons 50 0)
            (cons 41 0.8)
            (cons 51 0)
            (cons 1 height )
            (cons 7 "HZ")
            (cons 72 0)
            (cons 11 pt)
            '(100 . "AcDbAttribute")
            (cons 2 "height")
            (cons 700)
            (cons 74 1)
         ))
;;;;;;;;;;;;;;;;;;;;;;;;;
(entmake (list
             '(0 . "ATTRIB")
             '(100 . "AcDbEntity")
             '(100 . "AcDbText")
      (cons 62 2)
            (cons 10 pt)
            (cons 40 (* 2.0 scale))
            (cons 50 0)
            (cons 41 0.8)
            (cons 51 0)
            (cons 1 height1)
            (cons 7 "HZ")
            (cons 72 0)
            (cons 11 pt)
            '(100 . "AcDbAttribute")
            (cons 2 "height1")
            (cons 700)
            (cons 74 3)
         ))
;;;;;;;;;;;;;;;;;;;;;;;;;
(entmake (list
             '(0 . "ATTRIB")
             '(100 . "AcDbEntity")
             '(100 . "AcDbText")
   (cons 62 3)
            (cons 10 (setq pt(polarpt pi(* 1.5 scale))))
            (cons 40 (* 2.0 scale))
            (cons 50 0)
            (cons 41 0.8)
            (cons 51 0)
            (cons 1 height2)
            (cons 7 "HZ")
            (cons 72 2)
   ; (cons 73 2)
            (cons 11 pt)
            '(100 . "AcDbAttribute")
            (cons 2 "height2")
            (cons 700)
            (cons 74 2)
         ))
   ;;;结束标志
   (entmake '((0 . "SEQEND")))
   (princ)
)



;;;;;;;
(defun c:zgcd ( /   ) ;fn f k ll fff x
(vl-load-com)
(command "layer" "m" "jcGCD" "c" "1" "" "L" "CONTINUOUS" """")
(setq fn (getfiled "Select Log file请打开数据文件:格式为:经度,纬度" "" "txt" 8))

(setq f (open (findfile fn) "r"))

(while (setq k (read-line f))
    (setq ll (cons kll ) )
)
(close f)
;(String:Split (car ll) ",")
(foreach x ll
(setq fff   (String:Split x ","))

(gxl-cs:gcd (list (atof(nth 2 fff)) (atof(nth 1 fff))(atof(nth 3 fff)) (atof(nth 4 fff))) 0.5 )

)
(princ )
)


;(gxl-cs:gcd '(100 200 30 50)1.0)

页: 1 2 [3]
查看完整版本: 生成重合或最近点高差坐标文件(红色-绿色)