Spatial Extensions MySQL — Point

Afonso Rodrigues
1 min readJan 29, 2018

--

A Extensão Espacial do MySQL disponibiliza a criação, o armazenamento e a analise de formas geométricas:

  • Tipo de dados para representar valores espaciais ( GEOMETRY ,POINT, LINESTRING, POLYGON)
  • Funções para manipulação de dados espaciais ( ST_Distance_Sphere(g1, g2 [, radius]))
  • Index para otimizar o acesso à colunas com dados espaciais

Basicamente o tipo de dado espacial do mysql fornece as ferramentas necessárias para se trabalhar com formas geométricas e pontos no espaço.

A inclusão de valores no POINT segue a seguinte forma: POINT(longitude, latitude)

Para trabalharmos com os tipo espacial, podemos utilizar as funções com inicio de ST:

ST_Distance_Sphere(pt1, pt2 [,radius]) O parâmetro [,radius] é opcional, quando não informado ele assume o valor da circunferência da Terra. O retorno da função está em metros.

ST_GeomFromText(‘Text’) Converte um texto para um tipo Geométrico
Ponto: ST_GeomFromText(‘POINT(1 1)’)
Linha: ST_GeomFromText(‘LINESTRING(0 0,1 1,2 2)’)
Poligono: ST_GeomFromText(‘POLYGON((0 0,10 0,10 10,0 10,0 0),(5 5,7 5,7 7,5 7, 5 5))’)
Exadecimal: ST_GeomFromWKB(X’0101000000000000000000F03F000000000000F03F’)

É possivel criar spatial indexes para as engines InnoDB e MyISAM. A declaração é semelhante a criação de indexes tradicional. Só é possivel criar indexes espaciais em colunas NOT NULL.

--

--