【发布时间】:2016-10-28 09:38:48
【问题描述】:
上图显示了一个 geoLine (1 - 11)。每个点都是一个地理坐标。
对于给定的 geoLine,我需要像上图一样绘制多边形(边界框)。
这是为了在该 GeoLine(路径/航路点)附近找到任何兴趣点 (POI),例如停车、燃料、餐厅(路径 / 航路点)(geoLine 两侧各 20 / 30 米。不超过 50 米。)
我猜 Elasticsearch 有一个功能,您可以指定多边形点并给出该多边形内的内容。为了做到这一点,我需要上图中的所有多边形点。
有人可以告诉我如何解决这个问题吗?任何解释以及代码都会有所帮助。
航点:
13.0489062,77.6037472
13.0493921,77.6028423
13.0494861,77.6017586
13.0491692,77.6010208
13.0482264,77.6010494
13.0472498,77.6010711
13.0461878,77.6011007
13.0454626,77.6010805
13.0446403,77.6011248
13.0438409,77.6010804
13.0438986,77.6017758
13.0438545,77.6030737
13.0439865,77.6040809
13.0439203,77.6056271
13.0438668,77.6066616
13.0436551,77.6077865
13.0434993,77.6088242
13.0432396,77.609767
13.0429808,77.6104908
13.0428103,77.6112412
13.0426729,77.6121114
13.0424444,77.6129859
13.0422521,77.6136721
13.0418346,77.6145997
13.0415062,77.6155134
13.0412306,77.6162379
13.0409749,77.6171142
13.0410531,77.6178208
13.0411159,77.618711
13.0411254,77.6195973
13.0410934,77.6203541
13.0412376,77.6215924
13.0412091,77.6223422
13.0410685,77.6234799
13.0404355,77.6241354
13.0398567,77.6245906
13.038993,77.6252223
13.0381411,77.6258873
编辑:语言是 JAVA。
【问题讨论】:
-
Elasticsearch 查询将是一个具有
WITHIN关系的geo_shape查询,将生成的多边形作为形状传递。如果您使用 Java,则可以使用 JTS(Java 拓扑套件)创建多边形 -
@RussCam 你用过 JTS 吗?我还没有。因此,如果您可以提供任何有用的代码。
-
如果我给你一些关于如何为多边形生成点的数学,你能实现它吗?
-
@willywonkadailyblah 我一定会试一试的。
-
@willywonkadailyblah 你能提供一些想法吗?
标签: java elasticsearch geometry polygon jts