Estoy tratando de mapear un CSV con más de un millón de puntos lat / lon en los Estados Unidos sin metadatos. Nunca he intentado asignar tantos datos y quiero saber qué pasos debo seguir. Sé que son demasiados datos para QGIS, así que intenté dividirlos en CSV de 100,000 líneas, pero luego obtuve muchos archivos con los que no sabía qué hacer. Estoy pensando que podría ser mejor agregar los puntos por bloque de censo, pero no sé la mejor manera de hacerlo usando Javascript (nunca he usado Python) o herramientas de línea de comandos. ¿Alguna sugerencia?
9
Respuestas:
Recomendaría usar PostgreSQL / PostGIS, ya que es compatible de forma nativa con QGIS, tiene algunas funciones integradas útiles para unirse con otros datos espaciales (como secciones censales), y el uso de una base de datos debería limitar los problemas de memoria con grandes conjuntos de datos. Mi conjunto de pasos recomendado está a continuación. Para ejecutar comandos SQL, puede usar PGAdmin o QGIS, el primero le dará más errores informativos en las consultas, el segundo le permitirá cargar los resultados de las consultas como capas en un mapa. Para acceder a este último, vaya
Database > DB Manager > DB Manager
y haga clic en el segundo botón.CREATE TABLE
comando ( ejemplo ) en la ventana QGIS SQL o en la ventana SQL de PGAdminImport...
(este último puede ser delicado, por lo que recomendaría COPIAR para conjuntos de datos más grandes).Agregue una columna de geometría a su tabla ejecutando el siguiente SQL en PGAdmin o en la ventana QGIS SQL.
Cree las geometrías de puntos usando algo como
Mostrar un subconjunto de datos mediante el uso de una
SELECT
declaración con algo comoLIMIT 50000
O únete a los datos del censo con algo como
SELECCIONE c.gid, c.geom
DESDE el censo c
INTERIOR ÚNASE a sus datos EN ST_Within (yourdata.geom, c.geom)
Referencias de funciones:
ST_Within
ST_MakePoint
ST_SetSRID
fuente
Import...
para acceder al asistente de importación, o usar un comando COPY postgresql.org/docs/current/static/sql-copy.html Actualizaré la respuestaRecientemente trabajé con un conjunto de datos de 1,4 millones de puntos importados de un CSV. Me aseguré de eliminar cualquier campo irrelevante en el csv. Funcionó bien para mí, aunque algunos procesos tardaron un poco en ejecutarse. (QGIS 2.12, Windows 7 de 64 bits, 8 Gb de RAM)
fuente
Un candidato R fwiw, en pseudocódigo:
Esto le dará una pestaña filepoints.tab en el directorio de trabajo que puede leer con QGIS. O elija "ESRI Shapefile" para crear un filepoints.shp, o el formato que necesite. QGIS usa GDAL al igual que rgdal, por lo que hay mucha superposición. Existen mecanismos análogos de Python.
Como no tiene metadatos, puede tener un conjunto después de asignar coordenadas (x) para establecer proj4string (x) <- CRS ("+ proj = something + etc") pero solo podemos adivinar sus datos.
fuente