Я пытаюсь нанести на карту CSV с более чем миллионом точек в США без метаданных. Я никогда не пытался отобразить столько данных и хочу знать, какие шаги мне следует предпринять. Я знаю, что это слишком много данных для QGIS, поэтому я попытался разбить их на 100 000 строчных CSV, но потом получил много файлов, с которыми я не знал, что делать. Я думаю, что было бы лучше объединить точки по блоку переписи, но не знаете лучший способ сделать это, используя Javascript (я никогда не использовал Python) или инструменты командной строки? Какие-либо предложения?
9
Ответы:
Я бы порекомендовал использовать PostgreSQL / PostGIS, так как он изначально поддерживается QGIS, имеет несколько удобных встроенных функций для соединения с другими пространственными данными (такими как участки переписи), а использование базы данных должно ограничивать проблемы с памятью с большими наборами данных. Мой рекомендуемый набор шагов ниже. Для выполнения команд SQL вы можете использовать PGAdmin или QGIS, первая из которых даст вам более информативные ошибки в запросах, а вторая позволит вам загружать результаты запросов в виде слоев на карте. Для доступа к последнему перейдите
Database > DB Manager > DB Manager
и нажмите на вторую кнопку.CREATE TABLE
команду ( пример ) либо в окне SQL QGIS, либо в окне SQL PGAdminImport...
(последний вариант может быть деликатным, поэтому я рекомендую COPY для больших наборов данных).Добавьте столбец геометрии в таблицу, выполнив следующий SQL-запрос в PGAdmin или в окне QGIS SQL.
Создайте геометрию точек, используя что-то вроде
Показать подмножество данных, используя
SELECT
оператор с чем-то вродеLIMIT 50000
Или присоединитесь к данным переписи с чем-то вроде
ВЫБЕРИТЕ c.gid, c.geom
ОТ ПЕРЕПИСИ c
ВНУТРЕННИМ СОЕДИНЕНИЕМ ваших данных НА ST_Within (yourdata.geom, c.geom)
Ссылки на функции:
ST_Within
ST_MakePoint
ST_SetSRID
источник
Import...
чтобы получить доступ к мастеру импорта, или использовать команду COPY postgresql.org/docs/current/static/sql-copy.html Я обновлю ответНедавно я работал с набором данных в 1,4 миллиона точек, импортированных из CSV. Я убедился, чтобы удалить все ненужные поля в CSV. Для меня это работало нормально, хотя для выполнения некоторых процессов потребовалось немного времени. (QGIS 2.12, 64-битная Windows 7, 8 ГБ ОЗУ)
источник
Кандидат в R, в псевдокоде:
В результате вы получите файл filepoints.tab в рабочем каталоге, который вы можете прочитать с помощью QGIS. Или выберите «ESRI Shapefile», чтобы создать файл filepoints.shp или любой другой формат, который вам нужен. QGIS использует GDAL так же, как и rgdal, так что есть много совпадений. Есть аналогичные механизмы Python.
Поскольку у вас нет метаданных, вы можете иметь набор после назначения координат (x) для установки proj4string (x) <- CRS («+ proj = что-то + и т. Д.»), Но мы можем только догадываться о ваших данных.
источник