問題タブ [geoalchemy]

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 投票する
2 に答える
952 参照

python-2.7 - 列のオーバーライドでメタクラスを使用した SQLAlchemy リフレクション

Pythonメタクラスを使用してマッピングしている一連の動的データベーステーブル(PostGISを使用したPostgres 9.3)があります:

ここで、db.Model はフラスコ sqlalchemy による db オブジェクトで、tablename は少しの Unicode です。cls はアプリケーション全体のディクショナリにcurrent_app.class_references(Flask の current_app を使用して) 追加され、クラスを複数回インスタンス化しようとする試みを回避します。

wkb_geometry各テーブルには、 Well Known Binaryに格納されたジオメトリ列が含まれています。これらをマップしてgeoalchemy2を使用し、GeoJSON を取得するという最終目標を達成したいと考えています。

テーブルをアプリオリに宣言する場合は、次を使用します。

cls1これを動的に実行しようとしているので、既知の型でリフレクションをオーバーライドできる必要があります。

試み:

  1. リフレクション オーバーライド構文を使用して、列を明示的に定義します。

    /li>

新たに再起動すると、つまり、クラスはまだインスタンス化されていません: InvalidRequestError: テーブル 'tablename' は、この MetaData インスタンスに対して既に定義されています。'extend_existing=True' を指定して、既存のテーブル オブジェクトのオプションと列を再定義します

  1. 上で定義したクラスで mixin を使用します (sans tablename ):

    /li>

再びメタデータの問題。

  1. クラスがインスタンス化された後、列定義属性をオーバーライドします。

    /li>

結果は次のとおりです。

InvalidRequestError: 属性 'wkb_geometry' の下で列 tablename.wkb_geometry を列 tablename.wkb_geometry と暗黙的に組み合わせています。これらの同じ名前の列の 1 つ以上の属性を明示的に構成してください。

メタデータ構造を使用して動的リフレクションをサポートし、*すべてのテーブルで使用できることがわかっている列をオーバーライドすることは可能ですか?

0 投票する
2 に答える
2180 参照

python-2.7 - sqlalchemy marshmallow を使用して Geography 列の型をシリアル化するのが難しい

Marshmallow を使用して SQLAlchemy オブジェクトの逆シリアル化とシリアル化を実行しようとしていますが、ORM で地理フィールドを処理するときに問題が発生します。

まずモデル:

次に、マシュマロ スキーマ:

次に、実行しようとしたときのエラー:

場所フィールドでいくつかのオーバーライドを試みましたが、役に立ちませんでした。どんな助けでも大歓迎です。

2016 年 1 月 24 日更新

これは、より単純なモデルを使用した瞬間としての私のコードです。

SQLAlchemyModel:

marshmallow_sqlalchemy スキーマ オブジェクト

提案による他の配管:

コードの実行中:

私が得る結果は次のとおりです。

0 投票する
2 に答える
560 参照

python-2.7 - ckanext-plugin 拡張機能のインストール後に CKAN サーバーがダウンする

以下の手順に従って、CKAN ckanext-spatial プラグインをインストールしようとしています。

http://docs.ckan.org/projects/ckanext-spatial/en/latest/install.html#ubuntu-12-04-postgresql-9-1-and-postgis-1-5

インストールと構成の後、サイトのホームページにアクセスしようとすると、次の 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 では動作しません

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

python - GeoJSON で SDO_GEOMTRY を変換する方法

私は sqlalchemy と geoalchemy を使用しており、結果を geojson に変換します。このような通常の方法で:

cx_Oracle.Objets はシリアル化できないため、これは不可能です。次のような個別の属性を介してアクセスできます。

これが私のプログラムです:

すべての cx_Oracle.Objects を GeoJSON に変換しますが、どのようにしますか? インターネットでは、SQL開発者で正常に動作する関数sdo2geojsonですが、もちろん、この関数はpythonでは不明です...

誰かが私を助けてくれることを願っています???

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

python - postgres で sqlalchemy を使用して複合データ型にアクセスする

sqlalchemy を使用して、python の tiger.geocode 関数から複合列を引き出そうとしています。
純粋な SQL 形式では、これは次のようになります。

これにより、次の出力が生成されます。

私が直面している問題は、sqlalchemy (rating、lon、lat、stno、street、styp、city、st、zip) からオブジェクトを照会するときに複合列を参照する方法です。

よろしくお願いします。