Conjuntos de habilidades de desarrollo de GIS web [cerrado]

12

¿Qué tecnologías y conjuntos de habilidades debería alguien que quiera hacer el desarrollo / estudio de SIG web?

Una habilidad / tecnología por respuesta, por favor.

    
pregunta R.K. 07.08.2010 - 04:56

10 respuestas

17

Puedo contarte acerca de mi experiencia, que comenzó como un simple geógrafo, tratando de usar productos GIS para hacer análisis espaciales.

Como dije, soy geógrafo y desde el principio en la universidad comencé a trabajar con GIS como usuario. Después de eso, comencé a investigar cómo automatizar las tareas tediosas que tenía que hacer a menudo. Eso vino como pasión, y después de tres años, me contrató una empresa multinacional de software que trabaja con muchos sistemas GIS y desarrollo de soluciones personalizadas.

Mis pasos fueron:

  • Aprende bien el SIG. No empieces a aprender a programar sin tener el derecho fundamental. Proyecciones y transformaciones, análisis espacial, diferencias entre el modelo raster y vectorial, etc.

  • Conozca los fundamentos de la base de datos: Introducción a los sistemas de bases de datos , Fundamentos de los sistemas de bases de datos . Los dos libros son un poco diferentes. El primero es pesado en teoría, el segundo tiene un enfoque más práctico.

  • Aprenda SQL. Esto es en realidad una segunda parte de la primera. Le ayudará mucho si empieza a pensar de una manera "sencilla". SQL cambia de proveedor a proveedor. Puedo recomendarte con PostgreSQL, que es el proveedor que más sigue el estándar. Si necesita aprender dialectos específicos, hágalo más tarde, cuando realmente lo necesite.

  • Programación Orientada a Objetos. Parece un desafío, pero es bastante fácil una vez que entiendes lo básico. Elige un lenguaje fácil para hacerlo. Python es, con mucho, el más fácil. Learning Python es un excelente punto de partida. Hay libros de código abierto / gratuitos de Python, como Dive into Python . Después de Python, las opciones interesantes son: .NET, Java y C / C ++.

  • Programación de estudios. Leer código, escribir código. Leer código geoespacial. Escribir código geoespacial. Estudie las API clásicas: GEOS, JTS, GDAL, ArcObjects (si es un fan de ESRI, y es una gran ventaja en el mercado), etc.

    - Toma un problema geoespacial y escribe un código para resolverlo. No puedo enfatizar lo útil que es esto. Esto te volverá loco, pero es una buena manera de confirmar que aprendiste el lado de la programación y de asegurarte de que tus habilidades geoespaciales estén actualizadas. En mi caso, escribí una pequeña aplicación PostgreSQL para geocodificar accidentes de tráfico.

  • Sigue estudiando. Los estándares OGC son una buena opción aquí.

respondido por el George Silva 08.08.2010 - 15:47
4

Conoce tu camino alrededor de las bases de datos. Cualquier desarrollador de SIG los usará extensivamente.

Más notablemente:

  • DBMS y el Modelo relacional . Estos temas son cruciales para comprender los conceptos básicos del almacenamiento de datos.
  • Al menos una solución GIS DB . Prefiero PostGIS , pero otra solución también existe .
  • Buen conocimiento de SQL y GIS SQL : cómo extraer, insertar, ordenar y manipular datos de manera eficiente.
  • Compensaciones de base de datos clásicas : cómo afectan las diferentes operaciones a la memoria, el espacio en disco, la CPU y el uso de la red.
  • indexación. Esto es lo suficientemente importante como para una bala por separado, porque es el DB Lacuna más común entre los principiantes.
  • Algunos conocimientos sobre agrupamiento y escalabilidad .
  • Conocimiento básico de NOSQL .
respondido por el Adam Matan 07.08.2010 - 21:46
3

Suponiendo que ya tiene cubierto el lado GIS (principios cartográficos, etc.), primero haría un viaje a enlace - Ejecute los tutoriales en HTML, Javascript, XML, etc.

Entonces tienes varias plataformas diferentes para elegir. Estoy un poco sesgado hacia ESRI, y recomendaría empezar por jugar sobre las API enlace - La ejecución de los conceptos / muestras le da una idea real de lo que puede lograr.
Encuentro que descargar los ejemplos de código y aplicarles ingeniería inversa para que funcionen con sus propios servicios (suponiendo que tenga una instancia de ArcGIS Server, de lo contrario, puede usar servidores de muestra de ESRI) es una buena manera de aprender.

También hay un montón de videos, eche un vistazo a este y videos de la conferencia de desarrolladores de ear Id recomendaría una descripción general de las API de ArcGIS para JavaScript, las mejores prácticas para diseñar servicios de mapas efectivos, el rediseño de aplicaciones de escritorio para la web y el uso de la API REST de ArcGIS Server.

¿Qué plataforma web elegirías? Id ignoro mirando la WebADF (Java / NET) ya que esto se va a eliminar gradualmente.

¿Quiénes son tus clientes? ¿Qué navegadores van a utilizar? ¿Pueden instalar complementos de Silverlight o Flash? ¿Tienes algún IDE para desarrollar? Por ejemplo, Flex es mejor en FlashBuilder ($$), pero también puede usar FlashDevelop, que es una alternativa de código abierto.

¿Está más cómodo con las tecnologías establecidas o las tecnologías emergentes? Sopesar los riesgos.
- .NET / Java han existido por mucho tiempo - Silverlight & Los Flex son bastante nuevos y hay cierto debate sobre si HTML 5 eliminará estas plataformas

Tanto Silverlight como Flex tienen más interactividad fuera de la caja, mientras que Javascript compensa esta brecha al confiar en Dojo.Framework.

La gran diferencia de funcionalidad entre los ADF web y las API web es el hecho de que las API web de ArcGIS son totalmente del lado del cliente.

Dejaré que alguien más dé una respuesta menos específica a ESRI, pero la opción obvia es comenzar a jugar con API de Google Maps - Hay muchos recursos / tutoriales para aprender esto.

    
respondido por el Simon 07.08.2010 - 08:07
3

Javascript, HTML DOM, CSS, HTTP

Si dominas esto, puedes hacer cualquier cosa en la web. La adición de APIs agradables como SVG quizás lo haga más fácil y sus aplicaciones web más agradables, pero IMO nunca podrá superar los cuatro enumerados anteriormente.

    
respondido por el mkadunc 07.08.2010 - 12:47
3

Suponiendo que logró ordenar su base de datos espacial y el servidor de mapas [descrito en otras respuestas aquí] y que mejoró su conocimiento de HTML, CSS y JavaScript, podría comenzar a manipular las bibliotecas cliente que consumirán y mostrarán los componentes del mapa dentro de los usuarios. navegador web.

OpenLayers parece ser, con mucho, la biblioteca más referenciada y utilizada. Tiene bastante buena documentación y ejemplos, y puedes encontrar algunos tutoriales, por ejemplo aquí . Las páginas BostonGIS también serán útiles para usted aquí, no solo para las cosas de OpenLayers.

Dependiendo de su conocimiento / disposición para aprender Python MapFish también es una solución muy elegante. O puede sumergirse en GeoDjango , sin embargo, no puedo comentar mucho sobre esta solución.

Alternativamente, puede consultar las soluciones de mapeo web OSGeo , recurrir a Flash o usar algo comercial como API Web de ESRI .

    
respondido por el radek 08.08.2010 - 16:10
3

Estoy de acuerdo con Adam en que la base de datos espacial y el SQL deben ser un punto de partida.

Después de eso, podría valer la pena ver el segundo nivel de su futura web geostack . Necesitará algo para actuar como un puente que "sirve" sus datos desde la base de datos espacial al cliente en el navegador de sus usuarios.

Asegúrese de comprender WFS y WMS .

Instala y comienza a jugar localmente con tu propio servidor. Dos proyectos bien conocidos adoptados por Open Source Geospatial Foundation son GeoServer y MapServer . El QGIS mapserver también merece la pena. servidor ArcGIS sería [costoso!] equivalente comercial aquí.

Una vez que resuelva esta parte, puede comenzar a jugar con las bibliotecas cliente.

    
respondido por el radek 08.08.2010 - 15:47
2

Puedes trabajar en mi curso (https://www.e-education.psu.edu/geog585/) que (creo) ofrece una buena introducción y debería ponerte en marcha.

    
respondido por el Ian Turton 09.08.2010 - 19:01
2

Mapnik o cualquier otra herramienta de representación de mapas para crear mosaicos de mapas.

Casi cualquier desarrollador web de SIG debería usar herramientas de representación de mapas, o al menos comprender los conceptos básicos de capas y mosaicos.

    
respondido por el Adam Matan 07.08.2010 - 22:58
2

Conozca el sistema operativo de su servidor, su servidor web (IIS, Apache, lo que sea) y cómo proteger sus cosas, incluso si alguien lo hace todo por usted.

    
respondido por el Chad Cooper 09.08.2010 - 17:54
1

No puedo enfatizar lo suficiente el segundo comentario de George. Elija un problema geoespacial y / o web que le interese y aprenda sobre las tecnologías necesarias a medida que lo resuelve.

Si te tomas el tiempo para dominar todas las áreas enumeradas anteriormente, pasará una eternidad antes de que comiences a construir un proyecto que te haga perder el tiempo.

Yo sugeriría comenzar con la construcción de una aplicación utilizando OpenLayers para crear una aplicación que asigne datos de algunos servicios de datos existentes. Luego puede continuar creando sus propios orígenes de datos o servicios. Si se adhiere a las tecnologías FLOSS, podrá crear y utilizar sus aplicaciones en cualquier lugar sin que los costos de licencia sean un problema.

    
respondido por el DavidF 09.08.2010 - 17:06

Lea otras preguntas en las etiquetas