问题标签 [mysql-spatial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - 使用表数据和 ST_Distance_Sphere 的 MYSQL 地理空间函数
这是我的查询,它试图返回从特定点到表中所有记录的距离。
这是表创建
这是选择语句。
但它会产生以下错误:
“错误”、“1210”、“st_distance_sphere 的参数不正确”
如何使用存储在数据库中的点类型获取计算出的距离以及数据。
这个语句完美地工作
mysql - 为什么点插入给出错误?
我正在使用此语句将数据插入数据库。
现在插入几何我引用了这个链接(http://dev.mysql.com/doc/refman/5.7/en/populating-spatial-columns.html)它说INSERT INTO geom VALUES (ST_GeomFromText('POINT(1 1)'));
在 SQL 中,数据是这样存储的:6828-1-1418515200000,POINT (142.4685224783753 -38.369480766871604),6828,2014-12-14T00:00:00.000Z
所以我想如果我认为 %s 将被替换为 ,POINT (142.4685224783753 -38.369480766871604)
这与 MySQL 教程中的查询相同。
但是,它给出的错误IntegrityError: 1048 (23000): Column 'geometry' cannot be null.
行值
mysql - 这个 MySQL 地理查询中使用的度量单位是什么,用于查找与中心点具有特定距离的所有点?
我正在处理 MySQL 地理查询。
因此,按照本教程:http ://howto-use-mysql-spatial-ext.blogspot.it/2007/11/using-circular-area-selection.html
我已经实现了这个查询,它找到了与指定点有特定距离的所有点:
通过这段代码,我定义了中心点和半径。
最后,我执行查询,找到所有点的距离由该设置的中心点的半径表示:
它似乎工作正常。
我的疑问是:@radius的度量单位是什么?是公里还是什么?
在此示例中, @radius的值设置为30。但究竟是什么代表了这个价值呢?
mysql - 如何以公里为单位将这个 MySql 地理查询的距离转换为从中心点开始的距离范围?
我不太喜欢数据库,我正在处理一个 MySql 地理查询,该查询必须找到距中心点指定距离范围内的所有兴趣点。
按照本教程:http ://howto-use-mysql-spatial-ext.blogspot.it/2007/11/using-circular-area-selection.html
所以我有这张桌子:
我的兴趣点存储在哪里。Point字段包含地理坐标。
然后我有这个查询应该找到从中心点到距离范围(由@radious值表示)内的所有点:
通过这段代码,我定义了中心点和半径。
最后,我执行查询,找到距离(距中心点)小于定义半径的所有兴趣点:
我的疑问是: @radius值的测量单位到底是什么?
我认为它可能是公里,但在做一些测试时,在我看来它不可能是因为设置了一个非常小的@radius值,我发现点离设置的中心很远。
所以我认为测量单位必须是别的东西。是我的推理正确还是这个查询错误?
如果查询正确, @radius使用的测量单位到底是什么?怎么换算成公里?(用户插入以km为单位的半径值,应转换为该查询使用的正确值)
mysql - 为什么当我尝试在 MariaDB 数据库上创建此函数(使用点数据类型)时出现此错误?
我不太喜欢数据库,我对实施本教程有以下疑问:https ://mariadb.org/jquery-and-gis-distance-in-mariadb/
所以基本上我的疑问与这个 SQL 语句有关,它创建了一个函数来计算MariaDB 数据库上两点之间的距离:
我的问题是执行上一条语句时,我收到以下错误消息:
PhpMyAdmin用 2 个红色标记在上一条语句的第一行标记点数据类型:
但我不认为这可能是真正的问题(我认为这可能是PhpMyAdmin 不知道的)因为它也将这个 cration 查询标记为红色:
但它工作正常,没有错误并正确创建表。
那么,有什么问题呢?可能取决于PhpMyAdmin或我缺少什么?这个函数应该存储在哪里?
mysql - 为什么我使用这个“大圆距离”公式和谷歌地球工具来计算空间中两点之间的距离的不同值?
我不太喜欢数据库和 GIS,我对在 MySql 数据库上使用这个函数来计算 2 点之间的距离有以下疑问。
我从本教程开始,其中有这个函数用于计算 2点场之间的距离:
我认为它应该返回一个以公里为单位的值作为单位测量。
然后我用它来计算空间中 2 点之间的距离(取自谷歌地图,例如意大利的罗马和米兰城市)。
我正在获得合理的价值。我的疑问是,然后我使用谷歌地球中的标尺工具检查了距离,我得到了不同的值。
考虑到附近的 2 个点(距离为 2 公里)的敌人示例,我在 Google 地球计算的差异与我之前的函数之间获得了大约 300 米的差异。
考虑到非常遥远的 2 个点(例如罗马和米兰),我在 Google 地球计算的值与前一个函数计算的值之间获得了 100 公里的差异。
前一个函数总是给出更大的值。
所以我必须用它来计算小距离(最大 30 公里),所以误差应该很小,对于我的 pourpose 来说可能没问题。
但是为什么我会在我的功能和使用谷歌地球计算的距离之间获得这些差异?
php - 空间几何 SQL - 两个完全相同的查询,一个有效,另一个无效
这很奇怪我有一个存储多边形的数据库和一个正在运行的查询,该查询检查一个点是否存在于任何多边形中并检索它们。但是,当查询在我的 php 代码中创建为 sql 字符串时,它不会返回任何内容,但是如果我手动输入查询 - 它运行完美!
下面是我实际生成的 sql 的方式:
公共函数 get_by_coords($latitude, $longitude){
Where$latitude, $longitude
实际上是作为字符串从 GET 变量传递的。我尝试进行类型转换,但结果是:
这里发生了什么?我在这里使用 Codeigniter。
更新我刚刚做了一个 var_dump 并发现了一些奇怪的东西。如果我 var_dump 创建的 SQL 查询,它显示的字符比我 var_dump 直接输入字符串的查询多 6 个字符,即:
第一个字符串是生成的,而第二个是原样的 - 它显示第一个字符串中有 6 个额外的字符 - 我有一种奇怪的感觉,这些字符正在引起问题......我该如何进一步......
php - 向 MySQL 中的函数 st_geometryfromtext 提供的 GIS 数据无效
这是我的错误:
错误号:3037
提供给函数 st_geometryfromtext 的 GIS 数据无效。
这是我的代码: