Я использую QGIS, чтобы проиллюстрировать результаты моего моделирования Matlab. Matlab создает файл CSV, который подключен к шейп-файлу в QGIS.
На данный момент я должен закрыть и снова открыть QGIS, чтобы показать новые результаты моделирования Matlab.
Можно ли перезагрузить таблицу атрибутов файла CSV без закрытия и снова открыть QGIS?
Ответы:
Я могу предложить альтернативный рабочий процесс, который, хотя и не обязательно проще, чем закрывать и открывать QGIS каждый раз, может иметь больше смысла:
Теперь вы можете отображать вид в QGIS, как и любой пространственный слой, и использовать значения JOINed из пространственного объекта. Но каждый раз, когда CSV воссоздается, вам нужно будет УДАЛИТЬ виртуальную таблицу CSV и повторно связать ее. Затем обновление в QGIS покажет новые значения. Это займет всего минуту, и, более того, вы можете определить множество представлений и сохранить предыдущие при необходимости ...
НТН
источник
Для тех, кто все еще ищет ответ на этот вопрос без использования пространственного формата, я нашел кое-что, что работает.
Если у вас есть CSV и вы используете объединение, чтобы присоединить его к пространственному слою, один из вариантов объединения - это кэширование слоя. Вы можете перейти к этой опции, если перейдете к свойствам вашего слоя, затем к присоединенным данным и нажмите «Редактировать объединение». Если вы отключите опцию кэширования , вы можете перезагрузить слой данных после изменения CSV, а затем запустить перерисовку вашей карты, чтобы получить обновленный вид карты.
Вы можете выполнить перезагрузку и перерисовку в консоли Python. Во-первых, вы должны определить имя для холста карты, CSV и для слоя:
Убедитесь, что слои активны, когда вы называете их в консоли при использовании метода currentLayer (это должен быть «текущий слой»).
Затем, если вы отключили опцию кэширования для своего объединения, вы можете изменить csv, а затем использовать следующие две команды в консоли Python для перерисовки вашей карты:
Это сработало для меня, но у меня было только 100 строк данных. Может случиться так, что операции будут медленными без кэширования, если у вас есть больший набор данных.
источник
Откройте свойства слоя шейп-файла и перейдите к
General
-Coordinate reference system
, щелкнитеCreate spatial index
. Как только он закончен, шейп-файл обновляется.источник