Obliczanie łącznej długości obiektów liniowych wewnątrz obiektów poligonowych


Tomasz Bartuś



OPROGRAMOWANIE:

Geomedia Professional: 06.01.11.13

PROBLEM:

Mamy dwie klasy: jedną o geometrii liniowej i drugą o geometrii poligonowej:

  • Hydro_cieki_powierzchniowe (Fig. 1),
  • siatka - siatka kwadratowa o boku 500 m (Fig. 2).
Fig. 1. Klasa: Hydro_cieki_powierzchniowe
Fig. 1. Klasa: Hydro_cieki_powierzchniowe

Klasa: siatka
Fig. 2. Klasa: siatka (nałożona na klasę Hydro_cieki_powierzchniowe)

Stawiamy sobie za cel obliczenie sumarycznej długości wszystkich odcinków obiektów klasy o geometrii liniowej (w tym przypadku Hydro_cieki_powierzchniowe) przypadajacych na każde oczko klasy siatka (Fig. 3).

Długość liniowych odcinków klasy Hydro_cieki_powierzchniowe przypadających na przykładowe oczko klasy siatka
Fig. 3. Długość liniowych odcinków klasy Hydro_cieki_powierzchniowe przypadających na przykładowe oczko klasy siatka

Aby dokonać niezbędnych obliczeń będziemy musieli podzielić obiekty klasy liniowej na fragmenty odpowiadające przestrzennym zakresom obiektów klasy siatka. W ten sposób otrzymamy pofragmentowane odcinki cieków powierzchniowych. W tak przygotowanych danych, za pomoca atrybutu funkcyjnego obliczymy długość każdego z odcinków klasy cieki_powierzchniowe. Na koniec, za pomocą narzędzia: Aggregation dokonamy zsumowania długości wszystkich odcinków liniowych występujących w każdym oczku siatki.

ROZWIĄZANIE:

  1. W oknie dialogowym Feature Class, otwieramy kolejno klasę liniową (np: Hydro_cieki_powierzchniowe) i klasę siatki (np: siatka) i zmieniamy mazwy ich kluczy podstawowych na intuicyjne, kolejno: ID_cieki_powierzchniowe oraz ID_siatka. Krok ten nie jest konieczny ale ułatwi nam późniejsze prace.
  2. Obliczamy iloczyn przestrzenny Spartial intersection klasy obiektów liniowych (Hydro_cieki_powierzchniowe) i klasy siatki (siatka) (zapytanie wynikowe: cieki_powierzchniowe_siatka). Nowemu zapytaniu nadajemy nazwę: Hydro_cieki_pow_1_w_siatce. Każdy z fragmentów cieków powierzchniowych otrzymuje w ten sposób dodatkowy atrybut opisujący jego położenie względem oczek siatki (ID_siatka).
  3. Otwiieramy okno: Analysis->Functional Atributes i przy pomocy utworzonego atrybutu:

    LENGTH(Input.IntersectionGeometry; ProjectedMeas; Meter)
    tworzymy zapytanie o długość każdego odcinka liniowego zapytania Hydro_cieki_pow_1_w_siatce (Fig. 4). Utworzonemu atrybutowi funkcyjnemu nadajemy nazwę: dlugosc_ciekow. Utworzonemu zapytaniu nadajemy nazwę: Hydro_cieki_pow_2_dlugosc_potokow.
    Okno dialogowe Functional Attribute z formułą obliczającą długość linii
    Fig. 4. Okno dialogowe Functional Attribute z formułą obliczającą długość linii
    W wyniku jego działania, w tabeli atrybutowej zapytania pojawia się kolumna zawierająca wartości długości wszystkich odcinków cieków powierzchniowych (Fig. 5).
    Tabela atrybutowa zapytania zawierająca obliczone wartości atrybutu dlugosc_ciekow
    Fig. 5. Tabela atrybutowa zapytania zawierająca obliczone wartości atrybutu dlugosc_ciekow
  4. Za pomoca polecenia Aggregation, dla każdego okna siatki, dokonujemy obliczeń długości wszystkich linii. Aggregate to summary features in: siatka; From detail features in: Hydro_cieki_pow_2_dlugosc_potokow; Spartial Aggregation: touch; Attribute Aggregation Id_siatka/Id_siatka; Output: NEW. Tworzymy atrybut funkcyjny obliczający dla każdego okna siatki sumaryczną długość wszystich odcinków linii (nazwa: Suma_dlugosci_potokow) (Fig. 6):
  5. SUM(Detail.dlugosc_potokow)
    Okno dialogowe Aggregation, zakladka Attribute Aggregation - wybór atrybutów
    Fig. 6. Okno dialogowe Aggregation, zakladka Attribute Aggregation - wybór atrybutów
  6. W wyniku uruchomienia utworzonego zapytania otrzymujemy siatkę, w którego atrybutach odnajdziemy Suma_dlugosci_potokow (Fig. 7).
    Długość linii obliczona dla wybranego oczka siatki  Długość linii obliczona dla wybranego oczka siatki
    Fig. 7. Sumaryczna długość linii obliczona dla wybranego oczka siatki

 
 

Informacje wstępne

Dane

ArcGIS Desktop: 23MB (73MB)
ArcGIS Pro: 94MB (1,07GB)
 

1. Wstęp do GIS

Wykład 1: Wstęp do GIS
 
 
Ćwiczenie 1: Wycieczka po San Diego. Wstęp do ArcGIS
 
Wykład 2: Aplikacja ArcGIS
 
Ćwiczenie 2: Szacowanie szkód wywołanych przez tornado. Od metainformacji do wyników analizy
 
Wykład 3: Rozwiązywanie zadań przy użyciu GIS
 
Ćwiczenie 3: Wybór lokalizacji dla centrum młodzieżowego. Zapytania atrybutowe i przestrzenne
 

2. Symbolizacja map

Wykład 4: Symbole i adnotacje
 
Ćwiczenie 4: Lokalizacja ośrodka dziennego dla seniorów. Symbolizacja i etykietowanie obiektów na mapach
 
Wykład 5: Symbole bazujące na atrybutach
 
Ćwiczenie 5: Lokalizacja ośrodka dziennego dla seniorów. Symbole oparte na atrybutach
 
Wykład 6: Metody klasyfikacji danych
 
Ćwiczenie 6: Lokalizacja ośrodka dziennego dla seniorów. Klasyfikacja danych
 
Wykład 7: Mapy gęstości i proporcji
 
Ćwiczenie 7: Lokalizacja ośrodka dziennego dla seniorów. Mapy gęstości i normalizacja danych
 

3. Układy współrzędnych i odwzorowania kartograficzne

Wykład 8: Układy współrzędnych geograficznych
 
Ćwiczenie 8: Położenie kabla transatlantyckiego. Modyfikacje układów współrzędnych
 
Wykład 9: Odwzorowania kartograficzne
 
Ćwiczenie 9: Położenie kabla transatlantyckiego. Właściwości odwzorowań kartograficznych
 

4. Organizacja danych geograficznych

Wykład 10: Modele danych geograficznych
 
Ćwiczenie 10: Ocena zagrożenia powodziowego. Analiza danych geograficznych
 
Wykład 11: Geobazy
 
Ćwiczenie 11: Ocena zagrożenia powodziowego. Tworzenie przestrzennej bazy danych
 
Ćwiczenie 12: Salzburg. Geobaza wspierająca branżę turystyczną
 
 

5. Tworzenie i edycja danych

Wykład 12: Tworzenie i edycja danych GIS
 
Ćwiczenie 13: Centrum handlowe Galeria. Modyfikacja śladów budynków
 
Wykład 13: Topologia
 
Ćwiczenie 14: Centrum handlowe Galeria. Modyfikacja obiektów z zachowaniem topologii
 
Wykład 14: Edycja atrybutów obiektów
 
Ćwiczenie 15: Centrum handlowe Galeria. Modyfikacja atrybutów
 
Wykład 15: Tworzenie nowych obiektów
 
Ćwiczenie 16: Park miejski. Tworzenie nowych klas obiektów i ich atrybutów
 

6. Analizy GIS

Wykład 16: Procedura analiz GIS
 
Ćwiczenie 17: Poszukiwania nieruchomości spełniającej kryteria. Definiowanie problemu i wybór danych do analiz
 
Wykład 17: Zapytania atrybutowe i przestrzenne, łączenie tabel
 
Ćwiczenie 18: Poszukiwania nieruchomości spełniającej kryteria. Analiza GIS
 
Wykład 18: Prezentacja wyników analiz
 
Ćwiczenie 19: Poszukiwania nieruchomości spełniającej kryteria. Przygotowanie mapy prezentacyjnej
 
Ćwiczenie 20: Poszukiwania nieruchomości spełniającej kryteria. Tworzenie raportów
 

7. Geoprzetwarzanie i modelowanie

Wykład 19: Geoprzetwarzanie
 
Ćwiczenie 21: Ocena zniszczeń pożarowych. Geoprzetwarzanie
 
Wykład 20: Modele i modelowanie
 
Ćwiczenie 22: Ocena zniszczeń pożarowych. Tworzenie i obsługa prostych modeli
 
Ćwiczenie 23: Przetarg na zakup drewna. Praca z istniejącymi modelami
 

8. Tworzenie profesjonalnych map

Wykład 21: Elementy mapy, praca w widoku układu
 
Ćwiczenie 24: Przetarg na zakup drewna. Praca z układami
 
Wykład 22: Tworzenie profesjonalnych map
 
Ćwiczenie 25: Siedliska nietoperzy w południowo zachodniej części Ameryki Północnej. Tworzenie profesjonalnych map"