Agricultura de Precisão – Amostras e Recomendações

A Sigma Geo Sistemas desenvolveu uma ferramenta para o gerenciamento de Amostras e Recomendações agrícolas.

Com ela é possível gerenciar todos os projetos amostragem de solo e a partir delas gerar recomendações de aplicação em taxa variável.

Além disso também compara o recomendado em relação ao aplicado através do arquivo gerado no piloto automático da máquina.

Projeto de Amostras

Com o sistema a criação de projetos de amostras é muito eficiente, pois o usuário através dos filtros existentes poderá buscar por fazendas, talhões e zonas de manejo, selecionando através de uma grade regular os pontos onde deverão ser coletadas as amostra, bem como profundidade e parâmetros de análises, por exemplo.

Após a seleção e definição das características da amostra, é gerada uma planilha com a identificação única dos pontos e coordenadas para envio ao laboratório.

Resultado das Amostras

Após a análise das amostras coletadas é possível importar as planilhas enviadas pelo laboratório diretamente no sistema, mantendo todo o histórico vinculado à grade regular da amostra, ou seja, independente da configuração dos talhões na fazenda o resultado sempre estará disponível para consultas.

Projeto de Recomendação

Os projetos de recomendação são gerados a partir de amostras existentes na área de interesse de aplicação.

Os resultados das amostras são interpolados e são aplicadas as fórmulas de recomendação conforme a definição da equipe agronômica. As fórmulas do sistema são definidas por sua equipe.

Além disso o resultado da interpolação poderá ser ajustado após sua criação, conforme características locais.

Também é possível cadastrar as característica do insumos que serão aplicados, tendo em vista que diferentes marcas possuem diferentes formulações.

Abaixo um exemplo de shapefile com recomendações geradas:

Taxa Variável

A partir dos resultados gerados durante a criação do projeto de recomendação, você poderá gerar um arquivo de aplicação com taxa variável que será inserido piloto automático da máquina de aplicação. Este arquivo é gerado com uma grade regular de 20×20 metros, sendo possível ajuste conforme a máquina.

Após a aplicação no campo o arquivo gerado pelo piloto automático da máquina poderá ser inserido no sistema para que seja criada a aderência de aplicação, cruzando informações de receituário e aplicação no campo.

Abaixo um exemplo de arquivo de aplicação real cadastrado no sistema:

Fluxo

Base Cartográfica

A Sigma Geo Sistemas possui vários anos de experiência em geoprocessamento e sensoriamento remoto.

Nossa equipe técnica, em conjunto com seus colaboradores irá conhecer como sua base de dados está organizada para que o sistema possa consultar todas as informações necessárias para execução do processo.

Principais integrações:

  • Shapefile
  • Geoadabase ArcGIS
  • PostgreSQL + PostGIS
  • ArcGIS Server

Clique aqui para visualizar mais telas do sistema.

Para maiores informações sobre o sistema entre em contato através do telefone 34 3231-9858 ou envie um e-mail para paulovitor@geoadmin.com.br

Case Finotti Agrimensura

A Finotti Agrimensura é uma empresa com sede em Uberlândia – MG e atua nos segmentos de agrimensura e meio ambiente.

Sua área de atuação é bastante dinâmica, contando com diversos colaboradores e centenas de clientes, de todos os portes. A empresa está na estrada há bastante tempo e possui um histórico impecável de serviços realizados.

Com esta enorme gama de clientes e serviços prestados, existe uma dificuldade natural em manter todos os dados organizados – ainda mais com um acervo tão significativo.

A Finotti, procurou o Geoadmin para organizar e garantir a segurança de todos os dados de seus clientes

Neste case de sucesso, faremos uma breve entrevista com Diogo Finotti, sócio da Finotti Agrimensura, principal agente transformador no uso de um sistema inteligente para a organização dos serviços prestados, segurança da informação e facilitação da comunicação entre os diversos membros da equipe.

Geoadmin: Diogo, quais eram as principais dificuldades enfrentadas pela sua equipe, antes do uso do Geoadmin?

Diogo Finotti: Entre as principais dificuldades que encontrávamos aqui na Finotti era em relação a organização das informações. Como coletamos muita informação em campo e diversos documentos de natureza alfanumérica, tínhamos muitos arquivos organizados sem os metadados apropriados.

Com o Geoadmin, toda a informação
contextual está disponível, acelerando muito o processo de manutenção dos dados e armazenamento de documentos sensíveis.

G: Como o Geoadmin te ajudou na organização dos seus dados referentes a prestação de serviços ambientais e de agrimensura?

DF: A principal vantagem do Geoadmin foi disponibilizar todas as informações que possuímos em um mapa, com fácil consulta para toda a equipe. Não é mais
necessário parar um membro da equipe para, por exemplo, descobrir a versão mais atual de um arquivo para enviar para um cliente.

Outro ganho muito legal foi em termos de segurança. Todos os nossos dados aqui no escritório possuem backup, mas com o Geoadmin posso
me concentrar em executar meus trabalhos da melhor maneira, sem precisar gastar tempo e dinheiro com o que não é meu negócio chave.

G: Qual é a maior vantagem em usar um sistema totalmente online?

DF: Facilidade de comunicação entre a equipe e liberdade para me concentrar nos meus clientes.

G: Atualmente, quantos usuários usam o sistema na sua organização? O uso do sistema facilitou a comunicação entre as equipes?

DF: Atualmente são quatro usuários utilizando o Geoadmin. O uso do sistema facilitou nossa comunicação de uma forma muito bacana.

Nossas equipes de campo podem realizar upload dos dados coletados em campo, onde a equipe de escritório já inicia o processamento
dos mesmos, antes de que eles cheguem aqui.

Outra funcionalidade interessante é que com as tarefas e serviços no sistema, estamos sempre em dia, antevendo as necessidades
dos nossos clientes.


Apesar de “puxarmos” uma sardinha para nosso lado, ficamos muito satisfeitos de ver que nosso trabalho tem ajudado as pequenas e médias empresas a melhorarem a gestão da informação e dos processos em seus ambientes de trabalho.

A melhoria destes processos significa, basicamente, uma redução de custos e maior efetividade na hora de conquistar novos clientes.

Faça como a Finotti Agrimensura, registre-se no Geoadmin e venha agilizar a gestão do seus trabalhos em campo :D.

Equipe Geoadmin

Penny, uma IA para prever riqueza

A Digital Globe, gigante do sensoriamento remoto anda inovando.

Apenas neste ano, vimos surgir sua própia Maps API, que permite ao desenvolvedor a criar aplicativos usando imagens diretamente da Digital Globe.

Logo depois, surgiu o [GBDX] uma plataforma em nuvem para execução de algoritmos a serem aplicados a enorme biblioteca de imagens da empresa.

Agora, mais uma, usando esse conjunto citado acima. O lançamento é do aplicativo Penny.

O Penny é uma IA (inteligência artificial) criada para detectar e prever riqueza. Mas como isto é possível?

Analisando e cruzando dados de satélite com dados do censo americano, é possível treinar uma rede neural ou qualquer algoritmo de machine learning que se queira para estimar a probabilidade de uma área ser rica ou pobre, baseado nos dados do entorno.

Os passos básicos são:

  1. Adquirir dados do Censo;
  2. Comparação entre os dados vetoriais com os dados de imagens;
  3. Treinamento de uma rede neural, cruzando feições com as informações do censo sobre renda;

Exemplo (e um chute):

  1. No bairro X existem dois shoppings e a renda é mais alta;
  2. No bairro Y existem mais estacionamentos e a renda é média;
  3. No bairro Z existem mais parques e a renda é baixa;
  4. No bairro X1 existem mais árvores e a renda é mais alta;

A partir de algumas premissas e identificação de feições chave, foi possível cruzar e prever quais tipos de construções/pólos aumentam o valor da renda em determinado lugar.

Isto não quer dizer que as pessoas ficam mais ricas, apenas que pessoas mais ricas frequentam aquele lugar.

Claro que isto é um experimento. A Digital Globe ainda permite que você altere o mapa, colocando partes de outras imagens no local onde você está. Por exemplo, é possível “gentrificar” ou “aumentar o valor da renda” de uma área, colocando mais árvores ou prédios de luxo, como o Empire State Building.

É uma aplicação interessante que mostra para nós como vai ser o futuro do sensoriamento remoto.

GeoSampa é oficializado como base oficial

Boas notícias sobre o GeoSampa, um dos projetos desenvolvidos e apoiados pela SIGMA Geosistemas.

O GeoSampa é um portal de informações geográficas, disponibilizado pela PRODAM e pela SMUL (Secretaria Municipal de Urbanismo e Licenciamento), contendo mais de 180 camadas de informações geográficas.

A prefeitura de São Paulo, oficializou a plataforma como base de dados oficial do município, aumentando ainda mais a relevância da mesma, através do decreto 57.770, editado pelo prefeito João Dória.

A plataforma já era bastante utilizada pela população e pelos colaboradores municipais, agora tem o status de base de dados oficial, possuindo mais de cem mil acessos mensais únicos.

Este é um passo importante para a correta institucionalização do sistema, permitindo uma sinergia entre os diversos interessados nos dados existentes e publicados através da mesma.

Entre os artigos do decreto, um me chama bastante atenção, oficializando o GeoSampa como plataforma integradora:

Art. 6º Os sistemas de dados e informações municipais de qualquer natureza deverão ser estruturados pelos órgãos responsáveis de forma a permitir sua interoperabilidade e integração com os demais sistemas, facilitando seu escalonamento, reuso e manutenção, e deverão:

I – garantir a simplificação do acesso, de forma a possibilitar à Administração Municipal o uso eficiente de suas informações no atendimento às demandas internas e externas;

II – dar transparência às ações de governo, de forma a permitir o acesso público a todas as informações que não sejam de uso restrito, em conformidade com a legislação pertinente, em especial o Decreto nº 53.623, de 12 de dezembro de 2012;

III – garantir que não haja a sobreposição de ações, evitando o dispêndio desnecessário de recursos e a duplicidade de dados da Administração Municipal.

Parágrafo único. O mecanismo de integração deverá garantir ao usuário acesso à informação atualizada por meio do sincronismo entre os sistemas e as bases externas com periodicidade definida e da atualização da base geoespacial.

O artigo 6° é uma comprovação de nossa filosofia de trabalho: o geoprocessamento pode e deve ser usado de forma inteligente, de maneira aumentar a eficiência do planejamento e redução de custos para a administração pública.

A SIGMA Geosistemas ajuda e ajudou na construção desta plataforma, utilizando apenas tecnologias livres. Dentre os serviços executados, desenvolvemos todas as ferramentas de análise, disponíveis por enquanto na intranet – como filtros, pesquisas geoespaciais, geração de gráficos e agrupamentos.

Em tempo, gostaria de parabenizar a toda equipe envolvida no GeoSampa e ao prefeito, por uma decisão acertada.

Ainda teremos muitas novidades sobre esta plataforma. Fique ligado!

Django Topology

Olá pessoal!

Aqui na SIGMA sempre estamos desenvolvendo ferramentas úteis para nós e que talvez também sejam úteis para outras pessoas.

Nossa ideia principal, é contribuir um pouco com esse enorme ecossistema Python/Django existente. Como já disseram, estamos sobre os ombros de gigantes.

Bem, desenvolvemos o Django Topology com o objetivo de simplificar a validação de dados geométricos/geográficos que encontramos em nosso dia a dia.

É muito comum, por exemplo, ter de validar a entrada de um polígono e precisamos garantir que ele esteja dentro de outro polígono. Ou garantir que este polígono específico não esteja sobrepondo outro polígono de uma mesma classe.

Para isso desenvolvemos o Django Topology. Através dele você consegue configurar suas validações dentro do banco de dados e executá-las de forma simples.

O fluxo é simples e o pacote já conta com três validações:

  • must be contained – garante que o modelo A deve estar contido no modelo B;
  • must not overlap – garante que o modelo A não pode sobrepor nenhum outro registro em A;
  • must not overlap with – garante que o modelo A não pode sobrepor o modelo B;

O pacote é facilmente extensível e você desenvolver suas próprias validações topológicas.

Um exemplo simples:

        rule = Rule(
            name='regra de validação 1',
            description='A deve estar contido em B',
            message='deve estar contido',
            method='topology.rules.must_be_contained'
        )
        rule.save()
        topology_rule = TopologyRule(
            content_type_a=ContentType.objects.get(app_label='seuapp', model='item'),
            content_type_b=ContentType.objects.get(app_label='seuapp', model='container'),
            geom_field_b='geom',
            rule=rule
        )
        topology_rule.save()

Até aqui, definimos nossa regra topológica, de que A (qualquer instância do modelo Item) deve estar contida em B (Container).

Veja como realizar a validação:

        item_a = Item(geom=unit_polygon(Point(x=0.0, y=0.0, srid=4326)))
        item_a.save()
        container = Container(geom=unit_polygon(Point(x=0.0, y=0.0, srid=4326), size=3))
        container.save()

        errors = topology_rule.validate(item_a)
        len(errors)
>>> 3

No exemplo acima, calculamos os erros diretamente pela regra topológica (TopologyRule) e não foi encontrado nenhum erro.

Os erros gerados pelo TopologyRule não são persistidos no banco de dados, ficando a cargo do desenvolvedor a determinar o melhor momento para tal. As vezes nem será necessário, como por exemplo, em uma validação de formulário Django.

Também desenvolvemos um análogo ao TopologyChecker do QGIS e ele tem o mesmo nome. Sua função é executar todas as validações associadas a um determinado modelo, de uma vez, e persisti-las (ou não).

Veja como usá-lo:

        # definindo as regras
        rule1 = Rule(
            name='A não deve sobrepor A',
            description='A não deve sobrepor A',
            message='sobrepõe',
            method='topology.rules.must_not_overlap'
        )
        rule1.save()
        rule2 = Rule(
            name='A não deve sobrepor B',
            description='A não deve sobrepor B',
            message='sobrepõe',
            method='topology.rules.must_not_overlap_with'
        )
        rule2.save()
        topology_rule1 = TopologyRule(
            content_type_a=ContentType.objects.get(app_label='seuapp', model='item'),
            rule=rule1
        )
        topology_rule1.save()
        topology_rule2 = TopologyRule(
            content_type_a=ContentType.objects.get(app_label='seuapp', model='item'),
            content_type_b=ContentType.objects.get(app_label='seuapp', model='container'),
            geom_field_b='geom',
            rule=rule2
        )
        topology_rule2.save()

        item1 = Item(geom=unit_polygon(Point(x=0.0, y=0.0, srid=4326)))
        item1.save()
        item2 = Item(geom=unit_polygon(Point(x=0.0, y=0.0, srid=4326)))
        item2.save()
        container = Container(geom=unit_polygon(Point(x=0.0, y=0.0, srid=4326), size=2))
        container.save()

        # até aqui, criamos nossas regras e os registros de item e container

        topo_checker = TopologyChecker()

        errors = topo_checker.validate_all(Item)

O TopologyChecker retorna um dicionário, usando como chave o nome da validação executada e uma lista associada, com N erros detectados. No caso acima, o topologychecker encontrou 4 erros:

  • item 1 sobrepõe item 2;
  • item 2 sobrepõe item 1;
  • item 1 sobrepõe Container 1;
  • item 2 sobrepõe COntainer 1;

Estamos usando o Django Topology em produção no Geoadmin um produto que trabalha intensivamente com dados geográficos.

Você pode extender o mesmo com suas próprias validações. Basta criar um método com a seguinte assinatura:

def minha_validacao(rule, feature, **kwargs):
    # sua validacao aqui
    # deve retornar uma lista de TopologyError (sem salvar no banco)
    if feature.geom.intersects(outra_geometria):
        return [TopologyError()]

    return []

Com este método pronto, você só precisa criar uma Rule, apontando o atributo method para o caminmho qualificado da sua função:

rule = Rule(
    name='name'
    method='foo.bar.minha_validacao
)

Quer ajudar? Estamos aí, confere o repositório e bora lá.