欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql geometry 查詢

方一強2年前11瀏覽0評論

MySQL是一種流行的關系型數據庫,近年來,其GIS功能已經得到了廣泛的應用。現在,我們來學習一下如何在MySQL中進行geometry查詢。

要在MySQL中進行geometry查詢,您需要使用MySQL的Spatial擴展。在使用之前,請確保您已經安裝了該擴展。安裝方法如下:

sudo apt-get install mysql-server
sudo apt-get install mysql-server-5.7
sudo apt-get install mysql-server-core-5.7
sudo apt-get install libmysqlclient-dev
sudo apt-get install libmysqlclient20
sudo apt-get install libmysqlclient20-dev
sudo apt-get install mysql-server-core-5.7
mysql -u root -p
create database spatialtest;
use spatialtest;
CREATE TABLE geomtest ( name varchar(255), geom geometry );

以上是安裝MySQL Spatial的代碼。需要注意的是,您需要使用root用戶來運行這些代碼。

下面,我們來看一下如何進行geometry查詢。在MySQL中,您需要使用“ST_”函數(Spatial Type)來執行這些操作。

SET @g = 'POINT(50 50)';
SELECT ST_AsText(ST_GeomFromText(@g));

以上代碼將返回“POINT(50 50)”。

來看一些其他的例子,假設我們有一個表“test_geom”,其中包含名稱和可描述地理位置的“geom”列。

CREATE TABLE test_geom (name varchar(50), geom geometry);
INSERT INTO test_geom VALUES('My house', GeomFromText('POINT(51.501476 0.140634)'));
INSERT INTO test_geom VALUES('Buckingham Palace', GeomFromText('POINT(51.501476 0.140634)'));

您可以使用“ST_Contains ()”函數來查找某一維度包含位置的對象:

SELECT * FROM test_geom WHERE ST_Contains(geom, GeomFromText('POINT(51.501476 0.140634)'));

以上代碼將返回“'My house', GeomFromText('POINT(51.501476 0.140634)')”。

您可以使用“ST_Distance_Sphere ()”函數來計算兩個位置之間的距離:

SELECT ST_Distance_Sphere(GeomFromText('POINT(51.501476 0.140634)'), GeomFromText('POINT(51.501476 0.140635)')) AS distance;

以上代碼將返回“1.113233264574598”。

在MySQL中進行geometry查詢非常有用,尤其是對于需要對地理信息進行操作的應用程序。如果您想了解更多有關MySQL Spatial的信息,請查閱MySQL官方文檔。