Aplikacja GIS – Spring, GDAL i MongoDB

Sprawdzanie gmin w tracku

Potrzebny jest kontroler z metodą, która przyjmuje uploadowany plik. Następnie plik zapisujemy w jakimś tempie z unikalną nazwą, dokonujemy konwersji do JSON, a ten deserializujemy do GeoJSON. Niestety, klasy Springowe niezbyt się nadają, bo nie mają setterów, które chce ObjectMapper z Jackson. Rozwiązaniem jest napisanie własnych, które implementują ten interfejs.

GeoJSON MultiLineString składa się z listy LineString, a ten składa się z listy Point. W ten sposób możemy zaimplementować wszystkie klasy GeoJSON. Należy też przerobić konwertery z org.springframework.data.mongodb.core.convert.GeoConverters. Dzięki temu można bezpośrednio używać własnych klas do komunikacji z MongoDB. Rejestrujemy je poprzez rozszerzenie klasy CustomConverters i przekazanie jej listy konwerterów.

Jeśli mamy już track w postaci GeoJSON, to wystarczy zawołać zrobioną wcześniej metodę z GminaRepository. Zwróci ona listę gmin, którą odsyłamy w zwrotce.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *