ЦВК та відкриті дані: Виборчі дільниці

Центральна виборча комісія на своєму сайті до переліку виборчих дільниць у 199-ти виборчих округах додала інформацію про спеціальні виборчі дільниці, створені на тимчасовій основі. Таким чином сформувався та став відомий остаточний перелік виборчих дільниць, на яких відбудеться голосування 31 березня 2019 року. Але щоб отримати релевантну інформацію про виборчі дільниці, потрібно пройти справжні 9 кіл пекла.

Крок 1. Отримати інформацію із сайту ЦВК.

Інформація про виборчі дільниці у територіальних виборчих округах, в яких відбудеться голосування, оприлюднена на сайті ЦВК лише у вигляді html таблиць, і лише у розрізі округів. Тому для отримання всіх дільниць у 199 округах + закордонному виборчому окрузі потрібно опрацювати 200 html таблиць.

Крок 2. Проаналізувати постанову ЦВК №303.

Після успішно виконаного першого кроку, ви отримаєте у переліку дільниці, що знаходяться на територіях, де згідно з Постановою ЦВК №303 від 12 лютого 2019 року чергові вибори Президента України не організовуватимуться і не проводитимуться. Тому потрібно проаналізувати додаток до постанови та визначити, на яких відбудуться (чи не відбудуться) вибори.

Аналіз ОПОРИ щодо зміни в кількості виборчих дільниць в Донецькій та Луганській областях згідно з Постановою №303 можете знайти  тут.

Крок 3. API Державного реєстру виборців.

Але дані на сайті ЦВК є лише інформація про номер, місцезнаходження (адреса ВД + її приміщення) та межі виборчих дільниць. Щоб отримати дані про тип виборчої дільниці (звичайна, лікувальний заклад, орган виконання покарань тощо), її розмір (велика, середня, мала), географічні координати, треба піти на сайт ДРВ. На сайті можна знайти посилання “Відомості виборчі округи та дільниці у форматі відкритих даних“, проте це є саме той випадок, коли назва не відповідає реальності. Отже, знайомтесь – API державного реєстру виборців, що працює на протоколі SOAP зразка кінця 20-ого століття – початку 2000-их. Ми пропустимо технічну частину його роботи, зрозумілість документації, відсутність інструкцій тощо, лише зауважимо, що, маючи певний досвід роботи з даними нам, знадобилося близько тижня для опанування API. Й на наше розчарування, в базі API відсутня інформація про 741 виборчу дільницю. Для прикладу, в окрузі №200 замість 173 виборчих дільниць лише 110.

 

Декілька місяців тому в особистому кабінеті виборця на сайті ДРВ, була можливість завантажити перелік всіх виборчих дільниць, що діють на постійній основі, одним кліком. Також у користувача був вибір: або завантажити всі дані у форматі xml / MicrosoftOffice, або ж отримати дані, скориставшись зручним та зрозумілим API.

Крок 4. Отримуємо інформацію про розмір виборчої дільниці.
Інформацію про розмір виборчої дільниці можна отримати на сайті ДРВ. План дій такий же, як і на сайті ЦВК:  парсимо 198 html таблиць з даними про виборчі дільниці по кожному окрузі та отримуємо інформацію про розмір дільниць. Чому 198, а не 199? А тому що сторінка виборчого округу №153 відпочиває.

Крок 5. Координати виборчих дільниць.

Окрім того, що API ДРВ містить інформацію лише про частину виборчих дільниць, в ньому відсутня інформація про географічні координати розташування виборчої дільниці. На сайті Державного реєстру виборців у коді сторінок можна знайти посилання на geojson файл для кожної дільниці,  який містить інформацію про координати розташування. Приклад сторінки з geojson файлом виборчої дільниці №462149. Але, на превелике здивування, як виявилося, на сайті ДРВ застаріла геоінформація про виборчі дільниці. В дільниці №462149, в якої з моменту виборів до ВРУ у 2014 році змінилася адреса її розташування. Попри те, що на сайті ДРВ  вірна адреса дільниці, на мапі та у geojson файлі вказане старе місце розташування. Таких же дільниць багато, тому вихід лише один – геокодувати самостійно.

Для чого це нам?

Для прикладу щоб робити такі мапи та не тільки:


Отриманий датасет з інформацією про виборчі дільниці Ви можете знайти у нас на Гітхабі.

П.С. При написанні даної публікації були використані дані вебсайту Центральної виборчої комісії  та Державного реєстру виборців 🙂

(RL)