我有一个数据库,其中有一个名为 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
类型,就像其他内置类型(string
、date
、integer
等),同时使用这个 gem。
参见 Creating Spatial Tables gem 文档中的部分以获取更多信息和示例。
关于ruby-on-rails - 使用 Rails 将几何字段添加到 PostGIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940506/