我有一个xml文件,用于保存在地图中设计的多边形边缘,如下所示:
<polygons>
<polygon>
<point x="23.40637" y="38.20176"/>
<point x="23.45169" y="38.11011"/>
<point x="23.43383" y="38.20284"/>
<point x="23.52722" y="38.27285"/>
<point x="23.41323" y="38.25023"/>
<point x="23.40774" y="38.20068"/>
<point x="23.41598" y="38.18020"/>
</polygon>
</polygons>
我的问题是我需要在新的xml文件中获取多边形的多个内点。 我试图在Javascript中实现一些东西来生成多边形内的随机点,但当我试图将它包含在xsl中时,它变成了一场灾难。 我实际上要做的是为一个函数提供一个包含我的初始x,y点的对象列表,并从多边形内部返回一个随机的x和y。
有没有人知道怎么做?
注意:我不关心重叠多边形
答案 0 :(得分:0)
快速搜索显示了许多用于在多边形内部生成“随机”点的算法,例如:
https://gis.stackexchange.com/questions/6412/generate-points-that-lie-inside-polygon
https://codereview.stackexchange.com/questions/69833/generate-sample-coordinates-inside-a-polygon
How to get a random point on the interior of an irregular polygon?
这些答案的唯一问题是它们使用错误的编程语言。但是,将它们转换为XSLT看起来并不是特别困难。其中一些依赖于随机数生成器:在XSLT 3.0(fn:random-number-generator)之前,你不会在标准函数库中得到它,但是一些XSLT 1.0和XSLT 2.0处理器提供了exslt:random扩展函数EXSLT库。