En primer lugar, estoy utilizando Rails3 con Ruby 1.9.2.Rieles con PostGIS
Tengo un problema al utilizar PostgreSQL con PostGIS. He intentado dos joyas:
El problema es, que el primero de nofxx funciona bien, pero no proporciona tareas de desprendimiento, de manera que el PostGIS .sql y spatial_ref_sys.sql se insertan en la base de datos. Necesito esto, porque es cómodo y esencial usar pruebas (crear automáticamente la base de datos, insertar el sql de Postgis y realizar las migraciones al ejecutar "prueba de rake"). Lo extraño es que en el README de github el autor escribe algo sobre los ayudantes de PostGIS y las tareas de rake. Pero no están implementados (o estoy ciego).
¡La segunda gema listada anteriormente proporciona esta funcionalidad para rastrillar perfectamente! Pero me encontré con un problema que no puedo resolver. He seguido las instrucciones del README, pero cada vez que intento fijar una posición sobre una columna espacial, me sale el siguiente resultado:
ruby-1.9.2-p136 :010 > v = Venue.new :location => "POINT(102.0, 47.2)"
=> #<Venue id: nil, last_updated: nil, created_at: nil, updated_at: nil, location: nil>
ruby-1.9.2-p136 :011 > v.location
=> nil
Como se puede ver, puse una ubicación mediante WKT (conocido texto), pero siempre es nulo. También traté de guardarlo en la base de datos, pero también es nulo. me di cuenta, que cuando trato de usar los objetos proporcionados por RGEO
RGeo::Geos.factory.point(-122, 47)
que dice, que la fábrica es nula. Por lo tanto, debe haber un problema al crear la fábrica provista por RGeo. Como se mencionó en el README del activerecord-PostGIS adaptador he utilizado la siguiente línea en mi modelo Lugar para proporcionar este apoyo:
self.rgeo_factory_generator = RGeo::Geos.factory_generator
pero no funciona.
Para encontrar una solución, hay dos maneras: Encontrar una forma de obtener las tareas de rake en la georuby gem de nofxx, o resolver el problema con la fábrica del activerecord-postgis-adapter.
Espero que alguien me puede ayudar, thx!
Puede agregar una variable "script_dir" a su base de datos que ejecutará los dos scripts sql necesarios para usar postgis. Busque el activerecord-postgis-adapter para "script_dir". Lo uso y funciona muy bien. No se requiere plantilla – jevy