Używam QGIS do zilustrowania wyników mojej symulacji Matlab. Matlab tworzy plik CSV, który jest podłączony do pliku shapefile w QGIS.
W tej chwili muszę zamknąć i ponownie otworzyć QGIS, aby pokazać nowe wyniki symulacji Matlaba.
Czy można ponownie załadować tabelę atrybutów pliku CSV bez zamykania i ponownego otwierania QGIS?
Odpowiedzi:
Mogę zasugerować alternatywny przepływ pracy, który, choć niekoniecznie łatwiejszy niż zamykanie i otwieranie QGIS za każdym razem, może mieć większy sens:
Teraz możesz wyświetlać widok w QGIS, tak jak każdą warstwę przestrzenną, i używać wartości JOINed ze spatialite. Ale za każdym razem, gdy plik CSV jest ponownie tworzony, będziesz musiał ZROBIĆ wirtualną tabelę CSV i połączyć się z nią ponownie. Następnie odświeżenie w QGIS pokaże nowe wartości. To zajmuje tylko chwilę, a ponadto możesz zdefiniować wiele widoków i zachować poprzednie w razie potrzeby ...
HTH
źródło
Dla każdego, kto wciąż szuka odpowiedzi na to pytanie bez użycia formatu przestrzennego, znalazłem coś, co działa.
Jeśli masz plik CSV i używasz sprzężenia, aby połączyć je z warstwą przestrzenną, jedną z opcji łączenia jest buforowanie warstwy. Możesz przejść do tej opcji, jeśli przejdziesz do właściwości swojej warstwy, a następnie do połączonych danych i klikniesz edytuj dołącz. Jeśli wyłączysz opcję pamięci podręcznej , możesz ponownie załadować warstwę danych po zmianie pliku csv, a następnie uruchomić odświeżanie mapy, aby uzyskać odświeżony widok mapy.
Przeładowywanie i odświeżanie można wykonać w konsoli Python. Najpierw musisz zdefiniować nazwę płótna mapy, pliku csv i warstwy:
Pamiętaj, aby warstwy były aktywne, gdy nazywasz je w konsoli podczas korzystania z metody currentLayer (musi to być „bieżąca warstwa”).
Następnie, jeśli ustawisz opcję pamięci podręcznej jako wyłączoną dla swojego łączenia, możesz zmienić plik csv, a następnie użyć następujących dwóch poleceń w konsoli Python, aby przerysować mapę:
To działało dla mnie, ale miałem tylko 100 wierszy danych. Może się zdarzyć, że operacje będą przebiegały wolniej bez buforowania, gdy masz większy zestaw danych.
źródło
Otwórz właściwości warstwy pliku kształtu i przejdź do
General
-Coordinate reference system
kliknijCreate spatial index
. Po zakończeniu plik kształtu jest odświeżany.źródło