Desenvolvendo Aplicações Offline com ArcGIS Runtime SDK

685 visualizações

Publicada em

Apresentação realizada no LAUC 2014 por Bruno Caimar e Diogo Rosanelli sobre desenvolvimento de aplicações offline utilizando ArcGIS Runtime

Publicada em: Software
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
685
No SlideShare
0
A partir de incorporações
0
Número de incorporações
8
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Smartphones e Tablets
    ArcGIS Runtime SDK for iOS / ArcGIS Runtime SDK for Android
    ArcGIS Runtime SDK for Windows Phone / ArcGIS Runtime SDK for Windows Mobile

    Desktop Devices

    ArcGIS Runtime SDK for WPF / ArcGIS Runtime SDK for Java (Linux and Windows) / ArcGIS Runtime SDKs for Windows Store apps
    ArcGIS Runtime SDK for Qt (CrossPlataform)
    ArcGIS Runtime SDK for OS X

    Importante lembrar que o .NET ainda é BETA
  • Runtime Applications rodam em Smartphones, Tablets e Desktops. Tipicamente consomem dados via serviços (web services) do AGOLAGS.
    Alguns dos runtimes (Java, WPF e QT) suportam o que chamamos de Local Server que roda na propria maquina. Esse local server pode prover o suporte a aplicações offline e isso já está disponível faz algum tempo.
    Essas capacidades que estavam disponíveis no LocalServer agora foram implementadas no Core do Runtime. Dessa forma todos os SDK’s da família runtime agora podem utilizar essas capacidades offline.


  • A plataforma como um todo dá suporte a construção de apps offline
    Todos esses aspectos são significantes na construção do fluxo de trabalho de apps offline
    Isso será detalhado durante a apresentação

  • INICIO - BRUNO CAIMAR
  • Diferentes formas de prover dados para apps offline
    1º. Dados que vem de serviços do AGOLPortalAGS
    Download direto para os dispositivos.
    Ediçãovisualizaçãoconsultassync em dados de Features Services
    Basemaps obtidos de tiled services.
    ------
    Online services não suportados – Geocoding / Rotas


  • E se eu não tenho uma conta de AGOLAGS ainda assim posso usar essas funcionalidades?
    Desktop é uma peça chave nesse processo.
    Destacar Locators / Networks – Somente disponíveis nesse workflow!
    Esse é a forma recomendada para preparar seus dados para aplicações offline somente leitura.
  • Ok. Services e Desktop
    Sim, as estratégias pode e devem ser misturadascombinadas

    Tiled basemaps -> Cobertura mundial (inclusive imagery no agol) - esse tipo de coisa dá trabalho, custa caro e está "for free" para nossos usuários

    Procurar uma imagem para colocar aqui.
  • Ok. Services e Desktop
    Sim, as estratégias pode e devem ser misturadascombinadas

    Tiled basemaps -> Cobertura mundial (inclusive imagery no agol) - esse tipo de coisa dá trabalho, custa caro e está "for free" para nossos usuários

    Procurar uma imagem para colocar aqui.
  • Sideloading is a term used in Internet culture, similar to "upload" and "download", but in reference to the process of transferring data between two local devices, in particular between a computer and a mobile device such as a mobile phone, smartphone, PDA, tablet, portable media player or e-reader.

    --- Cuidado com processamento que será gerado no servidor se você tem muitos usuários concorrentes especialmente no caso dos basemaps.
    --- Tipo de rede que seus dispositivos terão (e.g. 3G /4G / WiFi, etc)

    Side loading – Conteudo criado antecipadamente e provisionado direto aos dispositivos
    -- Pode ajudar a aliviar a carga dos servidore nos horarios de picos de uso
    -- Geodatabase local – Avaliar se o workflow permite isso. O quanto e quao frequente os dados mudam?
  • Vamos para o mão na massa agora. Nós vamos mostrar um pouquinho pra vocês como essas coisas todas funcionam na pratica.


  • Destacar apenas que dados de basemaps podem ser gerados em toda a plataforma

    Destacar funcionalidade estimativa.
  • TiledBasemaps.arcgis.com – Disponível para todos que tem uma conta de organização no ArcGIS Online

    1º. Demostrar a aplicação. Extent / Estimativa / Download / Especificar nível de detalhe / Após download mostrar zoom e pan e offline / online

    Mostrar trecho de código: Estimate e Download
    * Mostrar que está baixando de tiledbasemaps.arcgis.com.
    * Falar sobre os parâmetros.
    * Falar que API se encarrega de gravar os dados.
    * Destacar simplicidade!
  • TiledBasemaps.arcgis.com – Disponível para todos que tem uma conta de organização no ArcGIS Online

    1º. Demostrar a aplicação. Extent / Estimativa / Download / Especificar nível de detalhe / Após download mostrar zoom e pan e offline / online

    Mostrar trecho de código: Estimate e Download
    * Mostrar que está baixando de tiledbasemaps.arcgis.com.
    * Falar sobre os parâmetros.
    * Falar que API se encarrega de gravar os dados.
    * Destacar simplicidade!
  • Demonstração móvel aqui... Visualização / Edição e Sincronismo.

    xxxx.geodatabase based on sqlfile - features, geometries, related tables and attachments, simbology and rendering information for those features

    if sync enabled on the feature you will be able to get the deltas edits from local and server from the time you started to work.

    ---

  • Demostração
    --- APP – Online data / Zoom to a Extend / Bring it Offline! /
    --- Add a feature and save it! Show the template.
    --- Sync it back!
  • Demostração
    --- APP – Online data / Zoom to a Extend / Bring it Offline! /
    --- Add a feature and save it! Show the template.
    --- Sync it back!
  • Setas azuis – Desenvolvedor manipula via API
    Setas Vermelhas – O framework toma conta

    -- Explicar cada uma das setas. Da Azul para a vermelha.
  • INCLUIR CODIGO DE USO OFFLINE E ONLINE EM UMA DAS APIS
  • DEVELOPER : Utilizada somente para desenvolvimento e testes
    Basic – Connected – All functionality
    Basic – Offline – map viewing only

    INCLUIR TABELA
  • DEVELOPER : Utilizada somente para desenvolvimento e testes
    Basic – Connected – All functionality
    Basic – Offline – map viewing only

    INCLUIR TABELA
  • Já tem Feature Service Table no 10.2.3 ?

    Versão atual do Runtime? 10.2.3 ? Quando sai a próxima?

    Incluir 10.2.4 !!!

  • Case Android (Tablets Samung Galaxy ) – Cooperativa Agricola – Inspeção de plantiocolheita
    Case iOS (IPAD) - ????
  • Desenvolvendo Aplicações Offline com ArcGIS Runtime SDK

    1. 1. ARCGIS RUNTIME SDK DESENVOLVENDO APLICATIVOS OFFLINE BRUNO CAIMAR DIOGO ROSANELLI
    2. 2. VISÃO GERAL ARCGIS RUNTIME SDK • Introdução a Runtime SDK’s • Preparação de dados e fluxos de trabalho • Funcionalidades disponíveis offline - Visualização, Edição e Sincronismo de Dados - Geocodificação e Rotas • Licenciamento • Futuro
    3. 3. INTRODUÇÃO CONCEITOS DO SDK
    4. 4. INTRODUÇÃO ARCGIS RUNTIME SDK • Suporta o desenvolvimento de aplicações nativas em cada plataforma • Modelo conceitual comum entre as diferentes plataformas - Menor tempo de adaptação para desenvolvimento entre plataformas • Estrutura do Runtime SDK - Construído com Linguagem C++ - Menor impacto em processamento e consumo de memória - Alta performance na execução de aplicações - Explora de forma abrangente o potencial de cada plataforma
    5. 5. PLATAFORMAS VERSÃO 10.2.2 WINDOWS STORE .NET MOBILE DESKTOP EMBEDDED WINDOWS PHONE DESKTOP CLIENT OS X JAVASE QT IOS ANDROID
    6. 6. ARQUITETURA VERSÃO 10.2.2 API CORE ARCGIS SMARTPHONES TABLETS DESKTOPS LOCAL
    7. 7. DADOS OFFLINE NA PLATAFORMA ARCGIS PRINCIPAIS FUNCIONALIDADES • Visualização e interação com mapas • Consulta de dados • Edição de dados • Sincronização de conteúdo • Geocodificação - Endereços (obtenção de coordenada através de endereço) - Reversa (obtenção de endereço através de coordenadas) • Geração de Rota Funcionalidades suportadas em todos os SDK
    8. 8. DADOS OFFLINE NA PLATAFORMA ARCGIS SUPORTE DAS FERRAMENTAS NATIVAS As principais ferramentas da plataforma fornecem suporte ao uso de dados offline • Obtenção e sincronia de dados via serviço - ArcGIS Online / Portal for ArcGIS - ArcGIS for Server • Obtenção e sincronia de dados localmente - ArcGIS for Desktop
    9. 9. PREPARAÇÃO DE DADOS FLUXOS DE TRABALHO
    10. 10. FLUXO DE TRABALHO BASEADO EM SERVIÇOS UTILIZANDO ARCGIS ONLINE, PORTAL FOR ARCGIS, ARCGIS SERVER • Basemaps a partir de Tiled Services • Features a partir de Feature Services • Download de dados diretamente para os dispositivos • Funcionalidades disponíveis - Edição - Visualização - Consulta - Sincronização ARCGIS DESKTOP PUBLICA SERVIÇO CRIAR MAPA VISUALIZA CONSULTA ANALISA EDITA SINCRONIZA DOWNLOAD
    11. 11. FLUXO DE TRABALHO BASEADO EM DADOS LOCAIS UTILIZANDO ARGIS DESKTOP • Conteúdo criado diretamente no ArcMap • Cópia dos dados realizada de forma manual para os dispositivos • Funcionalidades disponíveis: - Basemaps - Feature Layers e Tabelas (somente leitura) - Network Datasets (geração de rotas) - Locators (geocodificação) ARCGIS DESKTOP CRIAR MAPA PREPARAR CONTEÚDO RUNTIME PROVISIONA VISUALIZA CONSULTA ANALISA GEOCODIFICA ROTA
    12. 12. COMBINANDO FLUXOS DE TRABALHO OFFLINE ARCGIS FOR DESKTOP Esta tende a ser a melhor estratégia a ser adotada ARCGIS ONLINE BASEMAPS GEOCODIFICAÇÃO ROTA POSSIBILIDADE DE ESTRATÉGIAS HÍBRIDAS ARCGIS FOR SERVER FEATURES PORTAL PORTAL FOR ARCGIS
    13. 13. FLUXOS DE TRABALHO OTIMIZANDO O PROCESSO DE PROVISIONAMENTO DE DADOS • Features e Basemaps - Sob demanda  Atenção ao consumo de banda e processamento no servidor para cada requisição - Cópia Manual (side loading)  Muito utilizado para carga de basemaps  Também pode ser utilizado para dados de featurestabelas (geodatabase local) - Network datasets e Locators  Cópia manual é a única opção
    14. 14. UTILIZANDO API VISUALIZAÇÃO, EDIÇÃO E SINCRONISMO
    15. 15. UTILIZANDO API TRABALHANDO COM BASEMAPS • Tile Caches (ArcGIS Desktop) • Tiled Map Services (ArcGIS for Server) • Esri Tiled Basemaps http://tiledbasemaps.arcgis.com A API pode fornecer estimativas de tamanho dos dados
    16. 16. TRABALHANDO COM BASEMAPS UTILIZANDO API
    17. 17. UTILIZANDO A API TRABALHANDO COM DADOS OPERACIONAIS OFFLINE • Suporte a edição de features e tabelas • Suporte a sincronização entre dispositivo e servidor • Suporte a dados relacionados e anexos
    18. 18. EDIÇÃO E SINCRONISMO DE DADOS UTILIZANDO A API
    19. 19. UTILIZANDO A API FLUXO DO SINCRONISMO DE DADOS FEATURE SERVICE COM SINCRONIA HABILITADA GERA GEODATABASE HABILITADO PARA SINCRONIA ADDS, EDITS, DELETES CHAMA SINCRONIA GERA DELTA GEODATABASE UPLOAD DELTA GEODATABASE RETORNA RESPOSTA APLICA RESPOSTA AO GEODATABASE
    20. 20. UTILIZANDO A API SINCRONISMO - INFORMAÇÕES IMPORTANTES • Disponível a partir da versão 10.2.2 • Sincronismo disponível apenas para simple features • Suporte a dados versionados apenas para leitura • Suporte a tabelas relacionadas e anexos • Requer GLOBALID e ARCHIVING habilitados • Não existe detecção de conflitos. - O último a realizar o sincronismo será o “vencedor” (last commit wins)
    21. 21. UTILIZANDO A API GEOCODIFICAÇÃO E ROTAS
    22. 22. UTILIZANDO A API UTILIZAÇÃO OFFLINE DE GEOCODIFICAÇÃO E ROTA • Deve ser utilizado o fluxo de preparação de dados via ArcGIS Desktop • Modelo de programação similar para uso de dados online ou offline • Alta performance de uso devido aos arquivos estarem locais no dispositivo
    23. 23. GEOCODIFICAÇÃO E ROTAS UTILIZANDO A API
    24. 24. LICENCIAMENTO PRINCIPAIS VERSÕES
    25. 25. LICENCIAMENTO DIFERENÇA ENTRE VERSÕES E PRINCIPAIS FUNCIONALIDADES NÍVEL DE LICENCIAMENTO FUNCIONALIDADES DISPONÍVEIS É importante também sempre revisar o licenciamento de uso dos dados DEVELOPER (desenvolvimento e testes) Todas funcionalidades (serão geradas mensagens de debug e uma marca dágua no mapa) BASIC Todas funcionalidades exceto:  Geocodificação local  Rota local  Edição de geodatabase local  Operações de sincronização com upload de dados locais STANDARD Todas as funcionalidades
    26. 26. LICENCIAMENTO DIFERENÇA ENTRE VERSÕES E PRINCIPAIS FUNCIONALIDADES ONLINE BASIC OFFLINE DEVELOPER STANDARD
    27. 27. FUTURO DO SDK NOVIDADES DO ARCGIS RUNTIME
    28. 28. FUTURO DO SDK NOVIDADES DO ARCGIS RUNTIME • Feature Service Table - Permitirá o reuso de código de edição online e offline - Permitirá o uso em cenários com pequenas quedas de conexão • Suporte a edição de dados versionados • Sincronização das modificações através do ArcGIS Desktop
    29. 29. CASO DE USO DO RUNTIME COLLECTOR FOR ARCGIS, IOS, ANDROID
    30. 30. REFERÊNCIAS ARCGIS RUNTIME http://dev.img.com.br http://developers.arcgis.com
    31. 31. BRUNO CAIMAR bcaimar@img.com.br DIOGO ROSANELLI drosanelli@img.com.br

    ×