Для тех, кто все еще ищет ответ на этот вопрос без использования пространственного формата, я нашел кое-что, что работает.
Если у вас есть CSV и вы используете объединение, чтобы присоединить его к пространственному слою, один из вариантов объединения - это кэширование слоя. Вы можете перейти к этой опции, если перейдете к свойствам вашего слоя, затем к присоединенным данным и нажмите «Редактировать объединение». Если вы отключите опцию кэширования , вы можете перезагрузить слой данных после изменения CSV, а затем запустить перерисовку вашей карты, чтобы получить обновленный вид карты.
Вы можете выполнить перезагрузку и перерисовку в консоли Python. Во-первых, вы должны определить имя для холста карты, CSV и для слоя:
mc = iface.mapCanvas()
layer=mc.currentLayer()
csv_layer=mc.currentLayer()
Убедитесь, что слои активны, когда вы называете их в консоли при использовании метода currentLayer (это должен быть «текущий слой»).
Затем, если вы отключили опцию кэширования для своего объединения, вы можете изменить csv, а затем использовать следующие две команды в консоли Python для перерисовки вашей карты:
csv_layer.reload()
layer.triggerRepaint()
Это сработало для меня, но у меня было только 100 строк данных. Может случиться так, что операции будут медленными без кэширования, если у вас есть больший набор данных.