mysql:mysql8_gis_bug
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
mysql:mysql8_gis_bug [2023/05/21 06:57] – anineco | mysql:mysql8_gis_bug [2023/12/23 11:27] (現在) – [検証方法] anineco | ||
---|---|---|---|
行 1: | 行 1: | ||
====== MySQL 8のGIS機能(ST_Contains)のバグ ====== | ====== MySQL 8のGIS機能(ST_Contains)のバグ ====== | ||
===== 検証環境 ===== | ===== 検証環境 ===== | ||
- | * macOS Ventura 13.4 | + | * macOS Sonoma 14.2.1 |
- | * MySQL 8.0.33 | + | * MySQL 8.0.35 |
2023-05-21: | 2023-05-21: | ||
* 公開 | * 公開 | ||
+ | 2023-12-23: | ||
+ | * 改訂 | ||
===== 検証方法 ===== | ===== 検証方法 ===== | ||
- | SQLファイル[[https:// | + | SQLファイル[[https:// |
<code sql> | <code sql> | ||
# 国土数値情報 行政区域(2022)岐阜県美濃市 | # 国土数値情報 行政区域(2022)岐阜県美濃市 | ||
行 13: | 行 15: | ||
(中略) | (中略) | ||
, | , | ||
- | SET @area=ST_GeomFromText(@wkt, | + | SET @area=ST_GeomFromText(@wkt, |
# 天王山(岐阜県美濃市、標高537.6m) | # 天王山(岐阜県美濃市、標高537.6m) | ||
- | SET @p0=ST_GeomFromText(' | + | SET @p0=ST_GeomFromText(' |
# 経度 -1/3600 付近 | # 経度 -1/3600 付近 | ||
- | SET @p1=ST_GeomFromText(' | + | SET @p1=ST_GeomFromText(' |
- | SET @p2=ST_GeomFromText(' | + | SET @p2=ST_GeomFromText(' |
- | SET @p3=ST_GeomFromText(' | + | SET @p3=ST_GeomFromText(' |
# 期待される結果は全て 1 | # 期待される結果は全て 1 | ||
SELECT ST_Contains(@area, | SELECT ST_Contains(@area, | ||
</ | </ | ||
- | このSQLファイルでは、1つのPolygon '' | + | このSQLファイルでは、1つのPolygon '' |
{{url> | {{url> | ||
- | '' | + | '' |
実行結果のまとめ:**太字**が誤答で、バグの存在を示している。 | 実行結果のまとめ:**太字**が誤答で、バグの存在を示している。 | ||
- | ^ ^ 正答 ^ MySQL 8.0.33 ^ MySQL 5.7.40 ^ MariaDB 10.3.32 ^ | + | ^ ^ 正答 ^ MySQL 8.0.35 ^ MySQL 5.7.40 ^ MariaDB 10.11.2 ^ |
| ST_Contains(@area, | | ST_Contains(@area, | ||
| ST_Contains(@area, | | ST_Contains(@area, | ||
| ST_Contains(@area, | | ST_Contains(@area, | ||
| ST_Contains(@area, | | ST_Contains(@area, | ||
+ | |||
+ | なお、経度を136.866667に固定し、緯度を連続的に振ってやると、かなりの広範囲で同じバグが発生する。 | ||
mysql/mysql8_gis_bug.txt · 最終更新: 2023/12/23 11:27 by anineco