O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
ST_Distance
Para geometrias de entrada, ST_Distance retorna a distância euclidiana mínima entre as projeções 2D dos dois valores de geometria de entrada.
Para geometrias 3DM, 3DZ, 4D, ST_Distance retorna a distância euclidiana entre as projeções 2D de dois valores de geometria de entrada.
Para geografias de entrada, ST_Distance retorna a distância geodésica dos dois pontos 2D. A unidade de distância é metro. Para regiões geográficas diferentes de pontos e pontos vazios, é retornado um erro.
Sintaxe
ST_Distance(geo1, geo2)
Argumentos
- geo1
-
Um valor de tipo de dados
GEOMETRY
ouGEOGRAPHY
ou uma expressão que é avaliada como tipoGEOMETRY
ouGEOGRAPHY
. O tipo de dados de geo1 deve ser o mesmo que de geo2. - geo2
-
Um valor de tipo de dados
GEOMETRY
ouGEOGRAPHY
ou uma expressão que é avaliada como tipoGEOMETRY
ouGEOGRAPHY
. O tipo de dados de geo2 deve ser o mesmo que de geo1.
Tipo de retorno
DOUBLE PRECISION
nas mesmas unidades que as geometrias ou geografias de entrada.
Será retornado null, se geo1 ou geo2 forem nulos ou vazios.
Será retornado um erro se geo1 e geo2 não tiverem o mesmo valor do identificador do sistema de referência espacial (SRID).
Será retornado um erro se geo1 ou geo2 forem uma coleção de geometrias.
Exemplos
O SQL a seguir retorna a distância entre dois polígonos.
SELECT ST_Distance(ST_GeomFromText('POLYGON((0 2,1 1,0 -1,0 2))'), ST_GeomFromText('POLYGON((-1 -3,-2 -1,0 -3,-1 -3))'));
st_distance
-----------
1.4142135623731
O SQL a seguir retorna a distância (em metros) entre o Portão de Brandemburgo e o prédio do Reichstag em Berlim usando o tipo de dado GEOGRAPHY.
SELECT ST_Distance(ST_GeogFromText('POINT(13.37761826722198 52.516411678282445)'), ST_GeogFromText('POINT(13.377950831464005 52.51705102546893)'));
st_distance
------------------
74.64129172609631