問題タブ [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.

0 投票する
3 に答える
1409 参照

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 'rge​​o-shapefile' gem 'dbf'

GEOS が見つからない理由はどこで確認できますか? ありがとう!

0 投票する
1 に答える
446 参照

ruby - RGeo Ruby gem を使用してシェープファイルをインポートしようとすると、スタック レベルが深すぎます

これが私のコード内の何らかの相互作用なのか、それとも私が使用しているシェープファイル内の命名規則なのかはわかりませんが、次のコードはStack level too deepメッセージになります

モデルの移行:

schema.rb の関連部分:

active_record/transactions.rbバックトレースは、行 286を指します:

すべてを試しました。どんな助けでも大歓迎です。

編集: 誰かがこれらのパラメーターについて疑問に思っている場合に備えて、失敗した呼び出しで、それらは guid: '6020048.00' および country_code: 'ca' に解決されます。

また、ログに次のように表示されることも追加する必要があります。

表示される SQL は、コンソールで問題なく実行されます。それはクレイジービットです。これは、問題が before_save メソッドにあることを示唆していますが、定義していません。

0 投票する
1 に答える
1795 参照

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 を使用しています。

0 投票する
1 に答える
1831 参照

ruby-on-rails - activerecord_postgis_adapter: nil:NilClass の未定義のメソッド `point'

問題

90% 確実に私の側のセットアップ エラーですが、self.factory を実行できず、lonlat にアクセスしようとすると、「undefined method `point' for nil:NilClass」という例外が発生します。

できます

以下を使用して lonlat を設定します。

0101000020E610000061C3D32B65965DC03657CD7344F64040これにより、データベースのような値が得られます。

私は使用できません:

質問

モデルに特定のものを設定する必要がありますか?

0 投票する
1 に答える
33 参照

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 レコードを書き込むことができると考えると...)

0 投票する
1 に答える
124 参照

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 に依存関係を追加する必要があることは理解していますが、そのプロセスを実行する前に、依存関係が機能していることを確認したかったのです。任意のガイダンスをいただければ幸いです。