Nyx*_*nyx 3 mysql sql google-maps geospatial
我刚开始使用MySQL Geospatial扩展,希望在我的500K点数据库中加速lat/lng范围搜索.将创建一个新GEOMETRY列p.
问题:p&AsText(p)返回的值很简单(BLOB),不是十进制度数.没有返回任何值GeomFromText(p).因为我有冗余lat和lng列,我仍然设法得到我需要的lat lng值.但我正在考虑删除lat和lngcols,只是依靠p.
将现有的Lat/Lng值转换为Points
UPDATE listings SET p = GeomFromText('POINT(39.948177 -75.174324)') WHERE listing_id = '585221';
Run Code Online (Sandbox Code Playgroud)
尝试从GEOMTRY col中检索Lat Lng p
SELECT listing_id, lat, lng, GeomFromText(p), AsText(p), p from listings WHERE MBRContains( GeomFromText('Polygon((39 -76, 40 -76, 40 -74, 39 -74, 39 -76))'), p)
Run Code Online (Sandbox Code Playgroud)
如果您使用,AsText您将获得WKT格式的对象.要提取点坐标,请使用:
SELECT listing_id X(p), Y(p)
FROM listings
WHERE MBRContains( GeomFromText('Polygon((39 -76, 40 -76, 40 -74, 39 -74, 39 -76))'), p)
Run Code Online (Sandbox Code Playgroud)
MySQL可能会返回AsTextBLOB的结果,因为它可能会变得非常复杂的对象.只是无论你用什么来显示结果都无法应对,但文本就在那里.
| 归档时间: |
|
| 查看次数: |
6378 次 |
| 最近记录: |