4 votos

Alternativa a la Consulta Espacial de datos de gran tamaño

Tengo alrededor de 110000 puntos de datos repartidos por todo el mundo. el shapefile es el tamaño de 116 Mb. Quiero seleccionar los puntos que están en el interior de asia.

He estado usando qgis, pero esta vez de qgis es no ser capaz de procesar (le da un no responder el mensaje, e incluso después de esperar 10 min, no responde). Lo he probado con la versión de qgis 1.8 y 2.2.

Existe un método para realizar este tipo de operación con éxito?

3voto

Lucia Bentivoglio Puntos 213

Yo segundo con PostGIS, va a hacer que esto vaya mucho más rápido y puede utilizarse en QGIS (esto es lo que QGIS fue inicialmente escrito para hacer según el autor). A continuación, crear un índice espacial en sus puntos de datos y agregar un polígono tabla de límites políticos de los países. A continuación, utilice la extraordinaria rapidez BBOX la indexación de la consulta de búsqueda que es parte de la ST_Intersects función.

create index points_idx on points_shapefile using gist(geom);
create index country_idx on country_shapefile using gist(geom);
select id, geom from points_shapefile 
where 
st_intersects(points_shapefile.geom,country_shapefile.geom);

mientras estás en ello, bien podría también agregar una columna llamada campo a su mesa a China, por lo que puede acelerar el proceso en el futuro. Entonces, usted puede simplemente hacer la consulta como esta

alter table points_shapefile add column country varchar;
update points_shapefile 
set country = "China"
where St_Intersects(points_shapefile.geom,country_shapefile.geom)

y a partir de entonces sólo se podía consultar la tabla como

select column1,column2,... from points_shapefile where country = 'China';

Si está seguro de que el país shapefile BBOX no se cruzan otros países sobre la base de donde usted está mirando dentro de CHINA, usted puede acelerar el proceso aún más por solo hacer una búsqueda en un índice sin la más exacta de la búsqueda de si realmente se cruzan

select id, geom from points_shapefile where points_shapefile.geom && country_shapefile.geom;

el && es el BBOX cruza operador

Este cuadro delimitador de la operación se realiza por el planificador de consultas de forma automática en ST_Instersects, como va a ver si haces un explain analyze antes de ejecutar la consulta.

ver http://postgis.net/docs/manual-1.4/ch04.html para una descripción de cómo utilizar esta funcionalidad. Después de un poco de una curva de aprendizaje, usted probablemente encontrará trabajando con PostGIS y el uso de QGIS como un espectador de PostGIS tablas mucho más rápido y más potente que el uso de la QGIS equivalente (que creo que se basa en PostGIS bajo el capó de todos modos)

2voto

ddiepo Puntos 11

Sugiero almacenar los puntos y esquema de geometrías en un local de la base de datos postGIS. Vas a tener ningún problema en la realización de un espacio en la selección de este tamaño.

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