MMQGIS
Nazwa: mmqgis
Autor: Michael Minn
Wersja: 2017.02.28
Repozytorium: QGIS Contributed Repository
Data aktualizacji: 15.03.2017

W tym artykule omówiona zostanie funkcjonalność wtyczki MMQGIS. Ściślej rzecz ujmując jest to zestaw kilkunastu narzędzi do operacji na warstwach wektorowych. Po zainstalowaniu narzędzia w pasku menu pojawi się nowa pozycja „MMQGIS”

Lista omówionych narzędzi:

1. Attributes export to csv file

2. Attribute join from csv file

3. Create grid layer

4. Create label layer

5. Geocode with Google

6. Geometry export to csv file

7. Geometry import from csv file

8. Gridify

9. Hub distance

10. Merge layers

11. Select

12. Sort

13. Text to float

14.Voronoi diagram

1. Attributes export to csv file.

Ten moduł umożliwia eksportowanie zawartości tabeli atrybutów do pliku CSV. Narzędzie przydatne gdy istnieje potrzeba przetwarzania jedynie danych opisowych lub ich wymiany w ogólnie rozpoznawalnym standardzie zapisu. Tak wyeksportowane atrybuty możena zaimportować do bazy danych, połączyć z istniejącymi już tabelami, lub po prostu otworzyć i przetwarzać w arkuszu kalkulacyjnym. Podstawowymi opcjami do wyboru narzędzia są:

  • kolumny które chcemy wyeksportować
  • rodzaj separatora (przecinek, pionowa linia, spacja)
  • format końca linii (CRLF – Windows, LF – Unix i Mac OS X)
  • ścieżka zapisu pliku CSV

1

2. Attribute join from csv file.

Narzędzie umożliwia import atrybutów z pliku .csv oraz połączenie importowanych atrybutów z istniejącą tabelą na podstawie wskazanych pól – „CVS File Field” oraz „Join Layer Attribute”. Rekordy, które nie zostały dopasowane w procesie łączenia, zostaną zapisane we wskazanym miejscu na dysku – „Not Found CSV Output List”.

2
Pozostałe opcje to : „Output Shapefile” – ścieżka zapisu połączonych danych, oraz „Join Layer” – wybór warstwy do której ma być dołączony plik CSV, spośród warstw wczytanych do QGIS.

3. Create grid layer

3Narzędzie daje możliwość stworzenia siatki współrzędnych w formacie wektorowym z przypisanymi do niej atrybutami w określonym układzie współrzędnych. W ustawieniach narzędzia możemy zdefiniować początek siatki („Center X, Center Y”). Współrzędne wpisujemy w jednostkach zdefiniowanego dla projektu układu współrzędnych. Następnie należy podać szerokość i wysokość obszaru, dla którego ma być wygenerowana siatka („width i height„) oraz odstęp pomiędzy kolejnymi liniami siatki („H/V Spacing„). Po ustawieniu tych parametrów możemy wybrać 4 różne typy siatki:

  • Rectangular (line): linie reprezentujące określoną szerokość i długość geograficzną.
  • Rectangular (polygon): linie reprezentujące określoną szerokość i długość geograficzną będące bokami tworzonych poligonów. Atrybuty generowane są dla środka poligonu.
  • Diamond (polygon): tworzy siatkę przylegających poligonów w kształcie rombu. Atrybuty generowane są dla środka poligonu.
  • Hexagon (polygon): tworzy siatkę złożoną z przylegających heksagonów. Proporcja pomiędzy odstępami obiektów na osi X i Y jest stała. Zmiana odstępu w na osi X automatycznie zmieni odstęp na osi Y o tą samą wartość. Atrybuty generowane są dla środka poligonu (Michael Minn, 2012)

4. Create label layer

Narzędzie tworzy warstwę punktową do której przypisane są etykiety. Dzięki temu istnieje możliwość umiejscowienia punktu wraz z opisem w dowolnym miejscu na obszarze zainteresowania. Dzięki opcjom narzędzia możemy pozbyć się duplikatów etykiet poprzez stworzenie nowych etykiet dla określonego atrybutu w tabeli warstwy źródłowej.

Okno narzędzie jest proste w obsłudze i wymaga wprowadzenia jedynie 3 parametrów:

  • Warstwy źródłowej34
  • Atrybutu dla którego chcemy utworzyć etykiety
  • Ścieżki zapisu i nazwy warstwy wynikowej (ptk)

Należy dodać, że w przypadku wielu obiektów o tej samej etykiecie punkty z opisem tworzone są dla współrzędnych które są średnią obliczoną ze współrzędnych środka każdego z obiektów – czyli dla wspólnej centroidy. Warstwa wynikowa automatycznie zostaje dodana do widoku i ostatnim krokiem jest włączenie wyświetlania opisów dla tej warstwy oraz skorygowanie położenia etykiet z godnie z potrzebami.

Dzięki tej funkcji możemy tworzyć złożone opisy (wielowierszowe) i zachować indywidualną kontrolę nad każdym z nich. Podobną funkcję posiada narzędzie fToolspolygon centroids tool, lecz działa jedynie na warstwach poligonowcyh i nie usuwa duplikatów etykiet.

5. Geocode from Google

Dzięki tej funkcji użytkownik posiada możliwość geokodowania adresów zapisanych w pliku CSV w oparciu o Google Maps API. W pliku wejściowym CSV w osobnych kolumnach powinny znajdować się atrybuty opsiujące lokalizacje danych punktów:

  • Address field – Ulica
  • City field – Miasto
  • State field – (np. Utah w USA) w polskich realiach odpowiednik województwa lecz dla poprawnego działania niema konieczności podawania tego atrybutu.
  • Country field – Kraj

Dla poprawnego działania narzędzia wystarczy jeden z wyżej wymienionych atrybutów (np. miasto), lecz ilość wprowadzonych danych zwiększy dokładność geokodowania. Wynikiem jest warstwa punktowa poprawnie odnalezionych adresów oraz plik CSV zawierający rekordy, które nie zostały poprawnie przypisane.

Podczas użytkowania narzędzia należy pamiętać, że Google stosuje dzienne limity ilości geokodowanych adresów. Limit ten wynosi 15,000 adresów na 24 godzinny.

6. Geometry export to CSV

Jest prostym narzędziem umożliwiającym eksport określonej warstwy wektorowej do pliku CSV.5
Po wybraniu warstwy, którą chcemy eksportować należy wybrać nazwę pliku oraz ścieżkę zapisu dla dwóch plików CSV. Jeden z nich (nodes.csv) zawiera współrzędne x i y punktów bądź węzłów (poligonu lub linii) oraz pole shapeid w którym zapisany jest unikalny identyfikator dla każdego z obiektów (np. dla jednego poligonu każdy z węzłów będzie posiadał tą samą wartość shapid). Drugi plik CSV będzie zawierał pozostałe atrybuty eksportowanej warstwy oraz pole shapeid, dzięki któremu oba wyeksportowane pliki można połączyć. Istnieje również możliwość wyboru rodzaju separatora oddzielającego poszczególne kolumny i końca linii w pliku (analogicznie do narzędzia Attributes export to csv file).
7. Geometry import from CSV file
Dzięki tej funkcji możemy zaimportować dane zapisane w pliku CSV i wyświe tlić je jako warstwę6
wektorową. Pierwszym krokiem jest wybór pliku CSV, który chcemy zaimportować. Następnie należy określić, które kolumny w tym pliku przechowują współrzędne X i Y (Longitude Column i Latitude Column). Następnie określić wybrać kolumnę identyfikującą poszczególne obiekty dzięki unikalnej numeracji (shapeid). Ostatnim krokiem jest określenie importowanego typu geometrii (punkt, poligon, linia) oraz nazwy pliku i ścieżki zapisu.
Podczas importu w tabeli atrybutów pozostaną jedynie kolumny zawierające współrzędne oraz identyfikator obiektu (shapeid). Pozostałe dane opisowe możemy dołączyć z osobnego pliku po zakończeniu importu.
8. Gridify
Czasem dokładność poszczególnych obiektów wektorowych jest większa niż wymaga tego końcowy produkt kartograficzny, lub poprostu chcemy przyspieszyć wyświetlanie złożonych obiektów. Narzędzie Gridify jest prostym sposobem generalizacji obiektów wektorowych. W procesie generalizacji każdy z węzłów poszczególnych obiektów umieszczany jest w punktach przecinania się linii wiodących siatki, której właściwości określamy w oknie wtyczki (H spacing i V spacing). Pozostałe punkty zostają usunięte. W ustawieniach narzędzia możemy określić odstępy pomiędzy poszczególnymi liniami siatki w pionie i poziomie.
Odstępy określane są w jednostkach układu współrzędnych projektu Qgis i należy dobierać je uważnie zależnie od generalizowanej warstwy aby uniknąć zbyt dużych zniekształceń obiektów źródłowych.
Poza parametrami opisanymi powyżej, należy wybrać warstwę wejściową oraz nazwę i ścieżkę zapisu wyniku generalizacji.

Gridify – wynik generalizacji (michaelminn.com)

9. Hub Distance
Dzięki prostym analizom odległości dla każdego punktu warstwy wejściowej możemy odnaleźć najbliżej położony punkt z7 punkty źródłowe (source points) kolejnej warstwy punktowej (Hub) oraz narzędzie zwróci nam, w tabeli atrybutów, odległość podaną w jednostkach mapy. Wynik może być automatycznie dodany do widoku w QGIS oraz może zostać zapisany jako warstwa punktowa, lub proste linie z punktu A do B. Parametry, które należy podać to:
  • punkty węzłowe (destination hubs)
  • pole z w tabeli z którego pobrana zostanie nazwa każdego z nowo utworzonych obiektów (Hub layer name attribute)
  • rodzaj warstwy wejściowej – punkty lub linie (output shape type)
  • dodanie warstwy wynikowej do widoku (add distance layer to project)

10. Merge Layers

Narzędzie to posiada funkcjonalność bardzo podobną do narzędzia „Połącz pliki shape w jeden”, wtyczki Ftools, opisanej już na naszym portalu. Dzięki tej opcji możemy połączyć wybrane warstwy wektorowe w jedną. Warunkiem koniecznym jest wcześniejsze dodanie ich do widoku QGIS. Łączone warstwy powinny zawierać ten sam typ geometrii (punkty, linie lub poligony). Dla rekordów, które nie będą posiadać atrybutów w określonych kolumnach, po połączeniu tabel, przypisana zostanie wartość „Null”. Wszystkie kolumny wszystkich łączonych tabel zostają zachowane. W oknie dialogowym narzędzia wyświetlone zostaną wszystkie dodane do widoku warstwy. Należy zaznaczyć na liście warstwy które chcemy połączyć, wybrać nazwę oraz ścieżkę zapisu warstwy wynikowej i kliknąć „OK”
11. Select
Funkcja ta realizuje proces selekcji rekordów według określonych atrybutów. W formie graficznej implementuje jedno z bardziej podstawowych 9zapytań SQL – więcej o pracy z tabelami atrybutów tutaj. W oknie dialogowym wybieramy warstwę, na której chcemy dokonać selekcji, w tabeli atrybutów które chcemy „odpytać” oraz następnie operator. Lista operatorów daje nam możliwość pracy z wartościami liczbowymi (>,<,=>,!=,==,<= etc.) oraz z polami tekstowymi (begins with, contains). W polu „Value” wpisujemy wartość, przedział wartości, część lub całość ciągu znaków (w przypadku tekstu) które chcemy odszukać w tabeli. Po zaznaczeniu „Add selection to project”, wpisaniu nazwy warstwy wynikowej i kliknięciu „OK”warstwa z wybranymi rekordami zostanie automatycznie dodana do widoku QGIS.
12. Sort
Bardzo prosta funkcja umożliwiająca sortowanie rekordów w tabeli według określonego pola, rosnąco lub malejąco. Tym co odróżnia narzędzie od normalnego sortowania tabeli w QGIS jest fakt, iż można zapisać wynik jako nową warstwę shape, w której rekordy będą ułożone w wcześniej zdefiniowanym porządku.
8
13. Text to Float
Narzędzie służące do konwersji liczb zapisanych w tabeli jako tekst (string) na numeryczny format zapisu (floating point). Warstwa wynikowa zawierać będzie wybrane w oknie dialogowym atrybuty po konwersji.
Należy pamiętać, że pola tekstowe zwierające znaki tekstowe, po konwersji uzyskają wartość „0”.
14. Voronoi Diagram
Wtyczka generuje poligony otaczające poszczególne punkty z warstwy wejściowej. Poligony reprezentują obszary bliższe geograficznie danemu
punktowi niż innym wsytępjącym w tej warstwie. Granice poligonów stawiane są w połowie odległości pomiędzy danymi punktami, a cała analiza przeprowadzana jest dla maksymalnego zasięgu warstwy wejściowej. To proste narzedzie analityczne stosowane jest do określania podstawowego zasięgu oddziaływania danego zjawiska (np. zasięgi wpływów sklepów spożywczych na danym osiedlu etc.). Nazwa „Voronoi Diagram” pochodzi od nazwiska rosyjskiego naukowca (matematyk), który poraz pierwszy zastosował tą metodę w 1908 – Georgy Fedoseevich Voronoi.

Wynik – diagram Voronoi’a (michaelminn.com)