sql >> データベース >  >> RDS >> PostgreSQL

Sequelize ORMにPostGISGEOMETRYポイントを挿入するにはどうすればよいですか?

    l0okyの答えを拡張して、統合テスト さまざまなタイプのジオメトリでjsonを使用する方法について多くの良い手がかりがあります。基本的に、sequelizeは、提供されたジオメトリオブジェクトが有効なGeoJSONであると想定して文字列化し、PostGIS関数ST_GeomFromGeoJSONにパイプするように見えます。したがって、GeoJSON仕様 に従うだけです。 ジオメトリオブジェクトの場合。

    ポイント:

    var point = { type: 'Point', coordinates: [39.807222,-76.984722]};
    
    User.create({username: 'username', geometry: point }).then(function(newUser) {
    ...
    });
    

    線ストリング:

    var line = { type: 'LineString', 'coordinates': [ [100.0, 0.0], [101.0, 1.0] ] };
    
    User.create({username: 'username', geometry: line }).then(function(newUser) {
    ...
    });
    

    ポリゴン:

    var polygon = { type: 'Polygon', coordinates: [
                 [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
                   [100.0, 1.0], [100.0, 0.0] ]
                 ]};
    
    User.create({username: 'username', geometry: polygon }).then(function(newUser) {
    ...
    });
    

    カスタムSRIDの設定:

    var point = { 
      type: 'Point', 
      coordinates: [39.807222,-76.984722],
      crs: { type: 'name', properties: { name: 'EPSG:4326'} }
    };
    
    User.create({username: 'username', geometry: point }).then(function(newUser) {
    ...
    });
    


    1. mysql-pythonを使用してさまざまなクエリを実行する

    2. mysqlはアクセント付き文字を置き換えます

    3. データガバナンスに人間的なアプローチをとる

    4. RODBCを使用してRをPostgreSQLに接続しようとしたときにエラーが発生しました