php - 如何用外键存储地理位置?

标签 php mysql gps geospatial opengis

目前我正在开发基于位置的应用程序。主要应用功能之一是根据搜索条件定位点,并从一个点开始定位给定范围内的点。

显而易见的选择是将纬度/经度存储为 float 或整数,但我在 MySQL 中发现了空间数据类型并开始挖掘。不幸的是,如果我是正确的,那么空间索引仅在 MyISAM 中受支持,而 MyISAM 不支持外键(我需要)。

那么,什么会更好(更快) - 将纬度/经度存储为普通数字或使用不带索引的 POINT 类型?

最佳答案

您可以使用四键。将 x 和 y 值转换为二进制文件,然后连接二进制文件。这些点沿着 z 曲线(又名怪物曲线)排序。它具有非常好的空间特性。您可以使用最高有效位来验证上限。

关于php - 如何用外键存储地理位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238611/

相关文章:

php - 防止 CodeIgniter 中的 SQL 注入(inject)

php - 在同一个 VPS 上使用 php 执行 ssh 文件

php - 从一维数组访问行和列

php - 通过PHP上传多个文件并将信息发布到MYSQL数据库

php - 当前位置是否在表中存储的项目半径内?

php - 使用 jQuery Mobile 动态创建虚拟页面

php - 如何创建 `phpmyadmin`数据库

php - "horizontal"与 "vertical"表设计,SQL

cordova - 如何在 Ionic Framework 或 Cordova 中以编程方式启用和禁用 GPS

Android 定期 GPS 位置更新与服务内的 AlarmManager