gpt4 book ai didi

MySQL存储谷歌地图纬度/经度数据

转载 作者:行者123 更新时间:2023-11-29 05:41:33 25 4
gpt4 key购买 nike

我创建了一个 map ,允许用户绘制多个标记,目的是将它们存储在数据库表中。最初的计划是像这样为每个 map 存储多行:

------------------------------------
| mapentryid | mapid | Long | Lat |
------------------------------------
| 1 | 1 | X.XX | X.XX |
| 2 | 1 | X.XX | X.XX |
| 3 | 1 | X.XX | X.XX |
| 4 | 2 | X.XX | X.XX |
| 5 | 2 | X.XX | X.XX |
| 6 | 2 | X.XX | X.XX |
| 7 | 2 | X.XX | X.XX |
------------------------------------

但后来我发现你可以存储 multilinestring在 MySQL 中,这听起来非常适合我想要的(我认为?)

我可以使用以下 SQL 查询格式正确插入数据:

INSERT INTO table (LatLng)
VALUES (
MultiLineString(
LineString(Point(x),Point(y)),
LineString(Point(x),Point(y)),LineString(Point(x),Point(y))
)

这添加了 multilinestring OK,尽管它们实际上如下所示:

phpmyadmin screenshot

问题来了,上面的可以吗?如果是这样,我如何才能将这些数据转换回我能够在 Google map 上显示的内容?

最佳答案

为什么不使用 POINT 数据?

INSERT INTO geoTable (mapentryid, mapid, coord) VALUES (
1, 1, GeomFromText('POINT(15 20)')
);

我总是使用 'Well-Known Text (WKT) Format'对于 MySQL 中支持地理空间的查询,它们与现有的其他系统最兼容。

查询存储值:

SELECT mapentryid, mapid, X(coord), Y(coord) FROM geoTable;

关于MySQL存储谷歌地图纬度/经度数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6409827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com