問題タブ [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 RGeo::Geos.supported? False rgeo-shapefile が機能しない
シェープファイルをアップロードするこの例をレールのセットアップで動作させようとすると、コンソールから実行すると、次のように返されます。
RGeo::Error::RGeoError: GEOS は使用できませんが、シェープファイル内のポリゴンを正しく解釈するために必要です。
また
RGeo::Geos.supported? False を返します
私は実行しています - ruby バージョン 2.0.0p576 および rails バージョン 4.2.0
含まれる gem は次のとおりです。 gem 'activerecord-postgis-adapter'、'3.0.0.beta2' gem 'rgeo-shapefile' gem 'dbf'
GEOS が見つからない理由はどこで確認できますか? ありがとう!
ruby - RGeo Ruby gem を使用してシェープファイルをインポートしようとすると、スタック レベルが深すぎます
これが私のコード内の何らかの相互作用なのか、それとも私が使用しているシェープファイル内の命名規則なのかはわかりませんが、次のコードはStack level too deep
メッセージになります
モデルの移行:
schema.rb の関連部分:
active_record/transactions.rb
バックトレースは、行 286を指します:
すべてを試しました。どんな助けでも大歓迎です。
編集: 誰かがこれらのパラメーターについて疑問に思っている場合に備えて、失敗した呼び出しで、それらは guid: '6020048.00' および country_code: 'ca' に解決されます。
また、ログに次のように表示されることも追加する必要があります。
表示される SQL は、コンソールで問題なく実行されます。それはクレイジービットです。これは、問題が before_save メソッドにあることを示唆していますが、定義していません。
ruby-on-rails - activerecord_postgis_adapter を使用した NoMethodError
README に従って activerecord-postgis-adapter をインストールしようとしましたが、以下のエラーが発生し続けるため、モデル インスタンスを作成できません。
NoMethodError: nil:NilClass の未定義のメソッド `point'
私のさまざまなファイルは次のようになります。
Location.rb (モデル、更新されたコード)
Gemfile
config/application.rb
config/database.yml
レコードを取得しようとしたときにレコードを追加した後、次のようになります。
それがなぜなのか、どうすれば修正できるのか疑問に思っていますか? より具体的には、なぜ NilClass であり、#inspect が見つからないのはなぜですか?
私のschema.rbから
Rails 4.2.1 を使用しています。
ruby-on-rails - activerecord_postgis_adapter: nil:NilClass の未定義のメソッド `point'
問題
90% 確実に私の側のセットアップ エラーですが、self.factory を実行できず、lonlat にアクセスしようとすると、「undefined method `point' for nil:NilClass」という例外が発生します。
できます
以下を使用して lonlat を設定します。
0101000020E610000061C3D32B65965DC03657CD7344F64040
これにより、データベースのような値が得られます。
私は使用できません:
質問
モデルに特定のものを設定する必要がありますか?
join - 結合テーブル レコードの書き込みの最適化
このアプリケーションは PostGIS に基づいており、RGeo の simple_mercator_factory を使用してデータを保存します。
ポリゴン レコードが作成され、ポイントとの関連付けは静的です (つまり、更新する必要はありません)。PostGIS 計算のオーバーヘッドを削減するには、ポリゴンに属するポイントを結合テーブルに入力し、(rTree の代わりに) bTree を使用してインデックス付き結合テーブルで検索を実行するのが理にかなっています。
問題は、結合レコードの効率的な作成です。現在のところ:
クエリ プランは許容範囲です
ただし、@add_point
関数は 14 から 16 ミリ秒の間でクロッキングしています。83 レコードのセットでは、約 1.6 秒です。しかし、合計は一致しません
Completed 302 Found in 7796.9ms (ActiveRecord: 358.5ms)
:
結合レコードを書き込むことなく、同じクエリ プラン (および時間) を実行する別のメソッドを実行すると、
Completed 200 OK in 1317.5ms (Views: 49.8ms | ActiveRecord: 64.0ms)
2 つの疑問が生じます。もっと平凡なことに、開発モードの条件を除けば、なぜ合計がこれほど膨れ上がったのですか?
しかし、もっと重要なのは、結合テーブルレコードの書き込みを別のスレッド (after_update?) にラップオフする方法はありますか? (1000 レコードを書き込むことができると考えると...)
ruby-on-rails-4 - Elastic Beanstalk で rgeo を使用して RoR を設定する
RoR アプリを立ち上げて Elastic Beanstalk で実行しようとしていますが、rgeo gem を機能させるのに苦労しています。Web サーバーで発生しているエラーは次のとおりです。
このエラーは、コードがデータベース内の POINT データ型によってサポートされるモデル属性にアクセスするときに発生します。このエラーは通常、依存関係の欠落、つまり、このスレッドで説明されている geos が原因で発生します。そのため、基盤となる EC2 インスタンスに接続し、geos をインストールして、rgeo gem を再インストールしました。これにより、Rails コンソールの問題が解決されました。
ただし、Web サーバーのエラーは解決しませんでした。Elastic Beanstalk 環境を明確に理解していないことは確かです。基盤となる EC2 インスタンスに直接変更を加えても、アプリケーション インスタンスで依存関係を利用できない可能性があります。将来の展開のためにカスタム AMI または ebextensions に依存関係を追加する必要があることは理解していますが、そのプロセスを実行する前に、依存関係が機能していることを確認したかったのです。任意のガイダンスをいただければ幸いです。