Kącik GIS
2012-02-02
Wyszukanie przestrzeni pomiędzy poligonami (dla umiejących operować w QGIS).
Generalnie korzystamy z opcji menu „Wektor”, narzędzia geoprocessingu i narzędzia geometrii:
1) dla wejściowej warstwy X robimy minimalna otoczkę wypukłą dla wszystkich obiektów
2) wycinamy w niej dane całą naszą warstwą (robimy różnicę), w której jest tylko jeden obiekt złożony z wielu wysp
3) rozbijamy ten obiekt na wieloczęściowe – powstaje warstwa A.
Dalej jest różnie:
1) wtyczką „table” dodajemy do A pole tożsame z polem warstwy X, gdzie są charakterystyczne dla warstwy X wartości unikalne
2) „ręcznie” wypełniamy tablicę atrybutów A
3) „ręcznie” usuwamy obiekty, które nie maja przyporządkowań oraz części tych, które wystają poza zasięg odpowiednich obiektów
4) za pomocą złączenia wg atrybutów produkujemy skorygowaną warstwę.
2011-11-19
Open Layers jeszcze raz.
Poczytałem sobie licencję na BingMaps, ale wygląda na to, że nie sa to dane do publikacji darmowej w produktach komercyjnych. Tym niemniej ogólnie szybkość działania podkładów dostepnych za pomocą OpenLayers jest moim zdaniem doskonała w porównaniu do Geoportalu.
Odwracanie w QGis współrzędnych po pobraniu GML'a z WFS Geoportalu oraz jak pobrać działki katastralne z tegoż serwisu.
W QGis można rzeczywiście odwrócić współrzędne, ale działanie wtyczką do tego przeznaczoną jest obarczone pewnymi niedogodnościami, ponieważ jest ona w wersji eksperymentalnej. Ja na wszelki wypadek zapędzam do tego GRASS'a. Można tez bezpiecznie zrobic to w PostGIS za pomoca funkcji przekształceń afinicznych.
Tym niemniej - podaję link z opisem, jak zamieniać X i Y w danych z Geoportalu w QGis, poniewaz dodatkowo jest tam opisane, jak sobie pobrać z WFS działki katastralne. Oto on:
Przy zaciąganiu danych z Geoportalu należy pamietać o zapoznaniu się z licencją na ich używanie.
2011-10-31
Wtyczka OpenLayers daje możliwośc stosowania podkładu dynamicznie przesuwanego, pobieranego z Google, Yahoo i BingMaps. Szczególnie te ostatni zasób jest interesujący ze względu na licencjonowanie - radzę poczytać.
2011-07-07
Import WFS Geoportalu tylko za pomocą GRASS
Jeżeli chcemy użyć tylko GRASS do importu i obrotu danych z WFS Geoportalu, przy imporcie (korzystamy z importu OGR) w zakładce "Optional" powinnismy zaznaczyć:
- do not clean polygons (lepiej zaimportowac wszystko - algorytmy czyszczenia nie wytrzymuja nieraz błędów w warstwach)
- override dataset projection (bo importujemy do swojego układu współrzędnych)
- allow overwrite existing files (tak na wszelki wypadek)
- verbose output (lubię widziec, co się dzieje podczas importu)
Oczywiście należy wpisać nazwę pliku, z którego importujemy dane oraz nazwe warstwy, która ma powstać w naszym mapsecie.
Nie zaznaczamy typu importowanej warstwy (czy punkt, czy poligon itp).
2011-06-15
Problemy z WMS Geoportalu
Od paru tygodni serwery Geoportalu są nieporawnie skonfigurowane i zwracają inne adresy do pobierania informacji o zawartości (GetCapabilities), a inne dla GetMap. W QGis można z tym błędem poradzić sobie, zaznaczając przy pobieraniu mapy "box" "Ignoruj URL dla GetMap".
Niektóre osoby, używające ArcView, przekazały mi informację, że Geoportal zwraca dane tylko w WGS84 i nie da sie podłączać w niektórych wypadkach tych map do własnych, np. w układzie PUWG 1992/19. Tak naprawdę jest tak, że ten program nie rozpoznaje kodów EPSG OGC i z tego powodu należy w nim przy pobieraniu warstwy wybrać odpowiednie odwzorowanie (jest to opisane na stronach pomocy ESRI).
W starszych wersjach oprogramowania, ze zględu na wersję WMS, najprawdopodobniej będa problemy z uzyciem WMS Geoportalu.
Uwaga, co do zamiany współrzędnych przy zastosowaniu QGis i GRASS
Dla QGis aktualnie istnieje wtyczka, która służy do zmian współrzędnych, więc uruchamianie potężnego motoru GRASS nie jest konieczne w wypadku takiego zastosowania. Informację tę podał mi p.Jakub Szostak.
2011-06-14
Jak skorzystać z danych WFS Państwowego Rejestru Granic z Geoportalu, nie mając swojego ulubionego najnowszego oprogramowania ?
Zasadniczo problemem nie jest to, że programy nie maja klienta WFS, ale to, że Geoportal przesyła dane WFS w wersji 1.1.0 . Drugim problemem jest to, że w tych danych zamienione sa współrzędne.
Jeśli jesteś posiadaczem licencji profesjonalnej na GeoMedia w wersji 6.1 lub wyższej - najprawdopodobniej nie potrzebujesz niczego więcej, ponieważ program ten ma klienta WFS, który czyta WFS z Geoportalu i lokalizuje go poprawnie, pomimo zamienionych współrzędnych.
1. Najważniejsze - przeczytać, na jakich zasadach możemy korzystać z tych danych na stronie Geoportalu
2. Jak wiemy, serwisy WMS i WFS dostepne są także poprzez przeglądarkę, dzięki wpisywaniu odpowiednich linków. Kto przeczytał sobie podstawy działania WFS, będzie wiedzial, co wpisywać (linki główne bez komend "GetFeature" są podane na "Geoforum"), a dla tych, którzy nie wiedzą - podaję trzy linki:
http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=gmgml:POWIATY
http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=gmgml:GMINY
http://sdi.geoportal.gov.pl/wfs_prg/wfservice.aspx?SERVICE=WFS&VERSION=1.1.0&REQUEST=GetFeature&TYPENAME=gmgml:WOJEWODZTWA
3. W przeglądarce pojawi nam sie typowy widok XML. Każdy z tych widoków nalezy zapisać (zapisz stronę) na dysku, jako plik GML (bo takowe zwraca serwis WFS Geoportalu - trochę szkoda, że nie umie też innych formatów, typu "zipped shp", jak np. Geoserver).
4. Pliki GML w QGis wersja >= 1.6.0 przekształcamy do postaci ESRI Shape, za pomoca wtyczki "OGR konwerter"... i wszystko byłoby właściwie zakończone, ale okazuje się, że w importowanych GML zamienione sa współrzędne X i Y. Tu uratuje nas program GRASS (patrz niżej).
Jak w GRASS zamienić współrzędne X i Y ?
Kiedy przeczytamy tekst poniżej, nasunie się pytanie - po co tyle kombinacji ? Przecież warstwy mozna zaimportować z GML, czy SHP od razu do GRASS. Otóż w systemie Linuks nie sa one potrzebne, ale GRASS w Windows ma różnorakie niedociągnięcia, stąd przedstawiam sposób pewny. Z kolei interfejs GRASS w QGis nie ma niektórych możliwości, które ma GRASS.
1. Zakładamy, że współrzędne X,Y sa w układzie WGS84. Z poziomu QGis otwieramy plik ESRI Shape z zamienionymi współrzędnymi, za pomocą wtyczki Grass zakładamy nowy mapset, który musi mieć takie wartości N,W,S,E, aby pomieściła sie w nich nasza wastwa i warstwa z zamienionymi X i Y. Wystarczy więc, aby W=0,E=60,N=60,S=0 . Importujemy warstę do tego mapsetu.
2. Wyłączamy QGis, włączamy "czysty" GRASS i używamy tam funkcji "v.translate", która w iterfejsie wxPython kryje się pod "Wektor/Praca z mapa wektorową/Reposition vector map". Tam - podajemy jako parametr naszą warstę, warstwę, która ma byc wynikowa oraz plik tekstowy z definicją przekształcenia (pamiętajmy o kropce, jako dzielniku dziesiętnym) o zawartości:
49.00238664 24.14573618 24.14573618 49.00238664
54.83578887 24.14573618 24.14573618 54.83578887
49.00238664 14.12293000 14.12293000 49.00238664
54.83578887 14.12293000 14.12293000 54.83578887
Jak widać, sa to pary liczb - który róg mapy ma przejść w który. Liczby te mozna sprawdzić za pomocą "v.info", dostępnym w interfejsie wxPython, jako "Wektor/Raporty i statystyki/Podstawowe metadane mapy wektorowej".
3. Wyłączamy GRASS, właczamy QGis. Zaczytujemy z mapsetu GRASS obróconą warstwę do QGis i zapisujemy, jako ESRi Shape. W ten sposób mamy mapę w układzie WGS84, z której w QGis można "wyprodukować" warstwę w innym układzie współrzędnych w opcji menu "Wektor". W QGis można uzywac zdefiniowanych układów współrzędnych, z numerami EPSG. Układ PUWG 1992/19 to ETRS89 / Poland CS92, EPSG=2180 .
2011-06-13
Wtyczki QGis, których używam.
1. Aby uzyskać pełną listę dostępnych dodatkowych wtyczek, należy po wybraniu z menu "Wtyczki/Pobierz wiecej wtyczek" w zakładce "repozytoria" kliknąć na przycisku "dodaj niezalezne repozytoria".
2. W zakładce "wtyczki" pojawi się lista wtyczek wraz z objasnieniami. W tej zakładce mozemy zainstalowac wtyczki.
3. Z wtyczek dostarczonych razem z QGis używam:
* fTools (Wektor) - operacje na wartwach wektorowych (wycinanie elementow)
* Zapytanie przestrzenne - selekcjonowanie całych elementow, ktore przecinaja sie, sa rozlaczne itp
* Grass - praca na warstwach GRASS
4. Sugerowane do zainstalowania wtyczki (gwiazdkami zaznaczone sa uzywane przeze mnie czesciej):
* NumericalDigitize - dodawanie węzłów poprzez podanie ich współrzędnych
* Numerical Vertex Edit - zmiana położenia węzłów poprzez podanie ich współrzędnych
- FreeHand Editing - ręcznie, jak w Gimpie, czy innym programie do tworzenia rysunków rysujemy krzywe i powstaje od razu sieć ich węzłów
* Select features of visible layers - wybieranie elementów z widocznych warstw za pomocą zakreślenia prostokątem
* Points2One - tworzenie poligonów z punktów
- GoogleLayers - mozliwość podlozenia widoku z Google pod swoje warstwy; konieczne jest przeczytanie instrukcji, jak tego używać
* New Memory Layer - nowa warstwa przechowywana w pamięci, a nie na dysku - zwróćmy uwagę na to, że taka warstwa nie ma tablicy atrybutow, co przyspiesza rysowanie figur, można do niej kopiować wybrane z innych warstw elementy; pamiętajmy, ze przy wydaniu komendy "usuń" zniknie ona bez pytania
- DumpLoadField - zapisuje/laduje tablice atrybutów z pliku CSV
- CadTools - narzędzia do bardziej zaawansowanego rysowania map
- Polygonizer - tworzy poligony z przecięć linii
* Table Manager - do zmian struktury tabeli atrybutow (dodawanie/usuwanie kolumn, zmiany ich nazw itp.)
- Split Feature - zamiana poligonów na linie
- GdalTools - operacje na rastrach (interesujące są łączenia rastrów)
- qgCSW - przeglądanie zawartości serwerów metadanych
- Spit - eksport warstw SHP do bazy PostGIS