Criar uma Tabela Espacial e Inserir Dados
Agora que você tem um banco de dados espacial, pode criar tabelas para armazenar dados geográficos. Nesta etapa, você criará uma tabela cities e inserirá as coordenadas de algumas cidades importantes.
Você ainda deve estar no shell psql, conectado ao banco de dados spatial_db.
Primeiro, crie uma tabela chamada cities. Esta tabela terá um id e name padrão, juntamente com uma coluna location do tipo GEOMETRY.
Entendendo GEOMETRY(Point, 4326)
GEOMETRY: Este é o tipo de dado fundamental do PostGIS para armazenar feições espaciais.
Point: Isso especifica que a coluna de geometria armazenará apenas pontos. Outros tipos incluem LINESTRING e POLYGON.
4326: Este é o Identificador do Sistema de Referência Espacial (SRID). O SRID 4326 corresponde ao WGS 84, o sistema de coordenadas padrão usado pelo GPS e Google Maps.
Execute o seguinte comando para criar a tabela:
CREATE TABLE cities (
id SERIAL PRIMARY KEY,
name VARCHAR(50),
location GEOMETRY(Point, 4326)
);
Você verá a confirmação:
CREATE TABLE
Em seguida, insira dados na tabela cities. Você usará a função ST_GeomFromText para converter representações de texto em formato Well-Known Text (WKT) de pontos em objetos de geometria. O formato é POINT(longitude latitude).
INSERT INTO cities (name, location) VALUES
('New York', ST_GeomFromText('POINT(-74.0060 40.7128)', 4326)),
('London', ST_GeomFromText('POINT(-0.1278 51.5074)', 4326)),
('Tokyo', ST_GeomFromText('POINT(139.6917 35.6895)', 4326));
A saída indica que três linhas foram inseridas:
INSERT 0 3
Para verificar se os dados foram inseridos corretamente, você pode consultar a tabela. Use a função ST_AsText para converter o objeto de geometria de volta para um formato de texto legível por humanos.
SELECT id, name, ST_AsText(location) FROM cities;
A saída deve exibir os dados que você acabou de inserir:
id | name | st_astext
----+----------+-----------------------------
1 | New York | POINT(-74.006 40.7128)
2 | London | POINT(-0.1278 51.5074)
3 | Tokyo | POINT(139.6917 35.6895)
(3 rows)
Você criou com sucesso uma tabela espacial e a preencheu com dados.