Спецификация данных о выборах национального удостоверения личности

Этот документ содержит спецификацию данных, необходимых Google для предоставления избирательного участка и информации о кандидатах на выборах на основе национального удостоверения личности. Этот документ представляет собой проект спецификации, предназначенный в первую очередь для сбора отзывов и может измениться в будущем.

Таблицы

Следующий набор таблиц должен быть предоставлен в виде отдельных файлов значений, разделенных табуляцией (TSV). Каждый файл должен начинаться с одной строки заголовка, в которой перечислены поля этой таблицы. Необязательные поля заголовка не нужно включать, если для соответствующего поля нет данных. Последующие строки файла содержат строки данных с полями в том же порядке, что и указанные в строке заголовка.

Файлы должны иметь соответствующие имена и быть помещены в zip-архив. Файлы должны называться: voiceers.tsv, voiceGroups.tsv, Districts.tsv, pollingLocations.tsv, кандидатов.tsv, office.tsv.

Если не указано иное, каждое поле, указанное в этой спецификации, является строкой. Файлы TSV не требуют экранирования запятых или специальных символов, кроме символов табуляции. Поскольку табуляции не подходят ни для одного поля ни в одной из таблиц, мы явно запрещаем их размещение в полях.

* используется для обозначения обязательного поля в таблице
** используется для обозначения обязательного поля, которое также является первичным ключом для этой таблицы (две строки не могут иметь одинаковое значение для этого поля)
Æ указывает на поле, которое должно быть интернационализировано.

Интернационализация

Чтобы гарантировать, что данные представлены на правильном языке, некоторые поля в строке заголовка должны включать спецификацию локали. Поскольку в некоторых странах имеется более одного языка, данные, возможно, придется предоставлять более чем на одном языке. Для таких стран столбцы могут повторяться с указанием другого языкового стандарта, добавленного в конец имени столбца и разделенного тире, например PartyAffiliation-en.

Чтобы создать локали, обратитесь к странице API Google в разделе «Идентификаторы языков, стран, валют и часовых поясов» . Эти спецификации основаны на Best Current Practices 47 — Теги для идентификации языков (BCP 47). Примеры языковых тегов см. в Приложении A к BCP 47.

Таблица 1 – Таблица избирателей (обязательно)

NationalVoterId**, VoterGroupId

Строка в таблице избирателей представляет одного избирателя. Каждый избиратель в стране имеет национальный идентификатор или идентификатор избирателя, он хранится в поле NationalVoterId. VoterGroupId указывает, к какой группе голосования принадлежит этот избиратель.

Примечания: В странах, где не существует логической группы голосования, VoterGroupId может быть повторением NationalVoterId, и в этом случае таблица групп голосования (таблица 2) будет напрямую назначать избирателям идентификаторы округов и идентификаторы избирательных участков.

Таблица 2. Таблица групп голосования (обязательно)

VoterGroupId**, PollingLocationId*, ProvinceDistrictId, CountyDistrictId, LocalityDistrictId

Строка в этой таблице идентифицирует группу голосования, где эта группа голосует (через PollingLocationId) и к каким округам принадлежит эта группа голосования. Каждая группа голосования уникально идентифицируется VoterGroupId. Можно указать несколько идентификаторов округов, поскольку данная группа голосующих может голосовать за разных должностных лиц на разных уровнях власти. Например, в США можно голосовать за губернатора на уровне штата, руководителя округа на уровне округа и мэра на уровне города.

Примечания: Каждый человек в группе голосования должен голосовать в одних и тех же конкурсах и на одном и том же избирательном участке. В противном случае группу голосования следует разделить на несколько групп голосования.

Таблица 3 – Таблица округов (обязательно)

DistrictId**, AuthorityName*, LocalElectionOfficialName*, LocalElectionOfficialPhone*, LocalElectionUrl*, LocalElectionOfficialEmail, LocalElectionOfficialAddress

Каждая строка в таблице округов содержит данные об избирательном округе, включая официальную информацию о местных выборах. Поле названия органа власти должно содержать название округа, если это необходимо, например, округ Колумбия.

Таблица 4. Место для голосования (обязательно)

PollingLocationId**, Address* Æ , Latitude, Longitude, HoursOfOperation Æ , AdditionalDirections Æ , ContactInfo Æ

Каждый избирательный участок представлен строкой в ​​таблице избирательных участков. Поле адреса должно содержать строку с полностью указанным адресом места голосования. Адреса могут использоваться для предоставления ссылок на карты, поэтому идеально подходят адреса, которые точно отображаются на географических веб-сайтах. В случаях, когда отображаемый адрес невозможен, информация будет предоставлена ​​пользователю в виде текста. Широта и долгота — необязательные поля, содержащие геодезическую широту и долготу. Указание широты и долготы дает ценную информацию для проверки ошибок при проверке результатов опроса.

Поле «Дополнительные направления» является необязательным и может содержать указания, необходимые для поиска избирательного участка, например, в здании, указанном в адресе. Поле «Контактная информация» должно содержать информацию, необходимую для связи с должностными лицами, ответственными за данный избирательный участок.

Таблица 5 – Таблица кандидатов (обязательно)

CandidateId**, CandidateName* Æ , PartyAffiliation Æ , OfficeId*, Url, CampaignAddress Æ , Photo, Phone, TwitterHandle, FacebookUsername, Email, YoutubeChannel

Каждая строка в таблице кандидатов представляет кандидата. CandidateId однозначно идентифицирует кандидата. Поле «Офис» содержит название должности, на которую баллотируется этот кандидат. Другие поля этой таблицы предоставляют информацию о кандидате.

Таблица 6 – Офисный стол

OfficeId**, DistrictId*, Name Æ , Term Æ , Description Æ

В этой таблице у каждого офиса есть строка, уникально идентифицируемая идентификатором офиса. Также указывается название и описание офиса. В поле DistrictId должен быть указан один из идентификаторов округа, перечисленных в полях RegionDistrictId, CountyDistrictId или LocalityDistrictId в таблице Voting Group. Для должностей, за которые проголосовали все избиратели, в качестве идентификатора округа следует использовать ALL.

Образцы

Примеры заголовков файлов данных о местоположении опроса

Файл: Voters.tsv
Заголовок:

NationalVoterId        VoterGroupId

Файл: VotingGroups.tsv
Заголовок:

VoterGroupId        PollingLocationId

Файл: pollingLocations.tsv
Заголовок:

PollingLocationId        Address        HoursOfOperation

Пример многоязычного заголовка файла

Если в стране имеется несколько языков, заголовок каждого файла может иметь дополнительные поля, указывающие язык/локаль данных, включенных в это поле. Только поля, которые в приведенных выше описаниях таблиц помечены как интернационализируемые, т. е. маркером Æ , должны иметь добавление локали.

Файл: pollingLocations.tsv
Заголовок:

PollingLocationId        Address        HoursOfOperation-en        HoursOfOperation-fr

В этом простом примере показано поле часов работы на английском и французском языках.