Esta es una continuación de la pregunta anterior. Verás soy nuevo en PostGIS usuario.
He mirado en la validez de la topología en mis datos y encontrar alrededor de 1700 topología de problemas en la cubierta vegetal (polígono) conjunto de datos. Estos son todos los "Anillo Self_intersection".
El uso de información útil en esta presentación por Pablo Ramsay(página 20), he tratado de búfer de mis datos de acuerdo a:
ACTUALIZACIÓN del esquema.datos CONJUNTO de the_geom=buffer(the_geom,0.0) DONDE isvalid(the_geom)=false y isvalid(buffer(the_geom, 0.0))=true;
Pero me da la respuesta:
AVISO: el Anillo de Auto-intersección en o cerca del punto (editado) ERROR: la nueva fila para la relación "sgm_buffer" viola la restricción check "enforce_geotype_the_geom"
*** Error ***
ERROR: la nueva fila para la relación "sgm_buffer" viola la restricción check "enforce_geotype_the_geom" estado de SQL: 23514
También he hecho la prueba:
ACTUALIZACIÓN csgn.sgm_buffer CONJUNTO the_geom=buffer(the_geom,0.0)
y obtenemos:
ERROR: la nueva fila para la relación "sgm_buffer" viola la restricción check "enforce_geotype_the_geom"
*** Error ***
ERROR: la nueva fila para la relación "sgm_buffer" viola la restricción check "enforce_geotype_the_geom" estado de SQL: 23514
Así que asumo que este búfer técnica no funcionará en mis asuntos? O estoy haciendo algo mal?
Señor Ramsay pasa luego en el mismo documento para sugerir una técnica adicional para lidiar con la "figura de 8" polígonos. No estoy totalmente de entender cómo escribir esto en su totalidad en el código (o lo que está haciendo y si me va a ayudar):
SELECCIONE ST_BuildArea( ST_Union( 'LINESTRING VACÍO", ST_ExteriorRing( 'POLYGON((...))'
Así.... alguien puede ayudar? Esto está resultando en una verdadera pesadilla con mi apretado plazos y con habilidades limitadas en PostGIS.