设置
我有一个包含线串的表。线串由多个地理点组成。每个点都由纬度和经度组成。注意:线串值在数据库中存储为 TEXT。
所以表中的一行可能如下所示:
id: an integer
linestring: x1, y2, x2, y2, x3, y3, x4, y4
问题
Google 地图一次最多只能显示 1000 个元素。就我而言,我正在显示 850 个线串,并且将来需要添加更多。
问题
相当多的线串与一个或多个其他线串连接,这意味着它们开始和/或结束于相同的坐标。我要做的是找到优化数据集的最佳方法,以便将末端连接的线串合并到数据库表中。当我解析数据库表并为谷歌地图创建显示文件时,这将减少总元素数。
示例
在此示例中,假设 alpha (A,B,C) 值表示地理点。未优化的表可能如下所示:
优化前:
id linestring
1 A, B, C
2 C, D
3 B, A
4 F, G, H
5 G, I
6 H, J
优化后:
1 A、B、C、D
2 F、G、H、J
3 G、I
那么优化数据的最佳方法是什么?有没有一种效果最好的特定算法?我有一些我将制定和添加的解决方案的想法,但它们看起来很冗长和令人费解。
我不是 CS 专业的,所以请原谅草率的术语,让我知道是否需要在任何地方进行澄清。谢谢!
仅供参考..我正在使用 MySQL 数据库。我没有使用空间扩展。如果您有一个使用空间扩展的令人尴尬的简单解决方案,无论如何我很想听听。