如何使用geotools在网格和多边形之间进行空间连接?

时间:2018-02-21 20:47:18

标签: geotools

我有一个GridCoverage2D和一个MultiPoints集合,所以多边形不重叠。 两者都覆盖相同的地理区域,我想知道每个点所在的多边形。所以这是一个多边形点问题。

使用geotools执行此操作的天真方法是迭代所有700000个点并且每次请求260次,如果它位于多边形中。 这很有效,但是很慢......

在geotools中有更快的方法吗?

在R中做类似的事情(使用“over”函数)需要几秒钟的时间,而我天真的嵌套循环需要几个小时才能运行。 因为它有100次100次调用“内部”

class SegueFromLeft: UIStoryboardSegue
{ 
     override func perform(){

    let src = self.source
    let dst = self.destination

    src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
    dst.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)

    UIView.animate(withDuration: 0.25,
                               delay: 0.0,
                               options: UIViewAnimationOptions.curveEaseInOut,
                               animations: {
                                dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
    },
                               completion: { finished in
                                src.present(dst, animated: false, completion: nil)
    })
     }
}

1 个答案:

答案 0 :(得分:0)

我会做类似这样的伪代码:

var res = escape(pageSource);    
$.ajax({
                type: "POST",
                url: "abc.com/Api/Deatils",
                data: { Id: id, url: taburl, pageSource: res },
                crossDomain: true,
                cache: false,
                async: false,
                success: function (msg) {

                        $("#lblMessage").text(msg.message);
                },
                error: function (jxhr) {
                }
            });

但如果您的实际点不是网格,那会快得多。