发表用户:讨论贴
收集整理:James.Liu
相关讨论:http://www.mygis.com.cn/forum/dispbbs.asp?boardID=4&ID=3600
信息原始来源:James MapInfo技术论坛

文章标题:相交的线如何在交点处断开成几段?

gisforyou

如题所示!比如有两十字相交的条线,如何在交点处断开使其成为四段线?

请各位哥哥姐姐师傅师伯指点

MILearner

编辑图元如果可以最好使用MAPINFO,论坛中有打断线的工具,是用MAPBASIC写成的,你可以找找看

James.Liu

比较麻烦,
获得相交点,然后进行节点操作,

相交点把原来的两条线的几点分成四份,然后重新生成地图对象,再删除已有的

gisforyou

点是不能分割线的。

在mapinfo7中可以用一线来切断另一线。由于一些地图已制好,我只能在程序中实现这个功能。

我的思路是在这两个线上各增加一个节点,然后分别取得?” 前后 “节点,以进行分段

关键是这个相交点是增加到线的哪两个节点之间呢?

mapxcoder

好像只好如此

基于算相交点加到哪两个节点之间,可以把节点两两取出,算算就知道了

yymylover

哈哈,你也作拓扑生成呀,我已经做好了,不仅能自动进行打断,而且能进行断点编号,生成道路优选的拓扑图!其实思路很简单,就是对mif文件进行操作,读入每一条折线的每一条线段,然后和该文件的其他任意一条折线的上的每一条线段进行比较找到交点,然后把交点记录下来,记做arr(i,o),然后把这个交点以后而在下一个交点之前的所有节点记做arr(i,j),一条折线完成这个过程后,需要把arr(i,0)进行排序(因为断点是没有顺序的,而写mif文件的时候需要按照顺序写),然后写文件!完了!

辉小小

不错,各位分析都很好。

我正在想做自动断线的功能,第6楼的做法不错!