AddressForAll / LIXO-digital-preservation-BR

Preservação digital das principais fontes digitais do AddressForAll-Brasil
2 stars 0 forks source link

Colocar ogr2ogr no template make_ref027a.mustache.mk #17

Closed crebollobr closed 2 years ago

crebollobr commented 3 years ago

1) Colocar o ogr2ogr no template make_ref027a.mustache.mk {{>common003_shp2pgsql}} {{>common005_ogr2ogr}}

Porque a mesma cidade tem ogr2ogr e shapefile

2) Extração mais genérica sem o ponto para extrair gdb, subpasta ou coleção de arquivos

cd $(sandbox); 7z x -y $(part{{file}}_path) "{{orig_filename}}.*" ; chmod -R a+rx . > /dev/null

cd $(sandbox); 7z x -y $(part{{file}}_path) "{{orig_filename}}*" ; chmod -R a+rx . > /dev/null

3) ogr2ogr com uma variável a mais opicional {{orig_ext}}

docker run --rm --network host -v $(sandbox):/tmp osgeo/gdal ogr2ogr -overwrite -f "PostgreSQL" PG:" dbname='$(pg_db)' host='localhost' port='5432' user='postgres' " "/tmp/{{orig_filename}}{{orig_ext}}" {{{orig_tabname}}} -nln $(tabname)

exemplos orig_ext: .TAB orig_ext: .gpkg orig_ext: .xls

ppKrauss commented 3 years ago

Alguns exemplos onde usa method e method_ops:

ghost commented 3 years ago

O PR https://github.com/digital-guard/preserv-BR/pull/5 atende os três itens dessa issue. No entanto, não atende a issue https://github.com/AddressForAll/digital-preservation-BR/issues/18.

Nessa issue o comando é, considerando a variável orig_ext: docker run --rm --network host -v $(sandbox):/tmp osgeo/gdal ogr2ogr -overwrite -f "PostgreSQL" PG:" dbname='$(pg_db)' host='localhost' port='5432' user='postgres' " "/tmp/{{orig_filename}}{{orig_ext}}" {{{orig_tabname}}} -nln $(tabname)

Na issue subsequente, https://github.com/AddressForAll/digital-preservation-BR/issues/18, o comando desconsidera orig_ext: docker run --rm --network host -v $(sandbox):/tmp osgeo/gdal ogr2ogr -overwrite -f "PostgreSQL" PG:" dbname='$(pg_db)' host='localhost' port='5432' user='postgres' " /tmp/{{{orig_tabname}}} {{{origtabname}}} -nln $(tabname)

crebollobr commented 3 years ago

A variavel deve ser orig_tabname, origtabname foi um erro de digitação

ghost commented 3 years ago

Ok. Mas não era bem isso minha dúvida.

Essa situação: /tmp/{{{orig_tabname}}} {{{origtabname}}}

Engloba essa situação: /tmp/{{orig_filename}}{{orig_ext}} {{{origtabname}}}

Ou são situações disjuntas e para cada uma delas a variável method no arquivo yaml terá valores diferentes para cada uma delas?

crebollobr commented 3 years ago

Essa é a proposta da issue, exemplos orig_ext: .TAB orig_ext: .gpkg orig_ext: .xls

orig_ext = .TAB

Funcionam para extenções diferentes com o mesmo template. O ogr2ogr trabalha com muitos formatos

ppKrauss commented 3 years ago

restaria padronizar, ver Wikipedia em inglês:

Importante lembrar: o padrão textual é UTF-8, qualquer outra coisa precisa ser convertida.

0e1 commented 2 years ago

A situação descrita está implementada. Utilizar no respectivo layer:

method: ogr2ogr
orig_ext: .extensão

para .xlsx usar

method:csv2shp
orig_ext: .xlsx
method_opts: indicar a planilha com -s [0-9], se necessário.
ppKrauss commented 2 years ago

@0e1 e @crebollobr precisamos criar um "guia rápido do YAML" com link para os exemplos de caso... Por exemplo depois de explicar method_opts: -D pode ilustrar com esse caso pk003.