Centroidy obiektów poligonowych

OPROGRAMOWANIE:

Geomedia Professional: 06.01.11.13

PROBLEM:

Potrzebuję współrzędne centroid obiektów poligonowych. Jak je wygenerować?

Do wygenerowania współrzędnych centroid obiektów poligonowych możemy wykorzystać Atrybuty Funkcyjne oraz polecenie Update Attributes. Wyobraźmy sobie, że mamy klasę obiektów o geometrii poligonowej. Dla każdego obiektu tej klasy chcę obliczyć współrzędne centrid. Wygenerowane współrzędne mam zamiar zapisać w bazie danych jako kolejne atrybuty obiektów tej klasy.

ROZWIĄZANIE:

  1. Dla danej klasy obiektów poligonowych, wchodzę w Warehouse -> Feature Class Definition, a następnie tworzę dwa nowe atrybuty.
    Fig. 1. Feature Definition Class
    Fig. 1. Feature Definition Class

    Nadaję im nazwy, kolejno: Centroid_X i Centroid_Y. Oba atrybuty są typu Double.
  2. Z menu głównego aplikacji wybieram: Edit -> Attribute -> Update Attributes.
  3. Z odpowiedniej geohurtowni (koniecznie o prawach R/W), wybieram swoją klasę obieków poligonowych.
    Fig. 2. Update Attributes
    Fig. 2. Update Attributes
  4. W oknie Attributes to update, wchodzę kursorem na pole pierwszego atrybutu, np: Centroid_X.
  5. Klikam przycisk Expression położony w dolnej części okna dialogowego.
  6. Pojawia się okno dialogowe Expression, w którym utworzymy atrybut funkcyjny obliczający współrzędne centroid.
  7. W oknie Expression wpisujemy:
    X(CENTERPOINT(Input.Geometry); Constant.ProjectedMeas; Constant.METER)
  8. To samo powtarzamy dla atrybutu Centroid_Y. W wyrażeniu atrybutu funkcyjnego zmieniamy oczywiście X na Y.
    Fig. 3. Wprowadzone formuły
    Fig. 3. Wprowadzone formuły
  9. Naciskamy Apply. Po chwili zajętej na niezbędne obliczenia geometryczne i zapisanie ich do bazy danych, możemy cieszyć się otrzymanymi danymi (Fig. 4):
    Fig. 4. tabela ze współrzędnymi centroid
    Fig. 4. tabela ze współrzędnymi centroid
  10. W efekcie przeprowadzonych czynności utworzone zostały wartości atrybutów: Centroid_X i Centroid_Y .
  11. Jeżeli chcemy je wyświetlić na mapie w postaci punktów nałożonych na klasę poligonową, musimy użyć geokodowania.
  12. Uruchamiamy: Analysis -> Geocode Coordinate i uzupełniamy niezbędne informacje (Fig. 5).
    Fig. 5. Geocode Coordinate
    Fig. 5. Geocode Coordinate
  13. W wyniku geokodowania, utworzone zostało zapytanie, które możemy wyświetlić na tle klasy obiektów poligonowych (Fig. 6).
    Fig. 6. Mapa obiektów poligonowych ze swoimi centroidami
    Fig. 6. Mapa obiektów poligonowych ze swoimi centroidami