请教4850编程高手,当一条九公里有圆直缓线形的路线里,我编入全线9公里线形起点坐标,方位角,里程桩号,半径,线形长度的数据库,根据桩号可以判别么桩号的所在的线形要素,从而自动调入要素,计算坐标.但是输入任意坐标如何判断,该坐标是不是在某线形上,从而自动调出该段线形的计算要素,最终可以反算桩号和边距.
请教4850编程高手,当一条九公里有圆直缓线形的路线里,我编入全线9公里线形起点坐标,方位角,里程桩号,半径,线形长度的数据库,根据桩号可以判别么桩号的所在的线形要素,从而自动调入要素,计算坐标.但是输入任意坐标如何判断,该坐标是不是在某线形上,从而自动调出该段线形的计算要素,最终可以反算桩号和边距.
2楼
在测量空间就有很多这样的程序。
上传一个参考一下。
回复
3楼
版主辛苦了,这个程序好象是有5个小程序组成的吧?实在是佩服.
回复
4楼
你们误解我的意思了,坐标反算的程序我有,我已经把全线的曲线要素输入到一个4850文件里面,当作数据库,我可以根据桩号来调用它,即使用时随时输入桩号马上算出坐标,而无需输入线形要素,因为程序自动根据桩号判断然并调用数据库里面的线形要素。快捷而准确。
现在的问题是,我想随时输入任意点的坐标,和计算坐标一样无需输入计算要素,计算器马上算出它的桩号和,边距,但是想要实现这个功能,就必须设定一个自动判断条件,看该坐标在哪一段线形上,从而自动调用数据库里面的线形要素,从而利用坐标反算主程序算出结果,而这个主程序我是有的,最主要的问题是,如何设定自动判断条件???
有哪位编程高手能解决这个问题啊!!!!!!!!!!!!!!!!!!!!!!!!!
期盼中,因为我等着用啊,摆脱!!!!!!!!!!!!!!!!!
回复
5楼
这个可以考虑根据中心线上各转折点坐标进行比较,设定一个差值来进行判断该点落在哪一段线形上.楼主看是否可行?
回复
6楼
你的意思是要和线形起点坐标一段一段去比较,求方位角,取和起点方位角夹角最大的那个作为线形要素吗,最大应该为90度,不知是否为这个意思?我想是可行的,但是没有验证。
不知道还有没有其他方法,期待更简单的方法出现,因为我这条路有20多个起点坐标,算起来程序肯定好慢,如果没有不然我就这样试试看??
回复
7楼
不是.我的意思是说将该点与你所说的这20多个点中的两个点进行距离计算,差值在一定范围内(自己在编程时可以设定一下)就可以认为该点就落在这两点之间,以第一点为基准点从而自动调出该段线形的计算要素,再以第一点为起算点进行计算,最终可以反算桩号和边距. 在编程时可以把各段线型要素与各起算点结合起来.我想还是比较简单和方便的
回复
8楼
没看懂啊,能不能说详细点,感觉你的想法不是很成熟啊
回复
9楼
下午画一个图给你示意一下.我感觉很简单的.已经说得很明白了.
回复
10楼
如图所示,再看不懂我就没办法了
回复
11楼
晕,你是说在中线上啊,我说的是任意点啊,要是m点在直线左100米,s1+s2能等于s3吗?不过还是谢谢你热心解答。
回复