Transformei um ficheiro shape numa tabela postgis.
A coluna geométrica no Postgis (geom) ficou em branco, já vi que isso é algo
comum e que na verdade os limites estão lá, o que confirmei no QGIS.
<http://osgeo-org.1560.x6.nabble.com/file/n5150484/1.png>
Precisava de:
1º - colocar "visível" o conteúdo da coluna geom
2º - como já vi que o conteúdo do campo geom é enorme, gostaria de o colocar
com um tamanho mais aceitável. Qual a função mais adequada? ST_AsText ?
Neste caso não há soluções mais adequadas que outras. Mas vamos por partes:
Quanto a isto não podes fazer grande coisa… a geometria está é apenas um bug de display do blob. Mas também não percebo o porquê da tua necessidades em meter visível esta informação uma vez que mesmo que a vejas não entendes nada… Queres explicar porque precisas disto?
Aqui depende do que tu queiras e de como queiras visualizar a geometria. Assim tens várias possibilidades:
a) função ST_astext que te devolve a geometria no formato standard WKT)
b) função ST_asgeojson (geometria em formato geojson)
c) A minha preferida, função ST_asewkt (que não só te devolve a geometria em WKT mas também o SRID [isto pode ser um vício de programador :)])
d) Todas as outras funções listadas na secção 8.6 do manual: http://postgis.net/docs/reference.html
Transformei um ficheiro shape numa tabela postgis.
A coluna geométrica no Postgis (geom) ficou em branco, já vi que isso é algo
comum e que na verdade os limites estão lá, o que confirmei no QGIS.
<http://osgeo-org.1560.x6.nabble.com/file/n5150484/1.png>
Precisava de:
1º - colocar “visível” o conteúdo da coluna geom
2º - como já vi que o conteúdo do campo geom é enorme, gostaria de o colocar
com um tamanho mais aceitável. Qual a função mais adequada? ST_AsText ?
Bem, a coisa é uma cadeia de eventos e pensei que daquela forma me ajudasse
no resultado final.
Se calhar vou explicar de forma detalhada o meu problema e pode ser que
esteja a pensar mal.
1. No pOstgis tenho uma tabela1 com todos os concelhos de Portugal
Continental, que, entre varias colunas tem uma com os limites (geom)
2 Acrescentei nessa tabela1 os concelhos das Regiões Autónomas. Preenchi
algumas colunas "alfanumericas" mas não a coluna geom
3 Pretendia "preencher" essa coluna geom na tabela1 que agora passou a ter
todos os concelhos de Portugal (os da Região Autónoma estão sem limites
-geom-)
4- Criei novas tabelas no Postgis com os concelhos das Regiões Autónomas,
incluindo claro os limites. Eram ficheiros shape que importei para o
Postgis, daí a coluna geom não aparecer "preenchida".
5- Pretendia copiar os limites (geom) das Regiões Autónomas, que estão nas
novas tabelas, para tabela1 que contém todo o Portugal
Não sei se esta será abordagem mais correcta/eficaz mas as minhas perguntas
iniciais têm a ver com isto.
Isto é uma história completamente diferente… não se tinha percebido que era isto que querias fazer. Nesse caso vais ter que fazer um query de update de acordo com o seguinte exemplo:
update concelhos
set the_geom = a.the_geom
from regioes_autonomas as a
where a.nome_concelho = concelhos.nome_concelho
onde:
a tabela concelhos é a tabela à qual queres adicionar a informação geométrica
a tabela regioes_autonomas é a tabela onde vais ler as geometrias
Mas atenção que precisas ter cuidado. Não te esqueças que na tua tabela o campo the_geom tem sempre um unico SRID e por isso vais ter que garantir que as gemetrias das regioes autonomas tb estao nesse SRID. Não sei qual o SRS que estás a utilizar… se estiveres a usar WGS84 não haverá problema pois é um datum global… já no caso do ETRS, Hayford-Gauss e outras a situação já é diferente. Por isso cuidado com estas coisas.
Bem, a coisa é uma cadeia de eventos e pensei que daquela forma me ajudasse
no resultado final.
Se calhar vou explicar de forma detalhada o meu problema e pode ser que
esteja a pensar mal.
No pOstgis tenho uma tabela1 com todos os concelhos de Portugal
Continental, que, entre varias colunas tem uma com os limites (geom)
2 Acrescentei nessa tabela1 os concelhos das Regiões Autónomas. Preenchi
algumas colunas “alfanumericas” mas não a coluna geom
3 Pretendia “preencher” essa coluna geom na tabela1 que agora passou a ter
todos os concelhos de Portugal (os da Região Autónoma estão sem limites
-geom-)
4- Criei novas tabelas no Postgis com os concelhos das Regiões Autónomas,
incluindo claro os limites. Eram ficheiros shape que importei para o
Postgis, daí a coluna geom não aparecer “preenchida”.
5- Pretendia copiar os limites (geom) das Regiões Autónomas, que estão nas
novas tabelas, para tabela1 que contém todo o Portugal
Não sei se esta será abordagem mais correcta/eficaz mas as minhas perguntas
iniciais têm a ver com isto.
Isto é uma história completamente diferente… não se tinha percebido que era isto que querias fazer. Nesse caso vais ter que fazer um query de update de acordo com o seguinte exemplo:
update concelhos
set the_geom = a.the_geom
from regioes_autonomas as a
where a.nome_concelho = concelhos.nome_concelho
onde:
a tabela concelhos é a tabela à qual queres adicionar a informação geométrica
a tabela regioes_autonomas é a tabela onde vais ler as geometrias
Mas atenção que precisas ter cuidado. Não te esqueças que na tua tabela o campo the_geom tem sempre um unico SRID e por isso vais ter que garantir que as gemetrias das regioes autonomas tb estao nesse SRID. Não sei qual o SRS que estás a utilizar… se estiveres a usar WGS84 não haverá problema pois é um datum global… já no caso do ETRS, Hayford-Gauss e outras a situação já é diferente. Por isso cuidado com estas coisas.
Bem, a coisa é uma cadeia de eventos e pensei que daquela forma me ajudasse
no resultado final.
Se calhar vou explicar de forma detalhada o meu problema e pode ser que
esteja a pensar mal.
No pOstgis tenho uma tabela1 com todos os concelhos de Portugal
Continental, que, entre varias colunas tem uma com os limites (geom)
2 Acrescentei nessa tabela1 os concelhos das Regiões Autónomas. Preenchi
algumas colunas “alfanumericas” mas não a coluna geom
3 Pretendia “preencher” essa coluna geom na tabela1 que agora passou a ter
todos os concelhos de Portugal (os da Região Autónoma estão sem limites
-geom-)
4- Criei novas tabelas no Postgis com os concelhos das Regiões Autónomas,
incluindo claro os limites. Eram ficheiros shape que importei para o
Postgis, daí a coluna geom não aparecer “preenchida”.
5- Pretendia copiar os limites (geom) das Regiões Autónomas, que estão nas
novas tabelas, para tabela1 que contém todo o Portugal
Não sei se esta será abordagem mais correcta/eficaz mas as minhas perguntas
iniciais têm a ver com isto.
O que queria dizer é que é preciso ter cuidado com essas reprojecções. A nível de Postgis obviamente é possível utilizando o st_transform mas aqui o problema que eu queria levantar é mais ao nível cartográfico. Ter uma camada com concelhos de PT cointinental e mais Regiões Autónomas em Hayford-Gauss é um erro porque o datum não teve em conta essa área… mas isto deixo para algum engenheiro geógrafo que faça parte da lista explicar… Alexandre Neto, queres pronunciar-te sobre isto?
Copiei então os limites das Regioes Autonomas para a minha tabela mas quando
a carrego no QGIS os limites das Regioes Autonomas não me aparecem (o campo
geom está preenchido)
Imagino que tenha a ver com essa questão que levantarm dos SRID.
Reparei que na minha tabela principal (que tem agora todos os limites), não
tenho srid atribuído
O que queria dizer é que é preciso ter cuidado com essas reprojecções. A nível de Postgis obviamente é possível utilizando o st_transform mas aqui o problema que eu queria levantar é mais ao nível cartográfico. Ter uma camada com concelhos de PT cointinental e mais Regiões Autónomas em Hayford-Gauss é um erro porque o datum não teve em conta essa área… mas isto deixo para algum engenheiro geógrafo que faça parte da lista explicar… Alexandre Neto, queres pronunciar-te sobre isto?