Publicado em

By

O mundo geoespacial está mudando rapidamente. A IA está remodelando a forma como os dados são criados e interpretados. Novas APIs estão surgindo em diversos domínios. E organizações em todos os lugares estão tentando modernizar sistemas obsoletos sem comprometer o que já funciona.

Em momentos como este, é fácil falar sobre "padrões".

É muito mais difícil — e muito mais importante — garantir que elas realmente funcionem na prática.

É isso que é um OGC Code Sprint: um teste de realidade sob pressão — um lugar onde ideias se transformam em implementações, onde suposições encontram o código e onde as lacunas surgem cedo o suficiente para serem corrigidas.

Os OGC Code Sprints são onde os padrões deixam de ser apenas texto em uma página e começam a se tornar ferramentas que as pessoas realmente podem usar. Eles criam espaço para implementadores, editores e recém-chegados curiosos:

  • Prove o que funciona (e o que não funciona)
  • Descubra casos extremos que ninguém previu.
  • Identifique problemas de integração antes que eles cheguem à produção.
  • Teste os padrões emergentes em relação ao código do mundo real.
  • Construir entendimento compartilhado e soluções práticas

Em um mundo que corre a passos largos rumo a sistemas conectados, infraestrutura preparada para IA e integração de dados entre diferentes domínios, esses sprints deixaram de ser "extras interessantes".

São essenciais para a construção de ecossistemas tecnológicos em que possamos confiar.

Uma visão geral do Rotterdam Code Sprint

De 20 a 22 de outubro de 2025, o Open Geospatial Consortium (OGC) realizou um Code Sprint em Roterdã, com o apoio da Geonovum e da Prefeitura de Roterdã. O sprint aconteceu no icônico edifício Timmerhuis , um marco da arquitetura holandesa, e no Vonk Innovation Centre , um polo de inovação tecnológica na cidade.

Edifício Timmerhuis
Edifício Timmerhuis
3D impresso CityGML prédio em Vonk
3D impresso CityGML prédio em Vonk
Pôster encontrado em um dos quartos Vonk.
Pôster encontrado em um dos quartos Vonk.

O sprint foi híbrido, combinando a participação presencial com o componente online hospedado no servidor Discord da OGC-Events. O servidor, que agora conta com 983 membros, registra picos de atividade durante e em torno dos sprints, criando um espaço vibrante para a colaboração entre participantes presenciais e remotos.

Número de mensagens trocadas durante e em torno do Rotterdam Code Sprint
Número de mensagens trocadas durante e em torno do Rotterdam Code Sprint
Status do usuário durante e em torno do Rotterdam Code Sprint
Status do usuário durante e em torno do Rotterdam Code Sprint

Quem eram os velocistas?

Os participantes do Code Sprint vieram de 17 países diferentes, de vários continentes. Apenas uma pequena parte compareceu presencialmente, com forte presença local da Holanda. É sempre gratificante ver uma participação expressiva dos nossos anfitriões, como foi o caso desta vez.

Países onde os participantes do Code Sprint estão localizados
Países onde os participantes do Code Sprint estão localizados

Vale ressaltar que ser programador não é um requisito para participar dos Code Sprints da OGC. Muitas contribuições valiosas vêm de pessoas que se envolvem em atividades sem código, como relatar problemas, testar e criar documentação.

O sprint reuniu um equilíbrio entre desenvolvedores experientes e participantes mais focados em produto. A maioria dos presentes já estava bastante familiarizada com os padrões da OGC – embora experiência prévia não seja um requisito e iniciantes sejam sempre bem-vindos.

Experiência de programação dos participantes do sprint
Experiência de programação dos participantes do sprint
Experiência da API OGC dos participantes do sprint
Experiência da API OGC dos participantes do sprint

Como foi estruturado o sprint?

O sprint foi precedido por um webinar prévio ao evento, em 9 de outubro, que contextualizou o evento, apresentando os objetivos dos diferentes Grupos de Trabalho de Normas (GTNs) e trilhas temáticas. Qualquer GTN pode manifestar interesse em participar do sprint antes do webinar prévio ao evento.

No sprint de Rotterdam, apresentamos dez Grupos de Trabalho de Software (SWGs) e duas trilhas especiais: Linters e Validadores , e DCAT-AP e API OGC – Registros . Para muitos participantes, o trabalho de preparação começou a partir desse ponto.

A API da OGC se une – O SWG apresentou uma visão geral do seu trabalho durante o webinar que antecedeu o evento.
A API da OGC se une – O SWG apresentou uma visão geral do seu trabalho durante o webinar que antecedeu o evento.

O primeiro dia começou com uma sessão de abertura, após a qual os participantes se organizaram em grupos de trabalho menores – alguns presencialmente e outros online.

 

O grupo se reunia diariamente para breves reuniões e atualizações, e em seguida concluía com uma sessão de demonstração, onde os participantes apresentavam o que haviam realizado. A programação completa pode ser vista aqui.

Resumo diário
Resumo diário
Sessão de demonstração.
Sessão de demonstração.
As camadas duras, semelhantes a biscoito, que esmagam o creme de confeiteiro ao tentar cortar um pedaço, tornam o consumo desses deliciosos bolos um verdadeiro desafio.

A sessão de encerramento também incluiu um bolo tompouce tradicional holandês , gentilmente oferecido pela diretora da Geonovum.

Discussões ad hoc

Quatro sessões ad hoc foram agendadas durante o sprint para discutir tópicos específicos de interesse:

  • Discussão do JSON-FG, reunindo presidentes e implementadores de SWGs.
  • Negociação de conteúdo por meio de discussão de perfil: abordando múltiplos padrões.
  • Dados não geoespaciais em OGC API – FeaturesO que levou à elaboração de um documento de boas práticas.
  • API OGC – Sessão de registros: com foco em transações e coleta de dados.

Essas discussões foram muito úteis, pois reuniram diferentes implementadores, às vezes com perspectivas diferentes sobre os padrões. Também foi muito proveitoso ter membros de um grupo de trabalho participando das discussões de outro, pois eles puderam encontrar pontos em comum e, às vezes, sugerir locais alternativos para um determinado requisito.

Discussão sobre dados não geoespaciais nos recursos da API OGC
Discussão sobre dados não geoespaciais nos recursos da API OGC

Dia de integração

O primeiro dia do sprint também contou com o Dia de Integração, uma trilha paralela para quem desejasse aprender sobre os Padrões OGC. O dia começou com uma introdução e continuou com uma sequência de cinco tutoriais com duração de aproximadamente 45 a 60 minutos cada.

O primeiro tutorial apresentou o DGGAL , uma biblioteca gratuita e de código aberto que fornece uma interface para Sistemas de Referência de Grade Global Discreta (DGGRS). Essa ferramenta suporta implementações da API OGC – DGGS – e oferece bindings para diferentes linguagens de programação. Durante o tutorial, os participantes experimentaram interagir com um DGGRS usando os bindings em Python, que foram bastante fáceis de instalar. Inspirado por este tutorial, um dos participantes do sprint utilizou essa biblioteca em sua demonstração final.

API OGC – DGGS com a biblioteca DGGAL

O segundo tutorial apresentou a extensão WebSub da API SensorThings . WebSub, um padrão W3C, é um protocolo que permite notificações em tempo real de atualizações de conteúdo. Essa abordagem é mais eficiente para os clientes do que consultar o servidor para obter atualizações, pois evita a necessidade de definir um intervalo fixo e funciona com dados de sensores descritos pela API SensorThings. Os instrutores demonstraram implementações de servidor e cliente do STA-WebSub e até se ofereceram para configurar um Raspberry Pi coletando dados ambientais para quem quisesse testar a abordagem.

Introdução ao STA-WebSub
Introdução ao STA-WebSub

Em seguida, houve um tutorial sobre a versão mais recente do GeoNetwork (GeoNetwork 5), revelando seu suporte nativo à API OGC – Records. O GeoNetwork 5 suporta as Partes 1 e 2 do padrão, incluindo funcionalidades interessantes como buscas facetadas. O instrutor forneceu uma composição Docker que permitiu executar o GeoNetwork 5 e suas dependências como um conjunto de microsserviços.

Publicar API OGC – Registros com GeoNetwork 5

O tutorial a seguir focou na API OGC – Junções. Começou com uma descrição geral do padrão candidato, seguida por demonstrações de implementações tanto no servidor quanto no cliente. Durante esta demonstração, o instrutor realizou junções em tempo real entre tabelas (em formato CSV) e dados geoespaciais (feições).

API OGC – Junções
API OGC – Junções

 

A sessão de mentoria terminou com uma introdução à libCartoSym , uma biblioteca gratuita e de código aberto que implementa a Simbologia Cartográfica OGC 2.0 . A biblioteca facilita a transcodificação entre formatos de representação populares, como CartoSym-CSS, SLD e Mapbox GL. Um dos participantes, um desenvolvedor de QGIS, colaborou com o instrutor nos dias seguintes para aprimorar o suporte à simbologia no QGIS.

Curiosamente, não tivemos muitos iniciantes neste Code Sprint. Os instrutores dos tutoriais acabaram assistindo aos tutoriais uns dos outros, o que levou a discussões valiosas (embora às vezes avançadas). A lista completa dos tutoriais, incluindo resumos e links relevantes, pode ser encontrada aqui.

Atividades da pista principal

Os desenvolvedores que implementaram os padrões se auto-organizaram em grupos menores, onde trabalharam em estreita colaboração com os coordenadores dos Grupos de Trabalho de Software (SWGs), levantando questões e, por vezes, sinalizando problemas. Um esforço notável veio do OS4CSAPI: Open Source for Connected Systems API , que se mostrou bem organizado e forneceu relatórios diários de progresso por escrito.

O pygeoapi confirmou seu papel como um "campo de testes" para a implementação de padrões, sendo bifurcado duas vezes durante o sprint (para a API OGC - Sistemas Conectados e a API OGC - Junções) e recebendo uma solicitação de pull request preliminar para o JSON-FG. Deve-se notar que essas implementações são protótipos e podem ser incorporadas ao projeto principal.

Outro destaque foi o aumento da conscientização entre os projetos de software. Durante a sessão de demonstração, várias implementações exibiram integrações com outras ferramentas apresentadas no sprint. O linter ogc-checker, por exemplo, foi usado tanto pelo ldproxy quanto pelo pygeoapi para validar suas saídas JSON-FG.

A maioria das atividades descritas acima se traduziu em atividade no GitHub. Você pode encontrar links para os problemas, Pull Requests e commits originados por este sprint de código nesta issue do GitHub.

Padrões e projetos de software que participaram deste sprint; as setas tracejadas indicam quais padrões os projetos de software implementam, enquanto as setas preenchidas indicam projetos de software que utilizaram outros padrões.

Considerações finais

Este sprint confirmou o papel fundamental dos Code Sprints no processo de desenvolvimento de padrões. Frequentemente, é neste momento que os padrões são colocados em prática por diferentes implementadores, e muitas dúvidas surgem. Às vezes, essas dúvidas podem ser esclarecidas pelos coordenadores do SWG, e outras vezes levam a mudanças que (esperamos) aprimorem o padrão.

O sprint também é uma oportunidade para atualizar as implementações para as versões mais recentes do padrão e para realizar experimentos de interoperabilidade entre clientes e servidores. No geral, resulta em maior adoção dos padrões e melhor interoperabilidade.

Encorajamos todos os interessados ​​nos Padrões OGC, independentemente do seu nível de conhecimento, a participar nesses eventos e a fazer parte deste processo.

As lições aprendidas durante este sprint foram compiladas, de forma colaborativa, em uma issue do GitHub.

Você pode acompanhar os anúncios dos próximos Code Sprints pelo site do Code Sprints . Se quiser saber mais sobre os padrões da OGC do ponto de vista de um desenvolvedor, acesse o site para desenvolvedores da OGC . Se quiser conversar, encontre-nos no servidor do Discord da OGC Events.

Tem interesse em participar do nosso próximo evento?

O OGC RAINBOW Sprint @ iDays 2025 acontecerá no dia 11 de dezembro de 2025 no Dolce by Wyndham Bad Nauheim, em Hessen, Alemanha.

Convidamos desenvolvedores, especialistas em dados e profissionais da área geoespacial a se inscreverem e participarem.

🔗 Inscrições e detalhes: https://events.ogc.org/SprintOpenScienceOGCRAINBOWOGCAPIs

Isenção de responsabilidade:

Para simplificar, neste post, o termo "Normas" será usado para se referir tanto às normas aprovadas quanto às normas candidatas. Você pode verificar o status de uma norma específica no Roteiro de Normas da OGC.

 

Últimos Blogs