Me gustaría desarrollar mis habilidades de programación SIG, ¿por dónde empiezo? La gente dice aprender C ++ o Python, pero ¿dónde puedo aprender esto en un contexto geográfico? Tutoriales o cualquier cosa sería muy útil, al igual que cualquier información sobre idiomas / programas a utilizar.
python
c++
references
Será
fuente
fuente
Respuestas:
Hay una publicación de blog de Michalis Avraam que explica las habilidades esenciales para tener éxito en la carrera SIG, que creo que está bien escrita. Probablemente encontrarás muchos buenos consejos allí.
ACTUALIZACIÓN: desafortunadamente, los enlaces superiores están muertos, pero un tema similar se puede encontrar en un artículo de investigación Identificación de los requisitos de habilidades para las posiciones SIG: un análisis de contenido de anuncios de trabajo
fuente
Me gusta el material del curso Python para Geoprocesamiento de Chris Garrard. http://www.gis.usu.edu/~chrisg/python/2009/ Personalmente, considero que la manipulación programática de OGR / GDAL es indispensable.
Con respecto a encontrar la mejor opción para usted, considere el software o geoestack en el que desea ser el más experto (como ArcGIS, QGIS, PostGIS-GeoServer-OpenLayers), y luego elija los lenguajes de programación que mejor se adapten a su elección. Esto se podrá descubrir al consultar el idioma de la API asociada u otros tutoriales de personalización. Existe una gran cantidad de recursos de aprendizaje de programación en línea, y una búsqueda web de su paquete de software preferido + idioma + "tutorial" lo pondrá en marcha.
También creo en "aprender haciendo". Por ejemplo, crea un mapa simple con Javascript y Google Maps e intenta agregar geometría, estilo, interfaz de usuario y análisis de interés. Trabaja para ver qué es posible y qué no. A medida que construya, necesitará herramientas más sofisticadas para la personalización, y esto apuntará a plataformas, idiomas y bibliotecas relevantes.
fuente
No comience con C ++ y GIS sin aprender primero el desarrollo de software. Es demasiado
Python es un buen lugar para comenzar, independientemente de la plataforma SIG que elija más adelante. Hay muchos libros, sitios web y materiales de capacitación disponibles, y muchas universidades utilizan Python como introducción antes de pasar a los lenguajes de programación pesados, como c ++ y java.
Mis recursos favoritos de Python, fuera de este sitio, son Show Me Do , Think Python , Stack Overflow y las listas de correo del software que uso (principalmente GDAL y ArcGIS).
fuente
Pude aprender Python sentándome con una copia de Learning Python de Lutz & Ascher (O'Reilly Press). Mi oficina usa productos ESRI, así que para obtener la conexión con ArcGIS, creé varios modelos usando el Model Builder de ESRI y los exporté a Python. Luego fue solo una cuestión de mirar los scripts de Python exportados, profundizar en el libro y usar el sistema de ayuda en línea de ESRI para los temas de geoprocesamiento para tener una mejor idea de cómo Python y ArcGIS trabajan juntos.
fuente
Hay muy pocos colegios / universidades que ofrecen cursos de programación relacionados con los SIG. Recomendaría el Programa de Certificación GIS de Elmhurst College que tiene dos (2) de estos cursos como parte de su Certificación GIS. Programa, ambos relacionados con la programación:
ISG 200 Implementando Geodatabases
http://public.elmhurst.edu/adult/gis
Todo el programa está en línea y tienen un servidor SIG dedicado. Enseñan Python principalmente.
fuente
La programación en SIG es uno de los conjuntos de habilidades enumerados en el Modelo de Competencia de Tecnología Geoespacial (GTCM), que acaba de salir e incluye algunos conjuntos de habilidades adicionales que pueden ser la fuente de referencia definitiva para esto: http://www.careeronestop.org/ competencymodel / blockModel.aspx? tier_id = 4 & block_id = 708 & GEO = Y
fuente
La respuesta depende mucho del sistema que esté utilizando y del sistema operativo en el que se ejecute. Principalmente estoy programando Manifold en Windows o aplicaciones basadas en la web con Manifold en el back-end, por lo que puedo elegir cualquier lenguaje .NET. C # es mi elección personal porque la mayoría de los ejemplos y tutoriales que encontrará en la web estarán en C # (al menos para .NET).
Como recién está comenzando, es posible que Manifold no sea una mala elección. Puede obtenerlo por menos de $ 300 y desarrollarlo utilizando las versiones gratuitas 'Express' de Visual Studio.
Si puede ser un poco más específico, probablemente podamos ayudarlo más.
fuente
El Campus Virtual de ESRI ofrece un par de cursos introductorios cortos sobre el uso de Python para crear secuencias de comandos en ArcGIS. Creo que uno de ellos es gratis. Tomar uno sería una excelente manera de ver si esto es algo en lo que estás listo para profundizar.
fuente
Ábrete camino a través de ArcMap aprendiendo los conceptos básicos del manejo de objetos espaciales. Cuando se sienta cómodo con una operación, intente establecer el proceso con ModelBuilder. Model Builder es el equivalente de lego en el mundo de ESRI. Le permite generar código python. Este código se simplificará pero funcionará.
WingIDE es una herramienta que facilita el manejo de los scripts de Python, además de proporcionarle un entorno predecible para probar sus scripts. Abra el script del generador de modelos en el IDE de su elección y juegue con él.
A medida que los lenguajes de programación van, Python es una fruta baja. Te llevará desde el nivel simple y hacia arriba :-)
fuente
Me sorprende que PyQGIS Developer Cookbook aún no esté allí. Me resulta indispensable para combinar mis antiguas habilidades SIG y mis nuevas habilidades Python, especialmente sin tener acceso a ArcGIS ahora. Si está más orientado a ArcGIS, entonces hay muchos más recursos para usted.
Hay una lista de programas de entrenamiento de Python en StackOverflow. Yo personalmente prefiero Checkio .
A menos que ya tenga una sólida formación en algún otro idioma (C # para ArcGIS, C ++ para Open Source GIS), comience con Python y aprenda otros idiomas más tarde. La mayoría de las funciones relacionadas con SIG deben tener una sintaxis y un uso similares en Python y esos lenguajes, por lo que aprenderlos con conocimientos previos de Python no debería ser tan difícil.
fuente