"""EKB Geoportal провайдер scraper_kit — strangler-копия
`app.services.scrapers.ekb_geoportal_client` (#2307).

Первый non-listing-site провайдер в `scraper_kit.providers`: не скрапит
объявления с площадок (avito/cian/domclick/yandex), а тянет открытый WFS
городского геопортала ЕКБ (реестр футпринтов зданий) для geo-матчинга. Модуль
уже был "kit-clean" в legacy-виде — никаких `app.*`-зависимостей (только
`httpx`), поэтому порт почти дословный, без Protocol-инжекции.

Модули:
  - client — EkbGeoportalClient (WFS GetFeature), TopoBuilding,
    parse_feature_collection (GeoJSON → dataclass), area-weighted centroid
    (чистый Python, без shapely).

Легаси-вызывающий (`app.tasks.ekb_geoportal_ingest`) на момент порта ЕЩЁ НЕ
переключён на этот модуль — переключение см. issue #2310 (Group C).
"""
