Innovando con esri Desarrolladores y Startups - Conferencia Esri España 2012
-
Upload
esri -
Category
Technology
-
view
806 -
download
4
description
Transcript of Innovando con esri Desarrolladores y Startups - Conferencia Esri España 2012
Innovando con ESRI:
Desarrolladores y
Startups
Departamento de Preventas:
Javier Abadía
José Antonio Anta
Contenido
- Introducción
- Soluciones Desarrollo
* Para Desktop
* Para Server
* Para Movilidad
Introducción
Esri como Plataforma
La plataforma completa
Pu
blic
ació
nC
on
sum
o
Bus de ServiciosBus de Servicios
Dispositivos
MóvilesDesktop Aplicaciones
de negocio
Otros
sistemasExplorador
Web
Pu
blic
ació
nC
on
sum
o
Cre
ació
nP
ub
licac
ión
Geodatos Globos Mapas Geoprocesos Rutas
SOAPREST OGCKML
Pu
blic
ació
nC
reac
ión
La plataforma completa
Pu
blic
ació
nC
on
sum
o
Bus de ServiciosBus de Servicios
Dispositivos
MóvilesDesktop Aplicaciones
de negocio
Otros
sistemasExplorador
Web
Pu
blic
ació
nC
on
sum
o
Servicios
GIS para el
Usuario
Cre
ació
nP
ub
licac
ión
Geodatos Globos Mapas Geoprocesos Rutas
SOAPREST OGCKML
Pu
blic
ació
nC
reac
ión
Repositorio
de Datos
Clientes
Servicios
ArcSDESDKSDK
• C y Java
API
• SQL + spatial
APIs Web
Aplicaciones
• ArcGIS Server
API REST:
Base para la explotación del Servidor
ArcObjects
Aplicaciones
ArcGIS for Desktop
ArcGIS for Server
ArcGIS Desktop• Add-Ins
Runtimes
Runtime SDK
• Objective C• Java
Aplicaciones
• Varias
Python
ArcPy
• Add-Ins
• Geoprocessing
Soluciones de Desarrollo
APIs
• Javascript
• Flex
• Silverlight
• APIs Complementarias
• SharePoint
• Bing
ArcGIS Engine: • Aplic. Independiente
Server: SOE• Ampliar funcionalidad
servidor
.NET y Java
• Java• Silverlight• .NET• WPF
SDK ArcGIS
Explorer
SDK
• .NET
Aplicaciones
• ArcGIS Explorer
FileGDBAPISDK
• C++
ArcSDESDKSDK
• C y Java
API
• SQL + spatial
APIs Web
Aplicaciones
• ArcGIS Server
API REST:
Base para la explotación del Servidor
ArcObjects
Aplicaciones
ArcGIS for Desktop
ArcGIS for Server
ArcGIS Desktop• Add-Ins
Runtimes
Runtime SDK
• Objective C• Java
Aplicaciones
• Varias
Python
ArcPy
• Add-Ins
• Geoprocessing
Soluciones de Desarrollo
APIs
• Javascript
• Flex
• Silverlight
• APIs Complementarias
• SharePoint
• Bing
ArcGIS Engine: • Aplic. Independiente
Server: SOE• Ampliar funcionalidad
servidor
.NET y Java
• Java• Silverlight• .NET• WPF
SDK ArcGIS
Explorer
SDK
• .NET
Aplicaciones
• ArcGIS Explorer
FileGDBAPISDK
• C++
Runtimes
Runtime SDK
• Objective C• Java
Aplicaciones
• Varias
Windows
Aplicaciones
• Viewer for Windows
Runtime SDK
• WPF, Java
Linux
Aplicaciones
• Ninguna
Runtime SDK
• Qt, Java
Desktop (PC / Tablet)
iOS
Aplicaciones
• ArcGIS for iOS
Runtime SDK
• Objective C
Android
Aplicaciones
• ArcGIS for Android
Runtime SDK
• Java
Windows Phone
Aplicaciones
• ArcGIS for WP
Runtime SDK
• Silverlight
Windows Mobile
Aplicaciones
• ArcGIS for WM
Runtime SDK
• .NET
Dispositivos Móviles
Soluciones de Desarrollo
• Java• Silverlight• .NET• WPF
Runtimes
Runtime SDK
• Objective C• Java
Aplicaciones
• Varias
Windows
Aplicaciones
• Viewer for Windows
Runtime SDK
• WPF, Java
Linux
Aplicaciones
• Ninguna
Runtime SDK
• Qt, Java
iOS
Aplicaciones
• ArcGIS for iOS
Runtime SDK
• Objective C
Android
Aplicaciones
• ArcGIS for Android
Runtime SDK
• Java
Windows Phone
Aplicaciones
• ArcGIS for WP
Runtime SDK
• Silverlight
Windows Mobile
Aplicaciones
• ArcGIS for WM
Runtime SDK
• .NET
Dispositivos
Soluciones de Desarrollo
• Java• Silverlight• .NET• WPF
Soluciones de Desarrollo
ArcGIS Server
Clientes Web, Desktop y Móviles
API RESTAPI REST
APIs WEB:
Javascript, Flex, Silverligh
APIs WEB:
Javascript, Flex, Silverligh
Runtime:
WPF, Java, WM, iOS, Android, WP
Runtime:
WPF, Java, WM, iOS, Android, WP
Publicador de
Servicios
GIS para el
Usuario
BBDDFile GDB y ArcSDE
ArcGIS DesktopArcObjectsArcObjects PythonPython
ArcSDE SDKArcSDE SDKFile GDB APIFile GDB APIRepositorio de
Datos
Creador y
Cliente
Avanzado
Soluciones de Desarrollo
Ejemplos
• Incidencias en la Vía Pública de un Ayuntamiento
• iOS, Android, WP
• Control Móvil en el Ámbito Militar
• Runtime WPF y JAVA, ArcGIS Engine
• Análisis de la Visibilidad Disponible en Carreteras
• Desktop + Add-Ins (ArcObjects)
CASOS DEUSO
• Desktop + Add-Ins (ArcObjects)
• Consultas Estadísticas en Secciones Censales de Madrid
• Aplicación Web
• Administración Periódica de Mapas
• Desktop + Python
• Actualización Cartográfica de Postes Telefónicos
• Runtime Windows Mobile
CASOS DE
Desarrollo en Desktop
ArcObjects - Python
Que son los ArcObjects
• Componentes de desarrollo.
• Todos los componentes de la arquitectura de ArcGIS
están construidos y desarrollados con ArcObjects.
Otras ClasesArcObjects
Los ArcObjects son Clases COM
Otras Clases
Mis Clases Mi Aplicación
Jerarquia y relaciones con los Arcobjects
*
Layer
MxDocument
Map
FeatureLayer
*
*
Application
FeatureLayer
Cada parte del GIS corresponde a una ClaseCada parte del GIS corresponde a una Clase
Las Clases están relacionadas entre siLas Clases están relacionadas entre si
Estas relaciones permiten pasar de una a otra de una Estas relaciones permiten pasar de una a otra de una manera manera cómoda, rápida y sin duplicación de memoria.cómoda, rápida y sin duplicación de memoria.
IMxDocument mxDoc = ArcMap.Document;
IActiveView m_focusMap = mxDoc.FocusMap as IActiveView;
ILayer lyr = null;
IFeatureLayer2 fLayer;
for (int i = 0; i < m_focusMap.FocusMap.LayerCount; i++)
{
if (m_focusMap.FocusMap.get_Layer(i).Name.ToString() == “Provincias”)
{
lyr = m_focusMap.FocusMap.get_Layer(i);
break;
}
}
fLayer = lyr as IFeatureLayer2;
Búsqueda de la Capa:
“Provincias”
Entorno para utilizar los ArcObjects
¿Qué podemos hacer con los ArcObjects?
Crear, Modificar, configurar,…
aplicaciones sobre:
ArcMap
ArcCatalog
ArcScene
ArcGIS Desktop
ArcGIS Engine
3 ENTORNOS
1
ArcScene
ArcGlobe
para automatizar procesos. ADD-INS
Construir y desplegar Aplicaciones Desktop a medida con ArcGIS Engine.
Construir SOE con ArcGIS Server.
ArcGISServer
DesktopDeveloper Kit
EngineDeveloper Kit
.NET JAVA .NET COM
C++ Java
.NET
ArcObjects
Java
SOESOE
2
3
Que es Python
• Lenguaje de programación “Gratuito”
• Fácil de aprender
• Usado como comandos simples o en Scripts
• Múltiples librerías de terceras casas (Envi,…)
• ESRI potencia Python:• ESRI potencia Python:
• Python windows
• Herramientas script Python
• ArcPy
Python
Python Windows
Punto de acceso a la funcionalidad de Python y ArcPy
Embebido dentro de ArcGIS e interactivo
ArcPy
Funciones
Clases
MódulosArcPy
Python
MappingGeoprocessing
Map Algebra
Python libraries
ScientificPython
Librerías
Standard Python
Librerías
Mapping
Map Algebra
Geoprocessing
Demo ArcObjects y Python
Desarrollo Web
APIs Web:
JavaScript, Flex y Silverlight
La API del Servidor
ArcGIS for
Flex
Silverlight
Javascript
Ficheros
File IOHTTP ArcGIS for
ServeriOS
Android
Geodatabases
File IO
SQL
Phone
Windows
Phone
Desktop
HTTP
peticionespeticiones
respuestasrespuestas
ArcGIS
forS
erver
API R
EST de ArcGIS
DEMO: API REST
DEMO: ArcGIS Viewer for Flex
HTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 YHTML5 Y
JAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPTJAVASCRIPT
¿Qué es HTML5?¿Qué es HTML5?
caniuse.com
¿Cómo empezar?
Aprender Plantillas
Resource
Center
HTML5 / CSS3 / Javascript
Dojo
Dojo
• tutoriales
• layout
• widgets• widgets
http://dojotoolkit.org
ArcGISArcGIS ResourceResource CenterCenter
WebMapshttp://www.arcgis.com/home/item.html?id=0e88586b64aa408facd54e6996a285e8
Plantillas
• visor básico
• swipe• swipe
• compare
• etc
Javascript
Flex
Silverlight
Demo aplicaciones Web
Desarrollo Con los SDKs
Runtime SDK:
Windows, Linux
Windows Mobile
iOS, Android, WP y Javascript móvil
Runtimes
Runtime SDK
• Objective C• Java
Aplicaciones
• Varias
Windows
Aplicaciones
• Viewer for Windows
Runtime SDK
• WPF, Java
Linux
Aplicaciones
• Ninguna
Runtime SDK
• Qt, Java
iOS
Aplicaciones
• ArcGIS for iOS
Runtime SDK
• Objective C
Android
Aplicaciones
• ArcGIS for Android
Runtime SDK
• Java
Windows Phone
Aplicaciones
• ArcGIS for WP
Runtime SDK
• Silverlight
Windows Mobile
Aplicaciones
• ArcGIS for WM
Runtime SDK
• .NET
Dispositivos
Soluciones de Desarrollo
• Java• Silverlight• .NET• WPF
WPF y JAVA
ArcGIS Runtime SDK
ArcGIS Runtime SDK for WPF y JAVA
Plataforma de desarrollo para crear aplicaciones con funcionalidad SIGPlataforma de desarrollo para crear aplicaciones con funcionalidad SIG
• Nueva Arquitectura(64 bit Nativo y 32)
• API Moderna (WPF, Java and Qt) (Windows y
Linux)
• Funcionalidad:
• Mapping, Navegación, Identificar, Consultas,
Buscar, Edición, Geolocalización y Buscar, Edición, Geolocalización y
Geoprocesamiento.
• Funcionalidad residente en Local o en el Servidor
• Fácil de Desplegar
• No requiere instalación
• Independiente de otras instalaciones de ArcGIS
• Software, mapas y datos
. . . Trabajo en entornos conectados y
desconectados
Runtime
Datos Locales
ArcGIS
ArcGIS Runtime SDK for WPF y JAVA
Comparando ArcGIS Server
ArcGIS Server
ArcGIS Runtime
WPF
VS2010
Ejemplos
Demo
ArcGIS Runtime SDK
Ejemplos
Aplicaciones Móviles
ArcGIS funciona en …
iOSMicrosoft
Windows Phone
AndroidWindows Mobile
Windows
Dispositivos ruguerizadosDispositivos ruguerizados Smartphones y TabletsSmartphones y Tablets
• ArcGIS for Windows Mobile. Modo conectado y desconectado.
• Copian datos a local. Sincronización
ArcGIS ServerArcGIS.com
Flujos de trabajo
• iOS, Android, WP7. Modo conectado.
• Contra el Servidor, similar a una aplicación Web
Mapa
Servicios Web
TerminalesTerminalesmóvilesmóviles
ArcGIS ServerArcGIS.com
ArcGIS DesktopArcEditor
Nueva funcionalidad sobre laaplicación ArcGIS Mobile Nueva aplicación
Opciones con ArcGIS Runtime SDK for
Windows Mobile
ArcGIS Runtime SDK for
iOS, Android, WP7
• Visualizar WebMap de www.arcgis.com o
cualquier ArcGIS portal
SDK Lenguaje IDE
iOS Objective-C Xcode Mac
Android Java Eclipse PC
WP7 Silverlight VS2010 PC
cualquier ArcGIS portal
• Visualizar información mediante Popups
• Consultas SQL
• Ejecutar Geoprocesamientos
• Coleccionar datos
• Geocodificación
• Operaciones geométricas entre entidades
Demo
iOS, Android, WP7
VS2008
Eclipse
Resursos WP7
App Nativa Vs App Web
App Nativa App Web
Aplicación se instala en el dispositivo El navegador del dispositivo accede a la
aplicación Web
Acceso ilimitado a las posibilidades del
dispositivo
Acceso limitado a las posibilidades del
dispositivo
Usabilidad propia del dispositivo Usabilidad común
Fácil controlar distribución Difícil controlar distribuciónFácil controlar distribución Difícil controlar distribución
Exposición a través de las Store
Un lenguaje para cada dispositivo Lenguaje único aunque cambios para
cada modelo dispositivo
Actualización depende del usuario Actualización depende programador
Ciclo actualización lento Ciclo actualización rápido
APIs integrables en 3ª app
HTML5. Aplicación Nativa �������� Aplicación Web
Ejecutar Aplicación Web en Navegadores (PC ó Móvil)
No accede a los sensores del dispositivo
SolucionesSoluciones
Dentro de una Aplicación Nativa Embeber la Aplicación Web
a) Código Aplicación Web (o URL) dentro aplicación Nativa
• No Accede a los sensores del dispositivo
b) Añadir librería “Phonegap” (Todos los dispositivos)
• SI Accede a los sensores del dispositivo pruebaphone1
Demos de Movilidad
EjemplosEjemplos
Recursos web
Javascript
Conclusiones
Más información
• Jueves 4 11:30 - 13:00
“GIS en el Móvil y Aplicaciones Configurables”
• Developer Summit en Madrid. 15 de noviembre 2012
Gracias por su asistencia
• Referencias
• http://resources.arcgis.com
• Contacto: