Estou tentando mapear um CSV com mais de um milhão de pontos lat / lon nos EUA sem metadados. Nunca tentei mapear tantos dados e quero saber quais etapas devo seguir. Sei que há muitos dados para o QGIS, então tentei dividi-los em 100.000 linhas de CSVs, mas obtive muitos arquivos com os quais não sabia o que fazer. Eu estou pensando que talvez seja melhor agregar os pontos por bloco de censo, mas não sei a melhor maneira de fazer isso usando Javascript (eu nunca usei Python) ou ferramentas de linha de comando? Alguma sugestão?
9
Respostas:
Eu recomendaria o uso do PostgreSQL / PostGIS, uma vez que é suportado nativamente pelo QGIS, possui algumas funções internas úteis para se juntar a outros dados espaciais (como setores censitários), e o uso de um banco de dados deve limitar problemas de memória com grandes conjuntos de dados. Meu conjunto de etapas recomendado está abaixo. Para executar comandos SQL, você pode usar o PGAdmin ou o QGIS; o primeiro fornecerá erros mais informativos nas consultas, o último permitirá que você carregue os resultados das consultas como camadas em um mapa. Para acessar o último, acesse
Database > DB Manager > DB Manager
e clique no segundo botão.CREATE TABLE
comando ( exemplo ) na Janela SQL do QGIS ou na Janela SQL do PGAdminImport...
(este último pode ser delicado, por isso recomendo COPY para conjuntos de dados maiores).Adicione uma coluna de geometria à sua tabela executando o seguinte SQL na janela PGAdmin ou QGIS SQL.
Crie as geometrias de pontos usando algo como
Exiba um subconjunto de dados usando uma
SELECT
instrução com algo comoLIMIT 50000
Ou junte-se aos dados do censo com algo como
SELECIONE c.gid, c.geom
DO censo c
INNER JOIN yourdata ON ST_Within (yourdata.geom, c.geom)
Referências de função:
ST_Within
ST_MakePoint
ST_SetSRID
fonte
Import...
para acessar o assistente de Importação ou use um comando COPY postgresql.org/docs/current/static/sql-copy.html Eu atualizarei a respostaRecentemente, trabalhei com um conjunto de dados de 1,4 milhão de pontos importados de um CSV. Certifiquei-me de excluir quaisquer campos irrelevantes no csv. Funcionou bem para mim, apesar de alguns processos demorarem um pouco para serem executados. (QGIS 2.12, Windows 7 de 64 bits, 8 GB de RAM)
fonte
Um candidato R fwiw, no pseudocódigo:
Isso fornecerá a você um filepoints.tab no diretório de trabalho que você pode ler com o QGIS. Ou escolha "ESRI Shapefile" para criar um filepoints.shp ou qualquer formato que você precisar. O QGIS usa o GDAL da mesma forma que o rgdal, por isso há muita sobreposição. Existem mecanismos análogos do Python.
Como você não possui nenhum metadado, é possível definir um conjunto após atribuir coordenadas (x) para definir proj4string (x) <- CRS ("+ proj = algo + etc"), mas só podemos adivinhar seus dados.
fonte