Skip to content

api urn:lex

Claiton edited this page Jun 22, 2022 · 2 revisions

api urn:lex

Implementada em https://github.com/digital-guard/preserv/commit/2f879aa1261db36b508616033ed7803f345d6d48, na base dl03t_main no schema api. Conforme doc.

nginx

location ~* "^/(urn|geo):lex:([a-z]{2}(;[a-z\.]+)?(;[a-z\.]+)?).json$" {

    rewrite "^/(urn|geo):lex:([a-z]{2}).json$"
            /rpc/jurisdiction_geojson_from_lex_isoinlevel2?p_lex=$2  break;

    rewrite "^/(urn|geo):lex:([a-z]{2});([a-z]{2}).json$"
            /rpc/jurisdiction_geojson_from_lex_isoinlevel2_abbrev?p_lex=$2%3B$3  break;

    rewrite "^/(urn|geo):lex:([a-z]{2});([a-z]{2});([a-z]+).json$"
            /rpc/jurisdiction_geojson_from_lex_isoinlevel2_abbrev?p_lex=$2%3B$3%3B$4  break;


    rewrite "^/(urn|geo):lex:([a-z]{2});([a-z\.]{3,}).json$"
            /rpc/jurisdiction_geojson_from_lex_isoinlevel1?p_lex=$2%3B$3  break;

    rewrite "^/(urn|geo):lex:([a-z]{2});([a-z\.]{3,});([a-z]+)?.json$"
            /rpc/jurisdiction_geojson_from_lex_isoinlevel1?p_lex=$2%3B$3%3B$4  break;

    proxy_pass http://127.0.0.1:3103;
}

sql

Funções especializadas do schema api de dl03t_main:

  • jurisdiction_geojson_from_isolabel(p_isolabel) - Retorna a geometria armazenada em optim.jurisdiction_geom dado um isolabel_ext (coluna isolabel_ext de optim.jurisdiction ou de optim.jurisdiction_geom). Por exemplo, para p_isolabel_ext='BR-SP-Campinas'. Funções a seguir são wrapper_function. A view api.jurisdiction_lexlabel fornece o necessário para converter um codigo prefixado com urn:lex em isolabel_ext.

  • jurisdiction_geojson_from_lex_isoinlevel1(p_lex text) - Retorna a geometria armazenada em optim.jurisdiction_geom dado um lex com o país em ISO 3166-2 alpha. Por exemplo, para p_lex='br-sao.paulo-campinas'.

  • jurisdiction_geojson_from_lex_isoinlevel2(p_lex text) - Retorna a geometria armazenada em optim.jurisdiction_geom dado um lex com o país e sua subdivisão imediata em ISO 3166-2 alpha. Por exemplo, para p_lex='br-sp-campinas'. Não está sendo utilizada na configuração do nginx.

  • jurisdiction_geojson_from_lex_isoinlevel2_abbrev(p_lex text) - Retorna a geometria armazenada em optim.jurisdiction_geom dado um lex com o país e sua subdivisão imediata em ISO 3166-2 alpha e terceira subdivisão abreviada (dada pela coluna abbrev de optim.jurisdiction). Por exemplo, para p_lex='br-sp-cam'.

Exemplo Descrição
http://osm.codes/urn:lex:br.json retorna jurisdiction_geojson_from_lex_isoinlevel2('br'). Nesse caso, poderia ser também: jurisdiction_geojson_from_lex_isoinlevel1('br'), jurisdiction_geojson_from_lex_isoinlevel2_abbrev('br') ou jurisdiction_geojson_from_isolabel('br')
http://osm.codes/urn:lex:br;sao.paulo;campinas.json retorna jurisdiction_geojson_from_lex_isoinlevel1('br;sao.paulo;campinas')
http://osm.codes/urn:lex:br;sp;cam.json retorna jurisdiction_geojson_from_lex_isoinlevel2_abbrev('br;sp;cam')
http://osm.codes/urn:lex:br;rs.json retorna jurisdiction_geojson_from_lex_isoinlevel2_abbrev('br;rs')
http://osm.codes/urn:lex:br;rio.grande.sul.json retorna jurisdiction_geojson_from_lex_isoinlevel1('br;rio.grande.sul')
http://osm.codes/geo:lex:br;sp;cam.json equivalente à http://osm.codes/urn:lex:br;sp;cam.json
Clone this wiki locally