找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 935|回复: 7

[编程申请]:绘制道路的思路

[复制链接]
发表于 2002-4-14 22:15:30 | 显示全部楼层 |阅读模式

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

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

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

关于“绘制道路的思路”:不是道路结构

这里说一说规划道路的编程中要注意的几点(见笑):

在规划中,道路是表示汽车和行人走行的路线,一般地看,有两种比例,一是1:5000或比例更小的那种图,一般可用一条粗线表示(整条PLINE或由多个PLINE-LINE和PLINE-ARC构成),也可用两条线表示,中心线可以不画;二是1:2000或更大比例的如1:500,1:200等,这时,就需要绘制中心线和边线,有时还绘制分道线,难题在这里,到现在为止,仍然没人(我孤陋寡闻)能准确完整地用程序表达,但有些思考点可以借鉴:

1   一个城市规划软件把道路分成多块板来操作,由于存在分道线(或分板块),在作交叉处理时就很困难,改变路宽也困难,所说困难,实际上就是该软件在处理道路交叉时经常出错。

2  以路口到路口的局部段为单位,交叉就比较好处理,但是改路宽很难。

3  我的办法是避开用多条线来表达的问题,仅用中心线和边界线,可以极大地减少交叉和改路宽出问题,但实际上是简化了图形,对有表达不地道之嫌。

4  道路中心线和边界线或分板快线应是联动的,这样才能确保操作,但实现联动在编程中的工程量还是比较大,联动的主要数据可采用扩展数据,专门编写程序或反应器都可实现。

5  交叉口转弯半径的问题,这是一个纯数学问题。要保证转弯半径足以让可能通行的汽车转弯。

6  立交的问题,要让道路立交不好办,一般就用手工完成,因为编程时难以确认引道,或参数太多,对用户无价值。

要处理好道路,编程很庞大,不是几句话就说得清的(其实是我说不清,我也没有见到把它处理好了的),举个例子,天正的道路连轴线都没有,处理交叉也是错误百出。

你到我的网站 siteplan.yeah.net 上下载总图软件,有时可能难以下载(我还没有搬家),等一两天再下,里面有道路处理的一些技巧,可以参考,虽也有BUG,但比天正的好一些。另外,洛阳鸿业、杭州飞时达的总图软件都可以处理道路,但你无法免费取得其软件来进行研究。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-4-14 23:58:44 | 显示全部楼层
看看我们的软件吧,就在这个网站上。有免费的,还有我们2。0 版的演示
   众智软件
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2002-4-15 08:38:14 | 显示全部楼层

这是我的思路,请大家看看

网页形式
首先多谢清风哥的答复!

我绘制的道路都是三线的(两路边、一中心线)。

我绘制的路无需要改变路宽,如果要改变路宽就把路删除,重画。(一种简单的处理方法,简化了程序)

我的想法:

1、要处理的情况:(只考虑平面,不考虑隧道和桥梁)







还有什么情况,请大家指出

2、思路

----------

绘制一条道路,打断和这条道路相交的道路,并打断绘制的道路。(见图)



在交点(黄圈)把两条黑线断开,记录交点。

删除和中心线相交的黑线。



在交点处对两直线fillet。

---------------

以上所说的可以把第二种情况处理!

现在让我们看看第三种情况:



在圈处断开。

删除与中心线相交的路。



问题出现了,注意大圈处有一段未被删除!!

有什么办法呢?请教一下清风哥。

还有第一种情况,我无法实现!!!苦!

清风哥,我把程序e给你,你帮我看看!

这是我绘制的道路,可以看看



 

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

使用道具 举报

 楼主| 发表于 2002-4-15 08:42:00 | 显示全部楼层

gisroad2,众智软件的网只是?

gisroad2,众智软件的网只是?
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

使用道具 举报

发表于 2002-4-15 21:46:52 | 显示全部楼层

希望改进

最初由 gisroad2 发布
[B]看看我们的软件吧,就在这个网站上。有免费的,还有我们2。0 版的演示
   众智软件 [/B]


我下载了CDS1.0,不过,效果好象不理想,我画了张小图,几种接口都是工程中能用到的,都需要用手工进行二次处理,我把本图放在这里,还能改进吗,如果比较难,就算了。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2002-4-15 22:01:49 | 显示全部楼层

回复: 这是我的思路,请大家看看

最初由 binbin 发布
[B]网页形式
首先多谢清风哥的答复!

我绘制的道路都是三线的(两路边、一中心线)。

我绘制的路无需要改变路宽,如果要改变路宽就把路删除,重画。(一种简单的处理方法,简化了程序)

我的想法:

1、要处理的情况:(只考虑平面,不考虑隧道和桥梁)







还有什么情况,请大家指出

2、思路

----------

绘制一条道路,打断和这条道路相交的道路,并打断绘制的道路。(见图)



在交点(黄圈)把两条黑线断开,记录交点。

删除和中心线相交的黑线。



在交点处对两直线fillet。

---------------

以上所说的可以把第二种情况处理!

现在让我们看看第三种情况:



在圈处断开。

删除与中心线相交的路。



问题出现了,注意大圈处有一段未被删除!!

有什么办法呢?请教一下清风哥。

还有第一种情况,我无法实现!!!苦!

清风哥,我把程序e给你,你帮我看看!

这是我绘制的道路,可以看看



 

  [/B]


由于程注释太少,阅读起来很困难,我没有细看,请谅。不过,从总体上看来是不错的,由几点你参考一下,不一定说的对:

1  尽量不用BREAK来处理道路交叉,它处理不了,应用ENTMAKE来重构。
2  从你提出几种情况看,不要加入太多的其他交叉情形的考虑,否则,从数据结构到控制模式都会变得很复杂。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 17:50 , Processed in 0.397649 second(s), 46 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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