首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索JTS STR树

搜索JTS STR树
EN

Stack Overflow用户
提问于 2015-05-06 18:38:08
回答 1查看 576关注 0票数 1

嗨,我一直在学习http://googledevelopers.blogspot.com/2014/12/building-scalable-geofencing-api-on.html教程,这是我的问题,

我有一个经度和纬度坐标列表,作为点添加到JTS() STR树中。

现在,我想把一个圆形的区域发送到STR树中,找出圆圈中的所有点。

代码语言:javascript
复制
    Coordinate center = new Coordinate(entity.getLongitude(), entity.getLatitude());
    GeometricShapeFactory gsf = new GeometricShapeFactory();

    gsf.setCentre(center);
    gsf.setNumPoints(20);
    **gsf.setSize(320.0);**
    Polygon poly = gsf.createCircle();
    Coordinate[] coordinates = poly.getCoordinates();


    //Create polygon from the coordinates.
    GeometryFactory fact = new GeometryFactory();

    LinearRing linear_ring = new GeometryFactory().createLinearRing(coordinates);

    Polygon polygon = new Polygon(linear_ring, null, fact);

    List<STRLeaf> items = strTree.query(polygon.getEnvelopeInternal());

但是,搜索结果将返回在经纬度点树中的数据的所有。当我将圆圈的大小降低到320以下时,我就不会收到搜索STR树的结果。有谁有这方面的经验吗?理想情况下,我想要创建一个圆圈,在一个大约7英里的圆圈内找到所有的点。

耽误您时间,实在对不起

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-14 07:36:30

结果发现我在后台犯了一个愚蠢的错误。当我把物品添加到树中时,我把x和y的和弦混在一起,这样Lat Longs就被颠倒了。在切换它们之后,我现在可以将圆圈的大小设置为0.1左右,它工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30084959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档