Ir para o conteúdo

osmc:CM/SQL: mudanças entre as edições

m
add query list covers
mSem resumo de edição
m (add query list covers)
Linha 8: Linha 8:
As funções API trabalham apenas com JSON. A função equivalente porém retornando dados SQL seria  <code>osmc.decode_scientific_absolute_geoms('8b,8e,9','CM',16)</code>, que discutimos neste artigo Wiki. <br/>A geração de céulas menores, da ordem de metros ou poucos quilômetros, dispensa a inclusão de pontos, <code>osmc.decode_scientific_absolute_geoms('8b,8e,9','CM',16,true)</code>.
As funções API trabalham apenas com JSON. A função equivalente porém retornando dados SQL seria  <code>osmc.decode_scientific_absolute_geoms('8b,8e,9','CM',16)</code>, que discutimos neste artigo Wiki. <br/>A geração de céulas menores, da ordem de metros ou poucos quilômetros, dispensa a inclusão de pontos, <code>osmc.decode_scientific_absolute_geoms('8b,8e,9','CM',16,true)</code>.


==Grade L0==
== Grades Científicas ==
O sistema de ''grades científicas'' é pré-requisito para definir o sistema de grades logísticas: geometricamente são as mesmas células, resultando nas logísticas como subconjunto.
 
Na sua definição técnica, a cobertura municipal é uma lista de geocódigos científicos, e, como todas são de células com lado superior a 4km, podemos deixar prontas as grades L0 a L5 de camarões. Abaixo disso oferecemos apenas grades logísticas.  Nos níveis de cobertura municipal, como L5, incluímos na coluna ''info'' a lista de apelidos oficiais da célula &mdash; e sendo uma célula de borda, pode acontecer da mesma célula ser cobertura para dois municípios.
 
===Grade L0===
[[Arquivo:Grid-CM-L0.png|miniaturadaimagem|280px|Grade scientífica nível ''L0''.]]
[[Arquivo:Grid-CM-L0.png|miniaturadaimagem|280px|Grade scientífica nível ''L0''.]]
A grade ''L0'' de células inteiras e respectivos rótulos, ilustrada ao lado, foi gerada por:
A grade ''L0'' de células inteiras e respectivos rótulos, ilustrada ao lado, foi gerada por:
Linha 34: Linha 39:
     Column    |  Type  | Description                                   
     Column    |  Type  | Description                                   
----------------+----------+-------------------
----------------+----------+-------------------
  gid_vbit      | varbit  | PK. The complete geocode (with country prefix), expressed as hierarchical bit string.
  gid_vbit      | varbit  | PK. The complete hierarchical geocode, with country prefix.
  code_b16h      | text    | Geocode, withoutout the country prefix.
  code_b16h      | text    | Geocode, withoutout the country prefix.
  is_border      | text    | flag indicating cell intersecting the country border.  
  is_border      | text    | flag indicating cell intersecting the country border.  
  geom          | geometry | Original geometri, in the native SRID projection.
  geom          | geometry | Original geometri, in the native SRID projection.
  geom4326      | geometry | The geometry with no projection, and without  by ST_Transform_resilient().  
  geom4326      | geometry | The geometry with no projection, by ST_Transform_resilient().  
</pre>
</pre>


Os recortes podem ser obtidos pela função de recortes por jurisdição, ''osmc.grid_jurisdiction_cutcells''(), que faz simplesmente o ST_Intersect da geometria da jurisdição com as células. A redundância na geometria, com coluna  geom4326, só é necessária nas células muito grandes. Faz uso da função ST_Transform_resilient() para resolver o   https://gis.stackexchange.com/q/444441/7505
Os recortes podem ser obtidos pela função de recortes por jurisdição, ''osmc.grid_jurisdiction_cutcells''(), que faz simplesmente o ST_Intersect da geometria da jurisdição com as células. A redundância na geometria, com coluna  geom4326, só é necessária nas células muito grandes. Faz uso da função ST_Transform_resilient() para resolver o https://gis.stackexchange.com/q/444441/7505


==Grade L1==
===Grade L1===
[[Arquivo:Grid-CM-L0.png|miniaturadaimagem|280px|Grade scientífica nível ''L1''.]]
[[Arquivo:Grid-CM-L0.png|miniaturadaimagem|280px|Grade scientífica nível ''L1''.]]
rascunho A grade ''L1'' de células inteiras e respectivos rótulos, ilustrada ao lado, foi gerada por:
rascunho A grade ''L1'' de células inteiras e respectivos rótulos, ilustrada ao lado, foi gerada por:
Linha 70: Linha 75:
;
;
</syntaxhighlight>
</syntaxhighlight>
== Grades logísticas ==
Todos os municípios tiveram suas respectivas coberturas geradas pelo procedimento descrito em ?? (Claiton), que faz a inclusão dos seus resultados na mesma tabela onde foram inclusas as coberturas nacionais, ''osmc.cover''. As coberturas municipais oficiais são listadas em https://git.afa.codes/CM/blob/main/data/coverage.csv
Caso seja necessário gerar nova versão a partir do gerenciado pela base, basta exportar para CVS esta query:
<syntaxhighlight lang="sql">
SELECT isolabel_ext, status,
      array_agg(DISTINCT b16 ORDER BY b16) FILTER(WHERE not(is_overlay)) as cover,
      array_agg(DISTINCT b16 ORDER BY b16) FILTER(WHERE is_overlay) as overlay
FROM (
  SELECT *, natcod.vbit_to_baseh(substring(cbits,11),16) as b16
  FROM osmc.coverage
) t WHERE isolabel_ext LIKE 'CM-%-%'
group by 1,2
order by 1,2;
</syntaxhighlight>
A seguir apenas dois exemplos, [Yoko no centro: https://afa.codes/CM-CE-Yoko CM-CE-Yoko] e [https://afa.codes/CM-NO-Dembo Dembo no Norte] (ex. "46B4").
2 391

edições