将纬度/经度文本列移动到“点”中类型栏
我的 MySQL 数据库中有一个名为 house
的表。
在 house
表中,有几个名为 latitude
和 longitude
的文本列。
我添加了一个名为 coords
的新列,类型为 point
- http://dev.mysql.com/doc/refman/5.0/en/gis-class-point.html
我将如何移动 <代码>纬度和将 longitude
值添加到新的 coords
列中?
I've got a table in my MySQL database called house
.
Within the house
table, there are a couple of text columns called latitude
and longitude
.
I've added a new column called coords
, of type point
- http://dev.mysql.com/doc/refman/5.0/en/gis-class-point.html
How would I move the latitude
and longitude
values into the new coords
column?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
简而言之:
请注意,Quassnoi 的答案是错误的,因为正确的输入格式是 POINT(XY),或者以地球 POINT(lon lat) 表示。
请注意,您可以通过 X() 和 Y() 函数显示点,如下例所示:
Concisely:
Note that answer from Quassnoi is in error since the proper input format is POINT(X Y), or in terms of earth POINT(lon lat).
Note you can show points via the X() and Y() functions like the following example:
最后!我能够修复这些错误:
通过执行自定义 SQL 查询,我在其中指出了纬度和经度点。就我而言,执行此操作的 SQL 字符串是:
FINALLY! I was able to fix these errors:
By doing a custom SQL query, where I pointed the lat and long points. In my case, the SQL string that did it was:
假设您想要此列上的
SPATIAL
索引:如果不需要,您可以省略最后两个步骤。
更新:
在
MySQL
的早期版本中,您需要使用WKT
填充Point
列:Assuming you want a
SPATIAL
index on this column:If you don't, you can omit the last two steps.
Update:
In earlier versions of
MySQL
, you would need to populatePoint
columns usingWKT
:MySQL 版本 5.5.8
我的纬度和经度是 float 类型。要更新现有行...
需要考虑的事情,如果您正在收集数据并且需要在各自的列中分别保存纬度和经度,我建议在您的表中添加一个触发器
我收集地理标记的社交媒体数据并使用这种方法可以将几何图形添加到我的表格中。
MySQL Version 5.5.8
My latitude and longitude are of type float. To update existing rows...
Something to consider, if you are collecting data and need to save the latitude and longitude separately, in their respective columns, I suggest adding a trigger to your table
I collect geo-tagged social media data and I use this method to add geometry to my tables.