Tag: postgis

phusion乘客是否使用分叉,如果是,在哪里设置after_fork配置?

phusion乘客是否使用分叉? 如果是这样,我应该在哪里设置after_fork配置, 如Heroku对unicorn的建议 (re:使用Rails设置PostGIS)? 来自Heroku的文档: 此外,如果在重新建立连接的地方使用独角兽或任何其他进程分叉代码 ,请确保将适配器覆盖到postgis。 例如: # unicorn.rb after_fork do |server, worker| if defined?(ActiveRecord::Base) config = Rails.application.config.database_configuration[Rails.env] config[‘adapter’] = ‘postgis’ ActiveRecord::Base.establish_connection(config) end end

在Ruby on Rails中格式化/解析表单值

我正在使用RGeo(PostGIS)和Ruby on Rails,两者都是新手。 我有一个包含坐标属性(纬度和经度)的模型。 我在绑定该属性的表单时使用文本输入字段,但我想将值格式化为人类可读的forms。 目前它被“渲染”为原始DB值,即’0101000020E61000009468C9E3698C5EC065FED13769D64740’。 我想为用户格式化为’-122.193963,47.675086’。 相反,如果用户更新了值,我将需要将其解析为PostGIS可以理解的格式。 我一直在搜索和阅读有关将数据绑定到RoR中的表单的内容,但找不到任何有用的内容。

在Heroku上启用Ruby PostGIS支持

我正在尝试在Heroku上的Rails应用程序中启用PostGIS。 我的Gemfile包含activerecord-postgis-adapter gem: gem ‘activerecord-postgis-adapter’, ‘3.0.0’ 但是,在启动我的实例后,我没有看到启用完全支持: $ heroku run irb Running `irb` attached to terminal… up, run.5549 irb(main):001:0> require ‘rgeo’ => true irb(main):002:0> RGeo::Geos.supported? => false 我已经添加了Postoku 文章中指定的heroku-geo-buildpack ,尽管我使用的是更新的,真正的multi-buildpack格式: $ heroku buildpacks === staging Buildpack URLs 1. https://github.com/cyberdelia/heroku-geo-buildpack.git#1.3 2. https://github.com/heroku/heroku-buildpack-ruby.git#v140 我很困惑,因为我的构建过程看起来是正确的: —–> Multipack app detected —–> Fetching custom git buildpack… done —–> geos/gdal/proj app […]

按最近的顺序排列 – PostGIS,GeoRuby,spatial_adapter

我正在尝试执行查找最接近current_user的记录的订单查询。 我知道这两点之间的距离是: current_location.euclidean_distance(@record.position) 如何将其用于PostGIS(或active_record / spatial_adapter)查询?

Rails + PostGIS错误迁移数据库

我跟随Daniel Azuma关于使用rails进行地理空间分析的讨论,但是每当我在第二个项目中运行rake db:migrate时我都遇到了困难。 我的设置细节如下:我使用Postgres.app运行Postgresql ,它给出了Postgres的9.1.3版本和PostGIS的2.0.0版本。 我遇到了database.yml文件的一些问题,并运行了迁移。 (我添加了相关的gem,并在application.rb中要求他们的信息) 我的database.yml文件如下所示: development: adapter: postgis postgis_extension: true host: localhost encoding: unicode database: my_app_development pool: 5 username: my_app password: 如果我添加以下行schema_search_path: “public,postgis”我得到: rake aborted! PG::Error: ERROR: schema “postgis” does not exist : SET search_path TO public,postgis 如果我删除该行,当我尝试迁移数据库时收到以下错误: rake aborted! PG::Error: ERROR: relation “geometry_columns” does not exist LINE 1: SELECT * FROM […]

如何转换Shapefile的坐标?

我正在尝试将邻居数据存入我的应用程序,并且我遇到了我正在使用的数据的问题,我从这里得到了这些数据。 此文件包含具有旧金山邻域的shapefile。 我正在运行Ruby on Rails框架,我目前正在使用GeoRuby来解析shapefile。 代码如下所示: def self.run_import shpfile = ‘/path/to/realtor_neighborhoods/realtor_neighborhoods’ ShpFile.open(shpfile) do |shp| shp.each do |shape| # This gets the first (and only) Polygon from each MultiPolygon polygon = shape.geometry.geometries.first puts polygon.inspect end end end 代码能够解析文件,但我无法理解解释的坐标。 对于有效的纬度和经度,当我期望坐标在-180和180之间时,所有点都具有数百万的值。 看一个示例点: , 这些坐标值的格式是什么? 如何将它们转换为对我有意义的值? (即基于SRID 4326 WGS84空间参考系统的纬度/经度) 先感谢您!

activerecord_postgis_adapter:nil的未定义方法“point”:NilClass

问题 90%肯定这是我的设置错误,但我不能做self.factory并尝试访问lonlat给我一个例外“未定义的方法`点’为nil:NilClass” 我可以 设置lonlat使用: mfactory = RGeo::ActiveRecord::SpatialFactoryStore.instance.factory(:geo_type => ‘point’) self.lonlat = mfactory.point(long, lat) self.save 这给了我db中的0101000020E610000061C3D32B65965DC03657CD7344F64040等值。 我不能用: self.lonlat = “POINT(#{long},#{lat})” self.save 问题 我是否需要在模型中设置特定的内容?