找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 9611|回复: 16

[工具] 批量根据TFW文件导入拼接卫星影像图

[复制链接]

已领礼包: 51个

财富等级: 招财进宝

发表于 2018-5-11 10:15:47 | 显示全部楼层 |阅读模式
  • 插件名称 : 导入TFW
  • 作  者 : Lispboy
  • 运行环境 :XDRX API 晓东工具箱 
  • 发布时间 :2018-05-11
  • 命令名称 :XDTB_InPutTwf
  • 插件介绍 :批量根据TFW文件导入卫星影像图
  • 备  注 : (点击图片可以放大)
(点击图片可以放大)

晓东温馨提示 1、运行环境为 晓东工具箱XDRX API 的插件,请下载最新版本的 晓东工具箱XDRX API开发环境 一键安装
2、在ACAD中如何加载插件,请看 论坛插件使用方法
3、如果您有要求需要定制插件,请到 编程申请 论坛发帖求助

插件详细内容

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 newer 于 2018-5-11 10:17 编辑

  1. (defun c:XDTB_InPutTwf (/ a AcadDocument AcadObject b bl chat fn fp height i ii imageName imageNames
  2.                         insertionPnt len len1 mSpace path pt RasterObj reco tfwname twfNames width x
  3.                        )
  4.   (defun _process (fn imageName /)
  5.     (setq fp (open fn "r"))
  6.     (setq reco (read-line fp)
  7.           ii   1
  8.     )
  9.     (setq chat nil)
  10.     (while reco
  11.       (setq chat (append (list reco) chat))
  12.       (setq reco (read-line fp)
  13.             ii   (1+ ii)
  14.       )
  15.     )
  16.     (close fp)
  17.     (setq pt (list (atof (nth 1 chat)) (atof (nth 0 chat)) 0))
  18.     (setq bl (atof (nth 5 chat)))
  19.     (setq insertionPnt (vlax-make-safearray vlax-vbDouble '(0 . 2)))
  20.     (vlax-safearray-fill insertionPnt pt)
  21.     (setq RasterObj (vla-AddRaster mSpace imageName insertionPnt 1 0))
  22.     (setq width (vla-get-Width RasterObj))
  23.     (setq height (vla-get-height RasterObj))
  24.     (vla-put-ImageWidth RasterObj (* width bl))
  25.     (vla-put-Imageheight RasterObj (* height bl))
  26.     (xdrx_entity_move
  27.       (entlast)
  28.       (list 0 (* height bl))
  29.       (list 0 0)
  30.     )
  31.   )
  32.   (defun _gettfw (imagenames /)
  33.     (setq a (mapcar '(lambda (x)
  34.                        (setq imageName x
  35.                              path      (xdrx_system_splitpath imageName)
  36.                              tfwname   (strcat (car path) (cadr path) (caddr path) ".tfw")
  37.                        )
  38.                        (if (findfile tfwname)
  39.                          (list tfwname imageName)
  40.                        )
  41.                      )
  42.                     imageNames
  43.             )
  44.     )
  45.     (setq b (vl-remove nil a))
  46.   )
  47.   (xdrx_begin)
  48.   (setq AcadObject   (vlax-get-acad-object)
  49.         AcadDocument (vla-get-ActiveDocument Acadobject)
  50.         mSpace       (vla-get-ModelSpace Acaddocument)
  51.   )
  52.   (if (setq imageNames
  53.              (xdrx_system_selectfiles
  54.                "选取图像文件"
  55.                ""
  56.                "jpg;tif;tiff"
  57.                4096
  58.              )
  59.       )
  60.     (progn (setq len1 (length imageNames))
  61.            (if (setq twfNames (_gettfw imageNames))
  62.              (progn (setq i   0
  63.                           len (length twfNames)
  64.                     )
  65.                     (mapcar '(lambda (x)
  66.                                (setq i (1+ i))
  67.                                (xdrx_prompt
  68.                                  (if (= i 1)
  69.                                    "\n"
  70.                                    "\r"
  71.                                  )
  72.                                  "正在处理第 "
  73.                                  i
  74.                                  " of "
  75.                                  len
  76.                                  "个图像文件."
  77.                                )
  78.                                (_process (car x) (cadr x))
  79.                              )
  80.                             twfNames
  81.                     )
  82.                     (xdrx_prompt
  83.                       "\n选择了" len1 "个图像文件,成功拼接了" i "个."
  84.                      )
  85.                     (command "zoom" "e" "zoom" "0.8x")
  86.              )
  87.              (xdrx_prompt "\n没有发现TFW文件.")
  88.            )
  89.     )
  90.   )
  91.   (xdrx_end)
  92.   (princ)
  93. )


论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2018-5-12 22:44:54 | 显示全部楼层
谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享谢谢分享
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2018-7-17 17:46:34 | 显示全部楼层
这个东西可以哦,看上去不错的样子哦
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

发表于 2018-12-10 11:08:40 | 显示全部楼层
这个可以,正需要相关代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 381个

财富等级: 日进斗金

发表于 2018-12-10 14:51:31 | 显示全部楼层
像这些卫星图像从哪里导出来?goole earth么?

点评

google earch 是一个 还有不少专业的卫星地图下载器  详情 回复 发表于 2018-12-10 14:52
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 19个

财富等级: 恭喜发财

发表于 2018-12-10 14:52:47 | 显示全部楼层
kiwiairui 发表于 2018-12-10 14:51
像这些卫星图像从哪里导出来?goole earth么?

google earch 是一个
还有不少专业的卫星地图下载器

点评

您有推荐的么?我们专业和这个卫星图关系还挺大。  详情 回复 发表于 2018-12-10 15:31
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 381个

财富等级: 日进斗金

发表于 2018-12-10 15:31:05 | 显示全部楼层
Lisphk 发表于 2018-12-10 14:52
google earch 是一个
还有不少专业的卫星地图下载器

您有推荐的么?我们专业和这个卫星图关系还挺大。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-6-26 18:35:11 | 显示全部楼层
怎么使用啊
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 408个

财富等级: 日进斗金

发表于 2019-9-23 17:07:45 | 显示全部楼层
tfwname   (strcat (car path) (cadr path) (caddr path) ".tfw")下面加行
tfwname   (strcat (car path) (cadr path) (caddr path) ".jgw")就完美了,否则jpg的会提示找不到tfw
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2019-9-25 00:33:53 来自手机 | 显示全部楼层
看似很强大的功能
来自: 微社区
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 9个

财富等级: 恭喜发财

发表于 2020-11-17 22:41:15 | 显示全部楼层
运行不成功,是怎么回事
QQ截图20201117223930.png
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2020-11-17 23:51:11 | 显示全部楼层
toki 发表于 2020-11-17 22:41
运行不成功,是怎么回事

命令行输入
(vl-load-com)
回车,然后执行下代码试试
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-1-6 17:52:48 | 显示全部楼层
辛苦了 谢谢分享  谢谢
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 34个

财富等级: 招财进宝

发表于 2021-1-7 08:04:32 | 显示全部楼层
很好很强大!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2021-1-21 14:54:08 | 显示全部楼层
牛逼的功能,收藏了!!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-12-26 15:13 , Processed in 0.536228 second(s), 65 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表