問題タブ [geoalchemy2]
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.
sqlalchemy - geoalchemy2 および alembic を介して postgis で DB を更新する場合、タイプ「ジオメトリ」に対してタイプ修飾子は許可されません
新しい postgis ジオメトリ ポイントを追加するための私の alembic 更新スクリプトは次のようになります。
スクリプトを実行すると
次のエラーが発生します
私はpostgres 9.1、postgis 1.5、sqlalchemy 1.0.9、geoalchemy2 0.2.6を使用しています。
python-2.7 - ckanext-plugin 拡張機能のインストール後に CKAN サーバーがダウンする
以下の手順に従って、CKAN ckanext-spatial プラグインをインストールしようとしています。
インストールと構成の後、サイトのホームページにアクセスしようとすると、次の Apache サーバー エラーが発生します。CKAN は現在使用できません。GeoAlchemy のバージョンをアップグレードする必要がありますか? それとも拡張機能の問題ですか?
mod_wsgi (pid=29881): ターゲット WSGI スクリプト '/etc/ckan/default/apache.wsgi' を Python モジュールとしてロードできません。mod_wsgi (pid=29881): WSGI スクリプト '/etc/ckan/default/apache.wsgi' の処理中に例外が発生しました。トレースバック (最新の呼び出しが最後): ファイル "/etc/ckan/default/apache.wsgi"、10 行目、アプリケーション内 = loadapp('config:%s' % config_filepath) ファイル "/usr/lib/ckan/default/ lib/python2.7/site-packages/paste/deploy/loadwsgi.py"、247 行目、loadapp return loadobj(APP, uri, name=name, **kw) File "/usr/lib/ckan/default/ lib/python2.7/site-packages/paste/deploy/loadwsgi.py"、271 行目、loadobj global_conf=global_conf 内) ファイル "/usr/lib/ckan/default/lib/python2.7/site-packages/paste /deploy/loadwsgi.py"、296 行目、loadcontext global_conf=global_conf 内) ファイル"import (self.module_name, globals(),globals(), [' name ']) File "/usr/lib/ckan/default/src/ckan/ckan/config/middleware.py", line 26, in from ckan .config.environment import load_environment ファイル "/usr/lib/ckan/default/src/ckan/ckan/config/environment.py"、17 行目、インポート ckan.model のモデル ファイル "/usr/lib/ckan/default /src/ckan/ckan/model/ init .py"、7 行目、インポート vdm.sqlalchemy ファイル内"/usr/lib/ckan/default/lib/python2.7/site-packages/vdm/sqlalchemy/ init.py"、32 行目、from tools import Repository File "/usr/lib/ckan/default/lib/python2.7/site-packages/vdm/sqlalchemy/tools.py"、33 行目、raise ValueError(" VDM は SQLAlchemy バージョン 0.4 から 0.7 でのみ動作します。%s" % sqav では動作しません) ValueError: VDM は SQLAlchemy バージョン 0.4 から 0.7 でのみ動作し、1.0.12 では動作しません
sqlalchemy - sqlAlchemy は、ST_AsBinary を使用してジオメトリをバイトに変換します
次のように定義されたジオメトリ型の列を 1 つ持つ sqlAlchemy モデルがあります。
私は geoalchemy2 モジュールを使用しています:
次に、sqlAlchemy ORM を使用してクエリを作成すると、すべて正常に動作します。例えば:
データ = session.query(myModel).filter_by(...)
私の問題は、クエリ オブジェクトの sql ステートメントを取得する必要があるときに、次のコードを使用することです。
ただし、ジオメトリ型の列は Byte[] に変換されるため、結果の SQL ステートメントは次のようになります。
ジオメトリ型からバイト型への変換を回避するにはどうすればよいですか?
python - geoalchemy2 の 3D ポイント
geoalchemy2 の ORM に問題があります (と思います)。私のモデルは次のように定義されています。
後で次のように挿入します。
これにより、次のエラーが発生します。
python - GeoAlchemy2 で ST_Union を計算するには?
OsmAdminUnit (ポリゴン ジオメトリ) のインスタンスが OsmAdminAgg インスタンスにグループ化された、多対多の関係があります。
モデル定義は基本的に次のとおりです。
今私が苦労しているのは、特定の OsmAdminAgg に属する OsmAdminUnits を選択し、GeoAlchemy から ST_Union を適用して polgyons をマージすることです。
id=1 の admin agg に属するすべての管理ユニットを選択すると機能します。
しかし、その結果に ST_Union を適用する方法がわかりません。これまでの私のアプローチは次のとおりです。
では、これらのジオメトリの結合を取得し、それを GeoJSON として取得するにはどうすればよいでしょうか?
ところで、SQLAlchemy、Flask-SQLAlchemy、Geoalchemy2 を使用して、Flask の上にこれを構築しています。
python - SQL 関数を使用して SQLAlchemy と多対多の関係を作成するにはどうすればよいですか?
列を持つ 2 つのモデル間の関係を作成したいと考えていGeometry
ます。例えば:
この例では、Property
は多くServiceArea
の に関連付けられているServiceArea
可能性があり、 は多くのプロパティに関連付けられている可能性があります。ただし、リレーションシップに使用するセカンダリ テーブルはありません。すべてST_Contains
関数によって決定されます。
このコードを実行するたびに、「参照列が ForeignKey または ForeignKeyConstraint に関連付けられていること、または結合条件でforeign() 注釈が付けられていることを確認してください」sqlalchemy.exc.ArgumentError
という例外が表示されます。
(外部キーではありませんが)を追加するとforeign
、「remote() アノテーションを使用して、関係のリモート側にある結合条件の要素を正確にマークすることを検討してください」というエラーが表示されます。ServiceArea.geom
foreign
and をremote
別々に、または一緒に (たとえば、foreign(remote(ServiceArea.geom))
and )使用しようとしましremote(foreign(ServiceArea.geom))
たが、常に上記のエラーのいずれかが返されます。私は何を間違っていますか?
python - ng-map Drawing Manager から GeoAlchemy へ
アプリのユーザーが「領域」を (ポリゴンとして) 定義できるようにしようとしています。次に、他の人がポイント (緯度と経度) を照会して、そのポイントが誰の領域にあるかを判断できます。GeoAlchemy2 のドキュメントから、これは仕事に適したツールである可能性が高いと判断しました (私のアプリは現在開発中なので、私は他の提案を受け入れます.私は開発でフラスコ、フラスコ-sqlalchemy、およびSqliteを使用しています...製品でPostgresを計画しています.フロントエンド用のAngularJS)。
検索の結果、ng-map、特にここに表示されている描画マネージャー ディレクティブにたどり着きました。https://ngmap.github.io/#/!drawing-manager.html . この例を変更すると、Google の onMapOverlayCompleted オブジェクトにアクセスできます。そこに latLng オブジェクトが表示されますが、それをデータベースに保持できるものに変換する方法がわかりません。これをJSで行うと仮定すると、JSONにダンプしてFlask APIに送信できますか?
これを行う方法について誰かが私を正しい方向に向けることができますか? より良いアイデアを喜んで聞きます。
ありがとう。
その例のコードを次に示します。
「e」からポリゴンを取得するにはどうすればよいですか?
python - GeoAlchemy2 の Alembic 移行で NameError が発生する: name 'geoalchemy2' is not defined
Flask、postgresql、およびリーフレットを使用して小さな webapp を作成することにしました。postgresql 用のPostGISエクステンダーを使用して座標 (緯度と経度) を保存したかったのです。私のフラスコ アプリケーションは、データベース移行プロセスに Flask-SQLAlchemy、ブループリント、特に Flask-Migrate を使用しています。
以下は、私のデータベース モデルの抜粋です。
ここに私の app/ init .pyの抜粋があります
特定のエクステンダーを使用する前は、モデルを適応させる問題はありませんでした。それ以来、移行は問題なく行われていますが、アップグレードは機能しません (python manage.py db upgrade)。
ここでは、Web サーバーから取得したログを示します。
私は少し迷っており、この特定のテーマについてあまり助けが見つかりませんでした. この問題の原因について何か考えはありますか?