Open ppKrauss opened 2 years ago
A referência ao package-version vem dentro do próprio GeoJSON, como link de atributo
origin_url
apontando para o package e seu commit (exemplo), e atributolayer
com o item de layers demake_conf.yaml
que lhe deu origem.
Não ficou claro pra mim esse trecho e o motivo de jurisdiction.geojson
referenciar pacote de dados no preserv-BR (ou seria o make_conf.yaml referenciando o jurisdiction.geojson
?). Um exemplo de jurisdiction.geojson
(sem a chave geometry) ajudaria o entendimento.
Apenas lembrete para consolidar consolidar as issues relacionadas: https://github.com/digital-guard/preserv/issues/93 https://github.com/digital-guard/preserv-BR/issues/123 https://github.com/digital-guard/preserv/issues/118 https://github.com/digital-guard/preserv/issues/113 https://github.com/digital-guard/preserv/issues/73 https://github.com/digital-guard/preserv/issues/36 https://github.com/digital-guard/preserv-CO/issues/12
@ppKrauss forneça as permissões. Não consegui commitar os geojson das jurisdições de https://github.com/digital-guard/preserv-BR/tree/main/data/_pk0004.01#2018-10-02.
Enter passphrase for key '/home/claiton/.ssh/id_ed25519':
ERROR: Permission to digital-guard/StableGeo-BR.git denied to 0e1.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Código usado para importar https://github.com/digital-guard/preserv-BR/tree/main/data/_pk0004.01#2018-10-02
wget http://dl.digital-guard.org/477b9c42709f3fd7f5e44dcb38752c1d4f4ef132b2cf39fa1015a742934b42db.pbf && chmod o+rw 477b9c42709f3fd7f5e44dcb38752c1d4f4ef132b2cf39fa1015a742934b42db.pbf
osm2pgsql -E 4326 -c -d ingest_osm2018 -U postgres -H localhost --slim --hstore --extra-attributes --hstore-add-index --multi-geometry --number-processes 4 --style /usr/share/osm2pgsql/empty.style /tmp/477b9c42709f3fd7f5e44dcb38752c1d4f4ef132b2cf39fa1015a742934b42db.pbf
psql postgres://postgres@localhost/ingest_osm2018 -c "SELECT ingest.jplanet_inserts_and_drops(76::smallint,true);"
Código para gerar geojson com geometrias de 2018 e propriedades de optim_jurisdictions:
DROP MATERIALIZED VIEW ingest.vw01full_jurisdiction_geom2;
CREATE MATERIALIZED VIEW ingest.vw01full_jurisdiction_geom2 AS
SELECT j.osm_id,j.jurisd_base_id,j.jurisd_local_id,j.parent_id,j.admin_level,j.name,j.parent_abbrev,j.abbrev,j.wikidata_id,j.lexlabel,j.isolabel_ext,j.ddd,j.housenumber_system_type,j.lex_urn,j.info,j.name_en,j.isolevel, g.way AS geom
FROM ingest.vw01full_jurisdiction_geom j
LEFT JOIN jplanet_osm_polygon g
ON j.osm_id::bigint = (-1*g.osm_id)::bigint
-- WHERE way IS NOT null LIMIT 1
;
COMMENT ON MATERIALIZED VIEW ingest.vw01full_jurisdiction_geom2
IS 'Add geom to optim.jurisdiction.'
;
CREATE or replace FUNCTION ingest.jurisdiction_to_geojson(
p_isolabel_ext text, -- e.g. 'BR-MG-BeloHorizonte'
p_fileref text, -- e.g.
p_pretty_opt int DEFAULT 3
) RETURNS text AS $f$
BEGIN
PERFORM write_geojsonb_features(
format('SELECT * FROM ingest.vw01full_jurisdiction_geom2 WHERE isolabel_ext = ''%s''',p_isolabel_ext),
format('%s/%s_jurisd.geojson',p_fileref,lower(replace(p_isolabel_ext,'-','_'))),
't1.geom',
'osm_id,jurisd_base_id,jurisd_local_id,parent_id,admin_level,name,abbrev,wikidata_id,lexlabel,isolabel_ext,ddd,name_en,isolevel',
NULL,NULL,$3,5);
RETURN (SELECT 'Publicado em ' || p_fileref::text)
;
END
$f$ language PLpgSQL;
SELECT ingest.jurisdiction_to_geojson(isolabel_ext,'/var/gits/_dg/StableGeo-BR/data' || (CASE WHEN isolevel::int > 1 THEN '/' || split_part(isolabel_ext,'-',2) ELSE '' END))
FROM ingest.vw01full_jurisdiction_geom2
WHERE jurisd_base_id = 76
;
DROP MATERIALIZED VIEW ingest.vw01full_jurisdiction_geom2;
Resultado da publicação em https://github.com/digital-guard/stableGeo-BR/tree/main/data.
De https://github.com/digital-guard/preserv-CO/issues/12#issue-1353313053:
Para a carga de isolevel=3, tal como foi feito no Brasil, por ex. AM/jurisdictionLevel8.csv.
Requer geração e recuperação PostgreSQL automáticas por makefile, pois todos encontram-se distribuidos.
Requer makefile standalone para a gestão ser realizada pelos responsáveis locais. Pendente mostrar também que DIVIPOLA, Wikidata e OSM são fontes com respectivos make_confs realizando a contribuição... Depois usar um algoritmo de validação cruzada e consolidação. Os INSERTs e UPDATEs da consolidação também precisam constar: qualquer pessoa com essas fontes deveria ser capaz de reproduzir o processo em comandos make. Documentar em WS como (metodologia) essa reconstrução pode ser feita.
Cada jurisdição da base de dados (SQL-schema
optim
) deve ter seu mapa rastreável e copiado como GeoJSONem http://git.digital-guard.org/stableGeo-BR
A referência ao package-version vem dentro do próprio GeoJSON, como link de atributo
origin_url
apontando para o package e seu commit (exemplo), e atributolayer
com o item de layers demake_conf.yaml
que lhe deu origem. O nome de arquivo segue o nome de layer, exceto pela jurisdição, por exemplo:/data/SP
é a pasta usual da jurisdição estadual;/data/SP/jurisdiction.geojson
é o mapa da jurisdição estadual;/data/SP/Campinas
é a pasta usual da jurisdição municipal;/data/SP/Campinas/jurisdiction.geojson
é o mapa da jurisdição municipal;/data/SP/basin.geojson
é o mapa das "jurisdições hidrográficas", bacias hidrográficas fixadas pelo Comitê de Bacias de SP.