問題タブ [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-4 - Rgeo、Mysql、および空間インデックス エラー
移行を実行して空間インデックスを追加しようとすると、取得
使用する
- ルビー 2.0.353
- レール 4.0.2
- RGEO 0.3.20
- RGEO アクティブレコード 0.4.6
- リスト項目
- activerecord-mysql2spatial-adapter 0.4.3
移行インデックス ファイルは次のようになります
アップデート
database.yml ファイルのアダプタを mysql2 から mysql2spatial に変更したときのこのエラーおよびその他のエラーを修正しました
ruby-on-rails - RGeo: フィクスチャ内の空間データ
RGeo::Cartesian::Point オブジェクトで表され、空間データとしてデータベースに格納された、位置属性を含むモデルを取得しました。
テストを実行するには、フィクスチャを使用してそのようなモデルのサンプルをいくつか作成する必要があります。
erb YAML で location 属性を初期化するためにいくつかの異なる構文を試しましたが、どれも機能しませんでした。
どうやってやるの?
ruby - Windows での Ruby 上の RGeo: GEOS サポートを有効にする方法は?
RGeo
gemを使用して Ruby でいくつかの空間操作を実行しようとしています。残念ながら、多くの操作でGEOS
ライブラリが必要であり、これを Windows に統合する方法を示すドキュメントが見つかりません (私は Windows 7 64 ビットを使用しています)。
http://trac.osgeo.org/osgeo4w/GEOS
からWindows バイナリをダウンロードしてインストールし、(<< このディレクトリにはファイルがあります)経由で gem を再インストールしようとしました。RGeo
gem install rgeo -- --with-geos-dir="C:\OSGeo4W64\bin
geos_c.dll
それでも、 return を使用しRGeo::Geos.supported?
ますfalse
。
これを解決する方法を知っている人はいますか?
ruby-on-rails - Ruby on Rails PostGIS - ポリゴン レコードを DB に挿入する
PostGIS で RoR を使用して位置データを保存しています。円を使用して推定位置を保存しようとしています (たとえば、半径のある中心点)。
私はそのようなことを試しましたが、うまくいきません:
私も RGeo を使用してみましたが、これは工場ですが、正確な使用方法はわかりません。
どんな助けでも大歓迎です。ありがとう。
編集1:私はいくつかの進歩を遂げました。
しかし - 今では次の例外がスローされます:
繰り返しますが、どんな助けでも大歓迎です。
ruby-on-rails - Rails 4のpostgisと特異なテーブル名
rails (4.0.4)、ruby (2.0.0p247)、activerecord-postgis-adapter (0.6.5)、./config/environment.rb (ActiveRecord::Base.pluralize_table_names = false) に設定された単一のテーブル名を使用しています。
これは、開発およびテスト環境でうまく機能します。
本番環境では、1 つのプロジェクトを除くすべてのテーブルで機能します。このテーブルでは、コントローラ インデックスにエラーが表示されています。
私は足場を再生成し、project_controllers のこの行で問題を特定することができました:
set_rgeo_factory_for_column(:場所、RGeo::Geographic.spherical_factory(:srid => 4326))
エラーは次のとおりです。
他のすべての環境で機能するのは本当に奇妙に思えますが、本番環境では、1 つのテーブルと関連するテーブルでのみ失敗します。
任意の提案をいただければ幸いです。
postgresql - KML を使用してジオメトリを生成する
誰かがすでに次の説明を行っているかどうか尋ねています。それが可能かどうかさえわかりません。
KML ファイルを使用して、PostgreSQL データベース (PostGIS を使用) に記録されたポリゴンを生成したいと考えています。
ruby-on-rails - 重心から半径を求める
のおかげで、KML ファイルをデータベースに保存されているポリゴンに変換しています。RGeo
重心が必要@area.centroid
です。形状の近似半径を見つけたいと思います。それが可能かどうかはわかりません。私のデータベース フィールドはgeometry
. つまり、ポリゴンとマルチポリゴンを格納できます。私の地域のタイプはRGeo::Geos::CAPIMultiPolygonImpl
最後に、その領域が単純な多角形か倍数かを確認する必要があると思います。単純なものであれば、半径を求めたいと思います。他に何もありません。
ご協力ありがとうございました !
sql - Postgis ST_DWithin は、右側の特定の半径 AND ポイントに一致します
postgis 9.1 と rgeo を使用して地図アプリケーションを開発しています。
機能の 1 つは、現在のポイントから XXX km 離れたすべてのポイントを見つけ、そのポイントの右側にもあることを意味します。
次のクエリで試しました:
Environment.where{ st_dwithin(location, factory.point(170.0, 0), 300000 ) }.where('ST_X(location::geometry) > 170')
クエリに対応する SQL: [編集済み]
SELECT "environments".* FROM "environments" WHERE (st_dwithin("environments"."location", ST_PointFromText('POINT(170 0)', 4326), 300000)) AND (ST_X(location::geometry) > 170 );
ここでは、経度 170 度になるようにポイントをハードコードしました。
これの問題は、[-170,-180] 経度のポイントを一致させることができないことです。
postgis関数のみを使用してこれを解決する方法はありますか?
[編集] これは postgis に関する世界中の問題です。このアプリケーションでは、右側の特定の範囲内のポイントのみを見つけることができます.純粋な SQL では解決策を見つけることができません...
ありがとう!