私は Rails をPostGIS
とactiverecord-postgis-adapter
実行しrgeo-geojson
ています。
現時点では、デフォルトの「object.json」URL を使用して、WKT/WKB 形式の JSON 文字列を取得できます。次のようになります。
{"description":null,"id":1,"position":"POINT (10.0 47.0)"}
しかし、今はカスタム MIME タイプが必要なので、「object.geojson」を呼び出して、次のような GeoJSON 形式を取得できます。
{"description":null,"id":1,"position":{"type":"Point","coordinates": [10.0, 47.0]}}
JSON-encoder を GeoJSON に設定する唯一の方法は、 and を使用してグローバルに設定することでしRGeo::ActiveRecord::GeometryMixin.set_json_generator(:geojson)
たRGeo::ActiveRecord::GeometryMixin.set_json_generator(:wkt)
。しかし、私はそれをローカルに設定したいのですが、これは可能ですか?
私はすでにに追加Mime::Type.register "application/json", :geojson, %w( text/x-json application/jsonrequest )
しましたがmime_types.rb
、正常に動作します:コントローラーでこのコードを使用できます:
respond_to do |format|
format.json { render json: @object }
format.geojson { render text: "test" }
end
グローバル JSON レンダラーを に設定せずに、特定のオブジェクトを GeoJSON にレンダリングする方法を教えてください:geojson
。!?
編集:
私のオブジェクトは Rails コンソールで次のように表示されます。
#<Anchor id: 1, description: nil, position: #<RGeo::Geos::CAPIPointImpl:0x3fc93970aac0 "POINT (10.0 47.0)">>