¿Busca una plataforma SIG altamente personalizable? [cerrado]

9

Fui educado en SIG usando ArcGIS (escritorio y estación de trabajo) e investigué con (muy) miradas cortas en MapInfo y uDig. Durante ese tiempo, quedé satisfecho con el programa ya que usé bases de datos relativamente pequeñas y no hice muchas tareas repetidas y ArcGIS tiene muchas herramientas geniales para analizar datos científicos.

Desde hace dos años, desde que me gradué, he estado trabajando en una empresa que está en una escala completamente diferente. Trato con grandes bases de datos, haciendo tareas relativamente "más simples", pero además están compuestas de tareas repetitivas (hago una serie de tareas simples una vez por semana para toda la base de datos). Durante este tiempo, he usado AutoCAD (ya que muchos de nuestros datos se extraen usando AutoCAD) y crecí mucho para apreciarlo. La mayor ventaja es que usando el lenguaje de programación LISP y las variables del sistema puedes controlar todo gran parte de la configuración, ya sea que se trate de personalizar el valor predeterminado para una herramienta, eliminar el uso de cuadros de diálogo en el programa u opciones para escribir la apertura y manipulación automática de dibujos.

¿Existen plataformas SIG, gratuitas o no, que tengan este alto nivel de personalización, o estoy condenado al trabajo manual frustrado?

Prefiero plataformas con una buena interfaz de usuario junto con las opciones de secuencias de comandos, pero eso no es obligatorio.

jonatr
fuente
66
Hay tareas en ArcGIS que son eminentemente programables y automatizables, otras que definitivamente no lo son, y un rango intermedio. Dito para todas las demás plataformas. Si puede dar ejemplos de los tipos de trabajo manual que desea evitar, puede haber algunas respuestas útiles específicas.
Matt wilkie
@PolyGeo, ¿sabe que esta es una pregunta de 7 años que exige que se edite?
Nicklas Avén
@ NicklasAvén Definitivamente no estoy exigiendo que se edite. Simplemente he votado a favor de que se cierre para que no se vea como una pregunta que se considera adecuada para actuar como modelo para una pregunta similar que se formulará hoy. Para tratar de abordar algunas de las razones por las que creo que ese es el caso, yo mismo he realizado algunas modificaciones. Si estas viejas preguntas deben cerrarse se discute en meta.stackexchange.com/a/194117/215590
PolyGeo

Respuestas:

5

No tengo la experiencia suficiente para dar una respuesta desde muchos aspectos, pero ... Hice mis primeras cosas en SIG en ArcView 3.x escribiendo en Avenue. Realmente me gustó la velocidad y las posibilidades. Entonces, nunca he entendido la alegría de esperar a que ArcGIS comience, buscar la herramienta correcta y luego encontrar la herramienta que necesito, necesita ArcInfo.

Mi nuevo amor es PostGIS. Es mucho más que una base de datos para almacenar. La funcionalidad incorporada hace posible realizar todo el procesamiento y análisis que he usado hasta ahora. En la mayoría de los casos, es mucho más rápido que los productos Arc.

En el mundo de código abierto no obtendrá una solución para todo, pero hay proyectos y software que cubren todas sus necesidades.

Como dije, hago el procesamiento y análisis en PostGIS. Puedo almacenar las consultas sql en archivos de texto para reutilizarlas (como cualquier herramienta en otro software pero mucho más transparente). Puede escribir funciones en muchos lenguajes diferentes, como plpgsql (un lenguaje especial de PostgreSQL), Python, pLR, C y muchos más.

Para los SIG de escritorio utilizo principalmente QGIS. Lo que no está en el núcleo de QGIS está en las extensiones. Si eso no es suficiente, puede escribir su propia extensión en Python y creo que también C ++)

Si está acostumbrado a uDig, eso es, por supuesto, una alternativa.

Si desea hacer un mapeo web, puede probar MapServer. Mapserver ganó el gran punto de referencia en la conferencia FOSS4G de este año al servir a WMS. Esri no quería participar este año. El año pasado se habían registrado para participar pero nunca lo hicieron. Este año ni siquiera se registraron.

GeoServer es otra alternativa para servir mapas web. Es muy fácil de usar y sirve muchos formatos diferentes. También maneja WFS-T para que pueda editar los datos del mapa y enviar las ediciones al servidor.

Si desea un servidor WFS-T ligero y muy rápido, debería echar un vistazo a Tiny-OWS

Bueno, la lista podría ser larga de software competente juntos, creando una suite muy poderosa y, por supuesto, personalizable.

Quiero decir, ¿puede ser más personalizable? Tienes acceso a todo el código fuente. Y por el dinero que ahorra al no pagar tarifas anuales a Esri, puede tomar un programa gratuito y estudiar o contratar un programador. Obtendrá mucha codificación en esos proyectos por el costo de una licencia de ArcGIS Server.

Nicklas Avén
fuente
12

No estoy de acuerdo contigo.

Creo que la ayuda / foros / blogs / vids / etc. de ArcGIS ofrece una gran perspectiva sobre lo que puede lograr con la gama de productos ArcGIS.

No está limitado a Python para manipular sus datos espaciales. Todavía puede usar VBA en 931 y 10 para acceder a la biblioteca de ArcObjects, o podría ir un paso más allá y usar .NET para hacer todo tipo de cosas, y nuevamente esto está bien documentado.

También creo que los accesos directos para ArcGIS Desktop son geniales, y puede crear sus propios accesos directos a través del cuadro de diálogo Personalizar si es necesario.

Si no desea aprender a codificar, también existe ModelBuilder, que es una excelente manera de automatizar tareas tediosas / flujos de trabajo comunes, particularmente con geoprocesamiento .

Estoy siendo parcial, pero tengo experiencia con otros productos.

Sé que Python carece del poder de proporcionar interfaces fáciles de personalizar para presentar a los usuarios, pero como mencioné, con VBA / .NET puede crear formularios ricos en contenido para proporcionar una interfaz personalizada para que los usuarios hagan lo que necesitan. hacer.

  • Con .NET puede crear scripts contra MXD (por ejemplo, recorrer una carpeta de MXD y abrir cada MXD, hacer algunas cosas, luego pasar al siguiente MXD
  • La manipulación de valores predeterminados en sus datos espaciales también se puede lograr con ArcObjects.
Simón
fuente
Mis habilidades de programación son buenas, pero de ninguna manera soy un rival para un programador educado (pero estoy mejorando cada día). Eso va para Python / VBA. Como desafortunadamente VBA se está agotando rápidamente (gracias a Microsoft), solo diría que desde mi experiencia, es una pena, ya que es simple por un lado y poderoso por el otro. Pero al ritmo que ESRI está lanzando las actualizaciones (con la promesa 10.1 no admitirá VBA), no veo ninguna justificación para invertir tiempo en aprender a desarrollar usando VBA.
jonatr
Y en cuanto a VB.net / ArcObjects. Olvidé referirme a esto porque siento (por la muy poca experiencia en C # que tengo) que no está destinado al analista promedio de SIG (que tiene algo de experiencia en programación y puede administrar VBA / Python básico), sino que tiene experiencia de todos los tiempos. programadores profesionales comprometidos. Me parece que al hacer que VB.net sea el lenguaje preferido, ESRI está renunciando a una gran parte de pequeñas empresas y analistas que solían personalizar cosas pequeñas para una vista personal.
jonatr
El problema básico que tengo con VB.net es que desafortunadamente no puedo dedicar el tiempo para aprenderlo desde cero (es un curso de un año) y, alternativamente, no puedo encontrar referencias / libros en línea sobre cómo trabajar con ArcGIS y VB.net. Por lo que sé, aparte de algunos códigos, ESRI no tiene ningún libro sobre el tema (cosas como conocer arcobjects pero para c #). Si lo sabes mejor, comparte.
jonatr
2
Esa es una buena pregunta separada para gis.stackexchange.com: "1. Cada vez que abro la simbología y voy a la ventana Color de relleno para ajustar los colores que necesito, se abre en CMYK y necesito cambiarlo a RGB". Puede haber una forma no programática de resolver ese problema.
Jay Cummins
1
re: su pregunta # 2 mencionada anteriormente. Ese problema me parece razonable, pero no hago mucho con arcgis / python, por lo que tal vez alguien más lo comente. Recomendaría dividir esto en otra pregunta para gis.stackexchange.com (facilitará a futuros analistas frustrados de SIG que necesitan recorrer, hacer zoom, exportar para encontrar su respuesta).
Jay Cummins
4

"... Ventana de color de relleno para ajustar los colores que necesito Se abre en CMYK y necesito cambiarlo a RGB"

  1. Es curioso, aprendí a hacer esto la semana pasada.

    • abra ArcMap -> agregue una capa -> vaya a la paleta de colores
    • Cambia el CYMK a RGB
    • Guarde el documento en Normal.mxt en su documento y configuración (en la carpeta ESRI)
    • Cierre y vuelva a abrir ArcMap -> Siempre estará predeterminado a RGB de ahora en adelante.
  2. ¿DS Map Book podría ser una solución para usted? ¿O si estás en v10, D ata Driven Pages ? Como dije, las secuencias de comandos .NET / VBA podrían hacer esto, no estoy muy interesado en Python para proporcionar una solución de Python

"conociendo los arcobjects" pero para c #

Estoy de acuerdo contigo en esto. Sé que ESRI está al tanto de esto, pero no estoy seguro si tienen algo en la tubería. Este enlace puede ayudar como iniciador, si tiene experiencia en VBA. Todavía argumentaría que el GTK AO sigue siendo una lectura válida y las lecciones aprendidas aún se aplicarán a .NET (y puede completar el libro en una semana a 1-2 horas al día).

Yo era / soy un gran admirador de VBA ...

Simón
fuente
Gracias. "Limpié el polvo" de mi copia de GTKAO esta mañana y pensé que era hora de volver a hacerlo, ya que he mejorado desde la última vez que lo leí a medias. Quizás después tenga más bases para sumergirme y abordar VB.Net.
jonatr
Parte de mi problema es convencer al departamento de informática de la empresa de que necesito Visual Studio (los SIG no son tan populares, no nos ven como desarrolladores y, por lo tanto, tengo que luchar para conseguir cosas básicas). El DS MapBook es otra razón para pelear con las computadoras, y es por eso que me he centrado en Python y VBA hasta ahora: están integradas y no necesito pelear por ellas. De todos modos, gracias por el consejo sobre el asunto CMYK / RGB, lo probaré.
jonatr
@jonatr - Hay una versión gratuita de Visual Studio - Creo que se llama "Express". Probablemente hará todo lo que necesita. La versión profesional en su mayoría solo tiene más herramientas para desarrolladores profesionales.
Estoy de acuerdo, Visual Studio Express suele ser lo suficientemente sustancial como para hacer lo que quieres hacer. Definitivamente es un buen lugar para comenzar a aprender de todos modos, y la identificación también recomienda este enlace: msdn.microsoft.com/en-au/beginner/default.aspx
Simon
3

En la plataforma ArcGIS, si no estás condenado al trabajo manual, ¡estás condenado a hacer un trabajo de programación (no está mal para mí ya que disfruto de ese tipo de cosas)!

No conozco una forma en 9.3.x para anular los valores predeterminados en la geodatabase sin recurrir a herramientas personalizadas. Esto es lo que hago, especialmente si se trata de un conjunto de operaciones de edición repetitivas.

En ArcGIS 10, el usuario puede crear plantillas de entidad de creación y establecer valores predeterminados para cada plantilla inicialmente, las plantillas son los símbolos de una capa de entidad, pero puede copiar / remotas / modificar las plantillas de entidad de creación según sea necesario ). No me he mudado a ArcGIS 10, pero esta es una de las características que nuestros editores de GIS esperan.

Nunca he necesitado eliminar un acceso directo, por lo que no estoy seguro de si puede hacerlo en cualquier versión de ArcGIS. Definitivamente puedes agregarlos (aceleradores). No estoy seguro si puedes anularlos; si puede, podría ser posible anularlos con un comando ficticio que no hace nada.

Como Simon mencionó, puede usar ArcObjects / .NET y operar en múltiples MXD. Aunque sí encuentro que ArcObjects es muy exigente cuando el MXD contiene conexiones de datos rotas o cualquiera de las diversas capas de servicio. En ArcGIS 10, tendrá arcpy.mapping en Python que ayuda con el trabajo de secuencias de comandos contra MXD / LYR en Python. Todavía es un poco defectuoso, pero podría funcionar para usted dependiendo de lo que tenga en su MXD.

Jay Cummins
fuente
Hola. Como escribí una respuesta muy larga a Simon, no quiero copiarlo y pegarlo (está arriba), pero agradecería que comentaras (si tienes algo que comentar). Gracias por la respuesta.
jonatr
3

Si bien me gusta mucho ArcGIS, debo admitir que la capacidad de crear archivos de observación provistos en la estación de trabajo ArcInfo no se encuentra en el escritorio. Muchos están familiarizados con la capacidad de Excel para grabar macros. Parece que ESRI podría tener una capacidad similar, incluso después de 10.0 cuando se retira VBA. Por ejemplo, Neooffice tiene la capacidad de grabar macros de python .

ArcGIS Engine es altamente personalizable. Le permite crear pequeñas herramientas enfocadas que hacen una cosa y lo hacen bien. Incluye proyectos de plantilla para Visual Studio, incluida la edición Express gratuita (?), Que se puede utilizar para crear pequeñas aplicaciones de visor de mapas de peso ligero sin ningún tipo de codificación. Aún así, para obtener todos los beneficios de ArcGIS Engine, necesitará invertir tiempo en aprender un lenguaje de programación .NET.

Kirk Kuykendall
fuente
1
no es tan completo o completo como un archivo de observación, pero la pestaña Resultados contiene el historial de su geoprocesamiento, que puede arrastrarse y soltarse en Model Builder o exportarse a fragmentos de Python. Lo uso como una especie de historial de metadatos mejorado para conjuntos de datos.
Matt Wilkie
también hay un historial de herramientas gp como archivo xml aquí% AppData% \ Roaming \ ESRI \ Desktop10.0 \ ArcToolbox \ History, el archivo xml tiene algunos problemas que se abordarán en 10.1. pero puede ser una opción interesante para ti.
gotchula
1

Esta es la realidad de hacer que el conjunto de herramientas impulse la base de datos y no al revés. Suena como si estuviera en la posición donde necesita una estructura de base de datos compresiva, una que pueda derivar informes, crear actualizaciones, publicar mapas, etc. con o sin la parte SIG. Liberar los datos de la herramienta le dará la posibilidad de utilizar una herramienta adecuada de su elección. Por eso tenemos estándares abiertos. Desde allí, puede utilizar la aplicación que mejor se adapte al propósito que tiene en mente. Acabo de tener esta conversación esta mañana en la que si representas datos en columnas, no se convierte en una hoja de cálculo de Excel.

Otro respondedor discutió la limitación de Python, esto no es así. Probablemente hay más cosas que puede hacer con python debido a las extensas bibliotecas que a la mayoría de cualquier otro idioma, y ​​las interfaces no son tan difíciles. Lo que limita es la implementación de Python en ESRI en ArcGIS. No confundas los dos.

westyvw
fuente
1

Es posible que desee consultar MapWindow como una alternativa gratuita ... lee Shapefiles, etc., pero necesitaría saber cómo programar en C #. Pero entonces tienes control total sobre todo ...

http://www.mapwindow.org/

timemirror
fuente
El problema es obtener conocimiento en C #, que no es trivial y requiere mucho tiempo. Pero gracias, lo tendré en cuenta.
jonatr