0

我正在使用 GMap.NET 来显示很多标记(大约超过 10.000 个标记)。R-Tree 是一种在显示窗口的区域优化渲染标记的解决方案。

NetTopologySuite 中的 STRtree 是一个支持 R-tree 的库。但我不确定它是否适合这个问题。

我的问题是如何在 NetTopologySuite 中使用 R-Tree 来显示标记。我不知道如何使用库。(我是 WPF 的新手)。如何在 GMap 渲染标记以从 R-Tree获取标记并同时删除前一个标记时捕获事件?

请给我一些关于 NetTopologySuite 中 R-tree 的例子。

4

1 回答 1

1

我是按我的方式做的。这是 STRtree 被清除的方式: STRtree<Coordinate> gpsSTRtree = new STRtree<Coordinate>();您可以Coordinate通过任何其他数据类型更改数据类型,但 STRtree 需要Envelope插入到树中。

例如:插入到 STRtree: Coordinate gps = new Coordinate(9.74233, 106.0213); Envelope item = new Envelope(gps); gpsSTRtree.Insert(item, gps);

Envelope 是 STRtree 中的一个节点,用于存储 item 的边界

STRtree 从两点查询。point1并且point2Coordinate Envelope gpsQuery = new Envelope(p1, p2); Coordinate gpsItems = gpsSTRtree.Query(gpsQuery);

然后你有一个列表Coordinate

祝你好运

于 2019-08-29T08:04:26.060 回答