5 votos

¿Cómo se puede mostrar con OpenLayers la geometría de regresar de un ST_Buffer en POSTGIS?

Im usando PostGIS, GeoServer y OpenLayers, y la cosa es que quiero mostrar la geometría resultado de una consulta como esta:

SELECT ST_Buffer(ST_GeomFromText('POINT(100 100)'), 500);

Para realizar consultas estoy usando Java, la línea que yo uso para realizar una consulta es la siguiente:

resulset = statement.executeQuery(query);

donde resulset es un ResulSet tipo de objeto, cuando convertirlo a String me sale lo siguiente:

org.postgresql.jdbc4.Jdbc4ResultSet@163b102

Mi pregunta es ¿cómo debo interpretar que para mostrar el POLÍGONO supongo que es allí en una capa? o estoy haciendo algo mal? Espero que alguien me pueda ayudar con esta pregunta, gracias.

5voto

Bunyamin Sari Puntos 129

Usted puede realizar operaciones con WKT regreso de consultas en postgis

SELECCIONE ST_ASTEXT(ST_Buffer(ST_GeomFromText (PUNTO(100 100)'), 500));

usted recibe WKT y uso Openlayer para convertir el wkt a la geometría y función. por ejemplo : var elemento = New OpenLayers.Formato.WKT().read('textWktFromRecordColumn');

Espero te sirva de ayuda. saludos

2voto

Adam Ernst Puntos 6939

Tener una mirada en el WPS addon para GeoServer - http://docs.geoserver.org/stable/en/user/extensions/wps/processes.html que proporciona una interfaz limpia para este tipo de consulta.

0voto

texai Puntos 178

si utiliza geodjango desde el lado del servidor, esto se puede lograr con la realización de raw consultas SQL...

por ejemplo :

con modelos en model.py

Person.objects.raw('''SELECT ST_Buffer(ST_GeomFromText('POINT(100 100)'), 500);''');

o la importación de algunos módulos para la conexión y consultas directamente a:

from django.db import connection, transaction
cursor = connection.cursor()

cursor.execute(SELECT ST_Buffer(ST_GeomFromText('POINT(100 100)'), 500))
row = cursor.fetchone() # .fetcall()

este es un dato retrievalling de trabajo para la ejecución de raw sql...

y la última palabra acerca de este geoquery

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