Apesar disso, o TerraView pode armazenar os dados geográficos utilizando os objetos nativos do PostGIS. Isto permite que os usuários vejam as geometrias em outros softwares, mas não dá acesso aos atributos.
Para visualizar todas as informações numa única tabela, pode-se fazer uso do conceito de "views" do PostgreSQL. Uma "view" é uma tabela dinâmica, produzida à partir de uma consulta. Neste caso, utilizaremos a "view" para juntar as tabelas de geometria e atributos.
Primeiramente, precisamos descobrir em que tabelas cada parte está armazenada. O TerraLib não dá nenhum nome intuitivo às tabelas de geometria, portanto seria difícil adivinhar qual é a tabela correta. Desta forma, pode-se utilizar o comando SQL a seguir para listar todos os relacionamentos entre geometrias e tabelas que o TerraView conhece.
select l.layer_id, l.name, r.geom_table, t.attr_table, t.attr_link from te_layer as l, te_representation as r, te_layer_table as t where (l.layer_id=t.layer_id) and (l.layer_id=r.layer_id)
A coluna "t.attr_link" é o nome da coluna da tabela de atributos que serve de ligação ao "object_id" da tabela de geometrias.
De posse do nome das duas tabelas onde estão nossos dados e das colunas que os ligam, pode-se criar a "view" que materializa a ligação:
CREATE VIEW pg_rio AS SELECT * FROM polygons6 as g, rio< as t WHERE t.object_id_6 = g.object_id;
Esta "view" já pode ser visualizada em aplicativos como GvSIG, QGIS e MapServer.
Como resultado secundário deste post, produzi um plugin simples para o Quantum GIS que permite carregar as camadas do TerraLib+PostGIS.