cvbnm8888 发表于 2010-9-27 14:30:00

得看楼主你的图是用什么软件成图的吧,如果是南方,那么高程值和高程点是同一个块,很容易取得Z值,估计得传张图上来瞧瞧

哭泣的天空 发表于 2010-11-4 01:07:00

你这个问题我可以解决 我现在每天接触的都像你说的那种地形图 可以联系我Q604275805

gzxl 发表于 2010-11-5 21:28:00

<font face="Verdana">&nbsp;;提取海图水深值<br/>&nbsp;;小数与对应整数的坐标差固定为(6.4,-1.0),另假定图面上没有其他text对象<br/>&nbsp;(defun c:tqhtss (/ ss1 ss2 en1 en2 x1 x2 y1 y2 t1 t2 m n k ff txt)<br/>&nbsp;&nbsp;&nbsp; (setq ss1 (ssget "x" '((0 . "TEXT") (40 . 4.0))))<br/>&nbsp;&nbsp;&nbsp; (setq ss2 (ssget "x" '((0 . "TEXT") (40 . 3.0))))<br/>&nbsp;&nbsp;&nbsp; (setq n 0)<br/>&nbsp;&nbsp;&nbsp; (setq ff (getfiled "提取海图水深" "c:\\海图水深数据" "txt" 1))<br/>&nbsp;&nbsp;&nbsp; (setq ff (open ff "w"))<br/>&nbsp;&nbsp;&nbsp; (repeat (sslength ss1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq m 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en1 (ssname ss1 n)) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq x1 (cadr (assoc 10 (entget en1))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq y1 (caddr (assoc 10 (entget en1))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq t1 (cdr (assoc 1 (entget en1))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq k 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (repeat (sslength ss2)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq en2 (ssname ss2 k))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq x2 (cadr (assoc 10 (entget en2))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (&lt; (abs (- (- x2 x1) 6.4)) 0.0001);x方向坐标差改变<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq y2 (caddr (assoc 10 (entget en2))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (&lt; (abs (- (- y1 y2) 1)) 0.0001);y方向坐标差改变<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq t2 (cdr (assoc 1 (entget en2))))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq txt (strcat (rtos x1) " " (rtos y1) " " t1 "." t2 ""))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (write-line txt ff)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (print k)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq m 1)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq k (1+ k))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (if (= m 0)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (progn<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq txt (strcat (rtos x1) " " (rtos y1) " " t1 ""))<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (write-line txt ff)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (print k)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ) <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (setq n (1+ n))<br/>&nbsp;&nbsp;&nbsp; )<br/>&nbsp;&nbsp;&nbsp; (close ff)<br/>&nbsp;&nbsp;&nbsp; (princ) <br/>&nbsp;) </font>

gzxl 发表于 2010-11-5 21:32:00

这是在明经里找到的,感谢提供源码的网友

里123 发表于 2010-11-22 21:43:00

想知道

461045462 发表于 2010-12-1 15:08:17

本帖最后由 461045462 于 2010-12-1 15:28 编辑

期待解决的办法。
请问:用lsp如何编辑读写图上的高程点(gcd层),如果能同时读取控制点(kzd层),并将点名一起注出就更理想。
另外请教一个问题,高程点的数据与点是一个块,用lsp语句如何去分解它?如果直接使用explode命令,点与数据就全没有了?
请高手指教。
文件见下面:地形数据



谢谢

gzbccy 发表于 2011-1-22 15:38:48

回复 461045462 的帖子

对于高程点和数据点用炸开命令会消失的问题,如果是用南方CASS,取消编组,就可以实现高程点和数据点分开。

461045462 发表于 2011-1-22 20:02:42

gzbccy 发表于 2011-1-22 15:38 static/image/common/back.gif
回复 461045462 的帖子

对于高程点和数据点用炸开命令会消失的问题,如果是用南方CASS,取消编组,就可以实 ...

请问:取消编组是怎样操作?没有使用过
望指教
谢谢

gzbccy 发表于 2011-1-23 10:23:34

461045462 发表于 2011-1-22 20:02 static/image/common/back.gif
请问:取消编组是怎样操作?没有使用过
望指教
谢谢

CASS界面下编辑菜单中有编组选择项,有ON/OFF选择。选择OFF即可

461045462 发表于 2011-1-23 16:06:05

谢谢gzbccy 的指教
学习了
页: 1 [2] 3 4
查看完整版本: 请问高手怎样提取地形图中无高程属性的地形点高程?