Precinct

The Precinct object represents a precinct, which is contained within a Locality. While the id attribute does not have to be static across feeds for one election, the combination of Source.VipId, Locality.Name, Precinct.Ward, Precinct.Name, and Precinct.Number should remain constant across feeds for one election (NB: not all of the fields just mentioned are required – omitting those non-required fields is fine).

Voters can be assigned to a precinct in two ways. A voter location modeled by StreetSegment is assigned to a precinct by StreetSegment.PrecinctId. Alternatively, a precinct’s spatial boundary can be modeled with Precinct.SpatialBoundary. Any registered voter address contained within the spatial boundary of the precinct is assigned to that precinct.

Tag

Data Type

Required?

Repeats?

Description

Error Handling

BallotStyleId

xs:IDREF

Optional

Single

Links to the BallotStyle, which a person who lives in this precinct will vote.

ElectoralDistrictIds

xs:IDREFS

Optional

Single

Links to the :ref:`multi-xml-electoral-district`s (e.g., congressional district, state house district, school board district) to which the entire precinct/precinct split belongs. Highly Recommended if candidate information is to be provided.

ExternalIdentifiers

ExternalIdentifiers

Optional

Single

Other identifier for the precinct that relates to another dataset (e.g. OCD-ID).

IsMailOnly

xs:boolean

Optional

Single

Determines if the precinct runs mail-only elections.

If the field is missing or invalid, the implementation is required to assume IsMailOnly is false.

LocalityId

xs:IDREF

Required

Single

Links to the Locality that comprises the precinct.

Name

xs:string

Required

Single

Specifies the precinct’s name (or number if no name exists).

Number

xs:string

Optional

Single

Specifies the precinct’s number (e.g., 32 or 32A – alpha characters are legal). Should be used if the Name field is populated by a name and not a number.

PollingLocationIds

xs:IDREFS

Optional

Single

Specifies a link to the precinct’s PollingLocation object(s).

PrecinctSplitName

xs:string

Optional

Single

If this field is empty, then this Precinct object represents a full precinct. If this field is present, then this Precinct object represents one portion of a split precinct. Each Precinct object that represents one portion of a split precinct must have the same Name value, but different PrecinctSplitName values. See the sample_feed.xml file for examples.

SpatialBoundary

SpatialBoundary

Optional

Single

Defines the spatial boundary of the precinct. All voter addresses contained within this boundary are assigned to the precinct. If a voter address also maps to a StreetSegment, then the precinct assignment from the StreetSegment will be preferred over the assignment from the spatial boundary.

Ward

xs:string

Optional

Single

Specifies the ward the precinct is contained within.

 1<Precinct id="pre90111">
 2   <BallotStyleId>bs00010</BallotStyleId>
 3   <ElectoralDistrictIds>ed60129 ed60311 ed60054</ElectoralDistrictIds>
 4   <IsMailOnly>false</IsMailOnly>
 5   <LocalityId>loc70001</LocalityId>
 6   <Name>203 - GEORGETOWN</Name>
 7   <Number>0203</Number>
 8   <PollingLocationIds>pl81274</PollingLocationIds>
 9   <SpatialBoundary>
10     <ExternalGeospatialFeature>
11       <ExternalFileId>ef1</ExternalFileId>
12       <FileFormat>shp</FileFormat>
13       <FeatureIdentifier>
14           <Index>3</Index>
15       </FeatureIdentifier>
16     </ExternalGeospatialFeature>
17   </SpatialBoundary>
18</Precinct>
19<!--
20  Precinct split. Name and PollingLocationIds are the same but
21  PrecinctSplitName is present, the ElectoralDistrictIds are different,
22  and the BallotStyleId is different.
23-->
24<Precinct id="pre90348sp0000">
25  <BallotStyleId>bs00002</BallotStyleId>
26  <ElectoralDistrictIds>ed60129 ed60054 ed60150</ElectoralDistrictIds>
27  <IsMailOnly>false</IsMailOnly>
28  <LocalityId>loc70001</LocalityId>
29  <Name>201 - JACK JOUETT</Name>
30  <Number>0201</Number>
31  <PollingLocationIds>pl00000 pl81273 pl81662</PollingLocationIds>
32  <PrecinctSplitName>0000</PrecinctSplitName>
33</Precinct>
34<Precinct id="pre90348sp0001">
35  <BallotStyleId>bs00015</BallotStyleId>
36  <ElectoralDistrictIds>ed60129 ed60054 ed60267</ElectoralDistrictIds>
37  <IsMailOnly>false</IsMailOnly>
38  <LocalityId>loc70001</LocalityId>
39  <Name>201 - JACK JOUETT</Name>
40  <Number>0201</Number>
41  <PollingLocationIds>pl00000 pl81273 pl81662</PollingLocationIds>
42  <PrecinctSplitName>0001</PrecinctSplitName>
43</Precinct>

SpatialBoundary

The SpatialBoundary object defines a boundary in space. This boundary is usually defined by one or more discrete, closed polygonal shapes.

Tag

Data Type

Required?

Repeats?

Description

Error Handling

ExternalGeospatialFeature

ExternalGeospatialFeature

Required

Single

The spatial boundary defined by a geospatial feature that is external to the VIP feed.

1 <SpatialBoundary>
2   <ExternalGeospatialFeature>
3     <ExternalFileId>ef1</ExternalFileId>
4     <FileFormat>shp</FileFormat>
5     <FeatureIdentifier>
6       <Index>3</Index>
7     </FeatureIdentifier>
8   </ExternalGeospatialFeature>
9 </SpatialBoundary>

ExternalGeospatialFeature

The ExternalGeospatialFeature object contains a reference to a geospatial feature (one or more shapes) contained in a separate file external to the VIP feed.

Tag

Data Type

Required?

Repeats?

Description

Error Handling

ExternalFileId

xs:IDREF

Required

Single

Links to the ExternalFile containing the geospatial shape(s) that define the feature’s boundary.

FileFormat

GeospatialFormat

Required

Single

The format of the geospatial file.

FeatureIdentifier

FeatureIdentifier

Required

Repeats

Identifiers indicating which specific shape(s) to use from the geospatial file. These refer to identifiers within the referenced external file. This is a repeated field in the XML specification, but a scalar field in the CSV specification. If more than one identifier is required with the CSV specifiation, multiple values can be provided by delimited by space.

FeatureIdentifier

Tag

Data Type

Required?

Repeats?

Description

Error Handling

Index

xs:int

Optional

Single

The index value for the shapefile feature.