Closed luisfelipebr closed 2 years ago
- Implementar custom_crs.
Para essas situações temos a chave srid_proj
, desenvolvida a partir do caso de dados de Porto Alegre/RS.
Ver exemplo em https://github.com/digital-guard/preserv-BR/blob/main/data/RS/PortoAlegre/_pk0018.01/make_conf.yaml#L6, ressalto o trecho importante:
pack_id: 18.1
pkversion: 001
schemaId_input: ref027a
schemaId_template: ref027a
srid_proj: +proj=tmerc +lat_0=0 +lon_0=-51 +k=0.999995 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
Você consegue reescrever custom_crs na sintaxe usada no exemplo de Porto Alegre?
2. Apenas uma observacao: o arquivo de lotes possui numero inicial e final, mas eles sao ficticios. Quando testei vi que eles nao batem com os numeros em campo. Como ainda estamos solicitando uma tabela com os enderecos por IPTU (geoaddress), coloquei os numeros inicial e final como campo adicional.
Quando os dados chegarem, eles podem ser usados para join com parcel
e geoaddress
, complementando os dois layers. Claro, se for possível.
Sugiro trocar standard:
por comments:
nesse campo adicional para descrever o dado.
3. Necessario adicionar sql_view para construir nome dos logradouros urbanos
sql_view: |-
SELECT gid, tip_logr || ' ' || textstring AS via_name, geometry AS geom FROM $(tabname)
4. Logradouros rurais em arquivo separado, sem nome do logradouro. Necessario fazer join entre os arquivos via.
Essa é uma situação de union ao ínves de join.
Temos algumas possibilidades para union discutidas/implementadas em https://github.com/digital-guard/preserv/issues/101#issuecomment-1095404904. No caso em questão, temos dois arquivos (sha256 diferentes) para um mesmo layer. Isso não é uma das possibilidades elencadas no link anterior.
Então, as possibilidades são:
a. juntar os dois arquivos em um único sha256, para usar a estratégia de union usando array. Porém, conforme o comentário https://github.com/digital-guard/preserv-BR/issues/90#issuecomment-1133213325 essa possibilidade está disponível apenas se usar sql_select
. Não é o caso pois sql_view
é usada, conforme item anterior.
b. fazer pacotes diferentes com o mesmo fornecedor, conforme comentário https://github.com/digital-guard/preserv-BR/issues/90#issuecomment-1159543603 feito em situação semelhante.
Então, o caminho é usar b.
@0e1 agora apenas nsvia e via estão dando erro. No caso de nsvia, pode ser por conta da definição de um SRID diferente. No caso de via, preciso testar 'Latin1', mas não sei como adicionar. Você pode me ajudar nessas questões?
nsvia
via
@0e1 consegui adicionar o "Latin1" em via. Só nsvia continua dando erro
Acredito ter arrumado o problema relacionado a nsvia
. Eu testei e funcionou. Teste também, porém você precisa recriar a base ingest que você está utilizando.
Quando usamos srid_proj
, é feito um insert
em spatial_ref_sys
. O problema estava quando o srid
era sobrescrito na chave codec
do layer. O que acontecia era que o srid
informado no layer estava sendo inserido em spatial_ref_sys
, um erro. Corrigi.
@0e1 consegui adicionar o "Latin1" em via. Só nsvia continua dando erro
Testei e funcionou.
Notar que codec: SHP~Latin1;srid=31984
é equivalente a codec: SHP;srid=31984
pois a variante (Latin1) é ignorada quando existir sobrescrição (;srid=31984). Mais infos sobre codec em https://github.com/digital-guard/preserv/issues/31#issuecomment-996061179.
Enfim, me parece tudo funcionando. Se julgar que não tem mais problemas pode encerrar a issue.
make_conf disponível aqui.
Varias tarefas sao necessarias:
@crebollobr @0e1