Kamil Waśniowski

Kamil Waśniowski prywatnie fotograf,
zawodowo frond-end
developer

Temat: Problem z WFS

Cześć.
Do dyspozycji mam dwie usługi WFS (ver 1.0.0 i 1.1.0) i WMS. Moim zadaniem jest pobranie adresu (nazwy ulicy i numeru domu) z klikniętego punktu na mapie. Zupełnie nie wiem jak się do tego zabrać? Obecnie próbuję to rozwiązać za pomocą OpenLayers ver3.

Pierwsze moje skojarzenie to pobranie z WFS listy budynków z danego obszaru (bounding box) a potem w pętli sprawdzenie czy koordynat kliknięty znajdują się obszarze budynku. Problem jest taki, że jak dodaje parametr BBOX do requesta - to zwraca error
Może problemem jest format w jakim to otrzymuje z WFS? WFS zwraca koordynaty w EPSG:3880 natomiast OL domyślnie obsługuje EPSG:3857, niestety opcja:
ol.proj.transform(e.coordinate, 'EPSG:3857', 'EPSG:3880');
niewiele daje.
Może jest jakaś opcja użycia opcji &filter= żeby sprawdzić czy dany koordynat zawiera się w polu gml:posList zwróconym w XMLu przez WFS?

<gml:posList>
26481126.875 6763724.306 26481135.069 6763767.686 26481149.815 6763764.866 26481173.959 6763760.248 26481170.375 6763741.280 26481163.693 6763742.542 26481165.957 6763754.530 26481153.675 6763756.850 26481148.667 6763758.874 26481148.423 6763757.601 26481144.373 6763736.416 26481144.691 6763736.355 26481144.414 6763734.905 26481146.653 6763734.476 26481146.879 6763735.660 26481168.538 6763731.552 26481165.774 6763716.917 26481126.875 6763724.306
</gml:posList>

Obsługa tego jest pisana w Javascript.
Może ktoś spróbować mnie nakierować jak podejść do tematu?