niedziela, 9 kwietnia 2017

Podstawy Pythona dla... - odcinek 1 - geodetów i kartografów.

Problem:

Mając dany plik zawierający w każdej linii współrzędne $ x, y, z $ (np. dane numerycznego modelu terenu) chcemy utworzyć plik, w którym będą tylko punkty z interesującego nas prostokąta o ustalonych wierzchołkach $ x_{min}, x_{max}, y_{min}, y_{max} $.

Przykładowe dane wejściowe (fragment pliku warminsko_mazurskie.txt, dostępnego pod adresem http://www.codgik.gov.pl/index.php/darmowe-dane/nmt-100.html):

602800.00 724200.00 116.38
602900.00 724200.00 112.97
603000.00 724200.00 108.00
603100.00 724200.00 105.52
603200.00 724200.00 101.76
603300.00 724200.00 97.48
603400.00 724200.00 93.14
603500.00 724200.00 97.50
603600.00 724200.00 91.12
603700.00 724200.00 88.85
603800.00 724200.00 94.58
603900.00 724200.00 89.84
604000.00 724200.00 87.19

Rozwiązanie (demo on-line https://repl.it/HBox/1):

filename = "warminsko_mazurskie.txt"
x_min, x_max = "546372.00", "611978.00"
y_min, y_max = "649005.00", "700096.00"
f = open(filename)

for line in f:
    x, y, rest = line.split()
    if x >= x_min and x <= x_max and y >= y_min and y <= y_max:
        print(x, y, rest) 

f.close()

Brak komentarzy :

Prześlij komentarz