Necesidad de implementar análisis espacial en Postgresql. Can Any one guide me to accomplish the spatial analysis eg) 2 km buffer for road network layer.
Respuestas
¿Demasiados anuncios?SELECT x.* from table road as r , x where ST_Intersects(STBuffer(r.the_geom, 2000), x.the_geom) IS TRUE
suponiendo que desea que todas las columnas de la tabla x intersecan carretera + 2 km de área de amortiguamiento (y la proyección utilizada utiliza metros) . También puede utilizar más rápido ST_DWithIN(r.geom, x.geom, 2000) (ver Manual Postgis )
No puedo adivinar qué tipo de análisis quieres hacer después, pero eso debería orientarte en la dirección correcta.
Si estás intentando crear una función con buffer, ST_Buffer funcionará. Si usted está tratando de seleccionar otras características basadas en una distancia de su red de carreteras, usted debe considerar el uso de ST_DWithin, tanto como @simplexio sugerido.
Vea preguntas similares que deberían ayudarle:
- ¿Cuándo debo utilizar ST_Buffer?
- ¿Cómo seleccionar todos los puntos dentro de un círculo en PostGIS?
- Ayuda de PostGIS ST_Buffer Radius
Si usted está empezando con PostGIS, creo que probablemente se beneficiaría de ir a través del material presentado en otras preguntas ya en GIS.StackExchange.
- Cómo empezar a utilizar PostGIS
- Recursos de aprendizaje de bases de datos espaciales para principiantes
- ¿Cuáles son algunos buenos libros o artículos introductorios sobre SIG de código abierto para estudiantes procedentes de ESRI?
Además, la compra y lectura del libro " PostGIS en acción "así como leer los numerosos tutoriales del blog del editor en http://www.bostongis.com/