sql >> Databáze >  >> RDS >> PostgreSQL

Jak vložit bod GEOMETRIE PostGIS do Sequelize ORM?

Rozšíření o l0okyho odpověď, test má spoustu dobrých vodítek, jak používat json s různými typy geometrie. V zásadě se zdá, že sequelize rozvětví poskytnutý objekt geometrie za předpokladu, že je platný GeoJSON a napojí ho do funkce PostGIS ST_GeomFromGeoJSON. Proto stačí postupovat podle specifikace GeoJSON pro geometrické objekty.

Body:

var point = { type: 'Point', coordinates: [39.807222,-76.984722]};

User.create({username: 'username', geometry: point }).then(function(newUser) {
...
});

Řetězce:

var line = { type: 'LineString', 'coordinates': [ [100.0, 0.0], [101.0, 1.0] ] };

User.create({username: 'username', geometry: line }).then(function(newUser) {
...
});

Mnohoúhelníky:

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) {
...
});

Nastavení vlastního 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. Proč tento kód selže v PostgreSQL a jak to opravit (obešení)? Je to chyba enginu Postgres SQL?

  2. ColumnNotFound problém s Magic in play scala

  3. Jak mohu zkontrolovat duplikáty před vložením do tabulky při vkládání výběrem

  4. Najděte duplicitní řádky v databázi