Kalkulator Pola może być użyty w celu ustalenia zawartości jednego, wielu lub wszystkich pól w tabeli.
Jest przydatnym narzędziem do kopiowania, łączenia lub tworzenia nowych pól informacyjnych.
Składniki Kalkulatora Pola
Aby otworzyć Kalkulator Pola należy otworzyć tabelę atrybutów lub dowolną inną tabelę w Krystynie. Następnie należy kliknąć w nazwę pola które ma być edytowane i wybrać polecenie Wylicz. Inny sposób to wybranie polecenia Wylicz z menu Pole i wybranie odpowiedniego pola z dialogu który się pokaże. Należy pamiętać o tym aby tabela nie była otwarta w trybie tylko do odczytu. Aby dokonywać obliczeń na wszystkich polach w tabeli nie należy wybierać żadnego lub wybrać wszystkie. Aby dokonywać obliczeń na jednym lub kilku polach, należy je wybrać przed wykonywaniem obliczeń.
Jednym z powszechnych zastosowań Kalkulatora Pola jest kopiowanie zawartości jednego pola do drugiego. Aby to zrobić należy w otwartym Kalkulatorze Pola (z wybranym polem docelowym) podwójnie kliknąć nazwę pola na liście pól. Pole powinno się pojawić w nawiasach w obszarze roboczym Kalkulatora Pola. Następnie należy wpisać średnik i wcisnąć klawisz Wylicz. To spowoduje wypełnienie pola docelowego kopiami wartości z pola źródłowego. Oczywiście typy danych obu pól muszą być takie same. W przeciwnym wypadku należy dokonać ich konwersji.
W obszarze roboczym Kalkulatora Pola można wprowadzać znacznie bardziej skomplikowane formuły używając języka skryptowego Krystyny. Więcej Informacji na ten temat zawartych jest w rozdziale Calculating a field’s values w pliku pomocy, lub w przykładzie zatytułowanym Zmiana ścieżek absolutnych w katalogu danych przestrzennych na względne. W dowolnej chwili można kontekstowo użyć klawisza Pomoc, aby uzyskać informacje na temat funkcji którą chcemy użyć. Wystarczy zaznaczyć funkcję i wcisnąć klawisz Pomoc.
Dodatkowe informacje na temat funkcji które można użyć w Kalkulatorze Pola zawarte są poniżej.
Operacje matematyczne
Operacja | Składnia |
---|---|
Dodawanie dwóch (lub więcej) pól | [NUMFLD] = [NUMFLD1] + [NUMFLD2]; |
Odejmowanie dwóch (lub więcej) pól | [NUMFLD] = [NUMFLD1] - [NUMFLD2]; |
Mnożenie dwóch (lub więcej) pól | [NUMFLD] = [NUMFLD1] * [NUMFLD2]; |
Dzielenie dwóch (lub więcej) pól | [NUMFLD] = [NUMFLD1] / [NUMFLD2]; |
Konwersja jednostek z metrów na stopy (feet) | [NUMFLD] = [METERS_FLD] * 3.2808; |
Konwersja stopni, minut, sekund, na stopnie dziesiętne | [NUMFLD] = [DEG] + ([MIN]/60) + ([SEC]/3600); |
Wyliczanie gęstości zaludnienia | [NUMFLD] = [TOTAL_POP] / [AREA]; |
Wartość średnia | [NUMFLD] = ([NUMFLD1] + [NUMFLD2]) / 2; |
Liczba znaków w tekście zawartym w polu | [TEXTFLD].GetLength([NUMFLD]); |
Operacje tekstowe
Operacja | Składnia |
---|---|
Wypełnienie pola nowym tekstem | [TEXTFLD] = "Text"; |
Połączenie zawartości dwóch pól bez spacji | [TEXTFLD] = [TEXTFLD1] + [TEXTFLD2]; |
Połączenie zawartości dwóch pól ze spacją | [TEXTFLD] = [TEXTFLD1] + " " + [TEXTFLD2]; |
Połączenie nowego tekstu ze spacją i polem | [TEXTFLD] = "Text" + " " + [TEXTFLD1]; |
Zapis zawartości pola numerycznego do pola tekstowego | [NUMERICFLD].AsString([TEXTFLD]); |
Zapis n znaków z lewej strony łańcucha znaków (n to liczba znaków) | [TEXTFLD].Left(n, [TEXTFLD]); |
Zapis n znaków z prawej strony łańcucha znaków (n to liczba znaków) | [TEXTFLD].Right(n, [TEXTFLD]); |
Konwersja tekstu na małe litery | [TEXTFLD].LCase(); |
Konwersja tekstu na duże litery | [TEXTFLD].UCase(); |
Usunięcie spacji z początku i z końca łańcucha znaków | [TEXTFLD].TrimWhiteSpace(TRUE, TRUE); |
Zastąpienie znaku przez inny znak (np. zamiana “C” na “D”) | Number nLen i; String sStr; [TEXTFLD].GetLength(nLen); while(i < nLen); [TEXTFLD].Get(i, sStr); endwhile;if (sStr == "C"); [TEXTFLD].Set(i,
"D"); endif;i = i + 1; |