多边形

时间:2018-02-12 17:23:57

标签: javascript xml xslt

我有一个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。

有没有人知道怎么做?

注意:我不关心重叠多边形

1 个答案:

答案 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库。