Viac

Neplatný GeoJSON pri vkladaní údajov do tabuľky CartoDB (PostGIS) z letáku

Neplatný GeoJSON pri vkladaní údajov do tabuľky CartoDB (PostGIS) z letáku


Sledoval som tento návod od CartoDB.

Vytvorím GeoJSON pomocou:

var drawing = "'" + JSON.stringify (layer.toGeoJSON ()) + "'";

a následné vloženie pomocou vlastnej funkcie SQL, ktorá obsahuje:

_the_geom: = ST_SetSRID (ST_GeomFromGeoJSON (_geojson), 4326);

Zobrazuje sa mi chyba:Neplatné zastúpenie GeoJSON. Skúsil som zadať sql, ktorý môj javascript produkuje priamo do konzoly CartoDB, a dostať rovnakú chybu. Príklad nižšie.

SELECT insert_data ('{"type": "Feature", "properties": {}, "geometry": {"type": "Point", "Coordinates": [- 71.11295700073242,42.37896312335581]}}')

Čítanie dokumentácie k funkcii, ktorú som čítal "ST_GeomFromGeoJSONfunguje iba pre fragmenty geometrie JSON. Vyvolá chybu, ak sa ju pokúsite použiť v celom dokumente JSON. „Môže sa chyba vyskytnúť kvôli prázdnemu objektu vlastností?


TheST_GeomFromGeoJSONskutočne očakáva, že bude nakŕmenýgeometriačasti objektu, takže to funguje:

vyberte st_astext (st_geomfromgeojson ('{"type": "Point", "Coordinates": [-71.11295700073242,42.37896312335581]}'));

Vo svojom JS by ste teda chceli niečo viac:

var drawing = "'" + JSON.stringify (layer.toGeoJSON (). geometry) + "'";