ruby-on-rails - 使用 Rails 将几何字段添加到 PostGIS

标签 ruby-on-rails postgresql ruby-on-rails-4 gis postgis

我有一个数据库,其中有一个名为 addresses 的表。我想添加一个几何字段。我可以在 pgAdmin 中完成,但不确定它在 Rails 中的表现如何。

我认为 sql 是:

更改表地址 添加几何图形(点,4326)

那我就想跑

更新地址 SET geom = ST_SetSRID(ST_MakePoint(longitude,latitude),4326);

我可以在 Rails 中执行此操作还是必须在 pgAdmin(或 psql)中执行?

谢谢。新手迷失在混合多个应用程序的复杂性中。

最佳答案

你在使用这个 gem activerecord-postgis-adapter ?如果没有,您可以使用它,然后您可以在迁移文件中添加一个 geometry 列:

create_table :my_spatial_table do |t|
  t.column :shape1, :geometry
end

或:

create_table :my_spatial_table do |t|
  t.geometry :shape2
end

activerecord-postgis-adapter 扩展了 ActiveRecord 的迁移语法以支持一些空间类型,例如 geometry。因此,您可以在 Rails 迁移中无缝地使用 geometry 类型,就像其他内置类型(stringdateinteger 等),同时使用这个 gem。

参见 Creating Spatial Tables gem 文档中的部分以获取更多信息和示例。

关于ruby-on-rails - 使用 Rails 将几何字段添加到 PostGIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940506/

相关文章:

ruby-on-rails - 从 csv 文件导入数据时无法批量分配 protected 属性

sql - 查询显示今天在 postgres 中输入的记录(纪元时间)

ruby - Rails 应用程序在开发与生产中的行为不同

ruby-on-rails - 在 Rails 中设置 cookie 选项后如何修改它?

ruby-on-rails - Rails 5 从两个不同的表中选择并得到一个结果

ruby-on-rails - 如何杀死 Sidekiq worker ?

javascript - 在 `OR` 语句中使用包含关系的 Where 子句

ruby-on-rails - 将 Postgres 连接池大小设置得太高有什么风险?

ruby-on-rails - 设计 gem : what's the difference between config. remember_for 和 config.timeout_in?

jquery - 如何在 Rails 中正确使用 Fullcalendar jQuery 插件