問題タブ [rgeo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Railsのform_forでlat/long座標挿入
Rails 4.4.1、Ruby 2.1.2、RGeo 0.3.20、activerecord-mysql2spatial-adapter 0.4.3 を使用しています。
Ruby と Rails の両方に慣れていないので、私の問題はおそらく非常に単純ですが、これまで Web で役立つものは見つかりませんでした。
データベースに地理空間座標を挿入するフォームを作成したいのですが、:latlon フィールド x と y にアクセスする方法がわかりません。これは私の暫定的なコードです:
localhost:3000/cities/new url にアクセスすると発生するエラーは次のとおりです。
データベースに latlon.x および latlon.y データを挿入するフォームを作成する方法を知っている人はいますか?
ruby-on-rails - Herokuのactiverecord-postgis-adapterでnilを返すPOINT
POINT
(緯度、経度) の値をsとして保存するために、activerecord-postgis-adapter を使用しています。ポイントは次の構文を使用して保存されます: POINT( lat lng)
. 私のモデル には、が保存Foo
される属性 があります。Heroku にデプロイされた場合、新しい を作成した後は常に nilです。ただし、次の状況では期待どおりに機能します。spot
POINT
spot
Foo
- 開発データベースを使用してローカルに (本番環境と開発環境の両方で)
- 本番データベースに接続しているときにローカルで
- Heroku 内の Rails コンソール
activerecord-postgis-adapter は、ローカルと Heroku (2.2.0) の両方で同じバージョンです。これを引き起こしている可能性のある Heroku 本番環境 (コンソールには表示されない) で何が異なる可能性があるかについて、誰か考えはありますか?
ruby - ActiveRecord サブクエリの内部結合
「生の」PostGIS SQL クエリを Rails ActiveRecord クエリに変換しようとしています。私の目標は、2 つの連続した ActiveRecord クエリ (それぞれ約 1 ミリ秒かかる) を、(約 1 ミリ秒かかる) 単一の ActiveRecord クエリに変換することです。以下の SQL を使用してActiveRecord::Base.connection.execute
、時間の短縮を検証できました。
したがって、私の直接の要求は、このクエリを ActiveRecord クエリに変換するのを手伝ってくれることです (そして、それを実行するための最良の方法です)。
<postalcode>
このクエリでは、値が唯一の変数データであることに注意してください。明らかに、ここには と の 2 つのモデルがUser
ありZipCache
ます。User
とは直接関係ありませんZipCache
。
現在の 2 ステップの ActiveRecord クエリは次のようになります。
gps - 奇妙なlat / lng形式を10進数に変換する
「ddmm.mmmm」と記述された形式で位置を報告するデバイスがあります。
次のようになります。
緯度: 5108.5837 N 経度: 00052.6334 E
これを RGeo で使用できる通常の 10 進数に変換する方法を知っている人はいますか?
ruby-on-rails - Heroku で未定義のメソッド (Puma を使用)
Ruby on Rails で Postgis アダプターを使用しており、本番環境に Heroku で Puma を使用しようとしています。私たちのテストは、開発システムで問題なくパスしました。また、サーバーは Heroku 以外のすべての本番サーバーで完全に動作しますが、Heroku + Puma (または Unicron) で実行すると、例外が発生します。
ちなみに、Heroku で Webrick を使用してデプロイすると、アプリケーションはスムーズに動作します。
デフォルトの Web サーバーとして puma (および後で試した場合は unicorn) を使用すると、すべてがうまくいきますが、次のことが 1 つあります。
ハイブの場所を追跡するために RGeo gem を使用しています。Puma (Unicorn) に切り替えると、Javascript ビューでand を呼び出す@hive.current_location.lon
と、次のエラーがスローされます。@hive.current_location.lat
ActionView::Template::Error (undefined method 'lon' and 'lat' for #<RGeo::Cartesian::PointImpl:0x007f700846c970>)
その間、私は現在の場所の緯度と経度にアクセスしようとしましたheroku run rails console
興味深いことに、Heroku コンソールで緯度と経度の値をフェッチすると、正しい値が返されます。問題は puma と unicorn に起因するようです。
なにか提案を?