APPENDIX 2: MAINFRAME-SPECIFIC WORK AREA LAYOUTS(MSW)

(as of Geosupport System Software Version 19.2 - unchanged since 15.3)

IMPORTANT MSW ANNOUNCEMENT

SUPPORT FOR MSW WORK AREAS IS ENDING AS OF JANUARY 1, 2020

To provide our users with the best care and most current product, as of January 1, 2020, Mainframe-Specific Work Areas (MSWs) will no longer be supported. Character-Only Work Areas (COWs) will continue to be supported and enhanced. It is therefore very important that users convert their MSW applications to the COW format.

User-written application programs and GBAT utilities that use the MSW format will continue to run at this time. Note, however, that no technical support will be available for any issues that arise after January 1, 2020.

To assist users in the conversion process:

Any further issues may be directed via email to: GSS_Software@planning.nyc.gov

Appendix 2 Begins

This appendix contains layouts of all of the work MSW areas used with the Geosupport System’s API. These layouts are current as of the Geosupport software version indicated above.

Some Geosupport functions can only be called using one work area, Work Area 1 (WA1). Other functions can be called using two work areas, WA1 and Work Area 2 (WA2). For a discussion of one-work-area and two-work-area calls, see Chapter II.4. WA1 contains both input fields (fields used to pass data from the application to Geosupport) and output fields (fields used to pass data from Geosupport to the application). WA1 is organized so that the input fields occur first, followed by a filler, followed by the output fields. WA2 contains output fields only.

All functions use the same WA1 layout, but the set of WA1 fields that are used depends on the function. In the layout of WA1 in this appendix, the column labeled ‘Functions’ indicates which functions use each field.

The functions that can be called using two work areas use various WA2 layouts of various lengths. In some cases, several functions share a single WA2 layout. For some functions, the user has a choice of two WA2 layouts, a ‘regular’ WA2 and a ‘long’ WA2. For a discussion of the long WA2 option, see Chapter II.5.

The following is a list of all of the Geosupport MSW work areas, indicating the length of each in bytes. Functions that are listed together share a single Work Area 2 layout. Appendix 3 consists of a data item dictionary describing the fields that occur in the work area.

Mainframe-Specific Work Area (MSW) Length
WA1, all functions 884
Regular WA2, Function 1 200
Long WA2, Function 1 300
Regular WA2, Functions 1A, BL, BN 939
Long WA2, Functions 1A and BL 17,683
Regular WA2, Function 1E 200
Long WA2, Function 1E 300
WA2, Function 2 200
Regular WA2, Function 3 200
Long WA2, Function 3 300
WA2, Function 3C 200
WA2, Function 3S 4,224

Work Area 1 (MSW) - All Functions




Field Size Position Functions
INPUT FIELDS:
Geosupport Function Code 2 1-2 All
Borough Code-113 1 3 All but BL, BN, D*
House Number 12 4-15 1, 1A, 1E
House Nr. in Internal Format (HNI) 6 16-21 1, 1A, 1E, D
Street Name-1 32 22-53 All but BL, BN, D*
Street Name-2 32 54‑85 2, 3*
Street Name-3 32 86-117 3*
Compass Direction 1 118 2, 3C, 3S
Compass Direction for 2nd Intersection 1 119 3S
PB5SC-1 4 120‑123 1, 1A, 1E, 2, 3, D
PB5SC-2 4 124-127 2, 3, D
PB5SC-3 4 128-131 3, D
Roadbed Request Switch 1 132 1, 1E, 3S
Borough Code-2 1 133 2, 3, 3C
Borough Code-3 1 134 3, 3C
Street Name Normalization 2 135‑136 All but B
Length Limit (SNL)
B10SC-1 (includes B5SC-1 and B7SC-1) 11 137-147 1, 1A, 1E, 2, 3*, D*
B10SC-2 (includes B5SC-2 and B7SC-2) 11 148-158 2, 3*, D*
B10SC-3 (includes B5SC-3 and B7SC-3) 11 159‑169 3*, D*
ZIP Code 5 170‑174 1, 1A, 1E
Borough‑Block‑and‑Lot (BBL): 10 175‑184
Borough 1 175 BL
Tax Block 5 176-180 BL
Tax Lot 4 181-184 BL
Filler 1 185
Building Identification Number (BIN) 7 186‑192 BN
Street Name Normalization Format Flag 1 193 All but B*
Long Work Area 2 Flag 1 194 1, 1A, 1E, 3, BL
Filler - Reserved for Geosupport Use 12 195-206
HNI-2 6 207-212 D*
Work Area Format Indicator 1 213 All
1ABL Version Switch 1 214 1A, BL
Cross Street Names Flag 1 215 1, 1E, 2, 3, 3C
Filler 4 216-219


Work Area 1 (MSW) - All Functions
Field Size Position Functions
OUTPUT FIELDS:
HND-2 12 220-231 D\*
Borough Name 9 232‑240 All but D*
Street Name-1Normalized 32 241‑272 All but B\*
Street Name-2Normalized 32 273‑304 2, 3\*, D\*
Street Name-3Normalized 32 305‑336 3\*, D\*
HND 12 337‑348 1, 1A, 1E, D\*
HNI 6 349‑354 1, 1A, 1E
Filler 7 355‑361
PB5SC-1 4 362‑365 1\*, 2, 3\*, D\*
Filler 2 366‑367
PB5SC-2 4 368‑371 2, 3\*, D\*
Filler 2 372‑373
PB5SC-3 4 374‑377 3\*, D\*
Attribute Bytes 3 378‑380
Up to ten PB5SCs 40 381‑420 BB, BF
B10SC-1 11 421‑431 1\*, 2, 3\*, D\*
B10SC-2 11 432‑442 2, 3\*, D\*
B10SC-3 11 443‑453 3\*, D\*
Filler 5 454‑458
BBL Normalized 10 459‑468 BL
Reserved 8 469-476
Street Attribute Indicator 1 477 1\*
Reason Code 1 478 All
Filler - Reserved for Geosupport Use 2 479‑480
Geosupport Return Code 2 481‑482 All
Geosupport Message 80 483‑562 All
Number of Street Names in List (packed) 2 563‑564 1*, 2, 3*, BB, BF
List of Street Names: (10 Street Name Fields, 32 Bytes Each) 320 565‑884 1*, 2, 3*, BB, BF

*NOTE:
An asterisk in the second position of a function code is used as a shorthand notation to represent all function codes having the indicated value in the first position, as follows:

1* = 1 , 1A, 1E, 1N
3* = 3, 3C, 3S
B* = BB, BF, BL, BN
D* = D, DG, DN

Regular Work Area 2 (MSW) Layout for Function 1

Field Size Position
Filler 22 1-22
Low House Number of Blockface 6 23-28
High House Number of Blockface 6 29-34
Alley/Cross Streets Flag 1 35
Number of Cross Streets at Low Address End 1 36
List of Cross Streets at Low Address End (up to 5 PB5SCs) 20 37-56
Number of Cross Streets at High Address End 1 57
List of Cross Streets at High Address End (up to 5 PB5SCs) 20 58-77
Community District: 3 78-80
Community District Borough Code 1 78
Community District Number 2 79-80
ZIP Code 5 81-85
DOT Street Light Contractor Area 1 86
Health Center District 2 87-88
Side of Street Indicator 1 89
Continuous Parity Indicator 1 90
2010 Census Tract 6 91-96
2010 Census Block 4 97-100
2010 Census Block Suffix (Not Implemented) 1 101-101
Filler 1 102-102
Filler 2 103-104
Health Area 4 105-108
Sanitation Recycling Collection Schedule 3 109-111
Feature Type Code 1 112
Interim Assistance Eligibility Indicator (IAEI) 1 113
Curve Flag 1 114
Police Patrol Borough Command 1 115
Police Precinct 3 116-118
School District 2 119-120
Filler to Preserve Layout Consistency with WA2 for Function 1E 14 121-134
Coincident Segment Count 1 135
Segment Type Code 1 136
Sanitation District 3 137-139
Sanitation Collection Scheduling Section and Subsection 2 140-141
Fire Division 2 142-143
Fire Battalion 2 144-145
Fire Company Type 1 146
Fire Company Number 3 147-149
Special Address Generated Record Flag 1 150
Reserved for Internal Geosupport Use 1 151
Filler (was Split Community School District Flag) 1 152
DCP-Preferred LGC 2 153-154
Face Code 4 155-158
Sequence Number 5 159-163
1990 Census Tract 6 164-169
Filler 4 170-173
Dynamic Block / Atomic Polygon 3 174-176
X Coordinate 7 177-183
Y Coordinate 7 184-190
Segment Length in Feet 5 191-195
Sanitation Regular Collection Schedule 5 196-200

Long Work Area 2 (MSW) Layout for Function 1

Field Size Position
Same as corresponding position in Function 1's regular WA2 200 1-200
Segment-ID 7 201-207
Underlying B7SC of True Street 8 208-215
Underlying HNI on True Street 6 216-221
2000 Census Tract 6 222-227
2000 Census Block 4 228-231
2000 Census Block Suffix (Not Implemented) 1 232-232
Filler 68 233-300

Regular Work Area 2 (MSW) Layout for Functions 1A, BL, BN

Field Size Position
Filler 28 1-28
Borough-Tax Block-Tax Lot (BBL): 10 29-38
Borough Code 1 29
Tax Block 5 30-34
Tax Lot 4 35-38
Tax Lot Version Number [not implemented] 1 39
RPAD Self-Check Code (SCC) for BBL 1 40
Filler 1 41
RPAD Building Classification Code 2 42-43
Corner Code 2 44-45
Filler (reserved) 2 46-47
Number of Street Frontages of Lot 2 48-49
Interior Lot Flag 1 50
Vacant Lot Flag 1 51
Irregularly-Shaped Lot Flag 1 52
Alternative Borough Flag 1 53
Filler 1 54
Strolling Key 13 55-67
List of Geographic Identifiers Overflow Flag 1 68
Reserved for Internal Geosupport Use 1 69
Building Identification Number (BIN) of Input Address or NAP 7 70-76
Condominium Flag 1 77
Condominium Identification Number 4 78-81
Low BBL of this Building’s Condominium Units 10 82-91
Filler 1 92
Condominium Billing BBL 10 93-102
Filler 1 103
Condominium Billing BBL SCC 1 104
High BBL of this Building’s Condominium Units 10 105-114
Filler 1 115
SBVP (Sanborn Map Identifiers): 8 116-123
Sanborn Borough Code 1 116-123
Sanborn Volume and Volume Suffix 3 117-119
Sanborn Page and Page Suffix 4 120-123
Filler (was DCP Commercial Area) 5 124-128
Cooperative Identification Number 4 129-132
Filler 4 133-136
Number of Existing Buildings on Lot 4 137-140
Tax Map Identifiers: 9 141-149
Borough Code: 1 141
Tax Map Section 2 142-143
Tax Map Volume 2 144-145
Tax Map Page [not yet implemented] 4 146-149
X Coordinate of Internal Label Point 7 150-156
Y Coordinate of Internal Label Point 7 157-163
Business Improvement District (BID) 6 164-169
Filler 12 170-181
Number of Entries in List of Geographic Identifiers 2 182-183
List of Geographic Identifiers, up to 21 entries - each entry consisting of 36 bytes as follows: 756 184-939
Low House Number 6
Filler 3
High House Number 6
Filler 3
B5SC: 1
Borough Code
5-Digit Street Code 5
DCP-Preferred LGC 2
BIN 7
Geographic Identifier Type Code 1
Filler 1
Side of Street Indicator 1

Long Work Area 2 (MSW) Layout for Functions 1A and BL

Field Size Position
Filler 28 1-28
Borough-Tax Block-Tax Lot (BBL): 10 29-38
Borough Code 1 29
Tax Block 5 30-34
Tax Lot 4 35-38
Filler 3
Tax Lot Version Number [not implemented] 1 39
RPAD Self-Check Code (SCC) for BBL 1 40
Filler 1 41
RPAD Building Classification Code 2 42-43
Corner Code 2 44-45
Filler (reserved) 2 46-47
Number of Street Frontages of Lot 2 48-49
Interior Lot Flag 1 50
Vacant Lot Flag 1 51
Irregularly-Shaped Lot Flag 1 52
Alternative Borough Flag 1 53
Filler 15 54-68
Reserved for Internal Geosupport Use 1 69
Building Identification Number (BIN) of Input Address or NAP 7 70-76
Condominium Flag 1 77
Condominium Identification Number 4 78-81
Low BBL of this Building’s Condominium Units 10 82-91
Filler 1 92
Condominium Billing BBL 10 93-102
Filler 1 103-102
Condominium Billing BBL SCC 1 104
High BBL of this Building’s Condominium Units 10 105-114
Filler 1 115
SBVP (Sanborn Map Identifiers): 8 116-123
Sanborn Borough Code 1 116
Sanborn Volume and Volume Suffix 3 117-119
Sanborn Page and Page Suffix 4 120-123
Filler (was DCP Commercial Area) 5 124-128
Cooperative Identification Number 4 129-132
Cooperative Identification Number 4 129-132
Filler 4 133-136
Number of Existing Buildings on Lot 4 137-140
Tax Map Identifiers: 9 141-149
Borough Code 1 141
Tax Map Section 2 142-143
Tax Map Volume 2 144-145
Tax Map Page [not yet implemented] 4 146-149
X Coordinate of Internal Label Point 7 150-156
Y Coordinate of Internal Label Point 7 157-163
Filler 16 164-179
Number of Buildings on Tax Lot (Maximum = 2,500) 4 180-183
List of Buildings on Tax Lot (each represented by a 7-Byte BIN) 17,500 184-17,683

Regular Work Area 2 (MSW) Layout for Function 1E

Field Size Positions
Filler 22 1-22
Low House Number of Blockface 6 23-28
High House Number of Blockface 6 29-34
Alley/Cross Streets Flag 1 35
Number of Cross Streets at Low Address End 1 36
List of Cross Streets at Low Address End (up to 5 PB5SCs) 20 37-56
Number of Cross Streets at High Address End 1 57
List of Cross Streets at High Address End (up to 5 PB5SCs) 20 58-77
Community District 3 78-80
Community District Borough Code 1 78
Community District Number 2 79-80
Community District Number 2 79-80
ZIP Code 5 81-85
DOT Street Light Contractor Area 1 86
Health Center District 2 87-88
Side of Street Indicator 1 89
Continuous Parity Indicator 1 90
2010 Census Tract 6 91-96
2010 Census Block 4 97-100
2010 Census Block Suffix 1 101-101
Filler 1 102-102
Filler 1 103-104
Health Area 4 105-108
Sanitation Recycling Collection Schedule 3 109-111
Feature Type Code 1 112
Interim Assistance Eligibility Indicator (IAEI) 1 113
Curve Flag 1 114
Police Patrol Borough Command 1 115
Police Precinct 3 116-118
School District 2 119-120
Election District 3 121-123
Assembly District 2 124-125
Split Election District Flag 1 126
Congressional District 2 127-128
State Senatorial District 2 129-130
Civil Court District 2 131-132
City Council District 2 133-134
Coincident Segment Count 1 135
Segment Type Code 1 136
Sanitation District 3 137-139
Sanitation Collection Scheduling Section and Subsection 2 140-141
Fire Division 2 142-143
Fire Battalion 2 144-145
Fire Company Type 1 146
Fire Company Number 3 147-149
Special Address Generated Record Flag 1 150
Reserved for Internal Geosupport Use 1 151
Filler (was Split Community School District Flag) 1 152
Board of Elections-Preferred LGC 2 153-154
Face Code (was known as LION Face Code) 4 155-158
Sequence Number (was known as LION Sequence Number) 5 159-163
1990 Census Tract 6 164-169
Filler 4 170-173
Atomic Polygon (Previously known as Dynamic Block) 3 174-176
X Coordinate 7 177-183
Y Coordinate 7 184-190
Segment Length in Feet 5 191-195
Sanitation Regular Collection Schedule 5 196-200

Long Work Area 2 (MSW) Layout for Function 1E

Field Size Positions
Same as corresponding positions in Function 1E's regular WA2 200 1-200
Segment-ID (was known as LION Segment-ID) 7 201-207
Underlying B7SC of True Street 8 208-215
Underlying HNI on True Street 6 216-221
2000 Census Tract 6 222-227
2000 Census Block 4 228-231
2000 Census Block Filler / Suffix 1 232-232
Filler 68 233-300

Work Area 2 (MSW) Layout for Function 2

Field Size Positions
Filler 31 1‑31
DCP-Preferred LGC for Street 1 2 32-33
DCP-Preferred LGC for Street 2 2 34-35
Number of Intersecting Streets 1 36
List of Intersecting Streets (up to five PB5SCs, 4 bytes each) 20 37‑56
Compass Direction for Intersection Key 1 57
Filler 10 58‑67
Filler 2 68‑69
Fire Division 2 70-71
Fire Battalion 2 72-73
Fire Company Type 1 74
Fire Company Number 3 75-77
Community District 3 78‑80
Community District Borough Code 1 78
Community District Number 2 79-80
ZIP Code 5 81-85
DOT Street Light Contractor Area 1 86
2010 Census Tract 6 87‑92
Filler 3 93‑95
Health Area 4 96‑99
Health Area 4 96‑99
Filler 9 100-108
Node Number (was known as LION Node Number) 7 109‑115
X Coordinate 7 116-122
Y Coordinate 7 123‑129
Filler 4 130‑133
Police Patrol Borough Command 1 134
Police Precinct 3 135‑137
School District (was known as Community School District) 2 138‑139
Reserved for Internal Geosupport Use 1 140
1990 Census Tract 6 141‑146
SBVP1 (Sanborn Map Identifiers): 8 147-154
Sanborn Borough Code 1 147
Sanborn Volume and Volume Suffix 3 148-150
Sanborn Page and Page Suffix 4 151-154
SBVP2 (Sanborn Map Identifiers for Second Map, if any) 8 155-162
Sanborn Borough Code 1 155
Sanborn Volume and Volume Suffix 3 156-158
Sanborn Page and Page Suffix 4 159-162
Sanborn Page and Page Suffix 4 159-162
Distance Between Duplicate Intersections 5 163‑167
2000 Census Tract 6 168-173
Filler 27 174-200

Work Area 2 (MSW) Layout for Function 3

Field Size Positions
Filler 22 1‑22
Curve Flag 1 23
Locational Status 1 24
County Boundary Indicator 1 25
Coincident Segment Count 1 26
Filler 3 27-29
DCP-Preferred LGC for Street 1 2 30-31
DCP-Preferred LGC for Street 2 2 32-33
DCP-Preferred LGC for Street 3 2 34-35
DCP-Preferred LGC for Street 3 2 34-35
Number of Cross Streets at Low Address End 1 36
List of Cross Streets at Low Address End (up to five PB5SCs) 20 37‑56
Number of Cross Streets at High Address End 1 57
List of Cross Streets at High Address End (up to five PB5SCs) 20 58‑77
DOT Street Light Contractor Area 1 78
Cross Street Reversal Flag 1 79
Left Community District 3 80‑82
Left Community District Borough Code 1 80
Left Community District Number 2 81-82
Right Community District 3 83‑85
Right Community District Borough Code 1 83
Right Community District Number 2 84-85
Left ZIP Code 5 86‑90
Right ZIP Code 5 91‑95
Filler 18 96‑113
Left Health Area 4 114‑117
Right Health Area 4 118‑121
Filler 2 122-123
Filler 2 124-125
Left Low House Number 7 126‑132
Left High House Number 7 133‑139
Right Low House Number 7 140‑146
Right High House Number 7 147‑153
Continuous Parity Indicator 1 154
Face Code (was known as LION Face Code) 4 155-158
Sequence Number (was known as LION Sequence Number) 5 159‑163
Generated Record Flag 1 164
Segment Length in Feet (Packed) 3 165-167
Segment Azimuth 3 168‑170
Segment Orientation 1 171
Filler 2 172‑173
Filler 2 174-175
Left Interim Assistance Eligibility Indicator 1 176
Right Interim Assistance Eligibility Indicator 1 177
Dogleg Flag 1 178
Feature Type Code 1 179
Left Police Patrol Borough Command 1 180
Left Police Precinct 3 181‑183
Right Police Patrol Borough Command 1 184
Right Police Precinct 3 185‑187
Left School District (was known as Left Community School…) 2 188‑189
Right School District (was known as Right Community School…) 2 190‑191
Reserved for Internal Geosupport Use 1 192
Segment-ID (was known an LION Segment-ID) 7 193-199
Segment Type code 1 200

Long Work Area 2 (MSW) Layout for Function 3

Field Size Positions
Same as corresponding positions in Function 3's regular WA2 200 1-200
Left 1990 Census Tract 6 201‑206
Filler 4 207‑210
Left Atomic Polygon (Previously known as Dynamic Block) 3 211‑213
Right 1990 Census Tract 6 214‑219
Filler 4 220‑223
Right Atomic Polygon (Previously known as Dynamic Block) 3 224‑226
Left Fire Division 2 227-228
Left Fire Battalion 2 229-230
Left Fire Company Type 1 231
Left Fire Company Number 3 232-234
Right Fire Division 2 235-236
Right Fire Battalion 2 237-238
Right Fire Company Type 1 239-239
Right Fire Company Number 3 240-242
Left 2010 Census Tract 6 243-248
Left 2010 Census Block 4 249-252
Left 2010 Census Block Suffix / Filler 1 253
Right 2010 Census Tract 6 254-259
Right 2010 Census Block 4 260-263
Right 2010 Census Block Suffix / Filler 1 264
From Node 7 265-271
To Node 7 272-278
Left 2000 Census Tract 6 279-284
Left 2000 Census Block Suffix 1 289
Right 2000 Census Tract 6 290-295
Right 2000 Census Block 4 296-299
Right 2000 Census Block Suffix 1 300

Work Area 2 (MSW) Layout for Function 3C

Field Size Positions
Filler 21 1-21
Curve Flag 1 22
Segment Type Code 1 23
Locational Status 1 24
County Boundary Indicator 1 25
Coincident Segment Count 1 26
Filler 3 27-29
DCP-Preferred LGC for Street 1 2 30-31
DCP-Preferred LGC for Street 2 2 32-33
DCP-Preferred LGC for Street 3 2 34-35
Number of Cross Streets at Low Address End 1 36
Number of Cross Streets at Low Address End 1 36
List of Cross Streets at Low Address End (up to 5 PB5SCs) 20 37‑56
Number of Cross Streets at High Address End 1 57
List of Cross Streets at High Address End (up to 5 PB5SCs) 20 58‑77
Community District 20 78‑80
Community District Borough Code 1 78
Community District Number 2 79-80
ZIP Code 5 81-85
DOT Street Light Contractor Area 1 86
2000 Census Tract 6 87‑92
Filler 1 93
2010 Census Tract 6 94‑99
2010 Census Block 4 100‑103
2010 Census Block Suffix (Future Use) 1 104
Health Area 4 105‑108
Cross Street Reversal Flag 1 109
Side of Street Indicator 1 110
Fire Division 2 111-112
Fire Battalion 2 113-114
Fire Company Type 1 115
Fire Company Number 3 116-118
Segment-ID (was known as LION Segment-ID) 7 119‑125
Low House Number of Blockface 7 126‑132
High House Number of Blockface 7 133‑139
Alternate Low House Number 7 140‑146
Alternate High House Number 7 147‑153
Continuous Parity Indicator 1 154
Face Code (was known as LION Face Code) 4 155-158
Sequence Number (was known as LION Sequence Number) 5 159‑163
Generated Record Flag 1 164
Generated Record Flag 1 164
Segment Length in Feet (Packed) 3 165‑167
Segment Azimuth 3 168‑170
Segment Orientation 1 171
Filler 2 172‑173
Interim Assistance Eligibility Indicator (IAEI) 1 174
Feature Type Code 1 175
Police Patrol Borough Command 1 176
Police Precinct 3 177‑179
School District (was known as Community School District) 2 180‑181
Reserved for Internal Geosupport Use 1 182
1990 Census Tract 6 183‑188
Filler 4 189‑192
Atomic Polygon (Previously known as Dynamic Block) 3 193‑195
2000 Census Block 4 196‑199
2000 Census Block Suffix Filler 1 200

Work Area 2 (MSW) Layout for Function 3S

Field Size Positions
Filler 21 1-21
Number of Cross Streets in Stretch (Maximum = 350) 3 22‑24
List of Cross Streets in Stretch, each list entry 12 bytes as follows: 4200 25‑4224
Smallest PB5SC at Intersection 4
Second smallest PB5SC at Intersection 4
Distance from Predecessor in Feet 3
Gap Flag 1

_________________________

13 Borough Code values are: '1'=Manhattan, '2'=Bronx, '3'=Brooklyn, '4'=Queens, "5"=Staten Island