mysql polygon_查找POINT是否在MySQL 5.7中的POLYGON中
我需要找到用戶搜索位置中包含的所有屬性;一個位置可以是一個城市,縣等.每個屬性都有一個lat和long,可以用來在
MySQL中創建一個POINT.位置是GEOMETRY類型,大多數是POLYGON和MULTIPOLYGONS.經過一周的搜索和故障排除后,我似乎無法讓DB給我一個匹配.這就是場景.
SET @area = (SELECT area.polygon from area where area.city = 'Charlotte' and area.type = 'city');
SET @property = (SELECT property.point from property where id = 397315);
SELECT st_contains(@area, @property);
@area獲得夏洛特的POLYGON.
@property得到了一個屬性的POINT,我100%肯定是在Charlotte里面或者POLYGON里面.一世
甚至用外部工具進行測試,以進行健全性檢查.
每次ST_CONTAINS返回0!無論我做什么,總是0.
我嘗試使用ST_WITHIN失敗了.然后我確保SRID是相同的.首先兩個都沒有設置在4328,然后我將它們設置為0,再沒有.我為多邊形和點添加了空間索引,但仍然沒有.
這是我與POINT(35.086449 -80.741455)匹配的POINT.
為了完整性檢查,我運行了這個查詢:
select st_contains(
ST_GeomFromText('POLYGON (( 322 322, 322 513, 528 513, 528 322, 322 322 ))'),
ST_GeomFromText('POINT (418 411)'));
這導致1匹配!
我到底失去了什么?謝謝.
總結
以上是生活随笔為你收集整理的mysql polygon_查找POINT是否在MySQL 5.7中的POLYGON中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Excel中VLOOKUP函数简易使用—
- 下一篇: 稿费一般多少钱一千字_编写教材的稿费一般