17 votos

Asesoramiento sobre un genérico de código abierto paquete de hoja de ruta

Yo sólo quería pedir un consejo, desde el open source GIS gurús sobre la pila a utilizar para mi proyecto previsto, como yo no entienden completamente los límites de lo posible con la mayoría de los paquetes. Sé que puedo hacer lo que yo desee, utilizando ESRI varios paquetes, pero quiero más barato y abierto para que el mundo vea. Estoy seguro que puedo asumir cualquier reto y aprender piezas lo suficientemente bien como para hacer un proyecto realidad, sólo quiero evitar ir por el camino equivocado en el primer lugar.

Mi sitio visión: En términos de interfaz de usuario, un NO-SIG buscando sitio! Algo más a lo largo de las líneas de whereis.com con todo (o casi todo) lo que se realiza en cajas flotando por encima de un mapa base. Los detalles no son importantes ahora, sólo haciendo hincapié en que no SIG-capas con casillas en un panel separado, etc. En términos de la interacción con el usuario, los usuarios registrados pueden crear funciones (como beber agua de la fuente ubicaciones, rutas de senderismo, etc) en la parte superior de la base del mapa, y editar sus propias características. Si es posible, editar SÓLO sus propias características, que han creado. Un mapa colaborativo, la verdad.

Estoy todavía en su mayoría en la modalidad de investigación, jugando con diferentes paquetes, pero sólo por el bien general de la familiarización y no pruebas reales (lo cual requeriría de aprendizaje en detalle los primeros!). PostGIS definitivamente parece que el camino a seguir como subyacente DB(s), con Geoserver/Mapserver como más probable middleware. Openlayers es casi sin duda va a ser el slippy mapa, como ya estoy cómodo con él y conocer su poder.

Lo que me lleva a dos cuestiones principales que requieren la mayor parte de consejos:

1) ¿Cuál es la mejor parte superior de la capa de interfaz de usuario para un sitio como este? Es un personalizados instancia de Django (o incluso Django-CMS), o simplemente un monté instancia de GeoExt o de la biblioteca (no estoy seguro si se puede hacer un inicio de sesión/registro/interfaz de usuario completa con él), diferentes CMS/framework (no, no, drupal o cualquier cosa que limitar!), o algo totalmente diferente?

2) Es posible incluso que se han registrado del sitio a los usuarios editar sus propias características? Quiero evitar que la masa "graffiti" de lugares como OSM y otros proyectos de colaboración de la experiencia. Parece que a partir de mi lectura y las sugerencias anteriormente que Geoserver no puede tener la característica de nivel de autenticación de usuario. Puede Mapserver? Diablos, ni siquiera sé si un usuario del sitio de la población (de un CMS o framework), incluso puede vincular directamente a geoserver/mapserver... Si tal concepto no es posible con las soluciones de código abierto, hay otra manera de lograr ese objetivo? Se han autenticado a los usuarios editar un no-versión publicada de la característica principal de la capa (para no estropear el original) y combinar automáticamente a la versión publicada cada 24 horas, mientras que el mantenimiento de una copia de seguridad diaria de la original? Perdido sobre cómo lograr este propósito.

Y sí, he mirado en GeoNode demasiado, pero sólo quiero un mapa (keep it simple) y su interfaz de usuario es o no interactivo suficiente (antes de entrar en GeoExplorer) o demasiado SIG-como en GeoExplorer. Parece demasiado enlatado una solución para este proyecto.

Siento mucho ser tan abiertas aquí y vaga, pero tengo la esperanza de ser capaz de iniciar un camino en el que la anterior es posible y no se ejecuta en el muro de varios meses a partir de ahora, sólo para tener que empezar todo de nuevo porque la ruta #1 nunca tuvo esa funcionalidad desde el principio! Muchas gracias y estoy muy emocionado de entrar en este reino de open source GIS!

Edit: Uno de los mejores ejemplos que puedo encontrar es http://www.gpsies.com sé que este utiliza prospecto, pero no que el marco subyacente y de la base de datos. Los usuarios pueden crear/cargar sus propias características, pero no editar otros".

8voto

FlySwat Puntos 61945

Desde que estoy construyendo algo similar ahora mismo, voy a decirte cómo lo estoy haciendo, y usted puede elegir para cambiar lo que quieras de ella para otra pieza.

Django (con GeoDjango) es bastante bueno para este como un marco básico para python (de nuevo, si eso es lo tuyo, puedes hacerlo en otro idioma).

Mi enfoque a nivel de usuario de las ediciones es similar a lo que CaptDragon descrito. Estoy utilizando la autenticación de django framework. Para este proyecto, mi Api se ha creado usando Django Sabroso Pastel que ya cuenta con un marco que permite crear adecuada APIs RESTful con la autenticación de tomarse en consideración de forma muy sencilla.

Mi Mapserver (o Geoserver o lo que sea que usted elija para su uso) nunca son expuestos directamente al mundo exterior (sólo el servidor local tiene acceso a esos)... todas las fichas servido a cabo utilizando una ficha de servidor (geowebcache, tilecache, tilestache lo que sea).

No necesito mencionar Openlayers, puesto que usted ya ha elegido. Buena opción.

PostgreSQL/PostGIS fue otra obviedad. :)

Como una biblioteca de javascript, que nunca puede ir mal con jQuery. Si vas a hacer permitir varias ediciones, usted puede beneficiarse de tener alguna estructura de los objetos de javascript usando algo como backbone.js. Tomar esto con un grano de sal. Algunas personas aman - otros lo odian.

Si usted no desea que su sitio un aspecto tan feo, hazte un favor y usar un css framework como Bootstrap o Brújula o alternativa, por $20, acaba de comprar uno de themeforest o wrapstrap (si se va a abrir la fuente, es posible que desee ver en la licencia si usted va a comprar). Enganchar uno de estos hasta tomar alrededor de un día y hacer una gran diferencia en cómo su sitio se ve!

Personalmente, he mirado en Django-cms (y Pinax) varias veces y nunca puedo convencerme de que vale la pena. Nunca me he arrepentido de esa decisión todavía.

Puesto que usted va a recoger un proyecto que requerirá de varias versiones de su esquema (el que más se desarrolla, más se va a cambiar), sólo el uso del sur. Incluso no dude acerca de ello! En serio.

Eso es lo que yo usaría, pero la adorable cosa de código Abierto es que se puede cambiar piezas para satisfacer sus propias necesidades.

6voto

Pablo Puntos 6414

Estoy usando una pila similar a Ragi estoy cerca de la versión alpha de mi solicitud y en este momento parece que las opciones donde a la derecha. Aquí está mi solución:

En el servidor:

  • Ubuntu server + servidor web apache + apache tomcat.
  • Postgresql + postgis como base de datos.
  • Geoserver, (en mi caso yo lo uso sólo para los rásteres).
  • Django Framework + Tastypie. Tastypie sirve a todos los vectores a través de la API y los usuarios tienen por objeto el permiso.
  • python-gsconfig para el control de geoserver desde python.
  • jasper reports para generar archivos pdf.
  • pyjasper para el control de jasper reports desde python.
  • De alto rendimiento de la geoestadística de la biblioteca para la interpolación.

En el cliente:

  • ExtJs 4 -> Eso es fantástico, extjs funciona muy bien con tastypie y que tienen muchas cosas de trabajo fuera de la caja, como windows y tablas. He empezado a utilizar en código puro, pero nou yo uso Sencha Architect 2, que ayuda mucho.
  • OpenLayers -> Con dos métodos de insertar de una en una extjs tienda y uno en un openlayers capa tiene con la actualización de cada uno de los otros en el cambio de los datos.

4voto

Dan Puntos 12178

Es posible incluso que se han registrado del sitio a los usuarios editar sus propias características?

Parece que esto es posible mediante el uso de Cartaro. Está basado en Drupal (yo sé, usted no dijo nada limitantes como Drupal, pero escúcheme!) y permite a los usuarios editar sólo de sus propias características, entre otras opciones. Aquí está una captura de pantalla tomada de la Gente de la página al iniciar la sesión como un administrador, que muestra los tipos de permisos que se pueden establecer para los usuarios:

Cartaro permissions

También, Cartaro se ejecuta en PostGIS, GeoServer, y OpenLayers, por lo que potencialmente podría tener todo lo que usted está buscando.

¿Cuál es la mejor parte superior de la capa de interfaz de usuario para un sitio como este?

No sé lo que es el "mejor" de la capa superior es, pero parece que Cartaro podría proporcionar lo que usted está buscando desde Drupal tiene muchas opciones de interfaz de usuario. Parece Cartaro es en el desarrollo temprano (yo personalmente no conozco a nadie que lo usa), pero tiene potencial.

3voto

Vasu Puntos 11

Voy a abordar la pregunta #2 Esto es ¿cómo puedo obtener en torno a la cuestión de permitir a los usuarios editar sus propios registros.

Puedo crear mi propia web services REST o SOAP(a su elección) como UpdateUserRecord(string WKTLocation, string otherArg) , que se relacionan en el mecanismo de autenticación de su sitio web.

OpenLayers y PostGIS tanto leer y escribir Bien Conocido de Texto (WKT) así como GML y otros formatos estándar, pero yo personalmente uso WKT para pasar la información de la geometría de la espalda y la forma de mi aplicación, a través de la web del servicio y en la PostGIS DB.

También en mi web, métodos, como por ejemplo UpdateUserRecord sólo puede ser llamado por una sesión autenticada de usuario. Un 401 Unauthorized es devuelto si alguien intenta llamar a este servicio web. En mi caso yo uso .NET y FormsAuthentication con la opción de autenticación utilizando OpenAuth2 (Google, Facebook, Twitter, etc). Esto también se puede hacer en PHP, Java, etc.

Así que usted puede crear métodos web que llame a PostGIS base de datos directamente y actualizar o insertar registros sin embargo que usted desea. Y que es como yo lo hice.

Luego he utilizado GeoServer para la WFS, WMS capacidad de consulta y la facilidad de visualización de la información en el mapa de donde me de suministro de un usuario si la consulta.

Espero que esto ayude.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X