国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mysql如何實現(xiàn)根據(jù)經(jīng)緯度判斷某一個坐標是否在一個多邊形區(qū)域范圍內

這篇具有很好參考價值的文章主要介紹了mysql如何實現(xiàn)根據(jù)經(jīng)緯度判斷某一個坐標是否在一個多邊形區(qū)域范圍內。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

要根據(jù)經(jīng)緯度判斷一個坐標是否在一個多邊形區(qū)域內,MySQL提供了幾種函數(shù)來處理地理空間數(shù)據(jù),其中包括用于處理多邊形區(qū)域的函數(shù)。

mysql如何實現(xiàn)根據(jù)經(jīng)緯度判斷某一個坐標是否在一個多邊形區(qū)域范圍內,mysql,坐標,區(qū)域查詢,ST_Within函數(shù)

1.創(chuàng)建一個包含多邊形區(qū)域的表:

首先,創(chuàng)建一個表來存儲多邊形區(qū)域??梢允褂?code>ST_GeomFromText函數(shù)將多邊形的坐標轉換為地理空間對象。我們給他插入兩條數(shù)據(jù),默認id第一條為1,第二條id為2。在下邊創(chuàng)建表的SQL語句中,大寫的'POLYGON'是一個函數(shù),用于創(chuàng)建一個地理空間對象,表示一個多邊形。這個函數(shù)需要傳入一個坐標集,該坐標集定義了多邊形的頂點。在下邊SQL中,'POLYGON((0 0, 0 100, 100 100, 100 0, 0 0))'創(chuàng)建了一個四邊形,它的頂點坐標分別是(0,0),(0,100),(100,100)和(100,0),最后回到原點(0,0)。

CREATE TABLE polygon_table (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    polygon GEOMETRY NOT NULL  
);  
  
INSERT INTO polygon_table (polygon) VALUES  
(ST_GeomFromText('POLYGON((0 0, 0 10, 10 10, 10 0, 0 0))'));

INSERT INTO polygon_table (polygon) VALUES  
(ST_GeomFromText('POLYGON((0 0, 0 100, 100 100, 100 0, 0 0))'));

2.創(chuàng)建一個包含要檢查坐標點的表:

創(chuàng)建一個表來存儲你要檢查的坐標,也給他插入兩條數(shù)據(jù),id為1和2

CREATE TABLE coordinate_table (  
    id INT AUTO_INCREMENT PRIMARY KEY,  
    coordinate GEOMETRY NOT NULL  
);  
  
INSERT INTO coordinate_table (coordinate) VALUES  
(ST_GeomFromText('POINT(5 5)'));

INSERT INTO coordinate_table (coordinate) VALUES  
(ST_GeomFromText('POINT(12 14)'))

3.使用ST_Within函數(shù)檢查坐標是否在多邊形區(qū)域內

我們可以使用ST_Within函數(shù)來檢查一個坐標是否在一個多邊形區(qū)域內。這個函數(shù)返回1表示坐標在多邊形區(qū)域內,返回0表示不在。下面是一個示例查詢,可以判斷coordinate_table表中id為2的點位是否在polygon_table表中id為1的區(qū)域范圍內:

SELECT ST_Within(c.coordinate, p.polygon) AS within_polygon  
FROM coordinate_table c  
JOIN polygon_table p ON c.id = 2 AND p.id = 1;

?如果要查詢的坐標點沒有存儲在表中,而是通過參數(shù)的方法傳入,想要確認傳入的坐標點是否在多邊形區(qū)域內,我們也可以通過以下方式來查詢,結果同樣返回1表示坐標在多邊形區(qū)域內,返回0表

示不在。

SELECT ST_Within(ST_GeomFromText('POINT(5 11)'), polygon) AS within_polygon  
FROM polygon_table  
WHERE id = 1;

?4.使用ST_Within函數(shù)檢查坐標是否在圓形區(qū)域內

SELECT *  
FROM coordinate_table 
WHERE ST_Distance(coordinate, POINT(lng, lat)) < 3  
  AND ST_Within(POINT(lng, lat), ST_Buffer(coordinate, 3))

?這個查詢會返回所有的距離給定坐標點小于3公里且在給定坐標點的3公里圓形區(qū)域內的記錄

?5.查詢GEOMETRY 類型的值

注意,如果用普通的方式查詢GEOMETRY 類型的值,結果將是亂碼的值,所以需要將類型轉換一下才可以變成我們可讀的類型

SELECT
            ST_AsText(polygon) as polygon
        FROM
            table_name

6.mapper.xml中,插入坐標的SQL寫法

mapper.xml文件中,可以在mapper.xml中按照以下方式編寫:

<mapper namespace="com.example.demo.mapper.PolygonMapper">  
    <insert id="insertPolygon" parameterType="java.lang.String">  
        INSERT INTO polygon_table (polygon) VALUES (ST_GeomFromText('#{polygon}'))  
    </insert>  
</mapper>

其中,#{polygon} 的數(shù)據(jù)類型我們可以使用String類型來傳入文章來源地址http://www.zghlxwxcb.cn/news/detail-712514.html

到了這里,關于mysql如何實現(xiàn)根據(jù)經(jīng)緯度判斷某一個坐標是否在一個多邊形區(qū)域范圍內的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 高德根據(jù)經(jīng)緯度,查詢所在位置信息

    高德根據(jù)經(jīng)緯度,查詢所在位置信息

    根據(jù)JSON對象獲取信息 String cityInfo = GaoDeUtils.getAddressByJWD(request.getClog(), request.getClat()); JSONObject resultSucces = JSONObject.parse(cityInfo); JSONObject addr=resultSucces.getJSONObject(“regeocode”); AddressComponent addressComponent = JSON.parseObject(JSON.toJSONString(addr.get(“addressComponent”)), AddressComponent.class); 創(chuàng)

    2024年02月08日
    瀏覽(19)
  • 高德地圖根據(jù)經(jīng)緯度獲取地址信息

    高德地圖根據(jù)經(jīng)緯度獲取地址信息

    主要是使用高德里面 地理編碼與逆地理編碼 的 getAddress 這個方法, 根據(jù)逆向地理編碼:將地理坐標(經(jīng)緯度)轉換成地址描述信息,對應為AMap.Geocoder的getAddress方法。 具體使用的代碼為 最后看效果 這是傳的經(jīng)緯度與解析出來的地理位置 如果需要正向解析將地理位置變成經(jīng)

    2024年02月11日
    瀏覽(23)
  • NC文件根據(jù)經(jīng)緯度提取點上數(shù)值

    NC文件根據(jù)經(jīng)緯度提取點上數(shù)值

    Hello,Hello,Hello,大家好,時隔上一次更新已經(jīng)很久了,今天主要和大家分享一組簡單的代碼,來提取NC文件中某一點的數(shù)值! 本次實例數(shù)據(jù)依舊使用喜聞樂見的NCEP數(shù)據(jù),數(shù)據(jù)使用的是多層氣溫。或者可以直接點擊這里下載 這個就是下載好的數(shù)據(jù): 大家可以看一下,這個數(shù)

    2024年02月05日
    瀏覽(34)
  • Python根據(jù)經(jīng)緯度在地圖上顯示(folium)

    Python根據(jù)經(jīng)緯度在地圖上顯示(folium)

    1、location地圖中心點 經(jīng)緯度,list 或者 tuple 格式,順序為 latitude(緯度), longitude(經(jīng)度) 2、zoom_start地圖等級 縮放值,默認為 10,值越大比例尺越小,地圖放大級別越大 3、tiles 顯示樣式,默認*‘OpenStreetMap’*,也就是開啟街道顯示;也有一些其他的內建地圖樣式,如’Stamen T

    2024年02月14日
    瀏覽(42)
  • Java根據(jù)坐標經(jīng)緯度計算兩點距離(5種方法)、校驗經(jīng)緯度是否在圓/多邊形區(qū)域內的算法推薦

    Java根據(jù)坐標經(jīng)緯度計算兩點距離(5種方法)、校驗經(jīng)緯度是否在圓/多邊形區(qū)域內的算法推薦

    目錄 前言 一、根據(jù)坐標經(jīng)緯度計算兩點距離(5種方法) 1.方法一 2.方法二 3.方法三 4.方法四 5.方法五 5.1 POM引入第三方依賴 5.2 代碼 6.測試結果對比 二、校驗經(jīng)緯度是否在制定區(qū)域內 1.判斷一個坐標是否在圓形區(qū)域內 2.判斷一個坐標是否在一個多邊形區(qū)域內 3.結果 總結 ??

    2024年02月10日
    瀏覽(28)
  • uniapp結合Canvas+renderjs根據(jù)經(jīng)緯度繪制軌跡(二)

    uniapp結合Canvas+renderjs根據(jù)經(jīng)緯度繪制軌跡(二)

    ? 根據(jù)官方建議要想在 app-vue 流暢使用 Canvas 動畫,需要使用 renderjs 技術,把操作 canvas 的js邏輯放到視圖層運行,避免邏輯層和視圖層頻繁通信。 這里呢結合 renderjs 技術實現(xiàn)繪制軌跡圖形。 你可能需要先了解 renderjs 如何數(shù)據(jù)通訊:renderjs 與 app-vue之間數(shù)據(jù)交互 html中使用

    2024年02月11日
    瀏覽(27)
  • 根據(jù)手機指南針經(jīng)緯度在地圖上找到其位置

    根據(jù)手機指南針經(jīng)緯度在地圖上找到其位置

    使用手機指南針獲取經(jīng)緯度,然后在地圖上找到位置。 1、使用手機指南針獲取經(jīng)緯度: 2、將度分秒轉換為度: 分/60+秒/3600+整數(shù)度數(shù),得到以度為單位的數(shù)值 手機經(jīng)緯度:117.1291666,31.842777 3、坐標系轉換: 地圖坐標系轉換 - 在線工具 輸入手機經(jīng)緯度:117.1291666,31.842777 得到

    2024年02月09日
    瀏覽(32)
  • Java調用高德地圖API根據(jù)詳細地址獲取經(jīng)緯度

    Java調用高德地圖API根據(jù)詳細地址獲取經(jīng)緯度

    訪問高德開放平臺https://lbs.amap.com/ 登錄后,在控制臺中創(chuàng)建一個應用,獲取生成的應用key。這個key將用于訪問高德地圖API。 ? 您可以使用Java中的 HttpURLConnection 或 HttpClient 等工具發(fā)送HTTP請求到高德地圖API,并傳遞參數(shù)以獲取經(jīng)緯度信息。以下是一個使用 HttpURLConnection 的示例

    2024年02月05日
    瀏覽(161)
  • 百度開發(fā)者平臺API地理編碼,根據(jù)地址獲取經(jīng)緯度

    百度開發(fā)者平臺API地理編碼,根據(jù)地址獲取經(jīng)緯度

    地理編碼 | 百度地圖API SDK (baidu.com) 原始csv 結果: 字段名稱: 社區(qū)名稱、經(jīng)度、緯度、看下表吧。 地理編碼 | 百度地圖API SDK (baidu.com) 或者參考這篇博文: http://t.csdn.cn/AghZk

    2024年02月15日
    瀏覽(21)
  • ElasticSearch - 根據(jù)經(jīng)緯度,簡單搜索指定距離范圍內的數(shù)據(jù)

    ElasticSearch - 根據(jù)經(jīng)緯度,簡單搜索指定距離范圍內的數(shù)據(jù)

    ES的地圖檢索方式 ES支持的地圖檢索方式有以下幾種; geo_distance geo_bounding_box geo_polygon 1、 geo_distance :直線距離檢索,如給定點A,要求返回地圖上距離點A三千米的商家(點外賣場景) 2、查找索引內距離北京站(116.433733,39.908404)3000米內的點 geo_distance涉及的參數(shù)如下 location:確

    2024年02月14日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包