1 votos

columna adecuada tipo de datos para el almacenamiento de datos geojson y processign en PostGis

Tengo una tabla MySQL con 2 columnas, id, un id de geometría único, y GeoJSON almacenado como varchar, por ejemplo,

{"type": "Point", "coordinates": [116.4, 45.2, 11.1]}

{"type":"Polygon","coordinates":[[[-91.23046875,45.460130637921],[-79.8046875,49.837982453085],[-69.08203125,43.452918893555],[-88.2421875,32.694865977875],[-91.23046875,45.460130637921]]]}

{"type":"LineString","coordinates":[[-122.2963205,37.5359200],[-122.2975821,37.5370150]]}

{"type":"MultiPolygon","coordinates":[[[[-122.3035793,37.5391205],
[-122.3026703,37.5376882],[-122.3026739,37.5376868],[-122.3035843,37.5391212],[-122.3035326,37.5391600],[-122.3035298,37.5391576],[-122.3035793,37.5391205],[-122.3035793,37.5391205]]],[[[-122.3026703,37.5376882],[-122.3026703,37.5376882],[-122.3026703,37.5376882],[-122.3026703,37.5376882],[-122.3026703,37.5376882]]]]}

Deseo almacenar estos datos en PostGIS, y luego ejecutaré consultas para comprobar si una determinada lat/lon está en alguna de las geometrías almacenadas en la BD o las distancias a las mismas, etc.

Si utilizo el tipo de datos de geometría tendré que especificar el tipo como punto, polígono, etc, pero quiero todos los tipos en una columna.

1voto

George Puntos 2918

Puede definir su columna de geometría como una GeometryCollection. Luego puedes añadir el tipo de geometría que quieras en cada fila.

http://postgis.net/docs/using_postgis_dbmanagement.html#OpenGISWKBWKT

CREAR TABLA foo (

...

...

geom geometry(GeometryCollection,4326)

)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X