O documento apresenta o ArcGIS Runtime SDK, discutindo o desenvolvimento de aplicativos offline, fluxos de trabalho para preparação de dados, funcionalidades disponíveis como visualização, edição e geocodificação de dados e detalhes sobre licenciamento.
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
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. PLATAFORMAS
VERSÃO 10.2.2
WINDOWS
STORE
.NET
MOBILE
DESKTOP
EMBEDDED
WINDOWS
PHONE
DESKTOP
CLIENT
OS X
JAVASE
QT
IOS
ANDROID
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. 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
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. 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. 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. 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
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
18. 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
21. 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
22. 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)
24. 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
28. 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
31. 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
32. CASO DE USO DO RUNTIME
COLLECTOR FOR ARCGIS, IOS, ANDROID
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) - ????