diff --git a/docs/appendices/appendix03.md b/docs/appendices/appendix03.md index 4f8dd179..cd052351 100644 --- a/docs/appendices/appendix03.md +++ b/docs/appendices/appendix03.md @@ -12,7 +12,7 @@ Each entry consists of an appropriate combination of the following elements:

1 * = 1, 1A, 1B, 1E, 1N; also 1Extended, 1A Extended, 1E Extended

-

2 * = 2, 2W??

+

2 * = 2, 2W

3 * = 3, 3C, 3S, 3 & 3C with Auxiliary Segments, 3 & 3C Extended (with or without Auxiliary Segments)

B * = BB, BF, BL, BN

D * = D, DG, DN

@@ -33,27 +33,27 @@ BF = Blank-Filled * Description. A brief narrative description of the data item. The description may include citations to sections of the UPG where the data item is principally discussed. Data items that are self‑explanatory have no description and/or citations. * Valid Values and Code Meanings. The values or ranges of values valid for this data item and, if the item consists of codes, the meaning of each code value. +## Numeric - - - -1A/BL VERSION FLAG - See FUNCTION 1A/BL VERSION FLAG. -1990 CENSUS TRACT - See CENSUS TRACT. -2000 CENSUS BLOCK - See CENSUS BLOCK. -2000 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX. -2000 CENSUS TRACT - See CENSUS TRACT. -2010 CENSUS BLOCK - See CENSUS BLOCK. -2010 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX. -2010 CENSUS TRACT - See CENSUS TRACT. + + + + + + + + + +
1A/BL VERSION FLAG - See FUNCTION 1A/BL VERSION FLAG.
1990 CENSUS TRACT - See CENSUS TRACT.
2000 CENSUS BLOCK - See CENSUS BLOCK.
2000 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX.
2000 CENSUS TRACT - See CENSUS TRACT.
2010 CENSUS BLOCK - See CENSUS BLOCK.
2010 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX.
2010 CENSUS TRACT - See CENSUS TRACT.
## A - + - + @@ -65,7 +65,7 @@ BF = Blank-Filled - + @@ -100,7 +100,7 @@ BF = Blank-Filled - + @@ -112,7 +112,7 @@ BF = Blank-Filled - +
ALLEY/CROSS STREETS FLAG (ALX)ALLEY/CROSS STREETS FLAG (ALX)
Functions:Functions: 1, 1E
1 byte
Description:Description: Indicates if the segment has been split by alleys, or if the cross streets named in the segment have been copied from a previous or subsequent segment because the segment itself has no cross streets.
ALTERNATE LOW AND HIGH HOUSE NUMBERS
Functions:Functions: 3C
See HOUSE NUMBER
Description:Description: These two fields are non-blank only if this blockface has addresses of both parities (the parity of a number is its attribute of being odd or even). Such a blockface is said to have ‘continuous parity’. If the blockface has continuous parity, the Continuous Parity Indicator is non-blank, the Low and High House Number fields contain the address range for one parity, and the Alternate Low and High House Number fields contain the address range for the other parity. (Which parity is in which set of house number fields is unpredictable.)
@@ -122,7 +122,7 @@ BF = Blank-Filled ALTERNATIVE BOROUGH FLAG - Functions: + Functions: 1, 1A, 1B, 1E, 2, 3, 3C, 3S (COW only), BL, BN @@ -134,7 +134,7 @@ BF = Blank-Filled 1 byte - Description: + Description: This flag indicates either that the input address is in Marble Hill or Rikers Island and the alternative (rather than the legal) borough was specified (see Chapter V.7), or that the input address is on Ruby Street in Brooklyn but it was specified using the alternative (Queens) street name 75 Street (see Chapter V.8). @@ -165,7 +165,8 @@ BF = Blank-Filled -ALX FLAG - See ALLEY/CROSS STREETS FLAG +ALX FLAG - See ALLEY/CROSS STREETS FLAG
+ ANNOTATION POINT - No longer used by Geosupport. See SPATIAL COORDINATES OF THE TAX LOT CENTROID @@ -173,11 +174,11 @@ BF = Blank-Filled - + - + @@ -189,7 +190,7 @@ BF = Blank-Filled - +
ASSEMBLY DISTRICT
Field Names:Field Names: LEFT ASSEMBLY DISTRICT
RIGHT ASSEMBLY DISTRICT
Functions:Functions: 1E, 2 (COW only), 3 (COW only), 3C (COW only)
2 bytes. RJZF
Description:Description: A district of the lower house of the New York State legislature. Consists of an aggregation of Election Districts
@@ -199,7 +200,7 @@ BF = Blank-Filled ATOMIC POLYGON - Previously known as DYNAMIC BLOCK - Functions: + Functions: 1, 1B, 1E, 3(MSW: Long WA2), 3(COW), 3C @@ -211,7 +212,7 @@ BF = Blank-Filled 3 bytes RJZF - Description: + Description: An atomic polygon is an un-subdivided polygon . Atomic polygons are created based on the New York City CSCL (Citywide Street Centerline) database. Atomic polygons are numbered uniquely within census tract. @@ -223,7 +224,7 @@ BF = Blank-Filled AUXILIARY SEGMENT SWITCH (auxseg or segaux) - Functions: + Functions: 3, 3C, 3 & 3C Extended @@ -235,7 +236,7 @@ BF = Blank-Filled 1 byte character. - Description: + Description: When this flag is set to ‘Y’, the list of all the Segment IDs that comprise the segment will be added to the end of Work Area 2 for Functions 3 or 3C. @@ -268,7 +269,7 @@ BF = Blank-Filled B7SC OF “TRUE” STREET (a.k.a. B7SC OF “UNDERLYING” STREET) - Functions: + Functions: 1and 1E (MSW: Long WA2 only); 1, 1B and 1E (COW) @@ -280,7 +281,7 @@ BF = Blank-Filled 8 bytes (B7SC) - Description: + Description: This item typically applies to Addressable Place Names, Non-addressable Place Names and Vanity Addresses. It item contains the B7SC of the street segment upon which the address specified is actually located. This is the street segment that is identified by the field SEGMENT-ID and by the fields FACE CODE and SEQUENCE NUMBER. In most cases, the B5SC portion of this item is identical to the B5SC specified in the key. However, the two B5SCs differ when the SPECIAL ADDRESS GENERATED RECORD FLAG is either ‘B’, ‘N’, ‘P’, or ‘V’. @@ -290,7 +291,7 @@ BF = Blank-Filled BBL - Functions: + Functions: 1A, BL, BN, AP @@ -338,7 +339,7 @@ BF = Blank-Filled - Description: + Description: The first 6 bytes of the standard BBL consists of the 1-byte borough code followed by the 5-byte tax block field, which contains the tax block value right-justified and zero-filled. The last 4 bytes of the standard BBL is the standard tax lot field, which contains the tax lot value right-justified and zero-filled. See
Chapter VI.8. The BBL (‘borough-block-and-lot’) identifies a parcel of real property in New York City, called a tax lot. The BBL is composed of the concatenation of the Borough Code, Tax Block and Tax Lot. If the property is a condominium (indicated by the Condominium Flag), the WA2 BBL field contains the billing BBL of the condominium (see Chapter VI.4). @@ -354,7 +355,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BIKE LANE is being replaced by BIKE LANE 2. See also BIKE LANE 2 - Functions: + Functions: 1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended @@ -366,11 +367,11 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte - Notice: + Notice: As of Release 16D, Bike Lane has 11 codes, instead of 7. A new two-byte field, BIKE LANE 2, is being introduced. The original one-byte Bike Lane field still exists to give users a chance to update their applications. In the one-byte Bike Lane field, the value ‘A’ will appear when the new code is ‘10’, and the value ‘B’ will appear when the new code is ‘11’. We recommend that users update their applications to refer to the new Bike Lane-2 since the one-byte Bike Lane field will be deleted in a later release. - Description: + Description: Defines which street segments are part of the bicycle network as defined by the Department of Transportation. @@ -438,7 +439,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BIKE LANE 2 - Functions: + Functions: 1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended @@ -450,7 +451,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes, RJBF - Description: + Description: Defines which street segments are part of the bicycle network as defined by the Department of Transportation.
Note: As of Geosupport Version 16.4, Bike Lane 2 is being introduced to replace Bike Lane @@ -529,7 +530,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BIKE TRAFFIC DIRECTION - Functions: + Functions: 1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended @@ -541,7 +542,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes, RJBF - Description: + Description: Defines the traffic direction of the bike lanes on a segment. @@ -591,7 +592,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne LEFT BLOCKFACE ID
RIGHT BLOCKFACE ID - Functions: + Functions: 1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended @@ -603,17 +604,18 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 10 bytes. RJZF - Description: + Description: Left Blockface ID is a ten digit number identifying the block face on the left hand side of a segment. Correspondingly, Right Blockface ID identifies the block face on the right hand side of a segment. Block Face is defined as one continuous side of a physical block that is intersected on that side by two other physical through streets. Blockface IDs were established by DoITT’s consultants working on the planimetric feature classes for NYC and are not maintained by the Department of City Planning. - + + - + @@ -625,7 +627,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne - +
BOARD OF ELECTIONS PREFERRED LGC
Functions:Functions: 1E
2 bytes. RJZF
Description:Description: This item is the LGC (the sixth and seventh digits of the 10-digit street code) that corresponds to the NYC Board of Elections’ preferred street name for a given location.
@@ -636,7 +638,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BOROUGH CODE - Functions: + Functions: All functions @@ -648,7 +650,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. Numeric. - Description: + Description: @@ -695,7 +697,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BROWSE FLAG - Functions: + Functions: 1, 1A, 1B, 1E, 1N, 2, 3, 3C, BB, BF @@ -707,7 +709,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. Alphabetic - Description: + Description: @@ -748,7 +750,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BUILDING IDENTIFICATION NUMBER (BIN) - Functions: + Functions: 1A, BL, BN, 1B (COW only) and AP (COW only) @@ -760,7 +762,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 7 bytes. Numeric - Description: + Description: Building Identification Number. A permanent BIN is a seven-digit numerical identifier unique to each building in the City of New York. The first digit is the Borough Code. There are also two types of temporary BINs; those maintained by the Dept. of Buildings (DOB) and those maintained by the Dept. of City Planning (DCP). The temporary BINs assigned by DOB contain the number ‘8’ as the second digit, and the temporary BINs assigned by DCP contain a ‘9’ in the same position. DCP is currently in the process of phasing out all of its temporary BINs. @@ -770,7 +772,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne BUSINESS IMPROVEMENT DISTRICT (BID) - Functions: + Functions: 1A, 1B, BL, BN @@ -782,7 +784,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 6 bytes, B5SC - Description: + Description: The Business Improvement District (BID) field (which was requested by the Fire Department) consists of a borough and five-digit street code (B5SC). Function D may be used to obtain the 32-byte name of the BID. The ‘Street Attribute Indicator’ is set to ‘C’ for BIDs. An example of a Business Improvement District is ‘5 AVE BID’ Note that a BID may not be used as input to Function 1, 1A, 1B, 1E, 2*, and 3*. @@ -811,7 +813,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne - Functions: + Functions: 1 & 1E (MSW: for 2010 - Regular WA2, for 2000 - Long WA2 Only;), 1 & 1E(COW). 2, 3 (MSW: Long WA2 Only), 3(COW), 3C @@ -823,7 +825,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 4 bytes, numeric - Description: + Description: When appended by the CENSUS BLOCK SUFFIX, this area is the smallest geographic area defined by the U.S. Census Bureau for tabulating the census. Generally (but not always) corresponds to a physical city block. Each census block is numbered uniquely within its census tract. @@ -847,7 +849,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne - Functions: + Functions: 1&1E (MSW: for 2010 - Regular WA2, for 2000 - Long WA2 Only;), 1, 1B &1E(COW) 2, 3 (MSW: Long WA2 Only), 3(COW), 3C @@ -859,7 +861,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. - Description: + Description: This suffix is defined by the U.S. Census Bureau. At the government’s discretion, this field may, or may not, contain data. @@ -885,7 +887,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne - Functions: + Functions: 1, 1E, 1B, 2, 3 (MSW: 2010 - Regular WA2; 2000 - Long WA2 Only), 3(COW), 3C @@ -897,7 +899,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 6 bytes, consisting of numeric 4-digit root followed by numeric 2-digit suffix. The root subfield is RJBF and the suffix subfield is RJZF if any. If the tract number contains no suffix, then the suffix subfield is blank. - Description: + Description: Geographic area defined by the U.S. Census Bureau for the various decennial censuses. Census tracts for a particular census year are numbered uniquely within borough. @@ -907,7 +909,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CITY COUNCIL DISTRICT - Functions: + Functions: 1B (COW), 1E, 2(COW only) @@ -919,7 +921,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes. - Description: + Description: A district represented by a member of the New York City Council. Consists of an aggregation of Election Districts. There are currently 51 City Council Districts. @@ -929,7 +931,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CIVIL COURT DISTRICT - Functions: + Functions: 1E, 1B (COW), 2(COW only) @@ -941,7 +943,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes. - Description: + Description: A district from which a Civil Court judge is elected. Consists of an aggregation of Election Districts. @@ -951,7 +953,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COINCIDENT SEGMENT COUNT - Functions: + Functions: 1, 1E, 3, 3C @@ -963,7 +965,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte, numeric - Description: + Description: The Coincident Segment Count indicates the situation where one road is above another road. Most streets, such as Broadway in Manhattan have a value of ‘1’ in the Coincident Segment Count. However, there are a few streets where the Coincident Segment Count is greater than one. An example of this is Third Avenue and the Gowanus Expressway in Brooklyn. The Gowanus Expressway is above Third Avenue from about 18th Street until 63rd Street. For these segments, the Coincident Segment Count is ‘2’. @@ -979,7 +981,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COMMUNITY DISTRICT (CD) - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW) @@ -991,7 +993,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 3 bytes. Numeric. The first byte is the Community District Borough Code, and the second and third bytes are the Community District Number, RJZF. - Description: + Description: There are 59 community districts in the City of New York, as well as 12 Joint Interest Areas (JIAs). The JIAs are major parks and airports that are not contained within any CD. Examples are Central Park, Van Cortlandt Park, LaGuardia and JFK Airports. The JIAs are the numerically highest items in each borough. @@ -1088,7 +1090,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COMPASS DIRECTION - Functions: + Functions: 2, 3C, 3S @@ -1100,7 +1102,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. - Description: + Description: In the case of Function 2, the compass direction identifies, for a pair of input streets that intersect at two distinct locations, which of those two intersections is to be processed. (See Chapter VII.2) In the case of Function 3C, the compass direction identifies which side of the street is to be processed. (See Section VII.5) In the case of Function 3S, if the ‘on’ street intersects the first cross street at two distinct locations, the compass direction identifies which of those two intersections is to be processed. (See Chapter VII.6) @@ -1113,7 +1115,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COMPASS DIRECTION FOR INTERSECTION KEY - Functions: + Functions: 2 @@ -1125,7 +1127,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. - Description: + Description: If the first two entries in the LIST OF INTERSECTING STREETS are an instance of the two-node case (i.e., they intersect twice), this field contains a compass direction value identifying the intersection in terms of those two streets. If the two streets are not an instance of the two-node case, this field is blank. If both a ‘longitudinal’ compass direction (‘N’ or ‘S’) and a ‘latitudinal’ compass direction (‘E’ or ‘W ’) are valid for this intersection, the longitudinal compass direction value appears in this field. @@ -1137,7 +1139,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COMPASS DIRECTION FOR 2nd INTERSECTION - Functions: + Functions: 3S @@ -1149,7 +1151,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. - Description: + Description: If the ‘on’ street intersects the second cross street at two distinct locations, this compass direction identifies which of those two intersections is to be processed. (See Chapter VII.6) @@ -1160,7 +1162,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CONDOMINIUM FLAG - Functions: + Functions: 1A, BL, BN, 1B (COW), AP @@ -1172,7 +1174,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte. - Description: + Description: @@ -1205,7 +1207,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CONDOMINIUM IDENTIFICATION NUMBER - Functions: + Functions: 1A, BL, BN, 1B (COW), AP @@ -1217,7 +1219,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 4 bytes - Description: + Description: An identification number assigned by the Department of Finance to each condominium in the city. This field is blank for non-condominiums. @@ -1227,7 +1229,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CONGRESSIONAL DISTRICT - Functions: + Functions: 1E, 1B (COW), 2 (COW only) @@ -1239,7 +1241,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes. - Description: + Description: A district of the U.S. House of Representatives. Consists of an aggregation of Election Districts. @@ -1249,7 +1251,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CONTINUOUS PARITY INDICATOR - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW) @@ -1261,7 +1263,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte - Description: + Description: An ‘address range’ is a sequence of house numbers along an ‘on’ street between (and including) a Low House Number and a High House Number. Every address range has one of three possible parities: odd, even or continuous. An address range of odd parity consists of all odd house numbers along the ‘on’ street between the Low and High House Numbers. An even-parity range consists of all even house numbers between the Low and High House Numbers. A continuous-parity range consists of all house numbers (both even and odd) between the Low and High House Numbers. Most New York City blockfaces contain an address range that is either of even or odd parity. However, some blockfaces have a continuous-parity address range, usually where the opposite side of the street is non-addressable because it is a park, a body of water, etc. Some examples of the continuous parity case in Manhattan are Central Park West (the east side of the street runs along Central Park and is non-addressable, while the west side has both odd and even addresses); Riverside Drive; and the portion of Fifth Avenue that runs alongside Central Park.

If a New York City blockface has a continuous parity address range, Geosupport represents this range as two separate ranges, an odd-parity range and an even-parity range. The practical effect of this depends on the Geosupport function. For Functions 1 and 1E, if an input address lies on a continuous-parity blockface, only the range (i.e., the Low and High House Numbers) whose parity is the same as that of the input address is returned in WA2. For Function 3, if an input street segment contains a continuous parity address range, both the odd and the even ranges are returned, in the WA2 fields called Left Low House Number and Left High House Number for the range of one parity, and in the fields Right Low and High House Numbers for the range of the other parity; note that in this case, in reality both the odd and the even ranges are on the same side of the street, even though they are returned in fields called ‘left’ and ‘right’. For Function 3C, if an input blockface is on a street segment containing a continuous parity address range (regardless of whether the input blockface is on the addressable or the non-addressable side of the segment), both the odd and the even ranges are returned, in the WA2 fields called Low House Number and High House Number for the range of one parity, and in the fields Alternate Low House Number and Alternate High House Number for the range of the other parity.

The field Continuous Parity Indicator indicates, for Functions 1, 1E, 3 and 3C, whether the street segment containing or corresponding to the user input is of the continuous parity type, and if so, which side of the segment is addressable. @@ -1293,7 +1295,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COOPERATIVE IDENTIFICATION NUMBER - Functions: + Functions: 1A, BL, BN, 1B (COW) @@ -1305,7 +1307,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 4 bytes. - Description: + Description: This is an identification number assigned by the Department of Finance to each cooperative in the city. This field is blank for non-coops. @@ -1316,7 +1318,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne CORNER CODE - Functions: + Functions: 1A, BL, BN, 1B (COW) @@ -1328,7 +1330,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 2 bytes - Description: + Description: @@ -1363,7 +1365,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne COUNTY BOUNDARY INDICATOR - Functions: + Functions: 3, 3C @@ -1375,7 +1377,7 @@ The BBL (‘borough-block-and-lot’) identifies a parcel of real property in Ne 1 byte - Description: + Description: This field is non-blank when the street segment lies along a borough boundary. The value of this field indicates which side of the segment is out of borough. @@ -1411,7 +1413,7 @@ The value of this field indicates which side of the segment is out of borough. < CROSS STREET NAMES FLAG (a.k.a. EXPANDED FORMAT FLAG) - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW) @@ -1423,7 +1425,7 @@ The value of this field indicates which side of the segment is out of borough. < 1 byte character. - Description: + Description: When this flag is set to ‘E’, the LIST OF STREET NAMES is used to return street names corresponding to the street codes in the LIST OF CROSS STREETS (Functions 1, 1B, 1E, 3 and 3C) or in the LIST OF INTERSECTING STREETS (Function 2). See LIST OF STREET NAMES for related details.

When possible, the BBL and BIN are returned in the output area of Work Area 1 for Functions 1, 1A, 1B, and 1E.

The cross street names feature incurs processing overhead, and should only be used when necessary. Note that Function 1B returns the principal street codes and street names of the cross streets in the Blockface portion of Work Area 2. Therefore it is typically not necessary to set the Cross Street Names flag with Function 1B. @@ -1455,7 +1457,7 @@ The value of this field indicates which side of the segment is out of borough. < CROSS STREET REVERSAL FLAG - Functions: + Functions: 3, 3C @@ -1467,7 +1469,7 @@ The value of this field indicates which side of the segment is out of borough. < 1 byte - Description: + Description: This flag indicates the relationship between the order in which the user specified the input cross streets and the direction of increasing addresses along the ‘on’ street. @@ -1503,7 +1505,7 @@ See LIST OF CROSS STREET CODES (Function 3S) CURVE FLAG - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW) @@ -1515,7 +1517,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte character - Description: + Description: This flag indicates whether the given geographic feature segment is in reality curved. If so, the curve may be an arc of a circle or an irregular curve. When the segment specified by the input data is an arc of a circle, Functions 1 and 1E return Spatial Coordinates that are positioned relative to this arc rather than to the segment’s chord (the imaginary straight line joining the curved feature’s endpoints). When the segment specified by the input data is an irregular curve, Functions 1 and 1E return blanks in the Spatial Coordinate fields (q.v.), and issue a warning with Reason Code value ‘P’. In the case of Functions 3 and 3C, if the input data define a street stretch encompassing more than one segment (because of a T-intersection or bend), the Curve Flag is set ‘on’ (non-blank) if at least one of the constituent segments of the stretch is curved. See also discussion of Segment Length. @@ -1556,7 +1558,7 @@ See LIST OF CROSS STREET CODES (Function 3S) DCP PREFERRED LGC - Functions: + Functions: 1, 1A and BL (regular WA2 only), 2, 3, 3C, BN @@ -1568,7 +1570,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 2 bytes RJZF - Description: + Description: Identifies the local group of street names designated by the Department of City Planning as ‘preferred’ for display purposes for a specific location on a street. @@ -1580,7 +1582,7 @@ See LIST OF CROSS STREET CODES (Function 3S) DISTANCE BETWEEN DUPLICATE INTERSECTIONS - Functions: + Functions: 2 @@ -1592,7 +1594,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 5 bytes numeric - Description: + Description: When the two input streets intersect exactly twice, this field contains the distance, in feet, between those two intersections. @@ -1602,7 +1604,7 @@ See LIST OF CROSS STREET CODES (Function 3S) DOGLEG FLAG - Functions: + Functions: 3 @@ -1614,7 +1616,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: A dogleg is a street configuration in which a street has a displacement or offset as it crosses another street. A non-blank value in the Dogleg Flag indicates that at least one of the cross streets forms a dogleg as it crosses the ‘on’ street, in such a way that at least one side of the ‘on’ street has a blockface encompassing more than one segment. @@ -1665,7 +1667,7 @@ See LIST OF CROSS STREET CODES (Function 3S) DOT STREET LIGHT CONTRACTOR AREA - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW) @@ -1680,7 +1682,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - Description: + Description: @@ -1729,7 +1731,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -1741,7 +1743,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -1835,7 +1837,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
DSNY SNOW PRIORITY CODE
Functions:Functions: 1/1E, 1/1E Extended, 1B, 3, 3 Extended, 3C, 3C Extended
1 byte character
Description:Description: DSNY (Department of Sanitation) Snow Priority code is used during snow emergencies. It helps DSNY to determine the snow removal schedule, routes and resources needed.
3 bytes
Description:Description: A set of districts defined by the NYC Board of Elections to conduct elections. There are approximately 6,000 Election Districts (EDs) in NYC. Each ED is numbered uniquely within its Assembly District. All of NYC’s higher-level political districts, namely Assembly Districts, City Council Districts, Municipal Court Districts, Congressional Districts and State Senatorial Districts, are defined as aggregates of Eds.
@@ -1862,7 +1864,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 4 bytes. Numeric - Description: + Description: A Face Code is assigned to each linear geographic feature represented in the LION file. These consist of streets and certain non-street features, such as census boundaries, shorelines and railroad tracks. Face Codes serve as part of LION keys, which identify a unique LION record. Face Code values are assigned uniquely within borough. @@ -1885,7 +1887,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: Identifies the type of geographic feature represented by the work area @@ -1961,7 +1963,7 @@ See LIST OF CROSS STREET CODES (Function 3S) FIRE BATTALION - Functions: + Functions: 1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only) @@ -1973,7 +1975,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 2 bytes - Description: + Description: An administrative fire district composed of Fire Companies/ @@ -1984,7 +1986,7 @@ See LIST OF CROSS STREET CODES (Function 3S) FIRE COMPANY NUMBER - Functions: + Functions: 1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only) @@ -1996,7 +1998,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 3 bytes. Numeric RJZF - Description: + Description: The smallest kind of administrative fire district defined by the NYC Fire Department. There are three types, indicated by the Fire Company Type: engine companies, Squad and ladder companies. @@ -2007,7 +2009,7 @@ See LIST OF CROSS STREET CODES (Function 3S) FIRE COMPANY NUMBER - Functions: + Functions: 1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only) @@ -2019,7 +2021,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: Fire companies are characterized by the type of apparatus they use to fight fires. @@ -2067,7 +2069,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 2 bytes - Description: + Description: An administrative fire district composed of Fire Battalions. @@ -2082,7 +2084,7 @@ See LIST OF CROSS STREET CODES (Function 3S) FUNCTION 1A/BL VERSION FLAG - Functions: + Functions: 1A, BL @@ -2103,7 +2105,7 @@ See LIST OF CROSS STREET CODES (Function 3S) Meaning - Description: + Description: @@ -2136,7 +2138,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2148,7 +2150,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + - + - + @@ -2485,7 +2487,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
GAP FLAG
Functions:Functions: 3S
1 byte
Description:Description: @@ -2188,7 +2190,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
2 bytes
Description:Description: An administrative fire district composed of Fire Battalions.
@@ -2215,7 +2217,7 @@ See LIST OF CROSS STREET CODES (Function 3S)
1 byte
Description:Description: @@ -2247,7 +2249,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2259,7 +2261,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + - + @@ -2409,7 +2411,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
GAP FLAG
Functions:Functions: 3S
1 byte
Description:Description: @@ -2303,7 +2305,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2315,7 +2317,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2374,7 +2376,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2386,7 +2388,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
GENERATED RECORD FLAG
Functions:Functions: 3, 3C
1 byte/td>
Description:Description: This flag indicates that the geography defined by the input ‘on’ street and two cross streets is not a conventional street segment.  There are several cases: a segment one of whose cross-features is a pseudo-street name (codes C, D); a street stretch formed by consolidating more than one consecutive LION segment (codes B, L, M, R, S and T); or a segment that is part of such a street stretch (types F, G). If the input data simultaneously satisfy the criteria for a Generated Record Flag value of C or D and for some other value, the flag contains the value other than C or D.
HEALTH AREA
Functions:Functions: 1, 1E, 2, 3, 3C, 1B
4 bytes
Description:Description: Districts defined by the NYC Department of Health and used to report statistics on births, deaths, communicable diseases etc. Health Areas are aggregates of Census Tracts.
@@ -2397,7 +2399,7 @@ See LIST OF CROSS STREET CODES (Function 3S)
HEALTH CENTER DISTRICT
Functions:Functions: 1, 1E, 2 (COW only), 3 Extended, 3C Extended
2 bytes
Description:Description: Districts defined by the NYC Department of Health for administrative purposes. Health Center Districts are aggregates of Health Areas.
@@ -2473,7 +2475,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1E-MSW: Long WA2, 1, 1B, and 1EE-COW, AP? )
Functions:Functions: 1, 1A, 1E, 3, 3C, 1B COW only)
See Chapter V.2.
Description:Description: If the field name indicates the house number is normalized, for MSW it is in HNI format, and for COW it is in HNS format; otherwise, it is in HND format (see Chapter V.2).
@@ -2496,7 +2498,7 @@ See LIST OF CROSS STREET CODES (Function 3S) HOUSE NUMBER JUSTIFICATION FLAG - Functions: + Functions: 1, 1E, 1A, D, DG, DN, 1B? @@ -2508,7 +2510,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: Indicates whether the HOUSE NUMBERS IN DISPLAY format (HNDs) in the output area should be left-justified or right-justified. @@ -2540,7 +2542,7 @@ See LIST OF CROSS STREET CODES (Function 3S) HOUSE NUMBER NORMALIZATION LENGTH - Functions: + Functions: 1, 1E, 1A, 1B, D, DG, DN @@ -2553,7 +2555,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - Description: + Description: Indicates the length requested for the HOUSE NUMBERS IN DISPLAY format (HNDs) in the output area. Valid values are between 12 and 16. If the field is left blank, the default is 12. For more information, see Chapter V.2. @@ -2576,7 +2578,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 2 bytes, numeric, LJBF - Description: + Description: Information used by Emergency Management (previously known as Office of Emergency Management (OEM)) in emergency situations. @@ -2608,7 +2610,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - Additional information may be found at http://www1.nyc.gov/site/em/ready/hurricane-evacuation.page + Additional information may be found at http://www1.nyc.gov/site/em/ready/hurricane-evacuation.page @@ -2624,7 +2626,7 @@ See LIST OF CROSS STREET CODES (Function 3S) INTERIM ASSISTANCE ELIGIBILITY INDICATOR (IAEI) - a.k.a. CD Eligibility Flag - Functions: + Functions: 1, 1E, 2 (COW only), 3, 3C, 1B @@ -2636,7 +2638,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: Indicates whether the input location is in a census tract that is eligible for Community Development Block Grant (CDBG) funding. A census tract is eligible for CDBG funding if at least 51.00% of the residents are low- and moderate-income persons (less than 80% of the Median Family Income) and 50% of its total floor area must be comprised of residential usage. All other census tracts are ineligible. @@ -2676,7 +2678,7 @@ See LIST OF CROSS STREET CODES (Function 3S) INTERSECTION REPLICATION COUNTER - Functions: + Functions: 2 @@ -2688,7 +2690,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte, numeric - Description: + Description: The Intersection Replication Counter is non-blank only if the two streets intersect more than once, in which case this field contains the number of such intersections. @@ -2699,7 +2701,7 @@ See LIST OF CROSS STREET CODES (Function 3S) INTERIOR LOT FLAG - Functions: + Functions: 1A, BL, BN @@ -2711,7 +2713,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 1 byte - Description: + Description: @@ -2739,7 +2741,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2751,7 +2753,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + - + @@ -2855,7 +2857,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2885,7 +2887,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2897,7 +2899,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
IRREGULARLY-SHAPED LOT FLAG
Functions:Functions: 1A, BL, BN
1 byte
Description:Description: @@ -2780,7 +2782,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2792,7 +2794,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2818,7 +2820,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - + @@ -2830,7 +2832,7 @@ See LIST OF CROSS STREET CODES (Function 3S) - +
LATITUDE, LONGITUDE
Functions:Functions: 1/1E Extended, all variations of 1A/BL/BN (viz. Regular, Long and Extended), 1B, 2W, 3 Extended, 3C Extended
Latitude: 9 bytes
Longitude: 11 bytes
Description:Description: Spatial coordinates based on the lines of latitude and longitude.  Lines of latitude measure the north-south position between the poles with the equator defined as 0 degrees. Lines of longitude (or meridians) measure the east-west position, with the prime meridian running through Greenwich, England.  For NYC, Latitude is always positive and Longitude is always negative. 
LENGTH IN FEET FROM PREVIOUS NODE
Functions:Functions: 3S
MSW: 3 bytes packed; COW: 5 bytes numeric RJZF
Description:Description: The length between two nodes.
@@ -2843,7 +2845,7 @@ See LIST OF CROSS STREET CODES (Function 3S)
LION KEY
Functions:Functions: 1, 1E, 3, 3C, 1B (COW only)
10 bytes. Numeric
Description:Description: The LION Key identifies a record in the CSCL file and relates to predecessor file known as LION. It consists of:
LIST OF BUILDINGS ON TAX LOT
Functions:Functions: 1A and BL - Long WA2 only
17,500 bytes, consisting of 2,500 slots for 7-byte BINs
Description:Description: List of the BUILDING IDENTIFICATION NUMBER (BIN) of each building on the tax lot. See Chapter VI.6.
@@ -2908,7 +2910,7 @@ See LIST OF CROSS STREET CODES (Function 3S) LIST OF BUILDINGS ON TAX LOT - Functions: + Functions: 1A and BL - Long WA2 only @@ -2920,7 +2922,7 @@ See LIST OF CROSS STREET CODES (Function 3S) 17,500 bytes, consisting of 2,500 slots for 7-byte BINs - Description: + Description: List of the BUILDING IDENTIFICATION NUMBER (BIN) of each building on the tax lot. See Chapter VI.6. @@ -2931,7 +2933,7 @@ See LIST OF CROSS STREET CODES (Function 3S) LIST OF CROSS STREET CODES - Functions: + Functions: 3S @@ -2944,7 +2946,7 @@ See LIST OF CROSS STREET CODES (Function 3S) COW: 40 bytes, numeric, consisting of 5 slots for intersecting B7SCs. - Description: + Description: MSW: For each intersecting street, in general, this is the lowest and second lowest PB5SCs for the cross streets, as described below in COW. COW: For each intersecting street, this is a list of up to five B7SCs, starting, in general (see Note below), with the lowest B7SC, followed by the next lowest, followed by the remaining B7SCs in ascending order.
The purpose of the ordering of the first two street codes is to facilitate the ability of users to form consistent keys for geographic retrieval of application data.
Note 1: In order to provide the user with the most meaningful information, ‘normal’ streets will be listed first, followed by ‘special’ streets, such as Ramps and Exits. Railroads, Shorelines and Borough Boundaries will appear next, followed by Named Intersections, CITY LIMITs, DEAD ENDs and BENDs. This will occur even if the ‘special’ streets have lower street codes than the ‘normal’. @@ -2963,7 +2965,7 @@ COW: For each intersecting street, this is a list of up to five B7SCs, starting, LIST OF CROSS STREETS AT LOW ADDRESS END
LIST OF CROSS STREETS AT HIGH ADDRESS END - Functions: + Functions: 1/1E Regular, 1/1E Extended (COW), 3, 3C, 1B (COW only) @@ -2983,7 +2985,7 @@ COW: For each intersecting street, this is a list of up to five B7SCs, starting, • COW (1/1E Extended): 40 bytes, consisting of slots for up to five 8-byte B7SCs. ‘Empty’ slots contain either numeric zeros or blanks. This list is in addition to the B5SC (30 bytes) list. - Description: + Description: A list of PB5SCs for MSW and B5SCs (and B7SCs) for COW (and COW 1/1E Extended), for up to five streets incident upon a delimiting node (endpoint) of a blockface or street segment. The number of non-empty list entries is returned in the corresponding WA2 field NUMBER OF CROSS STREETS AT (LOW or HIGH) ADDRESS END. It is possible for the list to be entirely empty. If the node lies on a borough boundary, the list may contain streets from both boroughs. Subject to the space limitation, the list may include the pseudo-streets ‘City Limit’, ‘Dead End’ and ‘Bend’. The inclusion of ‘Bend’ in the list indicates that the node is a bending point of the ‘on’ street, not that it is a bending point of a cross street (although that may also be true). The purpose of the ordering of the first two street codes is to facilitate the ability of users to form consistent keys for geographic retrieval of application data. @@ -3030,7 +3032,7 @@ COW: For each intersecting street, this is a list of up to five B7SCs, starting, LIST OF GEOGRAPHIC IDENTIFIERS (LGI) - Functions: + Functions: 1A and BL - regular WA2, BN @@ -3052,7 +3054,7 @@ COW: For each intersecting street, this is a list of up to five B7SCs, starting, Side of Street Indicator.
- Description: + Description: The List of Geographic Identifiers (LGI) is intended to provide a comprehensive geographic profile of a tax lot by listing, so far as the information is known and space allows, all of the lot’s buildings; all of the street addresses and non-addressable street frontages of each building; all of the lot’s ‘vacant frontages’ (i.e., street frontages of the lot not associated with buildings); and any NAPs associated with the lot. The LGI contains space for up to 21 entries. The number of non-empty entries is indicated in the WA2 field NUMBER OF GEOGRAPHIC IDENTIFIERS. The types of entries that the LGI can contain are as follows: @@ -3063,58 +3065,58 @@ COW: For each intersecting street, this is a list of up to five B7SCs, starting, List of Geographic Identifiers - Possible Entry Types - Entry Type Code - Represents + Entry Type Code + Represents Description - Blank - Address range + Blank + Address range A real address range of a building on a given tax lot. There are values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. A single address is represented as an address range in which the low and high house numbers are identical. - B - NAUB + B + NAUB A Non-Addressable Un-named Building (NAUB) (see Chapter VI.3). The Low and High House Number and Side of Street Indicator fields are blank. The B5SC and DCP-Preferred LGC fields usually contain the street code and LGC, correspondingly, of the street nearest to or most accessible to the NAUB, but they may be blank. The BIN field contains a meaningful value. Note: If the NAUB has frontages on more than one street, there are multiple type B entries to represent all of the NAUB’s street frontages. - F - Vacant Street
Frontage + F + Vacant Street
Frontage A street frontage of the tax lot at which there are no buildings (including NAUBs) and to which no pseudo-addresses have been assigned. The Low and High House Number, BIN and Side of Street Indicator fields are empty. There are values in the B5SC and DCP-Preferred LGC fields. - G - NAP of a
Complex + G + NAP of a
Complex A Non-Addressable Place name (NAP) of a complex of buildings and/or other geographic features, usually on a large site or superblock (see Chapter III.6). The house number and BIN fields are empty. The B5SC, DCP-Preferred LGC, and Side of Street Indicator fields contain the values of these items assigned to the NAP. - N - NAP of a + N + NAP of a A NAP of a building or other geographic feature that is not part of Simplex a complex (see Chapter III.6). The house number fields are empty. The B5SC, DCP-Preferred LGC, and Side of Street Indicator fields contain the values of these items assigned to the given NAP. The BIN field is non-empty only if the NAP represents a building. - Q - Pseudo-Address Range + Q + Pseudo-Address Range A pseudo-address range assigned to a vacant street frontage of the tax lot. There are values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC and Side of Street Indicator fields. A single address is represented as an address range in which the low and high house numbers are identical. The BIN field is empty - R - Real Street of a
Vanity Address + R + Real Street of a
Vanity Address Entry indicates the street and the side of that street on which the building entrance having a vanity address is really located and for which no other address for that building exists. For a discussion of vanity addresses, see Chapter V.9. In a type R entry, the Low and High House Number fields are empty, and there are non-empty values in the B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. Whenever the LGI contains a type R entry, it also contains a type V entry for the associated vanity address - V - Vanity Address + V + Vanity Address A vanity address or address range. For a detailed discussion of vanity addresses, see Chapter V.9. There are non-empty values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. A single address is represented as an address range in which the low and high house numbers are identical. Whenever the LGI contains a type V entry, it also contains an either an address range entry or a type R entry that indicates the street on which the associated building entrance is really located. - W - Blank-Wall Bldg Frontage + W + Blank-Wall Bldg Frontage A building frontage along a street that is not associated with any addresses, such as some building facades with no entrances. The Low and High House Number and Side of Street Indicator fields are blank. There are values in the B5SC and DCP-Preferred LGC fields. The BIN field contains a meaningful value. Note: Type W entries exist only for buildings that also have at least one real address range entry. If a building has no real address ranges, the building is a NAUB, and its street frontages, if any, are represented by type B entries rather than type W entries. - X - NAP of a Constituent Entity of a Complex + X + NAP of a Constituent Entity of a Complex A NAP of a constituent entity of a complex. (The NAP of the entire complex is represented by a separate entry of type G.) The house number fields are empty. The B5SC, DCP-Preferred LGC and Side of Street Indicator fields contain the values of these items assigned to the NAP. The BIN field is non-empty only if the NAP represents a building. @@ -3239,7 +3241,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f LIST OF INTERSECTING STREETS – See also LIST OF CROSS STREETS - Function: + Function: 2 @@ -3252,7 +3254,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f COW: 30 bytes, consisting of slots for up to five 6-byte B5SCs. ‘Empty’ slots contain numeric zeros or blanks. - Description: + Description: A list of PB5SCS for MSWs and B5SCs for COWs for up to five streets incident upon the intersection. The field NUMBER OF INTERSECTING STREETS contains the number of non-empty entries in the list. If the intersection lies on a borough boundary, the list may contain streets from both boroughs. Subject to the space limitation, the list may include the two input streets, and may include the pseudo-streets ‘City Limit’ and ‘Dead End’. The list never includes the pseudo-street ‘Bend’. The list always contains at least one entry (it contains precisely one entry in the case of a bending point of a street at which there are no other streets). The street codes of the input streets may, or may not, be included in the list (depending upon their numerical value.) Note, special handling has been given to Railroads, Coincident Street Features, etc. As a result of this special handling, the first one or two street codes in the list of intersecting streets may not always be the lowest two street codes. See LIST OF CROSS STREETS for further description and examples of the special handling. @@ -3264,7 +3266,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f LIST OF SEGMENT IDS - Functions: + Functions: 3 and 3C @@ -3276,7 +3278,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 500 bytes, consisting of a count of segment ids and 70 slots for 7-byte Segment IDs - Description: + Description: This list is generated only if Auxiliary Segment Switch is set to ‘Y’. See Chapter VII.4 and Appendix13. @@ -3287,7 +3289,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f LIST OF STREET CODES - Functions: + Functions: 1*, 2, 3*, BB, BF @@ -3299,7 +3301,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 80 bytes, consisting of 10 fields for B7SCs - Description: + Description: List of borough and 7-byte street codes, corresponding to the LIST OF STREET NAMES. The number of street codes in the list is returned in the WA1 output field NUMBER OF STREET CODES AND STREET NAMES IN LIST. @@ -3310,7 +3312,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f LIST OF STREET NAMES (WA1 output field) - Functions: + Functions: 1*, 2, 3*, BB, BF @@ -3322,7 +3324,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 320 bytes, consisting of 10 fields for street names, each 32 bytes. - Description: + Description: This field is used by several Geosupport features (see below) to return a list of street names. The number of street names in the list is returned in the WA1 output field NUMBER OF STREET NAMES IN LIST for MSWs, and in the WA1 output field NUMBER OF STREET CODES AND STREET NAMES IN LIST for COWs. @@ -3353,7 +3355,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f LOCATIONAL STATUS OF SEGMENT - Functions: + Functions: 3, 3C @@ -3365,7 +3367,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 1 byte - Description: + Description: Indicates locational status of segment per codes below. @@ -3432,7 +3434,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f MODE SWITCH - Functions: + Functions: 1, 1E, 1A, 3, 3C, BL, BN @@ -3444,7 +3446,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 1 byte - Description: + Description: Indicates request for Extended Work Area 2 for the supported functions. These extended work areas contain street names in addition to Street Codes. Users no longer have to make separate D, DG, or DN calls to get the street names. In addition, CSCL data is returned in the extended Work Area 2. See [Appendix 13](/appendices/appendix13/) for the Work Area layouts. Also, see Chapter II.7. @@ -3481,7 +3483,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NTA or NTA CODE - Functions: + Functions: 1, 1 Extended, 1E, 1E Extended, 1B, 3, 3 Extended, 3C, 3C Extended @@ -3493,7 +3495,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 4 bytes alphanumeric - Description: + Description: The Neighborhood Tabulation Areas (NTAs) are aggregations of census tracts that reflect the 2010 Census. The NTAs are assigned a 4-byte code and a 75-byte name. They are used by the Population Division of the Department of City Planning. See [Appendix 16](/appendices/appendix16/) for a description of the NTA’s history and significance. @@ -3554,7 +3556,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f TO NODE ID - Functions: + Functions: 2, 3 (COW only), 3C (COW Only), 3S (COW Only), 1B (COW Only) @@ -3566,7 +3568,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 7 bytes. Numeric - Description: + Description: A node is an endpoint of a geographic feature segment represented in CSCL/LION. Most nodes are points where a feature bends or terminates or where two features intersect in CSCL/LION. Each node has a node ID assigned to it, which is unique in the entire city. Node ID assignments are permanent; if a node is deleted from CSCL, its node ID is retired and is never reassigned to a different node. @@ -3591,7 +3593,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NTA NAME - Functions: + Functions: 1 Extended, 1E Extended, 1B, 3 Extended, 3C Extended @@ -3603,7 +3605,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 75 bytes alphanumeric - Description: + Description: See NEIGHBORHOOD TABULATION AREA (NTA) CODE @@ -3614,7 +3616,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF BUILDINGS ON TAX LOT - Functions: + Functions: 1A, BL - long WA2 only @@ -3626,7 +3628,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 4 bytes numeric. - Description: + Description: Indicates the number of entries in the LIST OF BUILDINGS. Maximum value is 2,500 @@ -3642,7 +3644,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF CROSS STREETS AT HIGH ADDRESS END - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW only) @@ -3654,7 +3656,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f One byte, containing a numeric digit from 0 to 5. - Description: + Description: Indicates the number of non-empty entries in the corresponding LIST OF CROSS STREETS. @@ -3669,7 +3671,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF GEOGRAPHIC IDENTIFIERS - Functions: + Functions: 1A and BL - regular WA2 only, BN, AP @@ -3681,7 +3683,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes for MSW; 4 bytes for COW - Description: + Description: Indicates the number of entries in the LIST OF GEOGRAPHIC IDENTIFIERS. For Function AP, the number is always ‘0001’ @@ -3692,7 +3694,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF INTERSECTING STREETS - Functions: + Functions: 2 @@ -3704,7 +3706,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f One byte, containing a numeric digit from 1 to 5. - Description: + Description: Indicates the number of non-empty entries in the LIST OF INTERSECTING STREETS. @@ -3714,7 +3716,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF PARKING LANES - Functions: + Functions: 1/1E Extended, 1B, 3 Extended, 3C Extended @@ -3726,7 +3728,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, RJBF. - Description: + Description: The number of lanes in a carriageway (roadway) that are reserved for parking of vehicles. The number of parking lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC. @@ -3737,7 +3739,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF STREET CODES AND STREET NAMES IN LIST - Functions: + Functions: 1*, 2, 3*, BB, BF @@ -3749,7 +3751,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, Numeric - Description: + Description: Indicates the number of street names returned in the LIST OF STREET NAMES, corresponding to the number of street codes returned in the LIST OF STREET CODES.. @@ -3760,7 +3762,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF STREET FRONTAGES OF LOT - Functions: + Functions: 1A, BL, BN @@ -3772,7 +3774,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, RJZF. - Description: + Description: Indicates the number of streets on which the given lot has at least one frontage. @@ -3783,7 +3785,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF STREET NAMES IN LIST (WA1 output item) - Functions: + Functions: 1*, 2, 3*, BB, BF @@ -3795,7 +3797,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, packed decimal - Description: + Description: Indicates the number of street names returned in the LIST OF STREET NAMES. @@ -3805,7 +3807,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF TOTAL LANES - Functions: + Functions: 1/1E Extended, 1B, 3 Extended, 3C Extended @@ -3817,7 +3819,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, RJBF. - Description: + Description: The total number of lanes in a carriageway (roadway) including travel lanes and parking lanes. The total number of lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC. @@ -3827,7 +3829,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f NUMBER OF TRAVEL LANES - Functions: + Functions: 1/1E Extended, 1B, 3 Extended, 3C Extended @@ -3839,7 +3841,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes, RJBF - Description: + Description: The number of lanes in a carriageway (roadway) that are designated for the movement of vehicles traveling from one destination to another. The number of travel lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC. @@ -3855,7 +3857,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f POLICE PATROL BOROUGH - Functions: + Functions: 1, 1X, 1E, 1EX, 2, 2W, 3, 3X, 3C, 3CX, 1B @@ -3867,7 +3869,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 2 bytes - Description: + Description: Police Patrol Boroughs are sub-borough geographic areas defined by the Police Department. They are composed of Police Precincts. Since the Police Department is supporting the Police Patrol Borough field, it is recommended that it be used.. Geosupport still returns the 1-byte POLICE PATROL BOROUGH COMMAND field to support those existing applications that access it. @@ -3925,7 +3927,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f POLICE PATROL BOROUGH COMMAND (See also POLICE PATROL BOROUGH) - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW only) @@ -3937,7 +3939,7 @@ The LGI’s entries are ordered so that entries with non-empty BINs are listed f 1 byte - Description: + Description: These are sub-borough geographic areas defined by the Police Department. They are composed of Police Precincts. @@ -3994,7 +3996,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO POLICE PRECINCT - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW only) @@ -4006,7 +4008,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 3 bytes. RJZF. - Description: + Description: Police Patrol Borough Commands are sub-divided into Police Precincts which are defined by the Police Department @@ -4018,7 +4020,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO REAL STREET ONLY FLAG - Functions: + Functions: 3S @@ -4030,7 +4032,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 1 byte. Alphabetic - Description: + Description: @@ -4084,7 +4086,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO - + @@ -4116,7 +4118,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO - + @@ -4132,7 +4134,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO - +
1 byte
Description:Description: Indicates request for Roadbed information for roads that are divided into two or more roadbeds. If Roadbed information is requested for a street that is not divided, Geosupport returns the generic information. For functions 1 and 1E, the Segment Type Code will indicate the type of information that is being returned. For more information on function 3S see Chapter VII.6.
RPAD BUILDING CLASSIFICATION CODE
Functions:Functions: 1A, BL, BN, 1B (COW only)
2 bytes
Description:Description: This is a set of land use/building classification codes defined by the Real Property Assessment Division (RPAD) of the Department of Finance.  If a tax lot has more than one building or land use, RPAD assigns the building class code they deem to describe best the ‘principal’ building or the ‘predominant’ land use on the tax lot.  The values and meanings of this set of codes can be obtained from the Department of Finance.
@@ -4143,7 +4145,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO RPAD CONDO IDENTIFICATION NUMBER - Functions: + Functions: 1A, BL, BN, 1B (COW only) @@ -4166,7 +4168,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO RPAD SELF-CHECK CODE (SCC) FOR BBL - Functions: + Functions: 1A, BL, BN, 1B (COW only) @@ -4178,7 +4180,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 1 byte - Description: + Description: For each BBL value, the Department of Finance has computed a Self-Check Code (SCC). This is a one-digit number computed from the BBL value using an algorithm chosen by DOF. The purpose of the SCC is to assist in validating key-entered BBLs. For more information on SCCs inquire to the information technology division of the Department of Finance. @@ -4190,7 +4192,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANBORN VOLUME AND PAGE - Functions: + Functions: 1A, BL, BN, 2, 1B (COW only) @@ -4202,7 +4204,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO The Volume field is 3 bytes (2-digit volume number + 1-digit character suffix). The Page field is 4 bytes (3-digit page number + 1-digit character suffix). - Description: + Description: The Sanborn Map Company maintains a 79 volume atlas of New York City geography that is widely used by New York city agencies. The atlases contain approximately 6000 maps covering all five boroughs - @@ -4214,7 +4216,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANITATION BULK ITEMS PICKUP - Functions: + Functions: 1/1E, 1/1E Extended, 1B @@ -4226,7 +4228,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 5 bytes - Description: + Description: This field contains the schedule for the Department of Sanitation (DSNY) pilot program of scheduled Bulk Items Pickup. Release 16D includes the implementation of scheduled collection of disposed Bulk Items for specific locations across the City (previously, disposed bulk items were collected in these areas on regular refuse collection. This field indicates which days of the week the Department of Sanitation will pick up recycling at the given address. See SANITATION ORGANICS RECYCLING PICKUP for the codes. @@ -4239,7 +4241,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANITATION COLLECTION SCHEDULING SECTION AND SUBSECTION - Functions: + Functions: 1, 1E, 1B (COW only), 2 (COW only??) @@ -4251,7 +4253,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 2 bytes - Description: + Description: District Sections and Subsections defined by the Department of Sanitation for waste collection. @@ -4271,7 +4273,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO bytes are the District Number. - Description: + Description: Districts defined by the Department of Sanitation for waste collection. @@ -4282,7 +4284,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANITATION ORGANICS RECYCLING PICKUP - Functions: + Functions: 1, 1E, 1/1E Extended, 1B @@ -4294,7 +4296,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 5 bytes - Description: + Description: Indicates which days of the week the Department of Sanitation (DSNY) will pick up organics (compostable waste) recycling at the given address. Organics recycling is currently only available in pilot areas. In Release 16D, the pilot program was expanded to include more ‘Large Buildings (+10 units)’ (as defined by DSNY) @@ -4350,7 +4352,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANITATION RECYCLING PICKUP - Functions: + Functions: 1, 1E, 1B (COW only)?? @@ -4362,7 +4364,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 3 bytes - Description: + Description: Indicates which days of the week the Department of Sanitation will pick up recycling at the given address. See SANITATION ORGANICS RECYCLING PICKUP for the codes. @@ -4374,7 +4376,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SANITATION REGULAR PICKUP - Functions: + Functions: 1, 1E, 1B (COW only) @@ -4386,7 +4388,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 5 bytes - Description: + Description: Indicates which days of the week the Department of Sanitation will pick up non-recycling waste at the given address. See SANITATION ORGANICS RECYCLING PICKUP for the codes. @@ -4398,7 +4400,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SCHOOL DISTRICT (previously known as Community School District) - Functions: + Functions: 1, 1E, 2, 3, 3C, 1B (COW) @@ -4410,7 +4412,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 2 bytes - Description: + Description: School district code @@ -4421,7 +4423,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SEGMENT AZIMUTH - Functions: + Functions: 3, 3C @@ -4433,7 +4435,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 3 bytes - Description: + Description: This item represents the direction in which the segment lies on the earth’s surface, expressed as an angle in degrees measured counterclockwise from due east.  The segment is considered to be pointing in the direction of increasing addresses, and the azimuth value can range from 0 to 359 degrees, inclusive. For example, a segment pointing due east has an azimuth of 0; one pointing due north has an azimuth of 90; one pointing due west has an azimuth of 180; one pointing halfway between due west and due south (i.e., pointing due southwest) has an azimuth of 225. @@ -4444,7 +4446,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SEGMENT ID - Functions: + Functions: 1 and 1E (MSW: Long WA2 only), 1 and 1E (COW), 3, 3C, 1B (COW only) @@ -4456,7 +4458,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO 7 bytes. RJZF - Description: + Description: Identifies, uniquely within the entire city, a geographic feature segment represented in the CSCL/LION file. @@ -4467,7 +4469,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO SEGMENT LENGTH IN FEET - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW only) @@ -4480,7 +4482,7 @@ Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the PO COW: Fns 1, 1E, 3, 3C - 5 bytes numeric - Description: + Description: Except for curved segments (see Curve Flag), the Segment Length is computed from the Spatial Coordinates of the segment’s endpoints, as digitized in the LION file. For curved segments, the Segment Length is computed by summing the lengths of the small straight line segments that approximate the curve in the GIS version of LION; this is a more accurate approximation to the true arc length of the curve than would be the segment’s ‘secant length’, that is, the straight line distance between the curve’s extreme endpoints. In the case of Functions 3 and 3C, if the input data define a street stretch encompassing more than one segment (because of a T-intersection or bend), the Segment Length returned is the sum of the lengths of the constituent segments of the stretch. Similarly for Functions 1 and 1E, if the input lies on a segment that is generated from multiple segments, the Segment Length returned is the sum of the lengths of the constituent segments. In all cases, the Segment Length has a very approximate level of accuracy only, and should not be used in applications requiring high precision. @@ -4491,7 +4493,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric SEGMENT ORIENTATION - Functions: + Functions: 3, 3C @@ -4503,7 +4505,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric 1 byte character - Description: + Description: This item is a set of codes grouping the possible azimuth values of a segment into eight categories.  The categories are "approximately" due north, south, east and west, and the four quadrants of the rectangular coordinate system for segments that do not lie approximately due north, south, east or west.  "Approximately" as used here means "within 5 degrees".  In Manhattan, all orientation codes are defined with a 30‑degree clockwise shift (i.e., 30 is subtracted from the azimuth value) in order to conform to the conventional concept that the midtown streets and avenues lie due east‑west and due north‑south, respectively.  For example, "approximately due north" means "within 5 degrees of due north"; for the boroughs other than Manhattan, this corresponds to the range of azimuth values from 85 to 95; in Manhattan, the corresponding azimuth value range is 55 to 65. There is a ninth orientation category, with a code value of ‘U’, meaning Geosupport could not determine the segment’s orientation because of a problem with the segment’s Spatial Coordinates.  All occurrences of an orientation code of ‘U’ should be reported to Geographic Systems Section staff. @@ -4588,7 +4590,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric SEGMENT TYPE CODE - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW only) @@ -4600,7 +4602,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric 1 byte - Description: + Description: Indicates type of segment @@ -4655,7 +4657,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric ">SEQUENCE NUMBER - Functions: + Functions: 1, 1E, 3, 3C, 1B (COW only) @@ -4667,7 +4669,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric 5 bytes - Description: + Description: Identifies a CSCL/LION record uniquely within Face Code. Generally,Sequence Numbers are assigned in the geographic order in which the corresponding segments occur along the geographic feature identified by the given face code. The Borough Code, Face Code and Sequence Number concatenated form the LION key, which serves as a unique identifier for one CSCL/LION record. @@ -4679,7 +4681,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric SIDE OF STREET INDICATOR - Functions: + Functions: 1, 1E, 1A - regular WA2, 3C @@ -4691,7 +4693,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric 1 byte character - Description: + Description: This field indicates on which side of the street, left or right, the blockface containing the input address lies. Left and right are defined with respect to the direction of increasing addresses along the ‘on’ street. @@ -4725,7 +4727,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric SPATIAL COORDINATES (See also SPATIAL COORDINATES OF TAX LOT CENTROID) - Functions: + Functions: 1, 1B (blockface information), 1E, 2, 3 Extended, 3C Extended, AP (For Function 1A, BL, BN, 1B (property level information) see also SPATIAL COORDINATES OF TAX LOT CENTROID) @@ -4740,7 +4742,7 @@ COW: Fns 1, 1E, 3, 3C - 5 bytes numeric each 7 bytes RJZF. - Description: + Description: Spatial coordinates are a pair of numbers that specify a location on the earth’s surface. Geosupport returns spatial coordinates for an input address (Functions 1, 1B (blockface information), 1E, and AP), intersection (Function 2), and nodes at the end of a blockface (Functions 3 Extended and 3C Extended). Spatial coordinates are often used in conjunction with separate computer mapping and Geographic Information System (GIS) software to generate maps and for spatial analysis, although the Geosupport System does not itself provide users with such capabilities. Note: For Functions 1, 1B (blockface information) and 1E, the spatial coordinates that Geosupport returns are imprecise approximations of real-world locations, and are not appropriate for use in applications that require a high level of spatial accuracy. @@ -4783,7 +4785,7 @@ each 7 bytes RJZF. SPATIAL COORDINATES OF THE TAX LOT CENTROID - Functions: + Functions: 1A, BL, BN, 1B (COW only) @@ -4796,7 +4798,7 @@ each 7 bytes RJZF. each 7 bytes RJZF. - Description: + Description: Note: Internal Label Points and Annotation Points are no longer used They are replaced by Tax Lot Centroid. @@ -4816,7 +4818,7 @@ each 7 bytes RJZF. SPECIAL ADDRESS GENERATED RECORD FLAG (a.k.a. SAF FLAG or SPECIAL ADDRESS FLAG) - Functions: + Functions: 1, 1E, 1B (COW only) @@ -4828,7 +4830,7 @@ each 7 bytes RJZF. 1 byte character - Description: + Description: A non-blank value in this flag indicates one of a variety of special addressing situations. @@ -4911,7 +4913,7 @@ each 7 bytes RJZF. 1 byte - Description: + Description: @@ -4950,7 +4952,7 @@ each 7 bytes RJZF. - +
2 bytes. Numeric.
Description:Description: A district of the upper house of the New York State legislature. Consists of an aggregation of Election Districts/td>
@@ -4961,7 +4963,7 @@ each 7 bytes RJZF. STREET ATTRIBUTE INDICATOR (a.k.a. ATTRIBUTE BYTE) - Functions: + Functions: WA1 output field - 1, 1A, 1B, 1E, 1N, AP, D, DG, DN @@ -4973,7 +4975,7 @@ each 7 bytes RJZF. 1 byte character - Description: + Description: Indicates certain characteristics of selected streets @@ -5079,7 +5081,7 @@ each 7 bytes RJZF. STREET NAME NORMALIZATION FORMAT FLAG - Functions: + Functions: 1, 1A, 1E, 1N, 2, 3, 3C, 3S, D, DG, DN, 1B (COW only) @@ -5091,7 +5093,7 @@ each 7 bytes RJZF. 1 byte. - Description: + Description: Specifies the format in which Geosupport is to return output normalized street names. The default is to return street names in the sort format. @@ -5125,7 +5127,7 @@ each 7 bytes RJZF. STREET NAME NORMALIZATION LENGTH LIMIT (SNL) - Functions: + Functions: WA1 input item, Functions 1, 1A, 1E, 1N, 2, 3, 3C, 3S, D, DG, DN, 1B (COW only) @@ -5137,7 +5139,7 @@ each 7 bytes RJZF. 2 bytes, blank or numeric, either LJBF or RJZF. - Description: + Description: Specifies the maximum length in bytes within which Geosupport is to normalize street names. The minimum and maximum permissible SNL values are 4 and 32. The default that is in effect if the application does not specify an SNL value is 32 @@ -5148,7 +5150,7 @@ each 7 bytes RJZF. STREET WIDTH
STREEET WIDTH MAXIMUM
- Functions: + Functions: 1/1E Extended, 1B, 3 Extended, 3C Extended @@ -5160,7 +5162,7 @@ each 7 bytes RJZF. Street Width: 3 bytes, RJBF
Street Width Maximum, 3 bytes, RJBF - Description: + Description: The width, in feet, of the paved area of the street. Street Width contains the width at the narrowest part of the street. Street Width Maximum contains the width at the widest part of the street. @@ -5175,7 +5177,7 @@ If the width is consistent along the street segment then both values are identic TAX BLOCK - Functions: + Functions: 1A, BL, BN, 1B (COW only) @@ -5187,7 +5189,7 @@ If the width is consistent along the street segment then both values are identic 5 bytes - Description: + Description: See Chapter VI.2. @@ -5210,7 +5212,7 @@ If the width is consistent along the street segment then both values are identic 4 bytes - Description: + Description: See Chapter VI.2. @@ -5235,7 +5237,7 @@ If the width is consistent along the street segment then both values are identic 2 bytes - Description: + Description: The Department of Finance real property tax maps are organized into sections; each section is organized into volumes; and each volume consists of pages. Tax Map Section values are unique within borough @@ -5246,7 +5248,7 @@ If the width is consistent along the street segment then both values are identic TAX MAP VOLUME - Functions: + Functions: 1A, BL, BN, 1B (COW only) @@ -5258,7 +5260,7 @@ If the width is consistent along the street segment then both values are identic 2 bytes - Description: + Description: See description at Tax Map Section. Tax Map Volume values are unique within Tax Map Section. @@ -5273,7 +5275,7 @@ If the width is consistent along the street segment then both values are identic TRAFFIC DIRECTION - Functions: + Functions: 1/1E Extended, 1B, 3 Extended, 3C Extended @@ -5285,7 +5287,7 @@ If the width is consistent along the street segment then both values are identic 1 byte - Description: + Description: @@ -5328,7 +5330,7 @@ If the width is consistent along the street segment then both values are identic - + @@ -5340,7 +5342,7 @@ If the width is consistent along the street segment then both values are identic - +
UNIT INPUT
UNIT – SORT FORMAT
UNIT – TYPE
UNIT – IDENTIFIER
UNIT – DISPLAY FORMAT
Functions:Functions: 1* (COW only)
See Chapter V.15 Unit Information Feature
Description:Description: See Chapter V.15 Unit Information Feature
@@ -5351,7 +5353,7 @@ If the width is consistent along the street segment then both values are identic USPS PREFERRED CITY NAME - Functions: + Functions: 1/1E Extended, 1B @@ -5363,7 +5365,7 @@ If the width is consistent along the street segment then both values are identic 25 bytes - Description: + Description: The USPS (United States Postal Service) Preferred City Name (e.g. Astoria, Jackson Heights) is of particular importance for Queens addresses. @@ -5392,7 +5394,7 @@ If the width is consistent along the street segment then both values are identic 1 byte - Description: + Description: @@ -5419,7 +5421,7 @@ If the width is consistent along the street segment then both values are identic - + @@ -5431,7 +5433,7 @@ If the width is consistent along the street segment then both values are identic - + @@ -5467,7 +5469,7 @@ If the width is consistent along the street segment then both values are identic - + @@ -5479,7 +5481,7 @@ If the width is consistent along the street segment then both values are identic - + diff --git a/docs/appendices/appendix22.md b/docs/appendices/appendix22.md new file mode 100644 index 00000000..f956549e --- /dev/null +++ b/docs/appendices/appendix22.md @@ -0,0 +1,1666 @@ +

APPENDIX 22: GeoX Programming Guide

+ +*This document assumes that the developer is using the 64-bit verion of GeoX which is based on EntireX 8.2.2.* + +## GeoX Overview + +GeoX classes allow developers to write applications that can make Geosupport calls via an EntireX Broker running on the DoITT mainframe or to a locally running Geosupport Desktop Edition (GDE). +Most Geosupport calls consist of what we call “two work area calls”. A work area is a data structure. These two work areas are Work Area 1 which is used for all calls and a Work Area 2 (which varies depending on the Geosupport function call and options you are using). +Work Area 1 (Wa1) consists of input fields for the various function parameters and output fields which return standardized versions of the input parameters as well as return codes and return messages. +Work Area 2 corresponds to the type of Geosupport function you are calling and the options you are using. For example, if to make a Function 1E (geographic information for an input address) with the "extended mode switch" set to "X", then along with Wa1 you would pass in Wa2f1ex. + +## Setup + +Install the 64-bit Geosupport Desktop Edition on your PC. +Navigate to C:\Program Files\Geosupport Desktop Edition\GeoX\Dotnet\misc +Run entirexminiruntime_64.exe (This will install the needed EntireX components) + +The supporting files that are needed are: + + +
WORK AREA FORMAT INDICATOR
Functions:Functions: All
1 byte
Description:Description: This indicator specifies which work area layouts are to be used in an API call. Note: This indicator is also known as the Platform Indicator.
ZIP CODE
Functions:Functions: 1, 1A, 1E, 2, 3, 3C, 1B
5 bytes. Numeric
Description:Description: U.S. Postal Service’s 5-digit ZIP code
+ + + + + + + + + + + + + + + + +
Supporting Files
DCP ComponentsGeoX.dll (This is the primary component.)
GeoXClientStub.dll
GeoConns.xml (This is a list of Brokers that GeoX will call)
EntireX ComponentsSoftwareAG.EntireX.NETWrapper.Runtime.dll
broker.dll
erx.dll
EntireX Configuration FilesSoftwareAG.EntireX.NETWrapper.Runtime.xml (This tells the Runtime.dll the location for erx.dll.)
+ + +## Using GeoX in a .NET Program + +Create your application project. + +Add a reference to GeoX.dll to your project. This should bring in the following: +* GeoX.dll +* GeoXClientStub.dll +* SoftwareAG.EntireX.NETWrapper.Runtime.dll +* SoftwareAG.EntireX.NETWrapper.Runtime.xml + +To use the GeoX.Net classes without using fully qualified names include the following: + + Imports DCP.Geosupport.DotNet.GeoX 'for Visual Basic .Net + using DCP.Geosupport.DotNet.GeoX //for C# + +You are now ready to use the GeoX .Net classes in your application. + + + +Important Note on Installing EntireX + +When you are ready to distribute your application, you must make sure that GeoX.dll and its supporting components are copied along with your application. Additionally, the underlying components for EntireX (broker.dll and erx.dll) must be in the application PATH. You have two options for the underlying EntireX components: + +1. This is the preferred method. Run entirexminiruntime_64.exe on each computer that you are going to deploy the application to. If this is going to be run from a server, then the server is the only computer you need to run this on; you do not need to run this on clients’ computers that access the server. If you are to run as a stand-alone application on individual computers, then you must run this on each computer your application is installed on. + +2. This method is primarily used when the application is accessed from a file server and there are too many users to easily run entirexminiruntime_64.exe on each computer. Manually copy the EntireX Components (broker.dll and erx.dll) to your application directory. Then modify SoftwareAG.EntireX.NETWrapper.Runtime.xml to indicate the location of these components. To do this: + +a. Edit SoftwareAG.EntireX.NETWrapper.Runtime.xml +b. Search for “Runtime.ERX.Location” +c. Replace the existing location, likely "C:\Program Files\Common Files…" +With “.\” [Do Not Include the Quotes] + +## Sample Code for Function 1E + + **************************************************************************************************** + VB.Net Code Snippet for Extended Work Area 2 Function 1E Call + **************************************************************************************************** + Imports DCP.Geosupport.DotNet.GeoX + + Module Module1 + + '--create a list of connections to use + Dim myGeoConns as New GeoConnsCollection("GeoConns.xml") + '--------------------------------------------------------------------------- + 'ASP.Net applications will instead need to add a line similar to this: + ' Dim myGeoConns as GeoConnCollection + ' myGeoConns = New GeoConnCollection(Server.MapPath("GeoConns.xml")) + '--------------------------------------------------------------------------- + + '--create your geo object (makes calls to Geosupport + '--create your Wa1 object (input to Geosupport) + '--create your Wa2 object (output from Geosupport) + Dim myGeo As New geo(myGeoConns) + Dim myWa1 As New Wa1 + Dim myWa2f1ex As New Wa2F1ex + + Sub Main() + + '--initialize your input + myWa1.Clear + + '--choose the Geosupport function to call (1 returns geographic info for an address) + myWa1.in_func_code = "1E" + + '--tell Geosupport to use platform independent work areas + myWa1.in_platform_ind = "C" + + '--set optional processing flags (if any) + myWa1.in_mode_switch = "X" + + '--set the input data + myWa1.in_B10sc1.boro = "1" + myWa1.in_hnd = "22" + myWa1.in_stname = "Reade Street" + + '--make a call to Geosupport passing in the correct Work Area 2 object + myGeo.GeoCall(myWa1, myWa2f1ex) + + '--check the return codes from your Geosupport call + If myWa1.out_grc = "00" + Console.WriteLine("Successful Geosupport Call") + Console.WriteLine(myWa2f1ex.Print) + Else If myWa1.out_grc = "01" + Console.WriteLine("Successful Geosupport Call with Warning") + Console.WriteLine(myWa2f1ex.Print) + Else If mywa1.out_grc = "XX" + Console.WriteLine("Unable to find Broker or GDE") + Console.WriteLine(myWa1.Print) + Else + Console.WriteLine("Unsuccessful Geosupport Call") + Console.WriteLine(myWa1.Print) + End If + + End Sub + + End Module + +## Sample Code for Function BL + + **************************************************************************************************** + VB.Net Code Snippet for Extended Work Area 2 Function BL Call + **************************************************************************************************** + Imports DCP.Geosupport.DotNet.GeoX + + Module Module1 + + '--create a list of connections to use + Dim myGeoConns as New GeoConnsCollection("GeoConns.xml") + '--------------------------------------------------------------------------- + 'ASP.Net applications will instead need to add a line similar to this: + ' Dim myGeoConns as GeoConnCollection + ' myGeoConns = New GeoConnCollection(Server.MapPath("GeoConns.xml")) + '--------------------------------------------------------------------------- + + '--create your geo object (makes calls to Geosupport + '--create your Wa1 object (input to Geosupport) + '--create your Wa2 object (output from Geosupport) + Dim myGeo As New geo(myGeoConns) + Dim myWa1 As New Wa1 + Dim myWa2f1ax As New Wa2F1ax + + Sub Main() + + '--initialize your input + myWa1.Clear + + '--choose the Geosupport function to call (BL returns tax lot info for an BBL) + myWa1.in_func_code = "BL" + + '--tell Geosupport to use platform independent work areas + myWa1.in_platform_ind = "C" + + '--set optional processing flags (if any) + myWa1.in_mode_switch = "X" + + '--set the input data + myWa1.in_bbl.boro = "1" + myWa1.in_bbl.block = "00154" + myWa1.in_bbl.lot = "0023" + + '--make a call to Geosupport passing in the correct Work Area 2 object + myGeo.GeoCall(myWa1, myWa2f1ax) + + '--check the return codes from your Geosupport call + If myWa1.out_grc = "00" + Console.WriteLine("Successful Geosupport Call") + Console.WriteLine(myWa2f1ax.Print) + Else If myWa1.out_grc = "01" + Console.WriteLine("Successful Geosupport Call with Warning") + Console.WriteLine(myWa2f1ax.Print) + Else If mywa1.out_grc = "XX" + Console.WriteLine("Unable to find Broker or GDE") + Console.WriteLine(myWa1.Print) + Else + Console.WriteLine("Unsuccessful Geosupport Call") + Console.WriteLine(myWa1.Print) + End If + + End Sub + + End Module + + + +## Selecting the Broker to Use + +These classes allow developers to make calls to Geosupport running on the DoITT mainframe or a locally running Geosupport Desktop Edition. This is done by creating a GeoConnsCollection object that points to a list of Brokers. One of the benefits of using this collection is that if there is a problem with one of the Brokers, the classes will go to the next Broker in the list. + +The best way create the GeoConnsCollection object is to point it to a GeoConns.xml file that is external to the application. Below is a sample GeoConns.xml: + + + + + mvsp.nycnet:4036 + P030A/GEOXSERVER/GEOSUPPORTSERVICE + + + mvsp.nycnet:4074 + P030A/GEOXSERVER/GEOSUPPORTSERVICE + + + mvsp.nycnet:4055 + T030A/GEOXSERVER/GEOSUPPORTSERVICE + + + GDE + + + + +The first two GeoConn entries + + + mvsp.nycnet:4036 + P030A/GEOXSERVER/GEOSUPPORTSERVICE + +and + + + mvsp.nycnet:4074 + P030A/GEOXSERVER/GEOSUPPORTSERVICE + + +point to the two production brokers (production Geosupport) on the DoITT mainframe. + +The third entry + + + mvsp.nycnet:4055 + T030A/GEOXSERVER/GEOSUPPORTSERVICE + + +points to the test broker (which points to the test version of Geosupport). + +The final entry + + + GDE + + + +means that a locally running Geosupport Desktop Edition (GDE) will be called instead of a broker. GDE must be installed or you will get an execption. + + +## Which Functions to Use + +Overview of What the Functions Do + + +| Function | Input | Data Returned | +| :------------- | :------------- | :------------- | +| 1 | address | Geographic and City Service Information | +| 1E | address | Geographic, City Service Information, and Political Districts | +| 1A | address | Tax Property Level Information, Alternate Addresses for Property | +| 1B | address | Combines 1E (Extended) with 1A (Extended) information | +| AP | address | Address Point ID and Address Point XY coordinates | +| 1N | street name | Normalized Street Name and Street Code | +| 2 | intersection, node id | Geographic Information | +| 3, 3C | street segment | Geographic Information | +| 3S | street segment | List of Intersecting Streets and their Node IDs | +| BL | BBL | Same as 1A | +| BIN | BIN | Same as 1A | +| D, DG, DN | street code | Normalized Street Name for input street code | + + +## Which Options to Use + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Formatting Properties
in_hn_justificationWhen set to “L” House Numbers in Display Format are left-justified
When set to “R” House Numbers in Display Format are right-justified
in_snl
The input street names will be normalized to the indicated length
Valid values are minimum of 4 and a maximum of 32
Some streets may not be able to be normalized to the requested length
in_stname_normalization
When set to blank street names are normalized in sort format
When set to “C” street names are normalized in compact format
When set to “S” street names are normalized in sort format
Additional Information Properties (these usually require a different Work Area 2)
in_auxseg_switch
When set to “Y” the list of Segment IDs for a street segment are
Appended to the Work Area 2; for Functions 3 and 3C only
in_long_wa2_flag
When set to “Y” the long workarea for the function is returned
For Functions 1A and BL a list of BINs for the tax lot are returned instead of a list of alternative addresses; Wa2F1al must be used for these calls.
For Functions 1 and 1E additional information is returned; Wa2F1w and Wa2F1v must be used for these calls.
in_mode_switch
When set to “X” the extended work area 2 is used for the call
For Functions 1, 1E, 1A, BL, BN, 3, and 3C only; where possible, we recommend that you use this option
in_tpad_switch
When set to “Y” TPAD data is added to the work area 2; for Functions 1A, BL, and BN only
in_xstreet_names_flag
When set to “E” for Functions 1, 1E, 3, and 3C the first 5 elements in Wa1.out_stname_list contain the Street Names for the intersecting streets at the low address end of the segment and the last 5 elements in Wa1.out_stname_list contain the Street Names for the intersecting streets at the high address end of the segment
For Functions 1 and 1E only an additional Geosupport call to Function 1A is made. If successful the BBL and BIN obtained are returned in Wa1.out_bbl and Wa1.out_bin respectively.
For Function 2 the first 5 elements in Wa1.out_stname_list contain the Street Names for the intersecting streets at the intersection.
When set to space for Functions 1, 1E, 2, 3, and 3c if the Street Names of the list of intersecting streets are needed, then the user must take the street codes from Wa2 and make repeated Function D or DG calls.
Other
in_browse_flag
Sets how Geosupport should normalize your input street names when “blank” the output street name is the normalized version of the input street name
When “P” the output street name is the Primary Street Name for the input street
When “F” the output street name is the Principal Street Name for the input street
When “R” the output street name is the DCP Preferred Street Name for the input street
in_real_streets_only
When set to “R” Function 3S will return only intersections consisting of “real streets” and not changes in district boundaries or other items
in_roadbed_request_switch
When set to “R” Function 1 and 1E will return geographic data for the RoadBed street segments instead of for the Generic street segments which is the default
+ + + +## Selecting the Proper Work Area 2 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+   + Function + +

Work Area 1 Options +

+   + Work Area 2 to use +
+ in_auxseg_switch + + in_long_wa2_flag + + in_mode_switch* + + in_tpad_switch +
+ 1E + + n/a + + n/a + + blank + + n/a + + WA2F1E +
+   + + n/a + + n/a + + X + + n/a + + WA2F1EX +
+   +
+ 2 + + n/a + + n/a + + n/a + + n/a + + WA2F2 +
+   +
+ 2W + + n/a + + n/a + + n/a + + n/a + + WA2F2W +
+   +
+ 3 + + blank + + n/a + + blank + + n/a + + WA2F3 +
+   + +   + +   + +   + +   + +   +
+   + + blank + + n/a + + X + + n/a + + WA2F3X +
+   + + Y + + n/a + + X + + n/a + + WA2F3XAS +
+   +
+ 3C + + blank + + n/a + + blank + + n/a + + WA2F3C +
+   + + Y + + n/a + + blank + + n/a + + WA2F3CAS +
+   + +   + +   + +   + +   + +   +
+   + + blank + + n/a + + X + + n/a + + WA2F3CX +
+   + + Y + + n/a + + X + + n/a + + WA2F3CXAS +
+   +
+ 3S + + n/a + + n/a + + n/a + + n/a + + WA2F3S +
+   +
+ 1B + + n/a + + n/a + + n/a + + blank + + WA2F1B +
  + n/a + + n/a + + n/a + + Y + + WA2F1B +
+   +
+ 1A + + n/a + + blank + + blank + + blank + + WA2F1A +
+   + + n/a + + L + + blank + + blank + + WA2F1AL +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + X + + blank + + WA2F1AX +
+   + + n/a + + L + + X + + blank + + n/a +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + X + + Y + + WA2F1AX +
+   + + n/a + + L + + X + + Y + + n/a +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + blank + + Y + + WA2F1A +
+   + + n/a + + L + + blank + + Y + + WA2F1AL_TPAD +
+   +
+ BL + + n/a + + blank + + blank + + blank + + WA2F1A +
+   + + n/a + + L + + blank + + blank + + WA2F1AL +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + X + + blank + + WA2F1AX +
+   + + n/a + + L + + X + + blank + + n/a +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + X + + Y + + WA2F1AX +
+   + + n/a + + L + + X + + Y + + n/a +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + blank + + blank + + Y + + WA2F1A +
+   + + n/a + + L + + blank + + Y + + WA2F1AL_TPAD +
+   +
+ BN + + n/a + + n/a + + blank + + blank + + WA2F1A +
+   + + n/a + + n/a + + X + + blank + + WA2F1AX +
+   + +   + +   + +   + +   + +   +
+   + + n/a + + n/a + + blank + + Y + + WA2F1A +
+   + + n/a + + n/a + + X + + Y + + WA2F1AX +
 
+ AP + + n/a + + n/a + + blank + + n/a + + WA2FAP +
  + n/a + + n/a + + X + + n/a + + WA2FAPX +
+ +*We highly recommend that you use the in_mode_switch = “X” option* + + +## List of Classes and Overview + +The Work Area and their Supporting classes all have the following methods: + +* default constructor + +* constructor that takes a string as a parameter + +* Clear method that reinitializes the data in the class + +* ToString method that converts the data structure to a string + +* FromString method that converts a string into the data structure + +* Display method that creates a string consisting of the data items separated by a dash + +* Display(Char) method that creates a string consisting of the data items separate by “Char” + +* Print method that creates a string with the data field names and the data values of the class + +* Get/Set Properties for the data fields (with the exception of Work Area 1 input fields, these are usually limited to Get only) for the most part the names are self-explanatory + +## Classes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Main GeoX Classes + + Description +
+ Geo + + Main GeoX object +
+ GeoConn + + Contains information needed to connect to an EntireX Broker or a locally running Geosupport Desktop Edition (GDE) +
+ GeoConnCollection + + Contains a list of GeoConn objects +
+ GeoConnsException + + Information relating to an exception involving a GeoConn object +
+   +  
+ Work Area Classes + + Description +
+ Wa1 + + Input Data, Normalized Input Data, Return Codes +
  
+ Wa2F1 + + Geographic Information about a Street Segment +
+ Wa2F1w + + Wa2F1 with additional data +
+ Wa2F1e + + Wa2F1 with election district information +
+ Wa2F1v + + Wa2f1e with additional information (same as Wa2f1w with election district information) +
+ Wa2F1ex + + Wa2F1e with additional information and street names for all street codes +
+ Wa2F1a + + Tax Lot Information about an input Address, BBL, or BIN along with a list of alternate addresses associated with the tax lot +
+ Wa2F1al + + Same as Wa2F1a except with a list of BINs associated with the Tax Lot instead of a list of alternate addresses. +
+ Wa2F1al_TPAD + + Same as Wa2F1al with the addition of the TPAD status for each of the BINs in the BIN List +
+ Wa2F1ax + + Wa2F1a with additional information and street names for the alternate addresses for the Tax Lot +
+ Wa2F1b + + Combination of Wa2F1ex and Wa2F1ax for input address +
+ Wa2F2 + + Geographic Information about an Intersection +
+ Wa2F2w + + Same as Wa2F3x with a list of additional Segment IDs for those street segments that have multiple Segment IDs associated with them +
+ Wa2F3 + + Geographic information about an input street segment (consisting of an on-street and two succeeding cross streets for the on-street +
+ Wa2F3as + + Same as Wa2F3 with a list of additional Segment IDs for those street segments that have multiple Segment IDs associated with them +
+ Wa2F3x + + Same as Wa2F3 with additional information and street names for all street codes +
+ Wa2F3xas + + Same as Wa2F3x with a list of additional Segment IDs for those street segments that have multiple Segment IDs associated with them +
+ Wa2F3c + + Same information as Wa2F3 but for one side of the segment only +
+ Wa2F3cas + + Same as Wa2F3c with a list of additional Segment IDs for those street segments that have multiple Segment IDs associated with them +
+ Wa2F3cx + + Same as Wa2F3c with additional information and street names for all street codes +
+ Wa2F3cxas + + Same as Wa2F3x with a list of additional Segment IDs for those street segments that have multiple Segment IDs associated with them +
+ Wa2F3s + + List of Intersection for an input Street Stretch +
+ Wa2F5 + + Returns a properly formatted Geosupport address key for an input address +
+ Wa2Fhr + + Returns the version of Geosupport and the Release Number for the data files +
+ Wa2Fap + + Address Point ID and XY Coordinates for input Address +
+ Wa2Fapx + + Same as Wa2Fap with addition of street name in address list +
  
+ Wa1Aimz + + Returns a list of Map IDs associated with the Input +
+ + +## Supporting Classes for Work Areas + +* AddrRange +* AddrRangeX +* AddrRange_ap +* AddrRange_apx +* B10sc +* B5sc +* B7sc +* BBL +* BIN +* BusArea +* ComDist +* CrossStreetInfo +* DofMap +* FileInfo +* LionKey +* Sanborn +* SegSide +* TPADLongWa2Info +* VsamKey1 diff --git a/docs/chapters/chapterI/section01.md b/docs/chapters/chapterI/section01.md index daa25a68..8db81e4d 100644 --- a/docs/chapters/chapterI/section01.md +++ b/docs/chapters/chapterI/section01.md @@ -8,7 +8,7 @@ This document, the *Geosupport System User Programming Guide* , is a comprehensi Geosupport is installed on IBM mainframes at the city computer centers listed in [Appendix 7](/appendices/appendix07/), where it is used by most city agencies as an integral component of many of their major data processing applications. An employee of each computer center’s custodial agency, generally a systems programmer, has been designated as the Geosupport System Administrator (GSA) for that computer center. The GSA is responsible for installing or coordinating the installation of new Geosupport file releases and software versions received from GSS. At some computer centers, the GSA makes certain customizing modifications to Geosupport during installation, such as changing the data set names (DSNs) of Geosupport files to conform to local file naming conventions. The GSA is also the first responder for users encountering system-related Geosupport problems, and interacts with GSS staff as needed to resolve such problems. However, the GSA is not necessarily familiar with Geosupport from a user application perspective, and is not responsible for assisting users with application-related problems or design issues. -In general, Geosupport is accessible without restriction to anyone having a valid account at any of the computer centers where it is installed; no special passwords or security procedures are required beyond the normal data center logon procedures. In addition to running on IBM (and IBM-compatible) mainframes, GSS has developed Geosupport Desktop Edition for running in the Windows environment. There are also several methods by which Geosupport running on a city mainframe can be accessed by applications running on other hardware platforms, including 3270 emulation and access through the city’s Intranet. Geosupport is also available via GeoX, Linux, .net and Java. This User Programming Guide can be used when programming in any of these environments. Also, those who are writing a PC application for the Desktop Edition should also read the *UPG Supplement.* +In general, Geosupport is accessible without restriction to anyone having a valid account at any of the computer centers where it is installed; no special passwords or security procedures are required beyond the normal data center logon procedures. In addition to running on IBM (and IBM-compatible) mainframes, GSS has developed Geosupport Desktop Edition for running in the Windows environment. There are also several methods by which Geosupport running on a city mainframe can be accessed by applications running on other hardware platforms, including 3270 emulation and access through the city’s Intranet. Geosupport is also available via GeoX, Linux, .net and Java. This User Programming Guide can be used when programming in any of these environments. For many user applications, only a subset of Geosupport’s functions, features and data items are relevant. In addition, many Geosupport options have defaults which are appropriate for most applications. Thus, even though Geosupport is a large-scale, multi-feature system, the user effort required to design an application to access it is often relatively modest. diff --git a/docs/chapters/chapterVII/section01.md b/docs/chapters/chapterVII/section01.md index cbd2f5c6..93575fc3 100644 --- a/docs/chapters/chapterVII/section01.md +++ b/docs/chapters/chapterVII/section01.md @@ -32,7 +32,7 @@ Geosupport processes street configurations based on a simplified model of the ci [http://www1.nyc.gov/site/planning/data-maps/open-data.page#lion](http://www1.nyc.gov/site/planning/data-maps/open-data.page#lion) ![FigureVII-1 <>](/img/figureVII-1.png "Figure VII-1") -
Figure VII-1: Single Line and double-Line Maps Contrasted
+
Figure VII-1: Single Line and Double-Line Maps Contrasted
diff --git a/docs/chapters/chapterVII/section02.md b/docs/chapters/chapterVII/section02.md index a65034fe..f0e9772c 100644 --- a/docs/chapters/chapterVII/section02.md +++ b/docs/chapters/chapterVII/section02.md @@ -10,10 +10,9 @@ Function 2 is the Geosupport function that processes street intersections. Func We use the term node generically to refer to all types of intersections, both conventional and pseudo. Each node is assigned a unique node ID. Nodes, defined via street names and street codes, can serve not only as Function 2 input, but also as the delimiting endpoints of street stretches for input to the functions that process three-street configurations. Node IDs can serve as input only to a COW Function 2 or Function 2W call. -Formally, a node is a point along a street where one of the following occurs: -
+Formally, a node is a point along a street where one of the following occurs:
-FigureVII-2 +FigureVII-2

Figure VII-2: City Limit Point

@@ -22,24 +21,16 @@ Formally, a node is a point along a street where one of the following occurs:
* City Limit Point: The street (or non-street feature e.g. bridge or tunnel) intersects with the city limits. (The street may terminate at that point or it may continue as a suburban street). City Limit points occur at the Bronx-Westchester County border, the Queens-Nassau County border, the New York-New Jersey border and the Staten Island –New Jersey border.
The New Jersey borders occur in the Hudson River, for 
example HOLLAND TUNNEL and CITY LIMIT in 
Manhattan. An example of Queens city limit is (see 
Figure VII-2): ‘LINDEN BOULEVARD at the CITY LIMITS in Queens’ -
- -
-
-FigureVII-3 +FigureVII-3

Figure VII-3: Dead End

-* Dead End: The street has a termination point (called a dead end) that is not at the city limits and at which there are no cross streets. Example (see Figure VII-3): ‘DEAD END of CROES AVENUE in the Bronx’. City limit points are excluded from being treated as possible dead ends because city streets may continue across the city limits into the adjacent suburban county.) - -
- -
+* Dead End: The street has a termination point (called a dead end) that is not at the city limits and at which there are no cross streets. Example (see Figure VII-3): ‘DEAD END of CROES AVENUE in the Bronx’. City limit points are excluded from being treated as possible dead ends because city streets may continue across the city limits into the adjacent suburban county.)
+
- -FigureVII-4 +FigureVII-4

Figure VII-4: Bends

@@ -69,28 +60,26 @@ Function 2 can process a pair of input streets in the unique-node case an The two-node case occurs with greater frequency than might be expected. Some types of situations in which the two-node case occurs are the following: -
+
-FigureVII-5 -

Figure VII-5: Street Intersecting
Twice with Curved Street

+FigureVII-5 +

Figure VII-5: Street Intersecting
Twice with Curved Street

* A street bends or curves, causing it to intersect with a second street at two different points. An example in Queens is the two intersections of the curved street Cromwell Crescent with Alderton Street (see Figure VII-5). -
-
+
-FigureVII-6 +FigureVII-6

FigureV11-6: ‘Dogleg’

* A street has a displacement or offset as it crosses another street (a configuration sometimes called a ‘dogleg’), so that there are two points where the two streets intersect. An example in Brooklyn is Ditmas Avenue where it crosses Coney Island Avenue (Figure VII-6).
-
-FigureVII-7 +FigureVII-7

Figure VII-7: Street Fork

@@ -99,21 +88,22 @@ The two-node case occurs with greater frequency than might be expected. Some ty
-FigureVII-8 -

Figure VII-8: Street With
Two Dead Ends

+FigureVII-8 +

Figure VII-8: Street With
Two Dead Ends

* A street has exactly two dead ends. An example in the Bronx is Odell Street (Figure VII-8). The two pseudo-intersections of Odell Street with the pseudo-street DEAD END are considered to be an instance of the two-node case. Similarly, streets that have exactly two intersections with the city limit, and streets that have exactly two bending points, are instances of the two-node case.

-
+
-##
Overview of Function 2 Node Enhancements
+## Overview of Function 2 Node Enhancements +(COW Only) Node ID (Node Number) as Input Processing the ‘Many-Node’ Case -(COW Only) +
@@ -145,15 +135,15 @@ Note that when a GBAT entry is rejected with GRC03 it will not be written to the GOAT support of Streets that Intersect more than twice When input streets intersect more than twice, Mainframe GOAT (CICS) and the web version of GOAT on the Web display a list of up to 20 nodes and the cross streets at these nodes, with their street codes and street names. The user can then more easily choose a node and reissue the GOAT call using the chosen node as input. -Specifying Function 2 Input Data +## Specifying Function 2 Input Data Applications pass input to Function 2/2W by specifying either an intersection name, or two distinct streets (i.e., two streets that have different B5SCs), or a node ID (COW only) identifying the intersection. If the input information is in the form of an intersection name, it may be passed in either WA1 input street name field, and the other field should preferably be left blank or it may contain any conventional street that exists at the given intersection. If the input data are in the form of two streets that are an instance of the two-node case, an input compass direction (‘N’, ‘S’, ‘E’ or ‘W’) must also be specified. The compass direction identifies which of the two nodes is to be processed, by specifying that node’s spatial position relative to the other one. For example, if ‘N’ is specified as the input compass direction, then Function 2 will process the northernmost of the two nodes. If the user knows the node ID of the intersection, this may be used as input instead of the two streets and a compass direction. If the input information is in the form of a node ID, a borough code is not required and is ignored if supplied.
-FigureVII-9 -

Figure V11-9: Simultaneous
2-Node and Unique-Node Case

+FigureVII-9 +

Figure V11-9: Simultaneous
2-Node and Unique-Node Case

Note that an intersection may be an instance of the two-node case when specified (with a compass direction) in @@ -190,7 +180,7 @@ The user can now modify his application to issue a COW Function 2W call and proc > Note: The GRC 03 message returns ‘blank’, ‘A’, or ‘B’ as the Reason Code. It no longer returns the number of intersections (3 through 9) as the Reason Code . -Possible Outcomes of a Function 2 or 2W Call +## Possible Outcomes of a Function 2 or 2W Call Table VII-2 lists possible outcomes of a Function 2 or 2W call by Geosupport Return Code (GRC). Table VII-2 does not include standard reject conditions that are applicable to most Geosupport functions, such as an inability to normalize or recognize an input street name. In Table VII-2, the term ‘intersection’ also encompasses pseudo-intersections. @@ -269,7 +259,7 @@ Possible Outcomes of a Function 2 and 2W Call -Function 2 Output Data +## Function 2 Output Data Among COW Function 2’s WA1 output items are the following: @@ -288,39 +278,25 @@ Since Function 2 treats street intersections as if they were single points, Geos For example, the intersection of East 116 Street and Fifth Avenue in Manhattan lies on the boundaries of three different School Districts (SDs) (see Figure VII-10). Two of the four block corners at this intersection lie in SD 3, one lies in SD 4 and one lies in SD 5. For this intersection, Function 2 returns SD 3, and provides no indication that the intersection lies on a SD boundary. +
+FigureVII-10 +

Figure V11-10: Multiple Districts at an Intersection

+
- -
- -
-FigureVII-10 -

Figure V11-10: Multiple Districts
at an Intersection

-
-Political Geography Returned with Function 2 Call (COW Only) - -Political geography and CD Eligibility are returned in the Character-Only Work Area 2 for Function 2 calls. Since it is possible that multiple political geographies may exist at an intersection, Geosupport returns the political geography associated with the most frequently occurring ED/AD. If there is no one political geography that occurs more frequently than any other, then the political geography associated with the ED/AD that is one of the most frequently occurring ED/ADs and that has the lowest numeric value is selected. This insures that the same data will be returned from one data cycle to the next data cycle. The only exception should be the changes in the political geography associated with the decennial census conducted by the federal government. - -
- -
- -
-FigureVII-11 -

Figure V11-11: Three - Street
Intersection

-
-Multi-Street Intersections and Retrieval Consistency +## Multi-Street Intersections and Retrieval Consistency This subsection discusses the common situation of intersections at which there are more than two streets. Geosupport accepts any pair of those streets as a valid input specification for the intersection. (The concept of an intersection of multiple streets should not be confused with the concept of two streets that intersect at multiple points, which was discussed in the preceding subsection.) For example, consider the three-street intersection of Hudson Street, Chambers Street and West Broadway in Manhattan (Figure VII-11). The user can specify this intersection as input to Function 2 in three ways: as the intersection of Hudson Street and Chambers Street; Hudson Street and West Broadway; or Chambers Street and West Broadway. +
+FigureVII-11 +

Figure V11-11: Three - Street Intersection

Similarly, a four-street intersection can be specified in six ways, etc. Function 2 returns identical WA2 information (other than that related to which streets were the input streets for the call) for an intersection regardless of which pair of streets is used to specify it. Since an intersection of more than two streets can be specified in more than one way, an important issue for some applications that process data by intersection is the ability to retrieve or match data from an application file consistently by intersection. (For a general discussion of the concept of application file geographic retrieval consistency, [see Section I.3](/chapters/chapterI/section03/).) That is, it is desirable for applications to be able to retrieve data successfully for a multi-street intersection regardless of which pair of streets is used to identify the intersection. A data item called the Node ID, which is returned in Function 2's WA2, is designed to serve effectively as a unique, consistent intersection identifier. It is able to so serve because the same Node ID Number is returned regardless of how the intersection is specified. Moreover, the Node ID assigned to an intersection is kept constant over time. That is, the same Node ID is returned for a given intersection by every Geosupport release, even in cases where there is a change in the set of streets defining an intersection (such as the presence of a new street, the closure of an existing street, or a change in the street code assigned to a street). -
- -Fuzzy Intersection Processing (Function 2) - Front-truncated street names +## Fuzzy Intersection Processing (Function 2) - Front-truncated street names Under certain conditions, Function 2 will return data when front-truncated street names are given as input; e.g. 14 STREET instead of EAST 14 STREET or WEST 14 STREET. If a user supplies a front-truncated street name as one of the names that define an intersection, Geosupport will attempt to find the intersection using the appropriate street names. If Geosupport is successful in finding the intersection, it will process the call and issue a warning message (Reason Code J) indicating which street name was assumed. The following are a number of examples and special cases of this processing. @@ -332,5 +308,5 @@ If the user supplies the front-truncated street name 177 STREET and JEROME AVENU Non-addressable Place Names (NAPs) will not be considered when processing truncated street names at an intersection. For example, if the user supplies ‘33’ and MADISON AVENUE in Manhattan as the input to a Function 2 call, Geosupport will find that in addition to EAST 33 STREET and WEST 33 STREET, there is also 33 POLICE PRECINCT. 33 Police Precinct is eliminated as a possibility because it is a NAP which may not be used in a Function 2 call. This leaves only East and West 33 Street as possibilities and since only East 33 Street intersects Madison Avenue in Manhattan, the call will be processed successfully and a warning message will indicate a street name change. -Note Concerning the ‘Vestigial’ Function 2C: A Geosupport enhancement that was implemented in Version 9.5 (March 1998) enabled Function 2 to process pairs of streets that intersect twice, using the input compass direction field to identify the specific intersection to be processed. Prior to that enhancement, Function 2 could only process pairs of streets that intersect once, and a separate function, Function 2C, had to be used to process pairs of streets that intersect twice. The enhancement enabled Function 2 to process both types of intersection input, rendering Function 2C obsolete. Function 2C is a ‘vestigial’ function, in the sense in which this term is described in [Chapter I.5](/chapters/chapterI/section05/). In particular, all new applications should be designed to perform all intersection processing using Function 2 only. It is recommended that users modify existing applications by replacing all Function 2C calls with Function 2 calls. To do so, it may be necessary or appropriate to modify the application’s reject handling routines to reflect the situations and GRC’s delineated in Table VII-2. Function 2C is not further documented in this *User Programming Guide*. -
+## Note Concerning the ‘Vestigial’ Function 2C: +A Geosupport enhancement that was implemented in Version 9.5 (March 1998) enabled Function 2 to process pairs of streets that intersect twice, using the input compass direction field to identify the specific intersection to be processed. Prior to that enhancement, Function 2 could only process pairs of streets that intersect once, and a separate function, Function 2C, had to be used to process pairs of streets that intersect twice. The enhancement enabled Function 2 to process both types of intersection input, rendering Function 2C obsolete. Function 2C is a ‘vestigial’ function, in the sense in which this term is described in [Chapter I.5](/chapters/chapterI/section05/). In particular, all new applications should be designed to perform all intersection processing using Function 2 only. It is recommended that users modify existing applications by replacing all Function 2C calls with Function 2 calls. To do so, it may be necessary or appropriate to modify the application’s reject handling routines to reflect the situations and GRC’s delineated in Table VII-2. Function 2C is not further documented in this *User Programming Guide*. diff --git a/docs/chapters/chapterVII/section03.md b/docs/chapters/chapterVII/section03.md index 3176d94e..0f31ef82 100644 --- a/docs/chapters/chapterVII/section03.md +++ b/docs/chapters/chapterVII/section03.md @@ -1,6 +1,6 @@

VII.3 Three-Street Configurations - Concepts and Terminology

-There are many applications in which geographic locations to be processed are identified in terms of an ‘on’ street between two cross streets. Geosupport can process several types of such locations, namely street segments, blockfaces and street stretches. We refer generically to all these types of locations as three-street configurations. +There are many applications in which geographic locations to be processed are identified in terms of an ‘on’ street between two cross streets. Geosupport can process several types of such locations, namely street segments, blockfaces and street stretches. We refer generically to all these types of locations as three-street configurations. This section introduces concepts and terminology needed to discuss three-street configurations. The three succeeding sections discuss the Geosupport functions that process the various types of three-street configurations: @@ -28,25 +28,18 @@ Every street stretch is composed of a set of one or more street segments, which Some examples of street stretches and segments follow. -
-
-FigureVII-12 +FigureVII-12

Figure V11-12: Street Stretch

-
- -* The stretch of Madison Avenue between East 51st Street and East 52nd Street in Manhattan (see Figure VII-12) is a street segment. The stretch of Madison Avenue between East 51st Street and East 54th Street is not a segment because its delimiting nodes are not consecutive along the ‘on’ street; it is a stretch consisting of three segments. - -
- -
+* The stretch of Madison Avenue between East 51st Street and East 52nd Street in Manhattan (see Figure VII-12) is a street segment. The stretch of Madison Avenue between East 51st Street and East 54th Street is not a segment because its delimiting nodes are not consecutive along the ‘on’ street; it is a stretch consisting of three segments. +
-FigureVII-13 -

FigureV11-13: Street Stretch
Containing Gap

-
+FigureVII-13 +

FigureV11-13: Street Stretch
Containing Gap

+ * An example of a street stretch that is not connected is Manhattan’s West 64th Street between Central Park West and West End Avenue (see Figure VII-13). West 64th Street has a gap (does not exist) between Columbus Avenue and Amsterdam Avenue, where it is interrupted by Lincoln Center. As a result, the stretch in question consists of two sub-stretches that are not connected to each other. @@ -74,8 +67,8 @@ For features that have no addresses, such as all railroad tracks and some highwa A blockface is a continuous frontage of a physical city block along one street, ignoring the presence of any bending points or other intervening nodes. That is, the portions of a street frontage of a block that lie on both sides of a bending point are considered to be parts of the same blockface.
-FigureVII-14 -

FigureV11-14: Block with Four
Blockfaces

+FigureVII-14 +

FigureV11-14: Block with Four
Blockfaces

For example, the Manhattan block bounded by Madison @@ -86,16 +79,11 @@ and Park Avenues and East 51st and East 52nd Streets has the following four bloc * The west side of Park Avenue between East 51st and East 52nd Streets * The north side of East 51st Street between Madison and Park Avenues -An example of a stretch with a bending point in Manhattan is Commerce Street between Bedford and Barrow Streets (see Figure VII-4). Both sides of this stretch are single blockfaces, even though the stretch consists of two segments connected at the bending point. - -## T-Intersections - - - -
+An example of a stretch with a bending point in Manhattan is Commerce Street between Bedford and Barrow Streets (see Figure VII-4). Both sides of this stretch are single blockfaces, even though the stretch consists of two segments connected at the bending point. +## T-Intersections
-FigureVII-15 +FigureVII-15

Figure VII-15: T-Intersection

@@ -105,23 +93,16 @@ A street stretch, and in particular a street segment, is considered to comprise An example of a T-intersection in Manhattan is the intersection of Fifth Avenue and East 41st Street (Figure VII-15). Because of the presence of the New York Public Library main building along the west side of Fifth Avenue between West 40th and West 42nd Streets, there are no cross streets on the west side of Fifth Avenue where it intersects with East 41st Street. The long blockface on the west side of Fifth Avenue encompasses two segments, each consisting of a portion of this long blockface facing a shorter entire blockface on the east side of Fifth Avenue. -
-
-FigureVII-16 -

Figure V11-16: Two Consecutive
T- Intersections

+FigureVII-16 +

Figure V11-16: Two Consecutive
T- Intersections

It is possible for a street to have T-intersections at several consecutive nodes. An example in Manhattan is the three-segment stretch of Lexington Avenue between East 42nd and East 45th Streets (Figure VII-16). Because of the presence of the Grand Central Terminal complex on the west side of Lexington Avenue, East 43rd Street and East 44th Street intersect Lexington Avenue only on its east side, forming two consecutive T-intersections along Lexington Avenue. As a result, the west side of this stretch is a single long blockface, which faces three shorter blockfaces on the east side of Lexington Avenue. -
- -
-
-FigureVII-16 -

Figure VII-17: T-Intersections on
Alternating Sides of street

-
+FigureVII-16 +

Figure VII-17: T-Intersections on
Alternating Sides of street

When a street has consecutive T-intersections at which the cross streets are on alternating sides of the ‘on’ street, then long blockfaces on both sides of the ‘on’ street face each other in overlapping fashion, forming segments both sides of which consist of portions of those long blockfaces. Union Avenue in Staten Island is an example (Figure VII-17). Note that Union Avenue between Leyden Avenue and Walloon Street is a street segment, because the two delimiting intersections are consecutive along Union Avenue, even though the cross streets are on opposite sides of the ‘on’ street.

diff --git a/docs/chapters/chapterVII/section04.md b/docs/chapters/chapterVII/section04.md index cd449ecb..260d18df 100644 --- a/docs/chapters/chapterVII/section04.md +++ b/docs/chapters/chapterVII/section04.md @@ -11,7 +11,7 @@ Function 3 is designed to accept as input portions of a street that are, loosely The following examples illustrate the types of input data acceptable and not acceptable to Function 3. For the Lexington Avenue examples (in Manhattan), see Figure VII-16. For the Union Avenue examples (in Staten Island), see Figure VII-17. For the Commerce Street examples (in Manhattan), see Figure VII-4. For the Croes Avenue example (in the Bronx), see Figure VII-3. -##

Input Data Examples for Function 3

+##

Input Data Examples for Function 3

| Input ‘On’ Street | One Cross Str. | Other Cross Str. | Fn 3 Action | Reason for Action | | :------------- | :------------- | :------------- | :------------- | :------------- | @@ -33,19 +33,17 @@ The following examples illustrate the types of input data acceptable and not acc | Commerce Street | Barrow Street | Bedford Street | Accepted | Both sides are single entire blockfaces | | Croes Avenue | Watson Avenue | Dead End | Accepted | Single entire segment | -Function 3 Input Data Specification and Validation +## Function 3 Input Data Specification and Validation Applications pass an input stretch to Function 3 by specifying three input streets, consisting of the ‘on’ street and two cross streets, in the appropriate WA1 input fields. The input cross streets, but not the ‘on’ street, may be pseudo-streets or intersection names. The input cross streets may be specified in either order. As with all Geosupport street input, the three input streets to a Function 3 call are specified in the form of either street names or street codes. If either or both of the delimiting intersections of the input stretch has more than one cross street, the stretch may be specified using any of those cross streets. For example, the segment of Chambers Street illustrated in Figure VII-11 may be specified either as ‘Chambers Street between Church Street and West Broadway’, or as ‘Chambers Street between Church Street and Hudson Street’. -A successful two-work-area call to Function 3 signifies that the three input streets form a combination of an ‘on’ street and two cross streets that specify either a valid street segment or a valid street stretch at least one side of which is a single entire blockface. - -
+A successful two-work-area call to Function 3 signifies that the three input streets form a combination of an ‘on’ street and two cross streets that specify either a valid street segment or a valid street stretch at least one side of which is a single entire blockface.
-FigureVII-18 -

FigureVII-18: Ambiguous
Segment Specification

+FigureVII-18 +

FigureVII-18: Ambiguous
Segment Specification

## Ambiguous Function 3 Input Data @@ -55,14 +53,10 @@ Some combinations of an ‘on’ street and two cross streets are ambiguous as F Function 3 rejects such ambiguous input. Unlike Function 2, which provides a means (compass direction input) for users to specify unambiguously an intersection of two streets that intersect in two different places, Geosupport provides the user with no recourse when Function 3 rejects an input stretch specification as ambiguous. -
- ## Function 3 Output Data If a two-work-area call to Function 3 is successful, information about both sides of the input stretch is returned in WA2. (Note that the long WA2 option is available for the MSW Function 3. [See Section II.5](/chapters/chapterII/section05/).) Some of the data items apply to both the left and right sides of the segment, e.g. the ‘on’ street name and street code, segment length, ‘From’ node (COW only), ‘To’ node (COW only), etc. Many of the data items in Function 3’s WA2 (both regular and long) are paired, with one item for the left side of the ‘on’ street and another item of the same type for the right side. For example, there are fields for left and right ZIP code, for left and right 2010 census tract, and for left and right address ranges (each range consisting of a ‘from’ house number and a ‘to’ house number). Other examples exist in the COW WA2 for Function 3, e.g. fields for left and right Elections District (ED), for left and right Assembly District (AD), and for left and right Blockface ID (in COW Function 3 Extended). As explained in [Chapter VII.3](/chapters/chapterVII/section03/), left and right are determined by the ‘on’ street’s logical direction, and therefore are independent of the order in which the user specifies the input cross streets. - - In the case of an input stretch encompassing more than one segment (the T-intersection and bend cases), the values of the WA2 items that Function 3 returns for the side of the street comprising more than one blockface are as follows. The low and high house number values that are returned correspond to the entire stretch. The values that are returned for all other side-related items correspond to the ‘last’ (relative to the stretch’s logical direction) blockface. For example, consider Fifth Avenue in Manhattan between East 40 and East 42 Streets (see Figure VII-15). Since the direction of increasing addresses along Fifth Avenue is from south to north, that is also Fifth Avenue’s logical direction. It follows that the right side of the given stretch is the east side. It consists of two blockfaces. Relative to the logical direction, the ‘last’ of these blockfaces is the one between East 41 and East 42 Streets. Accordingly, the right address range that is returned in WA2, consisting of the right low house number and the right high house number, corresponds to the entire right side of Fifth Avenue between East 40 and East 42 Streets. The values returned for all other items for the right side of the input stretch correspond to the ‘last’ blockface, the one between East 41 and East 42 Streets. The data returned represents two segments, but only one Segment ID is capable of being returned in the regular Function 3 WA2; consequently only the Segment ID with the lowest value is returned in the regular Function 3 WA2. COW Function 3 is capable of returning all the Segment IDs that exist in the returned segment. (See discussion of Auxiliary Segment Switch below.) If the user requests Fifth Avenue between East 40th street and East 41st Street, the segment ID returned will be 00034174. If the user requests Fifth Avenue between East 41st Street and East 42nd Street, the Segment ID returned will be 00034176. However if the user requests Fifth Avenue between East 40th Street and East 42nd Street, which represents two segments, (and the Auxiliary Segment Option is not requested) the segment ID returned will be 00034174, which is numerically the lower of the two numbers. A COW Function 3 call may return, at the user’s option, all the Segment IDs (up to 70) of the segments that comprise the generated output segment. To request this data, the Auxiliary Segment Switch (AUXSEG a.k.a. SEGAUX) in the COW WA1 must be set to ‘Y’. This will result in all the Segment IDs (up to 70) being returned in a 500-byte area appended to the COW Function 3 WA2. diff --git a/docs/css/main.css b/docs/css/main.css index eb46f70c..b4d123d4 100644 --- a/docs/css/main.css +++ b/docs/css/main.css @@ -278,6 +278,13 @@ img[alt^="GoatFunction_medium"] { .topVerticalTD { vertical-align:top !important; } +.widthTD{ + width: 180px !important; +} +.widthTDsmall{ + width: 145px !important; +} + .bordered-table, .bordered-table th, .bordered-table td { diff --git a/docs/css/pdf.css b/docs/css/pdf.css index ad20fdcc..a21f3b69 100644 --- a/docs/css/pdf.css +++ b/docs/css/pdf.css @@ -162,12 +162,13 @@ img[alt^="GoatFunction_medium"] { /*.textWithImage { margin-top: 5em; }*/ -.topMargin { +/*deleted to style pdf -ch7.2*/ +/*.topMargin { margin-top: 11em; } .topMargin u { font-size: 26px; -} +}*/ #lincolnCenter { margin-top: 10em; margin-bottom: 6em; @@ -258,3 +259,12 @@ a { color: #0a0101 !important; text-decoration: none !important; } + +.smallImg { + height: 250px; + width: 60%; +} + +.removeBr { + display: none !important; +} diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 00000000..0e5140bd --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,833 @@ +{ + "name": "dcpmanual", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "4.6.0", + "json-stable-stringify": "1.0.1" + } + }, + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + } + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "autolinker": { + "version": "0.15.3", + "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.15.3.tgz", + "integrity": "sha1-NCQX2PLzRhsUzwkIjV7fh5HcmDI=" + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=" + }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "optional": true, + "requires": { + "tweetnacl": "0.14.5" + } + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.16.3" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "requires": { + "delayed-stream": "1.0.0" + } + }, + "commander": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", + "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==" + }, + "commonmark": { + "version": "github:tmpfs/commonmark.js#ee5d689559c5e7d3936b2e0a3be8d15fa7e1677d", + "requires": { + "entities": "1.1.1", + "mdurl": "1.0.1", + "minimist": "1.2.0", + "string.prototype.repeat": "0.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "concat-stream": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz", + "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", + "requires": { + "inherits": "2.0.3", + "readable-stream": "2.3.3", + "typedarray": "0.0.6" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.10.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "optional": true, + "requires": { + "jsbn": "0.1.1" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "es6-promise": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.0.5.tgz", + "integrity": "sha1-eILzCt3lskDM+n99eMVIMwlRrkI=" + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=" + }, + "extract-zip": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.5.tgz", + "integrity": "sha1-maBnNbbqIOqbcF13ms/8yHz/BEA=", + "requires": { + "concat-stream": "1.6.0", + "debug": "2.2.0", + "mkdirp": "0.5.0", + "yauzl": "2.4.1" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "requires": { + "pend": "1.2.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "0.4.0", + "combined-stream": "1.0.5", + "mime-types": "2.1.17" + } + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "4.1.11", + "jsonfile": "2.4.0", + "klaw": "1.3.1" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "requires": { + "ajv": "4.11.8", + "har-schema": "1.0.5" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "requires": { + "is-stream": "1.1.0", + "pinkie-promise": "2.0.1" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.10.1", + "cryptiles": "2.0.5", + "hoek": "2.16.3", + "sntp": "1.0.9" + } + }, + "highlight.js": { + "version": "9.12.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.12.0.tgz", + "integrity": "sha1-5tnb5Xy+/mB1HwKvM2GVhwyQwB4=" + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "0.2.0", + "jsprim": "1.4.1", + "sshpk": "1.13.1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "4.1.11" + } + }, + "markdown-pdf": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/markdown-pdf/-/markdown-pdf-7.0.0.tgz", + "integrity": "sha1-PHDgmm7z2uLFBZs6IpS9ZYHSac4=", + "requires": { + "commander": "2.11.0", + "duplexer": "0.1.1", + "extend": "3.0.1", + "highlight.js": "9.12.0", + "phantomjs-prebuilt": "2.1.15", + "remarkable": "1.7.1", + "stream-from-to": "1.4.3", + "through2": "2.0.3", + "tmp": "0.0.28" + } + }, + "md-to-pdf": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/md-to-pdf/-/md-to-pdf-1.1.0.tgz", + "integrity": "sha1-x0J3/VafhTVMhY7rnD55iMqu5OQ=", + "requires": { + "markdown-pdf": "7.0.0" + } + }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=" + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "requires": { + "mime-db": "1.30.0" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkast": { + "version": "1.2.12", + "resolved": "https://registry.npmjs.org/mkast/-/mkast-1.2.12.tgz", + "integrity": "sha1-jAD/6rXRhJu0SjJOqsySW+m8GbI=", + "requires": { + "commonmark": "github:tmpfs/commonmark.js#ee5d689559c5e7d3936b2e0a3be8d15fa7e1677d", + "stream-lines": "1.2.0", + "through3": "1.1.6" + } + }, + "mkdirp": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", + "requires": { + "minimist": "0.0.8" + } + }, + "mktoc": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/mktoc/-/mktoc-1.0.10.tgz", + "integrity": "sha1-KVKBTUualc/UiN2AK0Ouf9ZE2bc=", + "requires": { + "mkast": "1.2.12", + "through3": "1.1.6" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + }, + "phantomjs-prebuilt": { + "version": "2.1.15", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.15.tgz", + "integrity": "sha1-IPhugtM0nFBZF1J3RbekEeCLOQM=", + "requires": { + "es6-promise": "4.0.5", + "extract-zip": "1.6.5", + "fs-extra": "1.0.0", + "hasha": "2.2.0", + "kew": "0.7.0", + "progress": "1.1.8", + "request": "2.81.0", + "request-progress": "2.0.1", + "which": "1.2.14" + } + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "2.0.4" + } + }, + "process-nextick-args": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", + "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + }, + "readable-stream": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", + "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "1.0.0", + "process-nextick-args": "1.0.7", + "safe-buffer": "5.1.1", + "string_decoder": "1.0.3", + "util-deprecate": "1.0.2" + } + }, + "remarkable": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.1.tgz", + "integrity": "sha1-qspJchALZqZCpjoQIcpLrBvjv/Y=", + "requires": { + "argparse": "0.1.16", + "autolinker": "0.15.3" + } + }, + "remarkable-classy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/remarkable-classy/-/remarkable-classy-0.0.1.tgz", + "integrity": "sha1-uPfscA2vxRyME1m35hTqyGuBIQM=" + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "requires": { + "aws-sign2": "0.6.0", + "aws4": "1.6.0", + "caseless": "0.12.0", + "combined-stream": "1.0.5", + "extend": "3.0.1", + "forever-agent": "0.6.1", + "form-data": "2.1.4", + "har-validator": "4.2.1", + "hawk": "3.1.3", + "http-signature": "1.1.1", + "is-typedarray": "1.0.0", + "isstream": "0.1.2", + "json-stringify-safe": "5.0.1", + "mime-types": "2.1.17", + "oauth-sign": "0.8.2", + "performance-now": "0.2.0", + "qs": "6.4.0", + "safe-buffer": "5.1.1", + "stringstream": "0.0.5", + "tough-cookie": "2.3.3", + "tunnel-agent": "0.6.0", + "uuid": "3.1.0" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "requires": { + "throttleit": "1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "series-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/series-stream/-/series-stream-1.0.1.tgz", + "integrity": "sha1-MRoJxcHVoJFECDLhpICkdADxAF0=" + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.16.3" + } + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "requires": { + "through": "2.3.8" + } + }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "requires": { + "asn1": "0.2.3", + "assert-plus": "1.0.0", + "bcrypt-pbkdf": "1.0.1", + "dashdash": "1.14.1", + "ecc-jsbn": "0.1.1", + "getpass": "0.1.7", + "jsbn": "0.1.1", + "tweetnacl": "0.14.5" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "stream-from-to": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/stream-from-to/-/stream-from-to-1.4.3.tgz", + "integrity": "sha1-snBHPrxRTnNhVyfF0vdrIplB35Q=", + "requires": { + "async": "1.5.2", + "concat-stream": "1.6.0", + "mkdirp": "0.5.0", + "series-stream": "1.0.1" + } + }, + "stream-lines": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stream-lines/-/stream-lines-1.2.0.tgz", + "integrity": "sha1-TIITc7s8TAOrn2VbrVH2G5WxVlw=", + "requires": { + "through3": "1.1.6" + } + }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "string.prototype.repeat": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-0.2.0.tgz", + "integrity": "sha1-q6Nt4I3O5qWjN9SbLqHaGyj8Ds8=" + }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=" + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "2.3.3", + "xtend": "4.0.1" + } + }, + "through3": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/through3/-/through3-1.1.6.tgz", + "integrity": "sha1-UEqlF179VNnGlXeEyJBmS4aFz3c=" + }, + "tmp": { + "version": "0.0.28", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz", + "integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=", + "requires": { + "os-tmpdir": "1.0.2" + } + }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "requires": { + "punycode": "1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "5.1.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=" + }, + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "1.3.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "which": { + "version": "1.2.14", + "resolved": "https://registry.npmjs.org/which/-/which-1.2.14.tgz", + "integrity": "sha1-mofEN48D6CfOyvGs31bHNsAcFOU=", + "requires": { + "isexe": "2.0.0" + } + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "requires": { + "fd-slicer": "1.0.1" + } + } + } +} diff --git a/docs/pageFooter.js b/docs/pageFooter.js index 485b5f5b..5fc8afbe 100644 --- a/docs/pageFooter.js +++ b/docs/pageFooter.js @@ -1,6 +1,6 @@ exports.footer = { height: "0.2cm", contents: function(pageNum, numPages) { - return "

" + pageNum + " - " + numPages + "

" + return "

" + pageNum + " of " + numPages + "

" } } diff --git a/docs/tableofcontents.md b/docs/tableofcontents.md index 96d57294..2938d58e 100644 --- a/docs/tableofcontents.md +++ b/docs/tableofcontents.md @@ -1385,9 +1385,75 @@ IV Geosupport Update Cycles And User Feedback 959 + + + + APPENDIX 22: GeoX Programming Guide + 967 + + + GeoX Overview + 967 + + + Setup + 967 + + + Using GeoX in a .NET Program + 967 + + + Sample Code for Function 1E + 968 + + + Sample Code for Function BL + 970 + + + + Selecting the Broker to Use + 971 + + + + Which Functions to Use + 973 + + + + Which Options to Use + 973 + + + + Selecting the Proper Work Area 2 + 975 + + + + + List of Classes and Overview + 976 + + + + + Classes + 977 + + + + + Supporting Classes for Work Areas + 978 + + + Glossary of Term And Acronyms - 961 + 980 diff --git a/docs/upg.pdf b/docs/upg.pdf index 73c3fd2c..a296e0b0 100644 Binary files a/docs/upg.pdf and b/docs/upg.pdf differ diff --git a/mkdocs.yml b/mkdocs.yml index 75ad84a1..12eecbce 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -148,6 +148,7 @@ pages: - 'Appendix 19: Work Area Layouts (COWs)': appendices/appendix19.md - 'Appendix 20: Geosupport Header And Typedef Files': appendices/appendix20.md - 'Appendix 21: Geosupport Desktop Edtion': appendices/appendix21.md + - 'Appendix 22: GeoX Programming Guide': appendices/appendix22.md - Glossary of Terms And Acronyms: appendices/glossary.md - About Us: aboutUs.md diff --git a/site/aboutUs/index.html b/site/aboutUs/index.html deleted file mode 100644 index 58a3a98a..00000000 --- a/site/aboutUs/index.html +++ /dev/null @@ -1,826 +0,0 @@ - - - - - - - - - - - - About Us - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • About Us
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

NYCSeal >

-

CITY OF NEW YORK
-Bill de Blasio, Mayor

-


-DEPARTMENT OF CITY PLANNING
-Marisa Lago, Director
-Purnima Kapur, Executive Director
-Jon Kaufman, Chief Operating Officer

-


-INFORMATION TECHNOLOGY DIVISION
-Hassan Adekoya, Chief Information Officer

-


-GEOGRAPHIC SYSTEMS SECTION
-Rudy Lopez, Director
-Michele McInnes, AICP, Deputy Director
-Nilesh Palve, Programming Manager and Solution Architect
-Thomas Costa, AICP, Manager, Geographic Research
-Rodrigo Zapata, Deputy Manager, Geographic Research

-


-PROGRAMMING STAFF
-Frank Chin
-Jie Ding
-Gloria Katz
-Yoel Lebel
-Steve Oliver
-Jigar Talati
-Jasmine Tse
-Tatyana Vechnyak

-


-The Geosupport logo is a trademark of the Department of City Planning / City of New York.
-Geosupport Desktop Edition is a trademark of the Department of City Planning / City of New York

-

Windows is a registered trademark of Microsoft Corporation in the United States and/or other countries.

-

Other product and company names mentioned herein may be the trademarks or registered trademarks of their respective owners.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - -
- - - - - diff --git a/site/appendices/appendices/index.html b/site/appendices/appendices/index.html deleted file mode 100644 index d23bb637..00000000 --- a/site/appendices/appendices/index.html +++ /dev/null @@ -1,802 +0,0 @@ - - - - - - - - - - - - Appendices and Glossary - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendices and Glossary
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

Appendices and Glossary

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix01/index.html b/site/appendices/appendix01/index.html deleted file mode 100644 index 0f597968..00000000 --- a/site/appendices/appendix01/index.html +++ /dev/null @@ -1,2428 +0,0 @@ - - - - - - - - - - - - Appendix 1: Geosupport Functions - Quick Reference - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 1: Geosupport Functions - Quick Reference
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 1: GEOSUPPORT FUNCTIONS - QUICK REFERENCE

- -

Introduction

-

This appendix contains a summary description of each Geosupport function. The entry for each function includes the following elements:

-
    -
  • -

    Description of function and UPG citations: A brief narrative description of the function’s purposes, main features and principal output data, with references to relevant sections in the body of the UPG. (For a comprehensive list of output data items, see the corresponding work area layouts in Appendix 2.)

    -
  • -
  • -

    Validation: A description of the validation significance of a successful two-work area call to the function. (The nature of the validation significance of a one-work area call is described in Chapter II.4.) Entries in this appendix for functions that cannot be called using two work areas do not have a validation section.

    -
  • -
  • -

    Input fields: A list of mandatory and optional WA1 input fields used to call the function. All input field names are listed in this appendix as they appear in the WA1 layout in Appendix 2 for MSWs and Appendix 13 for COWs, except for street and house number input fields, which are listed as follows:

    -
  • -
  • -

    Input street fields are usually listed in this appendix generically, using the terms ‘Street-1’, ‘Street-2’ and ‘Street-3’. Input street data may be in the form of either street names or street codes; input street code data may be in several forms (see Chapter IV.8). The terms ‘Street-1’, ‘Street-2’ and ‘Street-3’ refer to any of the following three sets of WA1 input fields, the choice of which is at the discretion of the application designer: Street Name-1, Street Name-2 and Street Name-3; or PB5SC-1, PB5SC-2 and PB5SC-3 (MSW only); or B10SC-1, B10SC-2 and B10SC-3. (Note: B5SC-x (where x = 1, 2 or 3) input and B7SC-x input is located left-justified and space-filled in the corresponding B10SC-x input fields.)

    -
  • -
-

The generic street input field names, ‘Street-1’, ‘Street-2’ and ‘Street-3’, are not used in the entries for Function 1N, which accepts input street names only, and Functions D, DG and DN, which accept input street codes only.

-
    -
  • -

    Input house number fields are listed generically using the term ‘House Number’. Input house numbers may be in a displayable, character format, using the WA1 input field called House Number, or they may be in HNI format (MSW, see Chapter V.2), using the WA1 input field House Number in Internal Format (HNI), or they may be in HNS format (COW, see Chapter V.2); using the WA1 input field House Number in Sort Format (HNS).

    -
  • -
  • -

    Selected Geosupport Return Codes: A list of selected Geosupport Return Codes (GRCs) and Reason Codes that the function can issue, with brief explanations. Only certain notable GRCs specific to the function are included. GRCs that are self-explanatory or that apply to many functions, such as those relating to system errors or to street name normalization and recognition problems, are not included. For a complete list of GRCs, Reason Codes and Messages, see Appendix 4.

    -
  • -
-

Appendix 2 (MSW) and Appendix 13 (COW) contain the work area layouts of all of the Geosupport functions. The abbreviated notation for street code items listed in Table IV-1 (at the end of Chapter IV) is used throughout Appendices 1, 2 and 13.   Below is a summary list of the Geosupport functions.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Summary of Geosupport Functions
FunctionUser InputSelected Geosupport Output Items
1Address or Non-Addressable Place name (NAP) Block face-level data - Standardized Street Name and Street Code, Address Range, List of Cross Streets, ZIP Code, Community District, Health Area, Health Center District, 1990 Census Tract, 2010 Census Tract and block, Fire Engine or Ladder Company, School District, Police Precinct, Police Patrol Borough, XY Coordinates (based on the State Plane Coordinate System),
COW: Hurricane Evacuation Zone,
-COW Extended: USPS Preferred City Name, Latitude, Longitude
1BAddress or NAP Same as for Function 1E + Property Level Information from Function 1A + Street Names for Cross Streets and Address Lists
1EAddress or NAPSame as for Function 1 + Political Geography (Election District, Assembly District, Congressional District, City Council District, Municipal Court District and State Senatorial District)
1AAddressTax lot - and building-level data - Standardized Street Name and Street Code, Tax Block and Lot, Alternative Addresses for Lot, Building Identification Number (BIN), RPAD Building Class, Interior Lot Flag, Vacant Lot Flag, Irregularly-Shaped Lot Flag, Corner Code, Business Improvement District (BID), Latitude, Longitude.
1NStreet NameStandardized Street Name and Street Code (not available in the Desktop Edition of GOAT)
2 / 2WPair of Intersecting Streets, Named Intersection, or Node NumberIntersection-Level data - Standardized Street Name and Street Codes, List of Additional Cross Streets, ZIP Code, Community District, Health Area, 1990 and 2000 Census Tract, Fire Districts, School District, Police Precinct, XY Coordinates (based on State Plane Coordinate System), -COW: Sanitation District, Health Center District, some Political Geography -COW: 2W: Latitude, Longitude, Node IDs and Cross Streets
3On Street and a pair of Consecutive Cross StreetsSegment-level data - Standardized Street Names and Street Codes, Lists of Cross Streets at both ends, and information about both sides of the street, (including ZIP Codes, Community Districts, Health Areas, 1990, 2000 and 2010 Census Tracts, Fire Districts, School Districts, Police Precincts) -COW: ‘From’ and ‘To’ Nodes, Election District, Assembly District -COW Extended: Latitude, Longitude, Blockface ID
3COn Street and a Pair of Consecutive Cross Streets & a Compass Direction (Side of Street)Same as Function 3 but for one side of the street only (Blockface information)
3SOn Street and an Optional pair of any Intersecting Streets along the On StreetStretch-level data - Street Stretch information: List of intersecting streets in order along ‘on’ street, the distance between them and node IDs
APAddressAddress Point ID, Spatial Coordinates of CSCL Address Point, BBL, BIN
BF, BBCharacter StringList of up to 10 street names in alphabetic order - supports street name browsing
BLBorough, Tax Block and LotTax lot- and building- level data - List of Addresses for Lot, List of Building Identification Numbers (BINs), RPAD Building Class, Interior Lot Flag, Vacant Log Flag, Flag, Corner Code, etc.
BNBuilding Identification NumberTa lot- and building-level data - List of Address Ranges for Building, Tax Block and Lot, RPAD Building Class, Interior Lot Flag, Vacant Lot Flag, Irregularly Shaped Lot Flag, Corner Code etc.
D, DG, DNStreet Code and/or House NumberStreet Name and./or House Number in Displayable
HRNone – CICS GOATGeosupport Data Set Information – Creation date, release cycle, number of records
N*Street NameNormalized street name (w/o a borough, so no consideration of validity)
- -

Function 1

-

Description: Function 1 processes an input address or input Non-Addressable Place name (NAP) (see Chapter III.6).  When called using two work areas, Function 1 returns information about the blockface containing the input address or NAP.  This information includes the cross streets at the two intersections delimiting the blockface, and a set of geographic district identifiers including ZIP code, census tract and community district.  MSW Function 1 can be called with the long WA2 option. COW Function 1 may be called with the Extended Mode Switch.

-

See Chapter V for a detailed discussion of Function 1 and how it differs from Function 1A.

-

Validation: A successful outcome of a two-work area call to Function 1 signifies (assuming address rather than NAP input) only that the input address falls within a valid range of addresses of the same parity (odd or even house numbers) allocated to some blockface; it does not signify that there is an actual building having the input address. (To validate the latter condition, Function 1A or AP must be used. See Chapter V.4 and Chapter VI.10 for Function 1A and Function AP respectively.)

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 1 Input Fields
FieldValueComments
Function Code‘1 ’ ( ‘1’ followed by a blank)Required.
Work Area Format Indicator‘C’ = COW format
Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Mode Switch‘X’ = Extended Mode Work Area 2
Blank = normal mode
Optional; COW Only. See Chapter II.7.
Borough Code-1 (or ZIP Code)1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired. (ZIP Code may be used instead of Borough Code)
House NumberRequired for address input except free-form addresses (see Chapter V.3). Typically not used for NAP input (see Chapter III.6).
Long WA2 Flag (MSW Only)‘L’ = Long WA2,
Blank = regular WA2
Optional; default (blank) is regular WA2. See Chapter II.5.
Street-1Required.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format,
Blank = sort format
Optional; default (blank) requests sort format. See Chapter III.3.
Cross Street Names Flag‘E’ = return names
Blank = do not return names
Optional
ZIP CodeOptional; may be used instead of Borough Code, or to identify a DAPS. See Chapter III.6 and Chapter V.6.
Roadbed Request Switch‘R’ = Roadbed info requested
Blank = Generic info requested
Optional; default (blank) requests generic information.
Browse Flag (COW Only)‘P’ = primary street name / code -‘F’ = principal street name / code -‘R’= DCP preferred street name / code -Blank = input street name / codeOptional; may be used to select output street name / code. -Default (blank) requests use of input street name / code. See Chapter III.8
- -

Selected Function 1 Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GRC Value/ Reason Code ValueMeaning
01/V(Warning) The input was a vanity address, an addressable place name, or a NAP. This message returns the underlying address or street name when available
01/P(Warning) The street segment containing the input address is an irregular curve (i.e., it is curved but not as an arc of a circle). No values are returned in the WA2 Spatial Coordinate fields.
07The input street was specified as a B5SC (or PB5SC) representing a NAP that is the name of a complex. Five-digit street code input is not permitted for the name of a complex. Either the NAP (the name of the complex) must be specified in the input street name field, or its B7SC or B10SC must be specified in the appropriate input street code field.
28Partial Street name is not valid for free-form address
29Intersection name cannot be used as ‘on’ Street.
41The input street name is valid but this entire street has no addresses
42The input address does not fall within a valid range of addresses for a blockface of the input street.
50The input street name is not valid for the portion of the street where the input house number is located. See Chapter IV.5.
75The input address is a ‘duplicate address’ - i.e., the same address exists at two different locations on the given input street. (Note: this is not a user data error, but an address that is duplicated on this street in reality.) See Chapter V.6.
89Long workarea2 option is invalid for COW format for function 1. It is only valid for MSW for this function
-

Function 1A

-

Description: Function 1A processes an input address or input NAP.  When successfully called using two work areas, it returns information in WA2 about the tax lot and the building (if any) identified by the input address or NAP. See Chapter VI and particularly Chapters VI.6.

-

The information that is returned in WA2 consists of information about the tax lot and the building (if any) identified by the input address or NAP. This information includes the Borough‑Block‑and‑Lot (BBL), which is the Department of Finance’s (DOF) identifier for the tax lot; the DOF building class code; the number of buildings on the lot; the number of street frontages of the lot; a flag indicating whether the lot is a condominium; the Building Identification Number (BIN) (see Chapter VI.3) of the building identified by the input address, if any; and the Business Improvement District (BID) if the property is in such a district. Function 1A can be called with the long WA2 option. The regular WA2 includes a List of Geographic Identifiers (LGI) for the tax lot, including address ranges, BINs and street frontages. The long WA2 includes, instead of the LGI, a List of BINs for all the buildings in the tax lot.

-

Function 1A normally returns information that is updated on a quarterly basis. COW users may request more up-to-date information on new buildings and demolitions using the TPAD Request Switch. The TPAD information will include the status of new building construction and/or demolition. See Chapter VI.11.

-

The regular, long, and extended WA2s for Function 1A are identical to those for Function BL. Function 1A enables the user to retrieve this information by address, while Function BL enables retrieval by BBL.

-

The regular and extended WA2s for Function 1A is identical to that for Function BN. Function 1A enables the user to retrieve this information by address, while Function BN enables retrieval by BIN.

-

Validation: An unconditionally successful outcome of a two-work-area call to Function 1A signifies that a building having the given input address exists. A warning is issued if the input is a pseudo-address (see Chapter VI.5).

-

Input Fields: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 1A Input Fields
FieldValueComments
Function Code‘1A’Required.
Work Area Format Indicator‘C’ = COW format
Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Mode Switch‘X’ = Extended Mode Work Area 2
Blank = normal mode
Optional; COW Only. See Chapter II.7.
Borough Code-1 (or ZIP Code)‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired.
(ZIP Code may be used instead of Borough Code)
House NumberRequired for address input except free-form addresses (see Chapter V.3). Typically not used for NAP input (see Chapter III.6).
Street-1Required.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format,
Blank = sort format
Optional; default (blank) requests sort format. See Chapter III.3.
ZIP CodeOptional; may be used instead of Borough Code, or to identify a DAPS. See Chapter III.6 and Chapter V.6.
Browse Flag (COW Only)‘P’ = primary street name / code
‘F’ = principal street name / code
‘R’ = DCP preferred street name
Blank = input street name / code
Optional; may be used to select output street name / code. Default (blank) requests use of input street name / code. Chapter III.8
Long WA2 Flag‘L’ = Long WA2,
Blank = regular WA2
Optional; default (blank) is regular WA2. See Chapters II.5 and VI.6.
TPAD Request Switch (COW Only)‘Y’ = TPAD information requested
Blank or ‘N’ = TPAD not requested
Optional; may be used to request Transitional PAD information.
See Chapter VI.11
1A/BL Version Switch‘S’ = standard version(MSW or COW)
Blank = standard version; (COW Only)
‘S’ is required for MSW; Optional for COW. See Chapter VI.8.
1A/BL Version Switch‘S’ = standard version,
Blank = standard version; valid only for COW
Required for MSW; Optional for COW. See Chapter VI.8.

-

Selected Function 1A Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GRC Value/ Reason Code ValueMeaning
01/8(Warning) Input address is a pseudo-address.
01/A(Warning) Function 1A has been called with the regular WA2, but the tax lot identified by the input address or NAP has the List of Geographic Identifiers (LGI) overflow condition, and therefore the LGI in WA2 is incomplete. If a complete list of BINs for the tax lot is required, Function 1A may be called with the long WA2 option for the same input data to retrieve the BINs of all buildings on the tax lot.
01/*(Warning) [related to TPAD]See Chapter VI.11.Various messages are returned with this reason code. The Conflict flag is set to correspond to the specific warning message
04An invalid value has been specified for the 1A/BL Version Switch. Must be ‘S’ for standard. See Chapter VI.8.
07The input street was specified as a B5SC (or PB5SC) representing a NAP that is the name of a complex. Five-digit street code input is not permitted for the name of a complex. Either the NAP itself (the name of the complex) must be specified in the input street name field, or its B7SC or B10SC must be specified in the appropriate input street code field.
41The input street name is valid but this entire street has no addresses.
42The input address is not valid (as defined in Chapter V.4).
50The input street name is not valid for the portion of the street where the input house number is located. See Chapter IV.5.
69/BInvalid TPAD Request Switch. Must be Y, N or blank
73Legacy version of Function 1A is discontinued. See Technical Bulletin 05-1.
75The input address is a ‘duplicate address’ - i.e., the same address exists at two different locations on the given input street. (Note: this is not a user input data error, but an address duplication that exists in reality.) See Chapter V.6.
90Invalid value specified for Long WA2 Flag – must be ‘L’ or blank
-

Function 1E

-

Description: Function 1E processes an input address or input NAP. When called using two work areas, it returns the same WA2 information that is returned by Function 1, and additionally, it returns a set of political districts, including Election, State Assembly and Senate, City Council and Congressional Districts. The layouts of WA2 for Functions 1 and 1E are identical, except for the political district fields, which are fillers in Function 1’s WA2.

-

Input Fields: Same as Function 1, except for definition of the Browse Flag. When the Browse Flag is set to ‘R’, the Board of Elections (BOE) preferred street code is returned instead of the DCP preferred street code. See below.

- - - - - - -
Browse Flag (COW Only)‘P’ = primary street name / code
‘F’ = principal street name / code
‘R’ = BOE preferred street name / code
Blank = input street name / code
-Optional; may be used to select output street name / code.
Default (blank) requests use of input street name / code. See Chapter III.8 -
- -

Browse Flag ‘P’ = primary street name / code Optional; may be used to -(COW Only) ‘F’ = principal street name / code select output street name / code. - ‘R’ = BOE preferred street name Default (blank) requests use of - / code input street name / code. See - Blank = input street name / code Chapter III.8

-

Validation: Same as Function 1.

-

Selected Function 1E Geosupport Return Codes:

-

Function 1E’s possible GRC values include all of the ones for Function 1, and also the following:

- - - - - - - - - - - - - - - - - -
GRC Value/ Reason Code ValueMeaning
01/E(Warning) The output address range returned in WA2 is split by an election district boundary. Therefore, the election district value returned in WA2 applies to only a portion of that address range.
56The input address is associated with more than one Election District (ED). Function 1E requires that this address be specified with a house number suffix to identify a portion of the building specific to one ED. See Chapter V.4.
-

Function 1B

-

Description: Function 1B processes an input address or input Non-Addressable Place name (NAP) (see Chapter III.6).  When called using two work areas, Function 1B returns information about the blockface as well as information about the tax lot and the building (if any) identified by the input address or NAP. The information that is returned in WA2 includes the cross streets at the two intersections delimiting the blockface, and a set of geographic district identifiers including ZIP code, census tract and community district. Information about the tax lot and the building (if any) identified by the input address or NAP is also returned. This information includes the Borough‑Block‑and‑Lot (BBL), which is the Department of Finance’s (DOF) identifier for the tax lot; the DOF building class code; the number of buildings on the lot; the number of street frontages of the lot; a flag indicating whether the lot is a condominium; and the Building Identification Number (BIN) (see Chapter VI.3) of the building identified by the input address

-

Function 1B Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 1B Input Fields
FieldValueComments
Function Code‘1B’Required.
Work Area Format Indicator‘C’ = COW format
Borough Code or ZIP Code‘1’=Manhattan‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten Island, or nnnnnRequired.
Street NameRequired.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format, Blank = sort formatOptional; default (blank) requests sort format. See Chapter III.3.
ZIP CodeOptional; may be used instead of Borough Code, or to identify a DAPS. See Chapter III.6 and Chapter V.6.
Browse Flag‘P’ = primary street name / code
-‘F’ = principal street name / code
-‘R’= DCP preferred street name / cod e
-Blank = input street name / code
Optional; may be used to select Output street name / code.
-Default (blank) requests use of Input street name / code.
-See Chapter III.8.
- -

Validation: Same as Function 1 and Function 1A..

-

Selected Geosupport Return Codes: Function 1B’s possible GRC values include all of the ones for Function 1, Function 1E, Function 1A, and also the following:

- - - - - - - - - - - - - -
GRC Value / Reason Code ValueMeaning
??/1 (MSW Only)INVALID FUNCTION CODE – AVAILABLE IN COW FORMAT ONLY
-

Function 1N

-

Description: Function 1N is used to normalize a street name and obtain its street code.  Functions 1, 1A and 1E can do this also, but those functions require an input house number. The purpose of Function 1N is to provide a way to process a street name alone, without a house number. Note that since the input to Function 1N is not a specific location along a street, Function 1N does not perform local street name validation.

-

Function 1N does not have a Work Area 2, and can only be called using one work area. See Chapter III.1.

-

Function 1N Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 1N Input Fields
FieldValueComments
Function Code‘1N’Required
Work Area Format IndicatorC’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12
Borough Code-11’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired
Street Name-1Required. (Note: Street code input is not permitted for Function 1N.)
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format,
-Blank = sort format
Optional; default (blank) requests sort format. See Chapter III.3.
Browse Flag (COW Only)‘P’ = primary street name / code
-‘F’ = principal street name / code
-Blank = input street name / code
‘P’ = primary street name / code
-‘F’ = principal street name / code
-Blank = input street name / code
- -

Selected Geosupport Return Codes: All are self-explanatory.

-

Function 2 (and 2W)

-

Description: Function 2 processes an input intersection specified either in terms of an intersection name, or in terms of two streets (and, when necessary, a compass direction), or in terms of a node ID.  If two input streets intersect exactly once, the user should not specify an input compass direction. If the two input streets intersect at two distinct locations, a compass direction must be specified; it serves to identify which of the two intersections the user wishes Geosupport to process. Geosupport has the ability to process a pair of input streets that intersect more than twice, only if the user can identify the intersection by its node ID. If the user does not know the node ID, the user may issue Function 2W to find the node ID. Function 2W is basically identical to Function 2 except when streets intersect more than twice, Function 2W will reject the call and return a Work Area 2 that includes the node IDs and street codes/street names for all the intersections at the various nodes. Function 2 and Function 2W are discussed in detail in Chapter VII.2.

-

When successfully called using two work areas, Function 2 returns information about the input intersection in WA2.  If there are more than two streets at an intersection, Function 2 accepts any pair of those streets as user input for that intersection. An intersection that lies on a borough boundary can be specified in terms of one street from each borough, by using the WA1 input field Borough Code 2, as described in Chapter VII.7.

-

The information that Function 2 returns in WA2 includes a list of street codes for all streets at the intersection (including the input streets), spatial coordinates for the intersection, and a set of geographic area identifiers including community district, census tract, police precinct and others. If the intersection lies on the boundary of two or more areas of a given type, the information for one of those areas is returned..

-

In COW format only, Function 2 also returns political geography and CD Eligibility.

-

Validation: A successful outcome of a two-work-area Function 2 call signifies that the two input streets intersect exactly once (if no input compass direction was specified) or exactly twice (if a compass direction was specified).  In the double-intersection case, a successful outcome also signifies that the input compass direction is a valid designation of one of the two intersections.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 2 (and 2W) Input Fields
FieldValueComments
Function Code‘2 ’ (‘2’ followed by a blank)
-‘2W’
Required.
Work Area Format IndicatorC’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Borough Code-1‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired (unless Node Number is used as input). Specifies borough of Street Name 1.
Street-1Required () (unless Node Number is used as input). Specifies either of the two streets defining the intersection.
Borough Code-2See Borough Code-1)Optional unless Street Name 2 is in a different borough from Street Name 1; default is value in Borough Code-1.
Street-2Required () (unless Node Number is used as input). Specifies the other street defining the intersection
Compass Direction‘N’, ‘S’, ‘E’ or ‘W’Required only when the two input streets intersect twice, in which case it designates which intersection to process
Node NumberSeven-digit numberRequired when streets intersect more than twice. -Optional at other nodes. May be used instead of borough and street names.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2](/chapters/chapterIII/section02/).
Street Name Normalization Format Flag‘C’ = compact format,
-Blank = sort format
Optional; default (blank) requests sort format. See Chapter III.3.
Cross Street Names FlagE’ = return names
-Blank = do not return names
Optional.
Browse Flag
-(COW Only)
P’ = primary street names / codes
-F’ = principal street names / codes
-R’ = DCP preferred street names/Codes
-Blank = input street names / codes
Optional; may be used to select output street names / codes. -Default (blank) requests use of input street names / codes. See Chapter III.8
- -

() Note: If either Street 1 or Street 2 contains an intersection name, then the other input street field may either be left blank or it may contain any street that exists at the given intersection.

-

Selected Function 2 (and 2W) Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Function 2 (and 2W) Geosupport Return Codes
GRC Value/ Reason Code ValueMeaning
01/H(Warning) The two input streets intersect only once, but a non-blank input compass direction value has been supplied. The compass direction is superfluous and is ignored. A full complement of output data is returned in the work areas.
01/N(Warning) Both a node ID and street names or street codes were specified as input. The node ID will be used; the street names/codes will be ignored.
01/T(Warning) The input street name is ignored if an intersection name is specified along with a street name that is part of the intersection.
02The two input streets intersect twice, but no input compass direction has been supplied. The distance between the two intersections is included in the message. A valid input compass direction value is required for these input streets.
03/blank(Reject) MSW - The two input streets intersect more than twice. MSW Function 2 calls cannot process such intersections. The Reason Code value is blank. The message suggests that the user use a COW function call.
03/A(Reject) COW - The two input streets intersect more than twice. Function 2 calls cannot process such intersections. The message suggests that the user issue a Function 2W call to find related nodes.
03/B(Reject) COW – Function 2W only - The two input streets intersect more than twice. Function 2W returns node IDs and street codes. The message suggests that the user use a node ID as input.
12The input information was in the form of an intersection name or a street code of an intersection name. Geosupport recognizes this name or code as valid, but does not yet have this name or code associated with a specific intersection.
30An input intersection name was specified along with an input street name, but the input street is not part of the intersection
32(Reject) An invalid node ID was specified as input. It was non-numeric or had embedded blanks..
33(Reject) A node ID was specified as input, but no intersection was found with that node ID.
39The input compass direction field contains an invalid value, that is, a non-blank value other than ‘N’, ‘S’, ‘E’ or ‘W’.
40The two input streets intersect twice, but the input compass direction value supplied is an invalid descriptor for either of those intersections. If the value supplied is ‘E’ or ‘W’, it is invalid because the two intersections are situated approximately due north-south of each other; if the value supplied is ‘N’ or ‘S’, it is invalid because the two intersections are situated approximately due east-west of each other.
50An input street name is not valid for the portion of the street where the input intersection is located. See Chapter IV.5.
62The two input streets do not intersect.
- -

Function 3

-

Description: Function 3 processes street segments and closely related three-street configurations. A street segment is a part of a street (called the ‘on' street) between two consecutive cross streets.  For example, Madison Avenue (in Manhattan) between East 51st Street and East 52nd Street is a street segment.  Madison Avenue between East 51st Street and East 53rd Street is not a street segment, because there is an intervening street, East 52nd Street, between the given cross streets. An exception to the requirement that the input cross streets be consecutive along the ‘on’ street is the case of a T‑intersection: Function 3 accepts as input a street configuration that defines the long blockface of a T‑intersection.  (For precise definitions of the terms ‘three-street configuration’, ‘street segment’, and ‘T-intersection’, see Chapter VII.3.) A street segment intersecting with or lying on a borough boundary can be specified in terms of streets from both boroughs, by using the WA1 input fields Borough Code 2 and Borough Code 3, as described in Chapter VII.7.

-

The information returned by a successful two‑work‑area Function 3 call includes two lists of street codes for all cross streets at the two intersections defined by the input streets;  and geographic area codes for the left and right sides of the street, such as the left and right community districts, ZIP codes, census tracts, etc.  ‘Left’ and ‘right’ are defined relative to the ‘on’ street’s ‘logical direction’, which in general is the direction of increasing address. The WA2 information also includes two items called the Segment Azimuth and the Segment Orientation that indicate how the street segment is oriented with respect to the points of the compass.  Applications can use either of these items to determine compass direction descriptors for the left and right sides of the street.  Another WA2 item, the Cross Street Reversal Flag, can be used to determine left and right relative to the order in which the input cross streets were specified.

-

In COW format, Function 3 also returns the FROM and TO node IDs. 

-

In COW Extended format, Function 3 also returns Latitude and Longitude. 

-

Function 3 in MSW format has the Long Work Area 2 Option (see Chapter II.5).

-

Function 3 in COW format has the Auxiliary Segment Option (see Chapter II.6).

-

For a detailed discussion of Function 3, see Chapter VII.4.

-

Validation: A successful outcome of a two-work-area call to Function 3 signifies that the input -‘on’ street and two cross streets define a valid street segment or long blockface of a T-intersection.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 3 Input Fields
FieldValueComments
Function Code‘3 ’ (‘3’ followed by a blank)Required.
Work Area Format Indicator‘C’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Mode Switch‘X’ = Extended Mode Work Area 2
-Blank = normal mode
Optional; COW Only. See Chapter II.7.
Borough Code-1‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired. Specifies borough of Street Name-1.
Street-1Required. Specifies ‘on’ street
Borough Code-2(See Borough Code-1)Optional unless borough of Street Name-2 differs from that of Street Name-1. Specifies borough of Street Name-2. Default is Borough Code-1 value.
Street-2Required. Specifies either cross street.
Borough Code-3(See Borough Code-1)Optional unless borough of Street Name-3 differs from that of Street Name-1. Specifies borough of Street Name-3. Default is Borough Code-1 value.
Street-3Required. Specifies other cross street.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format, Blank = sort formatOptional; default (blank) requests sort format. See Chapter III.3.
Cross Street Names Flag‘E’ = return names
-Blank = do not return names
Optional
Long WA2 Flag
(MSW only)
‘L’ = Long WA2, Blank = regular WA2Optional; default (blank) is regular WA2. See Chapter II.5.
Auxiliary Segment Switch
-(COW only)
‘Y’ = return all segment IDs
-‘N’ or Blank = regular WA2
Optional; default (blank) is regular WA2. See Chapter II.6
Browse Flag
-(COW Only)
‘P’ = primary street names / codes
-‘F’ = principal street names / codes
-‘R’ = DCP preferred street names / codes
-Blank = input street names / codes
Optional; may be used to select output street names / codes. Default (blank) requests use of input street names / codes. See Chapter III.8
- -

Selected Function 3 Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Function 3 Geosupport Return Codes:
GRC Value/ Reason Code ValueMeaning
01/L or R(Warning) The input ’on’ street lies on a borough boundary. The side of street indicated by the Reason Code value is outside of the input borough; no information is returned in WA2 for that side of the street if it is in Nassau or Westchester.
01/QThese streets involve a dogleg, Shortest Stretch provided. (See Chapter VII.2)
45Although each of the three input street names was individually recognized, collectively they do not define a valid street segment nor the long blockface of a T‑intersection.
46The geographic location specified by the combination of three input streets is ambiguous, i.e., it defines more than one valid segment or T‑intersection blockface. Geosupport cannot process this input.
50An input street name is not valid for the portion of the street where the input street segment is located. See Chapter IV.5.
55At least one of the input streets is a Non-Addressable Place Name (NAP). NAPs are not allowed as input streets for this function
69/AInvalid value specified for Auxiliary Segment Switch. Auxiliary Segment Switch must be ‘Y’ or ‘N’ or blank.
89Long WA2 option is not valid for this function in COW format.
90Invalid value specified for Long WA2 Flag - must be ‘L’ or blank.
- -

Function 3C

-

Description: Function 3C processes blockfaces specified in terms of an input ‘on’ street, two cross streets and a compass direction designating the side of the street, such as ‘the west side of Madison Avenue between East 53rd Street and East 54th Street’.  A blockface intersecting with or lying on a borough boundary can be specified in terms of streets from both boroughs, by using the WA1 input fields Borough Code 2 and Borough Code 3, as described in Chapter VII.7.

-

When called using two work areas, function 3C returns blockface related information in WA2.  This information is a subset of the set of items returned in WA2 by Function 3, consisting of those items that are related to the specified side of the street. 

-

Function 3C in COW format has the Auxiliary Segment Option (see Chapter II.6).

-

Function 3C is discussed in detail in Chapter VII.5.

-

Validation: A successful outcome of a two-work-area call to Function 3C signifies that the input ‘on’ street and two cross streets define a valid street segment or long blockface of a T-intersection, and that the input compass direction is a valid designation of a side of this segment. The validity of an input compass direction is determined by the spatial orientation of the segment.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 3C Input Fields
FieldValueComments
Function Code‘3C’Required.
Work Area Format Indicator‘C’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Mode Switch‘X’ = Extended Mode Work Area 2
-Blank = normal mode
Optional; COW Only. See Chapter II.7.
Borough Code-1‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired. Specifies borough of Street Name-1.
Street-1Required. Specifies ‘on’ street
Borough Code-2(See Borough Code-1)Optional unless borough of Street Name-2 differs from that of Street Name-1. Specifies borough of Street Name-2. Default is Borough Code-1 value.
Street-2Required. Specifies either cross street.
Borough Code-3(See Borough Code-1)Optional unless borough of Street Name-3 differs from that of Street Name-1. Specifies borough of Street Name-3. Default is Borough Code-1 value.
Street-3Required. Specifies other cross street.
Compass Direction‘N’, ‘S’, ‘E’ or ‘W’Required. Specifies side of street of blockface (relative to street’s ‘logical direction’ - see Chapter VII.3).
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format, Blank = sort formatOptional; default (blank) requests sort format. See Chapter III.3.
Cross Street Names Flag‘E’ = return names
-Blank = do not return names
Optional
Long WA2 Flag
-(MSW only)
‘L’ = Long WA2, Blank = regular WA2Optional; default (blank) is regular WA2. See Chapter II.5.
Auxiliary Segment Switch
-(COW only)
‘Y’ = return all segment IDs
-‘N’ or Blank = regular WA2
Optional; default (blank) is regular WA2. See Chapter II.6
Browse Flag
-(COW Only)
‘P’ = primary street names / codes
-‘F’ = principal street names / codes
-‘R’= DCP preferred street names / codes
-Blank= input street names / codes
Optional; may be used to select output street names / codes. Default (blank) requests use of input street names / codes. See Chapter III.8
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC ValueMeaning
09The blockface on the side of street specified by the compass direction does not exist in the borough specified for the ‘on’ street.
39The input compass direction field contains a non-blank value other than ‘N’, ‘S’, ‘E’ or ‘W’
40The input compass direction value is invalid as a descriptor of a side of the input street segment, because it is incompatible with the segment’s spatial orientation.  This condition arises if the segment is oriented approximately east-west and the input compass direction value is specified as ‘E’ or ‘W’ (because a street segment oriented approximately east-west has no east and west sides), or the segment is oriented approximately north-south and the input compass direction value is ‘N’ or ‘S’
44Although each of the three input street names was individually recognized, collectively they do not define a valid blockface.
46The combination of these three input streets is ambiguous, i.e., it defines more than one valid blockface. Function 3C cannot process such input.
50An input street name is not valid for the portion of the street where the input blockface is located. See Chapter IV.5.
69/AInvalid value specified for Auxiliary Segment Switch. Auxiliary Segment Switch must be ‘Y’ or ‘N’ or blank.
- -

Function 3S

-

Description: Function 3S processes input street stretches. A street stretch is a portion of a street between any two cross streets.  If an input cross street intersects with the ‘on’ street twice, an input compass direction is required to identify which of the two intersections is intended. If the user application does not specify input cross streets, Function 3S returns information about the full length of the ‘on’ street.  Note that, in a Function 3S call, the input cross streets need not be consecutive along the ‘on’ street.

-

When successfully called using two work areas, Function 3S returns, in WA2, a list of all intersections in sequence along the ‘on’ street between (and including) the two intersections defined by the input ‘on’ and two cross streets, if any.  If the user has not specified input cross streets, the list contains all intersections in sequence from the beginning to the end of the ‘on’ street.  The sequence in which the intersections are listed accords with the direction of increasing addresses along the ‘on’ street.  Each intersection in the list is specified as a pair of street codes for two of the streets at that intersection. One of the street codes listed for an intersection may or not be the street code of the ‘on’ street. 

-

In a COW function 3S call, if the user requests Real Street Only output, only real street intersections are returned; Bends and Non-Street Features are not included in the list of intersections.

-

For each entry in the WA2 list of intersections of the street stretch, there are fields for a distance and a gap flag.  The distance is the approximate distance in feet between the given intersection and its predecessor in the list; the gap flag indicates whether the intersection and its predecessor are connected by the ‘on’ street. The gap flag also indicates the nature of the gap.  The first entry within a list will always have a zero in the distance field and a blank in the gap flag.

-

Function 3S is discussed in detail in Chapter VII.6.

-

Validation: A successful outcome of a two-work-area call to Function 3S using input cross streets signifies that each of the input cross streets intersects the input ‘on’ street.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function 3S Input Fields
FieldValueComments
Function Code‘3S’Required.
Work Area Format Indicator‘C’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12
Borough Code-1‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired. Specifies borough of Street-1.
Street-1Required. Specifies ‘on’ street.
Street-2Optional. Specifies either cross street.
Compass Direction for First Intersection‘N’, ‘S’, ‘E’ or ‘W’Required if Street-2 intersects Street-1 (‘on’-street) twice. Identifies which of the two intersections is intended.
Street-3Optional. Specifies other cross street. Must be specified if Street-2 is specified. If Street-2 and Street-3 are not specified, data for full length of street are returned in WA2.
Compass Direction for Second Intersection‘N’, ‘S’, ‘E’ or ‘W’Required if Street-3 intersects Street-1 (‘on’-street) twice. Identifies which of the two intersections is intended.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format, Blank = sort formatOptional; default (blank) requests sort format. See Chapter III.3.
Real Street Only Flag
(COW Only)
‘R’ = real streets only
-Blank = all streets
Optional; default (blank) requests all streets. See Chapter VII.6].
Roadbed Request SwitchR’ = Roadbed info requested
-Blank = Generic info requested
Optional; default (blank) requests generic information See Chapter VII.6
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Geosupport Return Codes
ValueMeaning
01/H(Warning) The input ‘on’ street intersects only once with one of the input cross streets, but a non-blank input compass direction value has been supplied for that intersection. That compass direction is superfluous and is ignored. A full complement of output data is returned in the work areas.
05A value was supplied in at least one of the input borough code fields other than Borough Code 1. All Function 3S input streets are required to be from the same borough, which must be supplied in the WA1 field Borough Code 1; Borough Code 2 and Borough Code 3 must be blank.
14The three input streets do not define a street stretch, because the ‘from’ and ‘to’ input intersections are identical.
38The input ‘on’ street and an input cross street intersect twice, but the input compass direction value supplied is an invalid descriptor for either of those intersections. If the value supplied is ‘E’ or ‘W’, it is invalid because the two intersections are situated approximately due north-south of each other; if the value supplied is ‘N’ or ‘S’, it is invalid because the two intersections are situated approximately due east-west of each other.
39An input compass direction field contains an invalid value, that is, a non-blank value other than ‘N’, ‘S’, ‘E’ or ‘W’.
55At least one of the input streets is a Non-Addressable Place Name (NAP). NAPs are not allowed as input streets for this function.
61Geosupport has no street stretch data for this ‘on’ street. (This condition should never occur for a normal input street. It occurs if the input ‘on’ street is a pseudo-street name (such as DEAD END) or another type of geographic feature that Geosupport recognizes but that Function 3S cannot process as an input ‘on’ street.)
62The input ‘on’ street does not intersect with one of the input cross streets.
66The input ‘on’ street intersects with one of the input cross streets more than twice. Function 3S cannot be used to process this combination of input data. (However, Function 3S could be called for this ‘on’ street with no cross streets specified. That call would return data for the full length of the street, including the intersections in question.)
68The input ‘on’ street intersects with one of the input cross streets twice. An input compass direction value must be supplied to identify which of the two intersections is intended.
96The functionality to support part of a roadbed street stretch is under construction
- -

Function AP

-

Description: Function AP processes an input address.  When successfully called using two work areas, it returns information in WA2 about the CSCL Address Point identified by the input address. See Chapter VI and particularly Chapter VI.10. Function AP and its data are currently available to Geosupport users.

-

The information that is returned in WA2 consists of information about the address point and the tax lot and the building (if any) identified by the input address. This information includes the CSCL Address Point ID, the spatial coordinates of the Address Point, the Building Identification Number (BIN) and the Borough‑Block‑and‑Lot (BBL), which is the Department of Finance’s (DOF) identifier for the tax lot. By geocoding to a CSCL Address Point, the user application will presumably geocode to a ‘real’ posted address – not an address that might be part of an administrative range.

-

Function AP is also available in an Extended Mode. It includes that Principal Street Name in WA2. See the Function AP work area layouts in Appendix 13.

-

Validation: An unconditionally successful outcome of a two-work-area call to Function AP signifies that a building having the given input address exists.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function AP Input Fields
FieldValueComments
Function Code‘AP’Required.
Work Area Format Indicator‘C’ = COW formatRequired. AP is a COW only function
Mode Switch‘X’ = Extended Mode Work Area 2
-Blank = normal mode
Optional
Borough Code-1
- (or ZIP Code)
‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired.
-(ZIP Code may be used instead of Borough Code)
House NumberRequired for address input except free-form addresses (see Chapter V.3).
Street-1Required.
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format,
-Blank = sort format
Optional; default (blank)
-requests sort format. See Chapter III.3.
ZIP CodeOptional; may be used instead of Borough Code, or to identify a DAPS. See Chapter III.6 and Chapter V.6.
Browse Flag
-(COW Only)
‘P’ = primary street name / code
-‘F’ = principal street name / code
-‘R’ = DCP preferred street name
-Blank = input street name / code
Optional; may be used to select output street name / code.
-Default (blank) requests use of input street name / code. Chapter III.8
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC Value/ Reason Code ValueMeaning
42The input address is not valid (as defined in Chapter V.4 .
50The input street name is not valid for the portion of the street where the input house number is located. See Chapter IV.5.
75The input address is a ‘duplicate address’ - i.e., the same address exists at two different locations on the given input street. (Note: this is not a user input data error, but an address duplication that exists in reality.) See Chapter V.6.
- -

Functions BB and BF

-

Description: Function BB ("browse backward") and BF ("browse forward") enable applications to develop street name browse capability, in order to assist user data entry staff to determine valid spellings of street names that have been rejected.  Functions BB and BF can only be called using one work area.

-

A sequence of repeated calls to Functions BB and/or BF will browse backwards and/or forwards in alphabetical order through the set of all valid normalized street names in a given borough. When issuing a COW Function BB or BF call, the user may request that only Primary or Principal street names be returned. This is done by setting the Browse Flag to ‘P’ or ‘F’ respectively. 

-

Each call to one of these functions returns up to ten such names in alphabetical order (or fewer, if there are not ten names remaining in the given borough in the given browse direction).  The names are returned in the WA1 field List of Street Names. The number of street names returned in the list is returned in the WA1 field Number of Street Names in List. For COWs, corresponding B7SCs are also returned.

-

To start a browse sequence, the user application calls either of the browse functions , passing a borough code and character string in the WA1 input fields called Borough Code 1 and Street Name 1, respectively.  The input character string can be from one to 32 bytes long.  When the last set of ten or fewer names in the given borough is reached, a warning is issued.

-

For a detailed discussion of Functions BB and BF, see Chapter III.7.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Functions BB / BF Input Fields
FieldValueComments
Function Code‘BB’ or ‘BF’Required.
Work Area Format Indicator‘C’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12
Borough Code-1‘1’=Manhattan, ‘2’=Bronx, ‘3’=Brooklyn, ‘4’=Queens, ‘5’=Staten IslandRequired.
Street Name-1Any character stringRequired.
Browse Flag
-(COW Only)
‘P’ = primary street names’
-‘F’ = principal street names
-Blank = all street names
Optional; default (blank) See Chapter III.7.
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC Value / Reason Code ValueMeaning
01/4(Warning) The last street name has been reached in the specified input borough in the given browse direction. It is possible that fewer than ten street names have been returned in WA1
97The input street name is alphabetically beyond the last street name in the specified input borough.
- -

Function BL

-

Description: Function BL processes a parcel of real property, or tax lot, specified in terms of a standard Department of Finance set of tax lot identifiers, consisting of a combination of a borough code, a tax block number and a tax lot number, collectively called the BBL. When successfully called using two work areas, Function BL returns information about the tax lot in WA2. The WA2 layouts for Function BL are identical to those for Function 1A. Function 1A enables the user to retrieve this information by address, while Function BL enables retrieval by BBL.

-

For a detailed discussion of Function BL, see Chapter VI and particularly Chapter VI.7.

-

Validation: A successful outcome of a two-work-area call to Function BL signifies that the input BBL is valid.

-

Function BL Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function BL Input Fields
FieldValueComments
Function Code‘BL’Required.
Work Area Format Indicator‘C’ = COW format Blank = MSW formatOptional; default (blank) requests MSW format. See Appendix 12
Mode Switch‘X’ = Extended Mode Work Area 2
-Blank = normal mode
Optional; COW Only. See Chapter II.7.
Borough-Block-Lot (BBL)Required.
Long WA2 Flag‘L’ = Long
-Blank = regular WA2
Optional default (blank) is regular WA2. See Chapter II.5.
TPAD Request Switch
-(COW Only)
‘Y’ = TPAD information requested
-Blank or ‘N’ = TPAD not requested
Optional; may be used to request Transitional PAD information. See Chapter VI.11
1A/BL Version Switch‘S’ = standard version,
-Blank = standard version; valid only for COW
Required for MSW; optional for COW. See Chapter VI.8.
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC Value / Reason Code ValueMeaning
01/A(Warning) Function BL has been called with the regular WA2, but the input tax lot has the List of Geographic Identifiers (LGI) overflow condition, and therefore the LGI in WA2 is incomplete. If a complete list of BINs for the tax lot is required, Function BL may be called with the long WA2 option for the same input data to retrieve the BINs of all buildings on the tax lot.
04An invalid value has been specified for the 1A/BL Version Switch. See Chapter VI.8.
01/* (Warning) [related to TPAD]See Chapter VI.11 and Appendix 4.Various messages are returned with this reason code. The Conflict flag is set to correspond the specific warning message.
69/BInvalid TPAD Request Switch. Must be Y, N or blank
73Legacy version of Function BL is discontinued. See Technical Bulletin 05-1.
90Invalid value specified for Long WA2 Flag - must be ‘L’ or blank.
- -

Function BN

-

Description: Function BN processes a building specified by an input Building Identification Number (BIN).  For a discussion of BINs, see Chapter VI.3.

-

A successful Function BN call using two work areas returns information about the building in WA2.  This includes the building's borough‑tax block‑tax lot (BBL); a list of geographic identifiers associated with the building (in contrast to Functions 1A and BL, which return geographic identifiers for the entire tax lot, subject to the list’s space limitation); a building status flag and date [not implemented]; and a condominium flag.  Condominiums have unique characteristics discussed in Chapter VI.4.

-

Function BN is discussed in detail in Chapter VI and particularly in Chapter VI.9.

-

Validation: A successful outcome of a two-work-area call to Function BN signifies that the input BIN is valid.

-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Input Fields
FieldValueComments
Function Code‘BN’Required
Work Area Format IndicatorC’ = COW format
-Blank = MSW format
Optional; default (blank) requests MSW format. See Appendix 12.
Mode Switch‘X’ = Extended Mode Work Area 2
-Blank = normal mode
Optional; COW Only. See Chapter II.7.
BINRequired
- -

Selected Geosupport Return Codes: - - - - - - - - - - - - - - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC Value / Reason Code ValueMeaning
01/F(Warning) The input BIN (contains a 9 in the 2nd digit after the borough code) is a temporary BIN assigned by GSS to a multi-building tax lot, the individual buildings of which have not yet been assigned permanent BINs. The temporary BIN will be replaced in the future
20No input BIN value was specified.
21The input BIN is not valid
22The input BIN has an invalid format: either it contains non-numeric characters, or its first digit is not a valid borough code (the digits 1 through 5), or the digits beyond the first digit are all zeros.
23The input BIN is a ‘dummy’ BIN (contains an 8 in the 2nd digit after the borough code) assigned by the NYC Department of Buildings. It exists only in DOB files and is not valid in Geosupport.

-

Functions D, DG and DN

-

Description: Functions D, DG and DN are the ‘display’ functions.  They do not actually display anything themselves, but can be used to obtain data items that applications can use to format geographic locations for display on reports, screens, mailing labels etc.

-

The display functions do not have a WA2 and can only be called using one work area. Each of them can process any combination of up to two input House Numbers in Internal format (HNI) for MSWs or up to two input House Numbers in Sort format (HNS) for COWs and up to three input street codes.  For each successfully processed input HNI/HNS, the corresponding House Number in Display format (HND) is returned in WA1. (House number processing by the display functions is discussed in detail in Chapter V.2.) For each successfully processed input street code, a corresponding street name is returned in WA1. (Street code processing by the display functions is discussed in Chapter IV.6.) For each unsuccessfully processed input street code, the corresponding output field is returned containing all question marks. If one input HNI/HNS is supplied, it may be passed in either input HNI/HNS field. Input street codes may not ‘skip’ any input street code fields.

-

The display functions process each input item independently of the others, and the input data are not treated as collectively forming a geographic location. In particular, a successful call to a display function does not imply the validation of a geographic location. For example, if there is an input house number and an input street code, these are not treated or validated as forming an address, but are independently processed for conversion to display format.  If the input consists of two street codes, these are not treated or validated as forming an intersection, etc.

-

Functions D, DG and DN differ in the type of street code each processes and in the street name each returns:

-
    -
  • -

    Function D processes input borough-code-and-five-digit street codes, specified either in the form of B5SCs or PB5SCs (MSW only). Input B5SCs are passed left-justified and space-filled in the corresponding WA1 input B10SC fields. Input PB5SCs are passed in the corresponding MSW WA1 input PB5SC fields.  For each successfully processed input B5SC or PB5SC (MSW only), Function D returns the corresponding ‘primary’ name for the street ( a name from among all of the street’s aliases that GSS has designated as ‘best’ representing the street as a whole).

    -
  • -
  • -

    Function DG processes input borough-code-and-seven-digit street codes (B7SCs).  Input B7SCs are passed left-justified and space-filled in the corresponding WA1 input B10SC fields.  For each input B7SC, Function DG returns a street name that GSS has designated as the ‘principal’ street name of the local group of names represented by the given B7SC.  Function DG can be used in conjunction with a geographic location-processing function to obtain the ‘preferred street name’ customized for a particular geographic location. (For a discussion of seven-digit street codes and local groups, see Chapter IV.5.)

    -
  • -
  • -

    Function DN processes input borough-code-and-ten-digit street codes (B10SCs).  For each input B10SC, Function DN returns the unique street name spelling corresponding to it.

    -
  • -
-

Input Fields:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Input Fields
FieldValueComments
Function Code‘D ’ (D followed by a blank) or
-‘DG’ or
-‘DN’
Required.
Work Area Format Indicator‘C’ = COW format
-Blank = MSW format
Optional; default (blank)
- requests MSW format. See Appendix 12
HNI-1 or HNS-1Optional.
HNI-2 or HNS-2Optional.
PB5SC-1 (MSW)Function D only; optional unless PB5SC-2 is nonblank.
PB5SC-2 (MSW)Function D only; optional unless PB5SC-3 is nonblank.
PB5SC-3 (MSW)Function D only; optional.
B10SC-1
-(or B5SC-1)
-(or B7SC-1)
Optional unless B10SC-2 is nonblank.
-(B5SC-1, B7SC-1are left-justified, space-filled in B10SC-1)
B10SC-2
-(or B5SC-2)
-(or B7SC-2)
Optional unless B10SC-3 is nonblank. (B5SC-2, B7SC-2 are left-justified, space-filled in B10SC-2)
B10SC-3
-(or B5SC-3)
-(or B7SC-3)
Optional.
-(B5SC-3, B7SC-3 are left- justified, space-filled in B10SC-3)
SNLA number between 4 and 32Optional; default is 32. See Chapter III.2.
Street Name Normalization Format Flag‘C’ = compact format,
-Blank = sort format
Optional; default (blank) requests sort format. See Chapter III.3.
- -

Selected Geosupport Return Codes:

- - - - - - - - - - - - - - -
Selected Geosupport Return Codes
GRC / Reason Code ValueMeaning
13At least one input HNI/HNS has a format error. There are many possible house number format errors. The specific format error is indicated by the Reason Code and Message. Output HND fields corresponding to unsuccessfully processed input HNI/HNSs are returned containing all blanks.
64At least one input street code is invalid. Output street name fields corresponding to invalid input street code fields are returned containing all ‘?’.
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix02/index.html b/site/appendices/appendix02/index.html deleted file mode 100644 index 8910e9fb..00000000 --- a/site/appendices/appendix02/index.html +++ /dev/null @@ -1,3779 +0,0 @@ - - - - - - - - - - - - Appendix 2: Mainframe-Specific Work Area Layouts(MSW) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 2: Mainframe-Specific Work Area Layouts(MSW)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

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

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

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 functions884
Regular WA2, Function 1200
Long WA2, Function 1300
Regular WA2, Functions 1A, BL, BN939
Long WA2, Functions 1A and BL17,683
Regular WA2, Function 1E200
Long WA2, Function 1E300
WA2, Function 2200
Regular WA2, Function 3200
Long WA2, Function 3300
WA2, Function 3C200
WA2, Function 3S4,224
-

Work Area 1 (MSW) - All Functions

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-

- - - - -

-

- - - - -

-

- - - - -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositionFunctions
INPUT FIELDS:
Geosupport Function Code21-2All
Borough Code-11313All but BL, BN, D*
House Number124-151, 1A, 1E
House Nr. in Internal Format (HNI)616-211, 1A, 1E, D
Street Name-13222-53All but BL, BN, D*
Street Name-23254‑852, 3*
Street Name-33286-1173*
Compass Direction11182, 3C, 3S
Compass Direction for 2nd Intersection11193S
PB5SC-14120‑1231, 1A, 1E, 2, 3, D
PB5SC-24124-1272, 3, D
PB5SC-34128-1313, D
Roadbed Request Switch11321, 1E, 3S
Borough Code-211332, 3, 3C
Borough Code-311343, 3C
Street Name Normalization2135‑136All but B
Length Limit (SNL)
B10SC-1 (includes B5SC-1 and B7SC-1)11137-1471, 1A, 1E, 2, 3*, D*
B10SC-2 (includes B5SC-2 and B7SC-2)11148-1582, 3*, D*
B10SC-3 (includes B5SC-3 and B7SC-3)11159‑1693*, D*
ZIP Code5170‑1741, 1A, 1E
Borough‑Block‑and‑Lot (BBL):10175‑184
Borough1175BL
Tax Block5176-180BL
Tax Lot4181-184BL
Filler1185
Building Identification Number (BIN)7186‑192BN
Street Name Normalization Format Flag1193All but B*
Long Work Area 2 Flag11941, 1A, 1E, 3, BL
Filler - Reserved for Geosupport Use12195-206
HNI-26207-212D*
Work Area Format Indicator1213All
1ABL Version Switch12141A, BL
Cross Street Names Flag12151, 1E, 2, 3, 3C
Filler4216-219

-


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Work Area 1 (MSW) - All Functions
FieldSizePositionFunctions
OUTPUT FIELDS:
HND-212220-231D\*
Borough Name 9232‑240All but D*
Street Name-1Normalized32241‑272All but B\*
Street Name-2Normalized32273‑3042, 3\*, D\*
Street Name-3Normalized32305‑3363\*, D\*
HND12337‑3481, 1A, 1E, D\*
HNI6349‑3541, 1A, 1E
Filler7355‑361
PB5SC-14362‑3651\*, 2, 3\*, D\*
Filler2366‑367
PB5SC-24368‑3712, 3\*, D\*
Filler2372‑373
PB5SC-34374‑3773\*, D\*
Attribute Bytes3378‑380
Up to ten PB5SCs40381‑420BB, BF
B10SC-111421‑4311\*, 2, 3\*, D\*
B10SC-211432‑4422, 3\*, D\*
B10SC-311443‑4533\*, D\*
Filler5454‑458
BBL Normalized10459‑468BL
Reserved8469-476
Street Attribute Indicator14771\*
Reason Code1478All
Filler - Reserved for Geosupport Use2479‑480
Geosupport Return Code2481‑482All
Geosupport Message80483‑562All
Number of Street Names in List (packed)2563‑5641*, 2, 3*, BB, BF
List of Street Names: (10 Street Name Fields, 32 Bytes Each)320565‑8841*, 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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePosition
Filler221-22
Low House Number of Blockface623-28
High House Number of Blockface629-34
Alley/Cross Streets Flag135
Number of Cross Streets at Low Address End136
List of Cross Streets at Low Address End (up to 5 PB5SCs)2037-56
Number of Cross Streets at High Address End157
List of Cross Streets at High Address End (up to 5 PB5SCs)2058-77
Community District:378-80
Community District Borough Code178
Community District Number279-80
ZIP Code581-85
DOT Street Light Contractor Area186
Health Center District287-88
Side of Street Indicator189
Continuous Parity Indicator190
2010 Census Tract691-96
2010 Census Block497-100
2010 Census Block Suffix (Not Implemented)1101-101
Filler1102-102
Filler2103-104
Health Area4105-108
Sanitation Recycling Collection Schedule3109-111
Feature Type Code1112
Interim Assistance Eligibility Indicator (IAEI)1113
Curve Flag1114
Police Patrol Borough Command1115
Police Precinct3116-118
School District2119-120
Filler to Preserve Layout Consistency with WA2 for Function 1E14121-134
Coincident Segment Count1135
Segment Type Code1136
Sanitation District3137-139
Sanitation Collection Scheduling Section and Subsection2140-141
Fire Division2142-143
Fire Battalion2144-145
Fire Company Type 1146
Fire Company Number3147-149
Special Address Generated Record Flag1150
Reserved for Internal Geosupport Use1151
Filler (was Split Community School District Flag)1152
DCP-Preferred LGC2153-154
Face Code4155-158
Sequence Number5159-163
1990 Census Tract6164-169
Filler4170-173
Dynamic Block / Atomic Polygon3174-176
X Coordinate7177-183
Y Coordinate7184-190
Segment Length in Feet5191-195
Sanitation Regular Collection Schedule5196-200
- -

Long Work Area 2 (MSW) Layout for Function 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePosition
Same as corresponding position in Function 1's regular WA22001-200
Segment-ID7201-207
Underlying B7SC of True Street8208-215
Underlying HNI on True Street6216-221
2000 Census Tract6222-227
2000 Census Block4228-231
2000 Census Block Suffix (Not Implemented)1232-232
Filler68233-300
- -

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePosition
Filler281-28
Borough-Tax Block-Tax Lot (BBL):1029-38
Borough Code129
Tax Block530-34
Tax Lot435-38
Tax Lot Version Number [not implemented]139
RPAD Self-Check Code (SCC) for BBL140
Filler141
RPAD Building Classification Code242-43
Corner Code244-45
Filler (reserved)246-47
Number of Street Frontages of Lot248-49
Interior Lot Flag150
Vacant Lot Flag151
Irregularly-Shaped Lot Flag152
Alternative Borough Flag153
Filler154
Strolling Key1355-67
List of Geographic Identifiers Overflow Flag168
Reserved for Internal Geosupport Use169
Building Identification Number (BIN) of Input Address or NAP770-76
Condominium Flag177
Condominium Identification Number478-81
Low BBL of this Building’s Condominium Units1082-91
Filler192
Condominium Billing BBL1093-102
Filler1103
Condominium Billing BBL SCC1104
High BBL of this Building’s Condominium Units10105-114
Filler1115
SBVP (Sanborn Map Identifiers):8116-123
Sanborn Borough Code1116-123
Sanborn Volume and Volume Suffix3117-119
Sanborn Page and Page Suffix4120-123
Filler (was DCP Commercial Area)5124-128
Cooperative Identification Number4129-132
Filler4133-136
Number of Existing Buildings on Lot4137-140
Tax Map Identifiers:9141-149
Borough Code:1141
Tax Map Section2142-143
Tax Map Volume2144-145
Tax Map Page [not yet implemented]4146-149
X Coordinate of Internal Label Point7150-156
Y Coordinate of Internal Label Point7157-163
Business Improvement District (BID)6164-169
Filler12170-181
Number of Entries in List of Geographic Identifiers2182-183
List of Geographic Identifiers, up to 21 entries - each entry consisting of 36 bytes as follows:756184-939
Low House Number6
Filler3
High House Number6
Filler3
B5SC:1
Borough Code
5-Digit Street Code5
DCP-Preferred LGC2
BIN7
Geographic Identifier Type Code1
Filler1
Side of Street Indicator1
- - - -

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

- - -

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-

- - - -

-
FieldSizePosition
Filler281-28
Borough-Tax Block-Tax Lot (BBL):1029-38
Borough Code129
Tax Block530-34
Tax Lot435-38
Filler3
Tax Lot Version Number [not implemented]139
RPAD Self-Check Code (SCC) for BBL140
Filler141
RPAD Building Classification Code242-43
Corner Code244-45
Filler (reserved)246-47
Number of Street Frontages of Lot248-49
Interior Lot Flag150
Vacant Lot Flag151
Irregularly-Shaped Lot Flag152
Alternative Borough Flag153
Filler1554-68
Reserved for Internal Geosupport Use169
Building Identification Number (BIN) of Input Address or NAP770-76
Condominium Flag177
Condominium Identification Number478-81
Low BBL of this Building’s Condominium Units1082-91
Filler192
Condominium Billing BBL1093-102
Filler1103-102
Condominium Billing BBL SCC1104
High BBL of this Building’s Condominium Units10105-114
Filler1115
SBVP (Sanborn Map Identifiers):8116-123
Sanborn Borough Code1116
Sanborn Volume and Volume Suffix3117-119
Sanborn Page and Page Suffix4120-123
Filler (was DCP Commercial Area)5124-128
Cooperative Identification Number4129-132
Cooperative Identification Number4129-132
Filler4133-136
Number of Existing Buildings on Lot4137-140
Tax Map Identifiers:9141-149
Borough Code1141
Tax Map Section2142-143
Tax Map Volume2144-145
Tax Map Page [not yet implemented]4146-149
X Coordinate of Internal Label Point7150-156
Y Coordinate of Internal Label Point7157-163
Filler16164-179
Number of Buildings on Tax Lot (Maximum = 2,500)4180-183
List of Buildings on Tax Lot (each represented by a 7-Byte BIN)17,500184-17,683
- -

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Filler221-22
Low House Number of Blockface623-28
High House Number of Blockface 629-34
Alley/Cross Streets Flag 135
Number of Cross Streets at Low Address End136
List of Cross Streets at Low Address End (up to 5 PB5SCs)2037-56
Number of Cross Streets at High Address End157
List of Cross Streets at High Address End (up to 5 PB5SCs)2058-77
Community District378-80
Community District Borough Code178
Community District Number279-80
Community District Number279-80
ZIP Code581-85
DOT Street Light Contractor Area186
Health Center District287-88
Side of Street Indicator189
Continuous Parity Indicator190
2010 Census Tract691-96
2010 Census Block497-100
2010 Census Block Suffix1101-101
Filler1102-102
Filler1103-104
Health Area4105-108
Sanitation Recycling Collection Schedule3109-111
Feature Type Code1112
Interim Assistance Eligibility Indicator (IAEI)1113
Curve Flag1114
Police Patrol Borough Command1115
Police Precinct3116-118
School District2119-120
Election District3121-123
Assembly District2124-125
Split Election District Flag1126
Congressional District2127-128
State Senatorial District2129-130
Civil Court District2131-132
City Council District2133-134
Coincident Segment Count 1135
Segment Type Code1136
Sanitation District3137-139
Sanitation Collection Scheduling Section and Subsection2140-141
Fire Division2142-143
Fire Battalion2144-145
Fire Company Type1146
Fire Company Number3147-149
Special Address Generated Record Flag1150
Reserved for Internal Geosupport Use1151
Filler (was Split Community School District Flag)1152
Board of Elections-Preferred LGC2153-154
Face Code (was known as LION Face Code)4155-158
Sequence Number (was known as LION Sequence Number)5159-163
1990 Census Tract6164-169
Filler4170-173
Atomic Polygon (Previously known as Dynamic Block)3174-176
X Coordinate7177-183
Y Coordinate7184-190
Segment Length in Feet5191-195
Sanitation Regular Collection Schedule5196-200
- -

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

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Same as corresponding positions in Function 1E's regular WA22001-200
Segment-ID (was known as LION Segment-ID)7201-207
Underlying B7SC of True Street8208-215
Underlying HNI on True Street6216-221
2000 Census Tract6222-227
2000 Census Block4228-231
2000 Census Block Filler / Suffix1232-232
Filler68233-300
- -

Work Area 2 (MSW) Layout for Function 2

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Filler311‑31
DCP-Preferred LGC for Street 1232-33
DCP-Preferred LGC for Street 2234-35
Number of Intersecting Streets136
List of Intersecting Streets (up to five PB5SCs, 4 bytes each)2037‑56
Compass Direction for Intersection Key157
Filler1058‑67
Filler268‑69
Fire Division270-71
Fire Battalion272-73
Fire Company Type174
Fire Company Number375-77
Community District378‑80
Community District Borough Code178
Community District Number279-80
ZIP Code581-85
DOT Street Light Contractor Area186
2010 Census Tract687‑92
Filler393‑95
Health Area496‑99
Health Area496‑99
Filler9100-108
Node Number (was known as LION Node Number)7109‑115
X Coordinate7116-122
Y Coordinate7123‑129
Filler4130‑133
Police Patrol Borough Command1134
Police Precinct3135‑137
School District (was known as Community School District)2138‑139
Reserved for Internal Geosupport Use1140
1990 Census Tract6141‑146
SBVP1 (Sanborn Map Identifiers):8147-154
Sanborn Borough Code1147
Sanborn Volume and Volume Suffix3148-150
Sanborn Page and Page Suffix4151-154
SBVP2 (Sanborn Map Identifiers for Second Map, if any)8155-162
Sanborn Borough Code1155
Sanborn Volume and Volume Suffix3156-158
Sanborn Page and Page Suffix4159-162
Sanborn Page and Page Suffix4159-162
Distance Between Duplicate Intersections5163‑167
2000 Census Tract6168-173
Filler27174-200
- -

Work Area 2 (MSW) Layout for Function 3

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Filler221‑22
Curve Flag123
Locational Status124
County Boundary Indicator125
Coincident Segment Count126
Filler327-29
DCP-Preferred LGC for Street 1230-31
DCP-Preferred LGC for Street 2232-33
DCP-Preferred LGC for Street 3234-35
DCP-Preferred LGC for Street 3234-35
Number of Cross Streets at Low Address End136
List of Cross Streets at Low Address End (up to five PB5SCs)2037‑56
Number of Cross Streets at High Address End157
List of Cross Streets at High Address End (up to five PB5SCs)2058‑77
DOT Street Light Contractor Area178
Cross Street Reversal Flag179
Left Community District380‑82
Left Community District Borough Code180
Left Community District Number281-82
Right Community District383‑85
Right Community District Borough Code183
Right Community District Number284-85
Left ZIP Code586‑90
Right ZIP Code591‑95
Filler1896‑113
Left Health Area4114‑117
Right Health Area4118‑121
Filler2122-123
Filler2124-125
Left Low House Number7126‑132
Left High House Number7133‑139
Right Low House Number7140‑146
Right High House Number7147‑153
Continuous Parity Indicator1154
Face Code (was known as LION Face Code)4155-158
Sequence Number (was known as LION Sequence Number)5159‑163
Generated Record Flag1164
Segment Length in Feet (Packed)3165-167
Segment Azimuth3168‑170
Segment Orientation1171
Filler2172‑173
Filler2174-175
Left Interim Assistance Eligibility Indicator1176
Right Interim Assistance Eligibility Indicator1177
Dogleg Flag1178
Feature Type Code1179
Left Police Patrol Borough Command1180
Left Police Precinct3181‑183
Right Police Patrol Borough Command1184
Right Police Precinct3185‑187
Left School District (was known as Left Community School…)2188‑189
Right School District (was known as Right Community School…)2190‑191
Reserved for Internal Geosupport Use1192
Segment-ID (was known an LION Segment-ID)7193-199
Segment Type code1200
- -

Long Work Area 2 (MSW) Layout for Function 3

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Same as corresponding positions in Function 3's regular WA22001-200
Left 1990 Census Tract6201‑206
Filler4207‑210
Left Atomic Polygon (Previously known as Dynamic Block)3211‑213
Right 1990 Census Tract6214‑219
Filler4220‑223
Right Atomic Polygon (Previously known as Dynamic Block)3224‑226
Left Fire Division2227-228
Left Fire Battalion2229-230
Left Fire Company Type1231
Left Fire Company Number3232-234
Right Fire Division2235-236
Right Fire Battalion2237-238
Right Fire Company Type1239-239
Right Fire Company Number3240-242
Left 2010 Census Tract6243-248
Left 2010 Census Block4249-252
Left 2010 Census Block Suffix / Filler1253
Right 2010 Census Tract6254-259
Right 2010 Census Block4260-263
Right 2010 Census Block Suffix / Filler1264
From Node7265-271
To Node7272-278
Left 2000 Census Tract6279-284
Left 2000 Census Block Suffix1289
Right 2000 Census Tract6290-295
Right 2000 Census Block4296-299
Right 2000 Census Block Suffix1300
- -

Work Area 2 (MSW) Layout for Function 3C

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Filler211-21
Curve Flag122
Segment Type Code123
Locational Status124
County Boundary Indicator125
Coincident Segment Count126
Filler327-29
DCP-Preferred LGC for Street 1230-31
DCP-Preferred LGC for Street 2232-33
DCP-Preferred LGC for Street 3234-35
Number of Cross Streets at Low Address End136
Number of Cross Streets at Low Address End136
List of Cross Streets at Low Address End (up to 5 PB5SCs)2037‑56
Number of Cross Streets at High Address End157
List of Cross Streets at High Address End (up to 5 PB5SCs)2058‑77
Community District2078‑80
Community District Borough Code178
Community District Number279-80
ZIP Code581-85
DOT Street Light Contractor Area186
2000 Census Tract687‑92
Filler193
2010 Census Tract694‑99
2010 Census Block4100‑103
2010 Census Block Suffix (Future Use)1104
Health Area4105‑108
Cross Street Reversal Flag1109
Side of Street Indicator1110
Fire Division2111-112
Fire Battalion2113-114
Fire Company Type1115
Fire Company Number3116-118
Segment-ID (was known as LION Segment-ID)7119‑125
Low House Number of Blockface7126‑132
High House Number of Blockface7133‑139
Alternate Low House Number7140‑146
Alternate High House Number7147‑153
Continuous Parity Indicator1154
Face Code (was known as LION Face Code)4155-158
Sequence Number (was known as LION Sequence Number)5159‑163
Generated Record Flag1164
Generated Record Flag1164
Segment Length in Feet (Packed)3165‑167
Segment Azimuth3168‑170
Segment Orientation1171
Filler2172‑173
Interim Assistance Eligibility Indicator (IAEI)1174
Feature Type Code1175
Police Patrol Borough Command1176
Police Precinct3177‑179
School District (was known as Community School District)2180‑181
Reserved for Internal Geosupport Use1182
1990 Census Tract6183‑188
Filler4189‑192
Atomic Polygon (Previously known as Dynamic Block)3193‑195
2000 Census Block4196‑199
2000 Census Block Suffix Filler1200
- -

Work Area 2 (MSW) Layout for Function 3S

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Filler211-21
Number of Cross Streets in Stretch (Maximum = 350)322‑24
List of Cross Streets in Stretch, each list entry 12 bytes as follows:420025‑4224
Smallest PB5SC at Intersection4
Second smallest PB5SC at Intersection4
Distance from Predecessor in Feet3
Gap Flag1
- -

_________________________

- -

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

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix03/index.html b/site/appendices/appendix03/index.html deleted file mode 100644 index 1f51fa36..00000000 --- a/site/appendices/appendix03/index.html +++ /dev/null @@ -1,6256 +0,0 @@ - - - - - - - - - - - - Appendix 3: Data Item Dictionary - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 3: Data Item Dictionary
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 3: DATA ITEM DICTIONARY

- -

This Data Item Dictionary is an alphabetical list of the data items for which there are fields in the Geosupport API work areas, together with descriptive information. In general, data items are listed in this appendix under the names used in the work area layouts in Appendix 2 (MSW) and Appendix 13 (COW). However, if an item is associated with multiple work area fields having varying field names, and is identical in format and range of values in all those fields, the item is documented in a generically-named entry, and there is also a separate entry for each of those fields consisting only of a reference to the generic entry. For example, there is a generic entry for CENSUS TRACT containing full descriptive information, and there are also entries for 2000 CENSUS TRACT, LEFT 2000 CENSUS TRACT, RIGHT 2000 CENSUS TRACT, 2010 CENSUS TRACT etc., containing only a reference to the entry for CENSUS TRACT.

-

Each entry consists of an appropriate combination of the following elements:

-
    -
  • -

    Name of Data Item. This might be identical to the name of a specific work area field or it might be a generic name for a data item that is represented by multiple work area fields.

    -
  • -
  • -

    Field Names. A list of the field names associated with a generic entry.

    -
  • -
  • -

    Function(s). A list of the Geosupport functions that utilize this data item as either an input or an output item in either WA1 or WA2. If the data item is in the added portion of WA2 that is passed when the function is called with the long WA2 option, this is so stated. Similarly, if the data is passed when the function is called with an Extended or Auxiliary or other option, it is so stated. In the list of functions, an asterisk in the second position of a function code is a ‘wild card’ signifying all functions having the indicated value in the first position, as follows:

    -
  • -
-
-

1 * = 1, 1A, 1B, 1E, 1N; also 1Extended, 1A Extended, 1E Extended

-

2 * = 2, 2W??

-

3 * = 3, 3C, 3S, 3 & 3C with Auxiliary Segments, 3 & 3C Extended (with or without Auxiliary Segments)

-

B * = BB, BF, BL, BN

-

D * = D, DG, DN

-
- -
    -
  • -

    Work Area Format: A list of the work area format(s) that apply to this entry, namely, MSW (Mainframe-Specific Work Area) and/or COW (Character-Only Work Area).

    -
  • -
  • -

    Length and Format. The length of this data item in bytes, and a description of its format, including whether it is numeric, alphabetic or alphanumeric (these terms are defined below); whether it contains any special editing characters; and for numeric items, the justification and the fill character. The following terms and abbreviations are used:

    -
  • -
-

RJ = Right-Justified
-LJ = Left-Justified
-ZF = Zero-Filled
-BF = Blank-Filled

-

Numeric: Contains only the digits 0 through 9, and possibly blanks serving as fill characters only.
-Alphabetic: Contains letters of the alphabet only. LJBF unless otherwise stated.
-Alphanumeric: Can contain any allowable characters, including special characters such as hyphens. LJBF unless otherwise stated.

-
    -
  • -

    Description. A brief narrative description of the data item. The description may include citations to sections of the UPG where the data item is principally discussed. Data items that are self‑explanatory have no description and/or citations.

    -
  • -
  • -

    Valid Values and Code Meanings. The values or ranges of values valid for this data item and, if the item consists of codes, the meaning of each code value.

    -
  • -
-

1A/BL VERSION FLAG - See FUNCTION 1A/BL VERSION FLAG.
-1990 CENSUS TRACT - See CENSUS TRACT.
-2000 CENSUS BLOCK - See CENSUS BLOCK.
-2000 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX.
-2000 CENSUS TRACT - See CENSUS TRACT.
-2010 CENSUS BLOCK - See CENSUS BLOCK.
-2010 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX.
-2010 CENSUS TRACT - See CENSUS TRACT.

-

A

- - - - - - - - - - - - - - - - - - - - - - - - -
ALLEY/CROSS STREETS FLAG (ALX)
Functions:1, 1E
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Indicates if the segment has been split by alleys, or if the cross streets named in the segment have been copied from a previous or subsequent segment because the segment itself has no cross streets.
- - - - - - - - - - - - - - - - - -
Code Value - Meaning -
‘A’Split by Alley(s)
‘X’Cross Streets Modified
BlankNeither Split by Alleys or Cross Streets Modified
-
- - - - - - - - - - - - - - - - - - - - - -
ALTERNATE LOW AND HIGH HOUSE NUMBERS
Functions:3C
Work Area Format:MSW and COW
Length and Format:See HOUSE NUMBER
Description:These two fields are non-blank only if this blockface has addresses of both parities (the parity of a number is its attribute of being odd or even). Such a blockface is said to have ‘continuous parity’. If the blockface has continuous parity, the Continuous Parity Indicator is non-blank, the Low and High House Number fields contain the address range for one parity, and the Alternate Low and High House Number fields contain the address range for the other parity. (Which parity is in which set of house number fields is unpredictable.)
- - - - - - - - - - - - - - - - - - - - - - - - - -
ALTERNATIVE BOROUGH FLAG
Functions:1, 1A, 1B, 1E, 2, 3, 3C, 3S (COW only), BL, BN
Work Area Format:MSW and COW
Length and Format:1 byte
Description:This flag indicates either that the input address is in Marble Hill or Rikers Island and the alternative (rather than the legal) borough was specified (see Chapter V.7), or that the input address is on Ruby Street in Brooklyn but it was specified using the alternative (Queens) street name 75 Street (see Chapter V.8).
- This field was also known as the Marble Hill / Rikers Island Flag. - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
‘C’Ruby Street address specified using 75 Street
‘M’Marble Hill address with Bronx specified
‘R’Rikers Island address with Queens specified
-
- -

ALX FLAG - See ALLEY/CROSS STREETS FLAG
-ANNOTATION POINT - No longer used by Geosupport. See SPATIAL COORDINATES OF THE TAX LOT CENTROID

- - - - - - - - - - - - - - - - - - - - - - - - -
ASSEMBLY DISTRICT
Field Names:LEFT ASSEMBLY DISTRICT
RIGHT ASSEMBLY DISTRICT
Functions:1E, 2 (COW only), 3 (COW only), 3C (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes. RJZF
Description:A district of the lower house of the New York State legislature. Consists of an aggregation of Election Districts
- - - - - - - - - - - - - - - - - - - - - -
ATOMIC POLYGON - Previously known as DYNAMIC BLOCK
Functions:1, 1B, 1E, 3(MSW: Long WA2), 3(COW), 3C
Work Area Format:MSW and COW
Length and Format:3 bytes RJZF
Description:An atomic polygon is an un-subdivided polygon . Atomic polygons are created based on the New York City CSCL (Citywide Street Centerline) database. Atomic polygons are numbered uniquely within census tract.
- -

ATTRIBUTE BYTE - See STREET ATTRIBUTE INDICATOR

- - - - - - - - - - - - - - - - - - - - - - - - -
AUXILIARY SEGMENT SWITCH (auxseg or segaux)
Functions:3, 3C, 3 & 3C Extended
Work Area Format:COW
Length and Format:1 byte character.
Description:When this flag is set to ‘Y’, the list of all the Segment IDs that comprise the segment will be added to the end of Work Area 2 for Functions 3 or 3C.
- - - - - - - - - - - - - -
Code Value - Meaning -
‘N’ or BlankOne Segment ID is returned in Work Area 2.
‘Y’A list of all the segment IDs is added to the end of Word Area 2 for Function 3 or 3C.
-
- -

B

- - - - - - - - - - - - - - - - - - - - -
B7SC OF “TRUE” STREET (a.k.a. B7SC OF “UNDERLYING” STREET)
Functions:1and 1E (MSW: Long WA2 only); 1, 1B and 1E (COW)
Work Area Format:MSW and COW
Length and Format:8 bytes (B7SC)
Description:This item typically applies to Addressable Place Names, Non-addressable Place Names and Vanity Addresses. It item contains the B7SC of the street segment upon which the address specified is actually located. This is the street segment that is identified by the field SEGMENT-ID and by the fields FACE CODE and SEQUENCE NUMBER. In most cases, the B5SC portion of this item is identical to the B5SC specified in the key. However, the two B5SCs differ when the SPECIAL ADDRESS GENERATED RECORD FLAG is either ‘B’, ‘N’, ‘P’, or ‘V’.
- - - - - - - - - - - - - - - - - - - - - - - - - -
BBL
Functions:1A, BL, BN, AP
Work Area Format:MSW and COW
Length and Format:10 bytes in standard version, Numeric. (Note: the legacy version of Functions 1A and BL is no longer supported.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Standard: -
FieldLengthPositionComments
Borough11-1
Tax Block52-6RJZF
Tax Lot47-10RJZF
-
Description:The first 6 bytes of the standard BBL consists of the 1-byte borough code followed by the 5-byte tax block field, which contains the tax block value right-justified and zero-filled. The last 4 bytes of the standard BBL is the standard tax lot field, which contains the tax lot value right-justified and zero-filled. See Chapter VI.8. -The BBL (‘borough-block-and-lot’) identifies a parcel of real property in New York City, called a tax lot. The BBL is composed of the concatenation of the Borough Code, Tax Block and Tax Lot. If the property is a condominium (indicated by the Condominium Flag), the WA2 BBL field contains the billing BBL of the condominium (see Chapter VI.4).
- -

BID - See BUSINESS IMPROVEMENT DISTRICT

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
BIKE LANE BIKE LANE is being replaced by BIKE LANE 2. See also BIKE LANE 2
Functions:1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:1 byte
Notice:As of Release 16D, Bike Lane has 11 codes, instead of 7. A new two-byte field, BIKE LANE 2, is being introduced. The original one-byte Bike Lane field still exists to give users a chance to update their applications. In the one-byte Bike Lane field, the value ‘A’ will appear when the new code is ‘10’, and the value ‘B’ will appear when the new code is ‘11’. We recommend that users update their applications to refer to the new Bike Lane-2 since the one-byte Bike Lane field will be deleted in a later release.
Description:Defines which street segments are part of the bicycle network as defined by the Department of Transportation.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
1 Class I:Separated Greenway
2 Class II:Striped Bike Lane
3 Class III:Signed Bicycle Route
4 Links:Connecting Segments
5 Class I, II:Combination of Class I and II
6 Class II, III:Combination of Class II and III
7 Stairs:Step streets, bridge stairs, etc.
8 Class I, IIICombination of Class I and III
9 Class II, ICombination of Class II and I
A Class III, ICombination of Class III and I
B Class III, IICombination of Class III and II
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
BIKE LANE 2
Functions:1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:2 bytes, RJBF
Description:Defines which street segments are part of the bicycle network as defined by the Department of Transportation.
Note: As of Geosupport Version 16.4, Bike Lane 2 is being introduced to replace Bike Lane
- The following table contains the values that can appear in the Bike Lane 2 field - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaningDescription
1Class I:Separated Greenway
2Class II:Striped Bike Lane
3Class III:Signed Bicycle Route
4Links:Connecting Segments
5Class I, II:Combination of Class I and II
6Class II, III:Combination of Class II and III
7Stairs:Step streets, bridge stairs, etc.
8Class I, IIICombination of Class I and III
9Class II, ICombination of Class II and I
10Class III, ICombination of Class III and I
11Class III, IICombination of Class III and II
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
BIKE TRAFFIC DIRECTION
Functions:1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:2 bytes, RJBF
Description:Defines the traffic direction of the bike lanes on a segment.
- The following table contains the values that can appear in the Bike Lane 2 field - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaningDescription
BlankNo bike laneNo bike lane exists at this segment
FTFROM node to TO nodeBike traffic flows with the segment’s logical direction, i.e. from the FROM node to the TO node.
TFTO node to FROM nodeBike traffic flows against the segment’s logical direction, i.e. from the TO node to the FROM node.
TWTwo-WayBikes travel in both directions
-
- -

BIN - See BUILDING IDENTIFICATION NUMBER

- - - - - - - - - - - - - - - - - - - - - - - - -
BLOCKFACE ID
Field Names:LEFT BLOCKFACE ID
RIGHT BLOCKFACE ID
Functions:1 Extended, 1B, 1E Extended, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:10 bytes. RJZF
Description:Left Blockface ID is a ten digit number identifying the block face on the left hand side of a segment. Correspondingly, Right Blockface ID identifies the block face on the right hand side of a segment. Block Face is defined as one continuous side of a physical block that is intersected on that side by two other physical through streets. Blockface IDs were established by DoITT’s consultants working on the planimetric feature classes for NYC and are not maintained by the Department of City Planning.
- - - - - - - - - - - - - - - - - - - - - -
BOARD OF ELECTIONS PREFERRED LGC
Functions:1E
Work Area Format:MSW and COW
Length and Format:2 bytes. RJZF
Description:This item is the LGC (the sixth and seventh digits of the 10-digit street code) that corresponds to the NYC Board of Elections’ preferred street name for a given location.
- - - - - - - - - - - - - - - - - - - - - - - - - -
BOROUGH CODE
Functions:All functions
Work Area Format:MSW and COW
Length and Format:1 byte. Numeric.
Description:
- - - - - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
1Manhattan
2Bronx
3Brooklyn
4Queens
5Staten Island
-
- -

BOROUGH/BLOCK/LOT - See BBL

-

BOROUGH/TAX BLOCK/TAX LOT - See BBL

- - - - - - - - - - - - - - - - - - - - - - - - -
BROWSE FLAG
Functions:1, 1A, 1B, 1E, 1N, 2, 3, 3C, BB, BF
Work Area Format:COW
Length and Format:1 byte. Alphabetic
Description:
- - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
BlankAll streets or normalized input street
PPrimary streets
FPrincipal streets
RPreferred streetOnly Functions 1, 1A, 1B. 1E, 2, 3, and 3C. (Not 1N, BB, BF)
- See Chapter III.7 for use of Browse Flag with Functions BB and BF.
See Chapter III.8 for use of Browse Flag with Functions 1, 1A, 1B, 1E, 1N, 2, 3, 3C. -
- - - - - - - - - - - - - - - - - - - - - -
BUILDING IDENTIFICATION NUMBER (BIN)
Functions:1A, BL, BN, 1B (COW only) and AP (COW only)
Work Area Format:MSW and COW
Length and Format:7 bytes. Numeric
Description:Building Identification Number. A permanent BIN is a seven-digit numerical identifier unique to each building in the City of New York. The first digit is the Borough Code. There are also two types of temporary BINs; those maintained by the Dept. of Buildings (DOB) and those maintained by the Dept. of City Planning (DCP). The temporary BINs assigned by DOB contain the number ‘8’ as the second digit, and the temporary BINs assigned by DCP contain a ‘9’ in the same position. DCP is currently in the process of phasing out all of its temporary BINs.
- - - - - - - - - - - - - - - - - - - - - -
BUSINESS IMPROVEMENT DISTRICT (BID)
Functions:1A, 1B, BL, BN
Work Area Format:MSW and COW
Length and Format:6 bytes, B5SC
Description:The Business Improvement District (BID) field (which was requested by the Fire Department) consists of a borough and five-digit street code (B5SC). Function D may be used to obtain the 32-byte name of the BID. The ‘Street Attribute Indicator’ is set to ‘C’ for BIDs. An example of a Business Improvement District is ‘5 AVE BID’ Note that a BID may not be used as input to Function 1, 1A, 1B, 1E, 2*, and 3*.
- -

CD - See COMMUNITY DISTRICT or COMMUNITY DEVELOPMENT…

-

CD ELIGIBILITY FLAG - See INTERIM ASSISTANCE ELIGIBILITY INDICATOR

-

C

- - - - - - - - - - - - - - - - - - - - - - - - -
CENSUS BLOCK
Field Names: - - - - - - - -
2000 CENSUS BLOCK,
LEFT 2000 CENSUS BLOCK,
RIGHT 2000 CENSUS BLOCK,
2010 CENSUS BLOCK
LEFT 2010 CENSUS BLOCK,
RIGHT 2010 CENSUS BLOCK
-
Functions:1 & 1E (MSW: for 2010 - Regular WA2, for 2000 - Long WA2 Only;), 1 & 1E(COW). 2, 3 (MSW: Long WA2 Only), 3(COW), 3C
Work Area Format:MSW and COW
Length and Format:4 bytes, numeric
Description:When appended by the CENSUS BLOCK SUFFIX, this area is the smallest geographic area defined by the U.S. Census Bureau for tabulating the census. Generally (but not always) corresponds to a physical city block. Each census block is numbered uniquely within its census tract.
- - - - - - - - - - - - - - - - - - - - - - - - - -
CENSUS BLOCK SUFFIX
Field Names: - - - - - - - -
2000 CENSUS BLOCK SUFFIX,
LEFT 2000 CENSUS BLOCK SUFFIX,
RIGHT 2000 CENSUS BLOCK SUFFIX,
2010 CENSUS BLOCK SUFFIX,
LEFT 2010 CENSUS BLOCK SUFFIX,
RIGHT 2010 CENSUS BLOCK SUFFIX,
-
Functions:1&1E (MSW: for 2010 - Regular WA2, for 2000 - Long WA2 Only;), 1, 1B &1E(COW) 2, 3 (MSW: Long WA2 Only), 3(COW), 3C
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:This suffix is defined by the U.S. Census Bureau. At the government’s discretion, this field may, or may not, contain data.
- - - - - - - - - - - - - - - - - - - - - - - - - -
CENSUS TRACT
Field Names: - - - - - - - - - - -
1990 CENSUS TRACT,
LEFT 1990 CENSUS TRACT,
RIGHT 1990 CENSUS TRACT,
2000 CENSUS TRACT,
LEFT 2000 CENSUS TRACT,
RIGHT 2000 CENSUS TRACT
2010 CENSUS TRACT,
LEFT 2010 CENSUS TRACT,
RIGHT 2010 CENSUS TRACT
-
Functions:1, 1E, 1B, 2, 3 (MSW: 2010 - Regular WA2; 2000 - Long WA2 Only), 3(COW), 3C
Work Area Format:MSW and COW
Length and Format:6 bytes, consisting of numeric 4-digit root followed by numeric 2-digit suffix. The root subfield is RJBF and the suffix subfield is RJZF if any. If the tract number contains no suffix, then the suffix subfield is blank.
Description:Geographic area defined by the U.S. Census Bureau for the various decennial censuses. Census tracts for a particular census year are numbered uniquely within borough.
- - - - - - - - - - - - - - - - - - - - - -
CITY COUNCIL DISTRICT
Functions:1B (COW), 1E, 2(COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes.
Description:A district represented by a member of the New York City Council. Consists of an aggregation of Election Districts. There are currently 51 City Council Districts.
- - - - - - - - - - - - - - - - - - - - - -
CIVIL COURT DISTRICT
Functions:1E, 1B (COW), 2(COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes.
Description:A district from which a Civil Court judge is elected. Consists of an aggregation of Election Districts.
- - - - - - - - - - - - - - - - - - - - - -
COINCIDENT SEGMENT COUNT
Functions:1, 1E, 3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte, numeric
Description:The Coincident Segment Count indicates the situation where one road is above another road. Most streets, such as Broadway in Manhattan have a value of ‘1’ in the Coincident Segment Count. However, there are a few streets where the Coincident Segment Count is greater than one. An example of this is Third Avenue and the Gowanus Expressway in Brooklyn. The Gowanus Expressway is above Third Avenue from about 18th Street until 63rd Street. For these segments, the Coincident Segment Count is ‘2’.
- -

COMMUNITY DEVELOPMENT BLOCK GRANT (CDBG) - See INTERIM ASSISTANCE - ELIGIBILITY INDICATOR

-

COMMUNITY DEVELOPMENT ELIGIBILITY FLAG - See INTERIM ASSISTANCE - ELIGIBILITY INDICATOR

-

- - - - - - - - - - - - - - - - - - - - - - - -
COMMUNITY DISTRICT (CD)
Functions:1, 1E, 2, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:3 bytes. Numeric. The first byte is the Community District Borough Code, and the second and third bytes are the Community District Number, RJZF.
Description:There are 59 community districts in the City of New York, as well as 12 Joint Interest Areas (JIAs). The JIAs are major parks and airports that are not contained within any CD. Examples are Central Park, Van Cortlandt Park, LaGuardia and JFK Airports. The JIAs are the numerically highest items in each borough.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
101-112Manhattan except Marble Hill
164Central Park
201-212Bronxexcept Rikers Island (Note: the Marble Hill section of Manhattan is in Bronx CDs 7 and 8)
226Van Cortlandt Park
227Bronx Park
228Pelham Bay Park
301-318Brooklyn
355Prospect Park
356Brooklyn Gateway National Recreational Area
401-414Queens (Note: the Rikers Island section of the Bronx is in Queens CD 1)
480LaGuardia Airport
481Flushing Meadows - Corona Park
482Forest Park
483JFK International Airport
484Queens Gateway National Recreational Area
501-503Staten Island
595Staten Island Gateway National Recreational Area
-

-

COMMUNITY DISTRICT ELIGIBILITY FLAG - See INTERIM ASSISTANCE ELIGIBILITY INDICATOR

-

COMMUNITY SCHOOL DISTRICT – see SCHOOL DISTRICT

-

COMPACT FLAG - See STREET NAME NORMALIZATION FORMAT FLAG

- - - - - - - - - - - - - - - - - - - - -
COMPASS DIRECTION
Functions:2, 3C, 3S
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:In the case of Function 2, the compass direction identifies, for a pair of input streets that intersect at two distinct locations, which of those two intersections is to be processed. (See Chapter VII.2) - In the case of Function 3C, the compass direction identifies which side of the street is to be processed. (See Section VII.5) - In the case of Function 3S, if the ‘on’ street intersects the first cross street at two distinct locations, the compass direction identifies which of those two intersections is to be processed. (See Chapter VII.6) -
- - - - - - - - - - - - - - - - - - - - - -
COMPASS DIRECTION FOR INTERSECTION KEY
Functions:2
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:If the first two entries in the LIST OF INTERSECTING STREETS are an instance of the two-node case (i.e., they intersect twice), this field contains a compass direction value identifying the intersection in terms of those two streets. If the two streets are not an instance of the two-node case, this field is blank. If both a ‘longitudinal’ compass direction (‘N’ or ‘S’) and a ‘latitudinal’ compass direction (‘E’ or ‘W ’) are valid for this intersection, the longitudinal compass direction value appears in this field.
- - - - - - - - - - - - - - - - - - - - - -
COMPASS DIRECTION FOR 2nd INTERSECTION
Functions:3S
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:If the ‘on’ street intersects the second cross street at two distinct locations, this compass direction identifies which of those two intersections is to be processed. (See Chapter VII.6)
- - - - - - - - - - - - - - - - - - - - - - - - - -
CONDOMINIUM FLAG
Functions:1A, BL, BN, 1B (COW), AP
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:
- - - - - - - - - - - - - -
Code Value - Meaning -
‘C’Property is a condominium
BlankProperty is not a condo.
-
- - - - - - - - - - - - - - - - - - - - - -
CONDOMINIUM IDENTIFICATION NUMBER
Functions:1A, BL, BN, 1B (COW), AP
Work Area Format:MSW and COW
Length and Format:4 bytes
Description:An identification number assigned by the Department of Finance to each condominium in the city. This field is blank for non-condominiums.
- - - - - - - - - - - - - - - - - - - - - -
CONGRESSIONAL DISTRICT
Functions:1E, 1B (COW), 2 (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes.
Description:A district of the U.S. House of Representatives. Consists of an aggregation of Election Districts.
- - - - - - - - - - - - - - - - - - - - - - - - - -
CONTINUOUS PARITY INDICATOR
Functions:1, 1E, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:An ‘address range’ is a sequence of house numbers along an ‘on’ street between (and including) a Low House Number and a High House Number. Every address range has one of three possible parities: odd, even or continuous. An address range of odd parity consists of all odd house numbers along the ‘on’ street between the Low and High House Numbers. An even-parity range consists of all even house numbers between the Low and High House Numbers. A continuous-parity range consists of all house numbers (both even and odd) between the Low and High House Numbers. Most New York City blockfaces contain an address range that is either of even or odd parity. However, some blockfaces have a continuous-parity address range, usually where the opposite side of the street is non-addressable because it is a park, a body of water, etc. Some examples of the continuous parity case in Manhattan are Central Park West (the east side of the street runs along Central Park and is non-addressable, while the west side has both odd and even addresses); Riverside Drive; and the portion of Fifth Avenue that runs alongside Central Park.

If a New York City blockface has a continuous parity address range, Geosupport represents this range as two separate ranges, an odd-parity range and an even-parity range. The practical effect of this depends on the Geosupport function. For Functions 1 and 1E, if an input address lies on a continuous-parity blockface, only the range (i.e., the Low and High House Numbers) whose parity is the same as that of the input address is returned in WA2. For Function 3, if an input street segment contains a continuous parity address range, both the odd and the even ranges are returned, in the WA2 fields called Left Low House Number and Left High House Number for the range of one parity, and in the fields Right Low and High House Numbers for the range of the other parity; note that in this case, in reality both the odd and the even ranges are on the same side of the street, even though they are returned in fields called ‘left’ and ‘right’. For Function 3C, if an input blockface is on a street segment containing a continuous parity address range (regardless of whether the input blockface is on the addressable or the non-addressable side of the segment), both the odd and the even ranges are returned, in the WA2 fields called Low House Number and High House Number for the range of one parity, and in the fields Alternate Low House Number and Alternate High House Number for the range of the other parity.

The field Continuous Parity Indicator indicates, for Functions 1, 1E, 3 and 3C, whether the street segment containing or corresponding to the user input is of the continuous parity type, and if so, which side of the segment is addressable.
- - - - - - - - - - - - - -
Code Value - Meaning -
BlankThe street segment does not have a continuous parity address range
‘L’ or ‘R’The street segment has continuous parity. In this case, the Continuous Parity Indicator indicates which side of the street segment, the left or the right, is addressable. (Left and right are specified with respect to the direction of increasing addresses along the segment)
-
- - - - - - - - - - - - - - - - - - - - - -
COOPERATIVE IDENTIFICATION NUMBER
Functions:1A, BL, BN, 1B (COW)
Work Area Format:MSW and COW
Length and Format:4 bytes.
Description:This is an identification number assigned by the Department of Finance to each cooperative in the city. This field is blank for non-coops.
- - - - - - - - - - - - - - - - - - - - - - - - - -
CORNER CODE
Functions:1A, BL, BN, 1B (COW)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:
- - - - - - - - - - - - - - - - - -
Code Value - Meaning -
‘SE’,’SW’,’NE’,’NW’Tax lot occupies the indicated corner of the physical block
‘CR’Tax lot occupies more than one corner
BlankTax lot occupies no corners
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
COUNTY BOUNDARY INDICATOR
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte
Description:This field is non-blank when the street segment lies along a borough boundary. -The value of this field indicates which side of the segment is out of borough.
- - - - - - - - - - - - - - - - - -
Code Value - Meaning -
‘L’Left side of segment is out of borough
‘R’Right side of segment is out of borough
BlankNeither side is out of borough
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
CROSS STREET NAMES FLAG (a.k.a. EXPANDED FORMAT FLAG)
Functions:1, 1E, 2, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:1 byte character.
Description:When this flag is set to ‘E’, the LIST OF STREET NAMES is used to return street names corresponding to the street codes in the LIST OF CROSS STREETS (Functions 1, 1B, 1E, 3 and 3C) or in the LIST OF INTERSECTING STREETS (Function 2). See LIST OF STREET NAMES for related details.

When possible, the BBL and BIN are returned in the output area of Work Area 1 for Functions 1, 1A, 1B, and 1E.

The cross street names feature incurs processing overhead, and should only be used when necessary. Note that Function 1B returns the principal street codes and street names of the cross streets in the Blockface portion of Work Area 2. Therefore it is typically not necessary to set the Cross Street Names flag with Function 1B.
- - - - - - - - - - - - - -
Code Value - Meaning -
BlankThe names of cross or intersecting streets are not returned in the LIST OF STREET NAMES. The BBL an BIN are not returned in the output area of Work Area 1.
‘E’The names of cross or intersecting streets are returned in the LIST OF STREET NAMES The BIN and BBL of the input address are returned in the output area of Work Area 1.
-
- - - - - - - - - - - - - - - - - - - - - - - - - -
CROSS STREET REVERSAL FLAG
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte
Description:This flag indicates the relationship between the order in which the user specified the input cross streets and the direction of increasing addresses along the ‘on’ street.
- - - - - - - - - - - - - -
Code Value - Meaning -
BlankThe direction from Street Name 2 to Street Name 3 (the two input cross street fields) conforms to the direction of increasing addresses
‘R’The direction from Street Name 2 to Street Name 3 is opposite to the direction of increasing addresses
-
- -

CROSS SREETS
-See LIST OF CROSS STREETS (Functions 1, 1E, 3, 3C, 1B)
-See LIST OF INTERSECTING STREET (Function 2)
-See LIST OF CROSS STREET CODES (Function 3S)

- - - - - - - - - - - - - - - - - - - - - - - - -
CURVE FLAG
Functions:1, 1E, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:1 byte character
Description:This flag indicates whether the given geographic feature segment is in reality curved. If so, the curve may be an arc of a circle or an irregular curve. When the segment specified by the input data is an arc of a circle, Functions 1 and 1E return Spatial Coordinates that are positioned relative to this arc rather than to the segment’s chord (the imaginary straight line joining the curved feature’s endpoints). When the segment specified by the input data is an irregular curve, Functions 1 and 1E return blanks in the Spatial Coordinate fields (q.v.), and issue a warning with Reason Code value ‘P’. In the case of Functions 3 and 3C, if the input data define a street stretch encompassing more than one segment (because of a T-intersection or bend), the Curve Flag is set ‘on’ (non-blank) if at least one of the constituent segments of the stretch is curved. See also discussion of Segment Length.
- - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
BlankSegment is not curved
‘I’Segment is an irregular curve, i.e., it is curved but it is not an arc of a circle
‘L’Segment is an arc of a circle on the left side of the line joining the segment’s FROM and TO nodes
‘R’Segment is an arc of a circle on the right side of the line joining the segment’s FROM and TO nodes
-
- -

D

- - - - - - - - - - - - - - - - - - - - -
DCP PREFERRED LGC
Functions:1, 1A and BL (regular WA2 only), 2, 3, 3C, BN
Work Area Format:MSW and COW
Length and Format:2 bytes RJZF
Description:Identifies the local group of street names designated by the Department of City Planning as ‘preferred’ for display purposes for a specific location on a street.
- -

DEPARTMENT OF SANITATION SNOW PRIORITY CODE - See DSNY SNOW PRIORITY CODE

- - - - - - - - - - - - - - - - - - - - -
DISTANCE BETWEEN DUPLICATE INTERSECTIONS
Functions:2
Work Area Format:MSW and COW
Length and Format:5 bytes numeric
Description:When the two input streets intersect exactly twice, this field contains the distance, in feet, between those two intersections.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DOGLEG FLAG
Functions:3
Work Area Format:MSW and COW
Length and Format:1 byte
Description:A dogleg is a street configuration in which a street has a displacement or offset as it crosses another street. A non-blank value in the Dogleg Flag indicates that at least one of the cross streets forms a dogleg as it crosses the ‘on’ street, in such a way that at least one side of the ‘on’ street has a blockface encompassing more than one segment.
When Function 3 returns a non-blank value in this flag, the work area represents the ‘innermost’ segment of the dogleg configuration.
The Dogleg Flag value indicates which side or sides of the street has (or have) the long blockface(s).
- - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
BlankNot a dogleg
‘B’Both sides of the ‘on’ street have long blockfaces formed by doglegs. This can only occur if both cross streets form doglegs as they cross the ‘on’ street.
‘L’The left side of the street has a long blockface formed by a dogleg
‘R’The right side of the street has a long blockface formed by a dogleg
-
A Function 3C call will return information on the long blockface when the user input data specifies a side of a street where there is a long blockface formed by a dogleg or doglegs. The Dogleg Flag will not be set in response to a function 3C call.
- - - - - - - - - - - - - - - - - - - - - - - - -
DOT STREET LIGHT CONTRACTOR AREA
Functions:1, 1E, 2, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
‘1'Street lights serviced by Manhattan contractors
‘2'Street lights serviced by Bronx contractors
‘3'Street lights serviced by Brooklyn contractors
‘4'Street lights serviced by Queens contractors
‘5'Street lights serviced by Staten Island contractors
‘X'Street light is located on the Brooklyn, Queens boundary
‘N’Street light is located in one borough, but serviced by a different borough
-
- -

DSNY ... - See also SANITATION ...

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
DSNY SNOW PRIORITY CODE
Functions:1/1E, 1/1E Extended, 1B, 3, 3 Extended, 3C, 3C Extended
Work Area Format:COW
Length and Format:1 byte character
Description:DSNY (Department of Sanitation) Snow Priority code is used during snow emergencies. It helps DSNY to determine the snow removal schedule, routes and resources needed.
The DSNY (Department of Sanitation) Snow Priority indicates the priority of the street with respect to snow removal. New snow priority codes were assigned with Version 16.4 The snow priority codes are as follows:
- - - - - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
CCritical
SCritical
SSector
HHaulster
VNon-DSNY Street (unchanged)
-
The DSNY definition of the new codes is as follows:
C - Critical Routes: These routes are comprised of highways (main beds, entrances, exits interchanges), arterial roadways, main travel thoroughfares (single lane and multi-lane), bus routes, that contain emergency services & first responder facilities (Hospitals, EMS, FDNY, NYPD) and schools.
C - Critical Routes: These routes are comprised of highways (main beds, entrances, exits interchanges), arterial roadways, main travel thoroughfares (single lane and multi-lane), bus routes, that contain emergency services & first responder facilities (Hospitals, EMS, FDNY, NYPD) and schools.
S - Sector Routes: Designed to encompass all streets that are not classified as Critical Streets and are wide enough to accommodate a full size DSNY collection truck with a plow attached.
H - Haulster Routes: Designed to service dead ends and streets that cannot be serviced with a collection truck or salt spreader with a plow attached due to narrow street width or tight turning radius (either entering or exiting the street).
Important Note: The old code values (i.e. prior to Version 16.4) are no longer in use. They were P (Primary), S (Secondary) and T (Tertiary)If a user application checks for specific Snow Priority Values, the application will need to be updated
It is also important to note that the new Snow Priority values provided to DCP were for roadbed geography only. Snow Priority values will not be returned for generic geography, unless requested for a future release by DSNY.
- -

DYNAMIC BOCK - See ATOMIC POLYGON

-

E

-

s - - - - - - - - - - - - - - - - - - - - - - - -
ELECTION DISTRICT (ED)
Field Names:LEFT ELECTION DISTRICT
RIGHT ELECTION DISTRICT
Function:1E, 3 (COW only), 3C (COW only), 1B (COW only)
Work Area Format:MSW and COW
Length and Format:3 bytes
Description:A set of districts defined by the NYC Board of Elections to conduct elections. There are approximately 6,000 Election Districts (EDs) in NYC. Each ED is numbered uniquely within its Assembly District. All of NYC’s higher-level political districts, namely Assembly Districts, City Council Districts, Municipal Court Districts, Congressional Districts and State Senatorial Districts, are defined as aggregates of Eds.

-

EXPANDED FORMAT FLAG - See CROSS STREET NAMES FLAG -EXTENDED MODE SWITCH - See MODE SWTICH

-

F

- - - - - - - - - - - - - - - - - - - - -
FACE CODE
Functions: 1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:4 bytes. Numeric
Description:A Face Code is assigned to each linear geographic feature represented in the LION file. These consist of streets and certain non-street features, such as census boundaries, shorelines and railroad tracks. Face Codes serve as part of LION keys, which identify a unique LION record. Face Code values are assigned uniquely within borough.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FEATURE TYPE CODE
Functions: 1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Identifies the type of geographic feature represented by the work area
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
blankPublic street that exists physically, other than a type ‘W’ feature (see below)
‘1'Railroad
‘2'Shoreline
‘3'Census block boundary without physical existence
‘4'Other non-street feature
‘5'‘Paper street’, i.e., a public street that is legally ‘mapped’ but does not exist physically
‘6'‘Private street that exists physically
‘7'Physically nonexistent district boundary, other than a type ‘3’ feature (see above)
‘8'Physical Boundary such as a cemetery wall
‘9'Paper street’ that coincides with a non-physical boundary such as a Census block
‘C'CCO (Corporation Council Opinion). Street dedicated for public use (See Glossary)
‘W'Path, non-vehicular, addressable
-
Note: As of Release 16D, Physical Boundaries, such as cemetery walls, will no longer appear as cross streets in Functions 1/1E, 1B, 2, 3 and 3C
- - - - - - - - - - - - - - - - - - - - - - -
FIRE BATTALION
Functions:1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:An administrative fire district composed of Fire Companies/
- - - - - - - - - - - - - - - - - - - - - -
FIRE COMPANY NUMBER
Functions:1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:3 bytes. Numeric RJZF
Description:The smallest kind of administrative fire district defined by the NYC Fire Department. There are three types, indicated by the Fire Company Type: engine companies, Squad and ladder companies.
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FIRE COMPANY NUMBER
Functions:1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Fire companies are characterized by the type of apparatus they use to fight fires.
- - - - - - - - - - - - - - - - - -
Code - Meaning -
‘E’Engine Company
‘L’Ladder Company
‘Q’Fire Squad
Note: ‘Q’ may appear as ‘SQ’ on GOAT screens
-
- - - - - - - - - - - - - - - - - - - - - - -
FIRE DIVISION
Functions: 1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:An administrative fire district composed of Fire Battalions.
- -

FROM NODE - See NODE NUMBER

-

FROM NODE ID - See NODE NUMBER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FUNCTION 1A/BL VERSION FLAG
Functions:1A, BL
Work Area Format:MSW and COW
Work Area Format:MSW and COW
Length and Format:1 byte
Length and Format:CodeMeaning
Description: - - - - - - - - - - - - - - - - - -
Code - Meaning -
‘S’Standard version - Required for MSW
‘L’Invalid - No Longer Supported
BlankCOW: Standard version
MSW: Invalid
-
- -

G

- - - - - - - - - - - - - - - - - - - - -
GAP FLAG
Functions:3S
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
‘E’Engine Company
‘L’Ladder Company
‘Q’Fire Squad
Note: ‘Q’ may appear as ‘SQ’ on GOAT screens
-
- - - - - - - - - - - - - - - - - - -
1, 1E, 2, 3 (MSW: Long WA2), 3 (COW), 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:An administrative fire district composed of Fire Battalions.
- -

FROM NODE - See NODE NUMBER

-

FROM NODE ID - See NODE NUMBER

- - - - - - - - - - - - - - - - - - - - - -
FUNCTION 1A/BL VERSION FLAG
Function:1A, BL
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - - - - - -
Code - Meaning -
‘S’Standard version - Required for MSW
‘L’Invalid - No Longer Supported
BlankCOW: Standard version
MSW: Invalid
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
GAP FLAG
Functions:3S
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - - - - - - - - - - - - - -
Code Value - Meaning -
BlankNo gap, i.e., the ‘on’ street connects this intersection with its predecessor in list. The gap flag in the 1st entry in the list is always blank.
‘G’A gap exists along the ‘on’ street between this intersection and its predecessor
‘C’Real Streets Only have been requested, resulting in segment lengths being ‘Combined’ and one or more nodes being omitted between this intersection and its predecessor in the list (COW Only).
‘D’A dog-leg type gap exists along the ‘on’ street between this intersection and its predecessor
‘N’A new stretch exists.
-
For more information on the types of ‘gaps’ that can be returned by Function 3S, see Chapter VII.6
- - - - - - - - - - - - - - - - - - - - - - - - - -
GENERATED RECORD FLAG
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte/td> -
Description:This flag indicates that the geography defined by the input ‘on’ street and two cross streets is not a conventional street segment.  There are several cases: a segment one of whose cross-features is a pseudo-street name (codes C, D); a street stretch formed by consolidating more than one consecutive LION segment (codes B, L, M, R, S and T); or a segment that is part of such a street stretch (types F, G). If the input data simultaneously satisfy the criteria for a Generated Record Flag value of C or D and for some other value, the flag contains the value other than C or D.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
‘B’Record has been generated by consolidating several LION segments to represent a stretch of a street where there is a node that is not at an intersection, such as a bending point (or a consecutive sequence of such nodes).
‘C’Record generated because one or both nodes of segment lie on the City Limit (Bronx-Westchester or Queens-Nassau border), but segment itself lies entirely within the City. The cross street list for a node on the City Limit contains the special street code assigned to the pseudo-street name CITY LIMIT in the Bronx or Queens, as appropriate.
‘D’Record has been generated for a dead end segment, i.e. a segment at least one of whose nodes either has no other segments incident at it, or has segments of non-street features only. The cross street list at such a node contains only the special street code assigned to the pseudo-street name DEAD END in the given borough.
‘F’Record represents a segment that is part of a street stretch that either contains a bending point at which there are no cross streets, or the left side of which is the long blockface of a T-intersection or a consecutive sequence of T-intersections.
‘G’Record represents a segment that is part of a street stretch, that either contains a bending point at which there are no cross streets, or the right side of which is the long blockface of a T-intersection or a consecutive sequence of T-intersections.
‘L’Record has been generated to represent the long blockface on the left side of a T-intersection.
‘M’Record has been generated by consolidating two or more LION segments to represent a stretch of a street containing a node or a consecutive sequence of nodes at which the ‘on’ feature intersects with no streets but intersects with more than one type of non-street feature.
‘R’Record has been generated to represent the long blockface on the right side of a T-intersection.
‘S’Record has been generated by consolidating two or more LION segments to represent a stretch of a street containing a node or a consecutive sequence of nodes at which the ‘on’ feature intersects with no streets but intersects with one or more shorelines.
‘T’Record has been generated by consolidating two or more LION segments to represent a stretch of a street containing a node or a consecutive sequence of nodes at which the ‘on’ feature intersects with no streets but intersects with one or more train tracks.
-
- -

H

- - - - - - - - - - - - - - - - - - - - -
HEALTH AREA
Functions:1, 1E, 2, 3, 3C, 1B
Work Area Format:MSW and COW
Length and Format:4 bytes
Description:Districts defined by the NYC Department of Health and used to report statistics on births, deaths, communicable diseases etc. Health Areas are aggregates of Census Tracts.
- - - - - - - - - - - - - - - - - - - - - - -
HEALTH CENTER DISTRICT
Functions:1, 1E, 2 (COW only), 3 Extended, 3C Extended
Work Area Format:MSW and COW
Work Area Format:2 bytes
Description:Districts defined by the NYC Department of Health for administrative purposes. Health Center Districts are aggregates of Health Areas.
- -

HEZ - See HURRICANE EVACUATION ZONE

-

HIGH HOUSE NUMBER - See HOUSE NUMBER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HOUSE NUMBER a.k.a. ADDRESS NUMBER
Field Names:HOUSE NUMBER (WA1 input field, Functions 1, 1A, 1B, 1E,AP);
NORMALIZED HOUSE NUMBER (WA1 output field, Functions 1, 1A, 1B, 1E, AP);
LOW HOUSE NUMBER
HIGH HOUSE NUMBER (WA2 output fields, Functions 1, 1A, 1B, 1E, 3C,AP);
LEFT LOW HOUSE NUMBER,
LEFT HIGH HOUSE NUMBER,
RIGHT LOW HOUSE NUMBER,
RIGHT HIGH HOUSE NUMBER (WA2 output fields, Function 3)
ALTERNATE LOW HOUSE NUMBER,
ALTERNATE HIGH HOUSE NUMBER (WA2 output fields, Function 3C)
UNDERLYING HOUSE NUMBER FOR VANITY ADDRESSES (WA2, 1 and - 1E-MSW: Long WA2, 1, 1B, and 1EE-COW, AP? )
Functions:1, 1A, 1E, 3, 3C, 1B COW only)
Work Area Format:MSW and COW
Length and Format:See Chapter V.2.
Description:If the field name indicates the house number is normalized, for MSW it is in HNI format, and for COW it is in HNS format; otherwise, it is in HND format (see Chapter V.2).
- - - - - - - - - - - - - - - - - - - - - - - - - - -
HOUSE NUMBER JUSTIFICATION FLAG
Functions:1, 1E, 1A, D, DG, DN, 1B?
Work Area Format:COW
Length and Format1 byte
Description:Indicates whether the HOUSE NUMBERS IN DISPLAY format (HNDs) in the output area should be left-justified or right-justified.
- - - - - - - - - - - - - -
Code Value - Meaning -
‘L’ or BlankLeft-justify Normalized House Numbers (default)
‘R’Right-justify Normalized House Numbers
-
- - - - - - - - - - - - - - - - - - - - - - - -
HOUSE NUMBER NORMALIZATION LENGTH
Functions:1, 1E, 1A, 1B, D, DG, DN
Work Area Format:COW
Length and Format:2 bytes, numeric
Description:Indicates the length requested for the HOUSE NUMBERS IN DISPLAY format (HNDs) in the output area. Valid values are between 12 and 16. If the field is left blank, the default is 12. For more information, see Chapter V.2.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HURRICANE EVACUATION ZONE (HEZ)
Function:1/1E, 1/1E Extended, 1B
Work Area Format:COW
Length and Format:2 bytes, numeric, LJBF
Description:Information used by Emergency Management (previously known as Office of Emergency Management (OEM)) in emergency situations.
New York City’s hurricane contingency plans are based on six evacuation zones: 1, 2, 3, 4, 5, 6.  The value of 0 represents water polygons and the value of X indicates land that is not part of an evacuation zone.
- - - - - - - - - - - - - - - - - -
ValueDescription
0Coastal Water polygon
1-6Hurricane Evacuation Zone designation
XLand not part of an evacuation zone
-
Additional information may be found at http://www1.nyc.gov/site/em/ready/hurricane-evacuation.page
- -

I

-

INSTRUCTIONAL DIVISION - See INSTRUCTIONAL REGION

-

INTERIM ASSISTANCE ELIGIBILITY INDICATOR (IAEI) - a.k.a. CD Eligibility Flag

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
INTERIM ASSISTANCE ELIGIBILITY INDICATOR (IAEI) - a.k.a. CD Eligibility Flag
Functions:1, 1E, 2 (COW only), 3, 3C, 1B
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Indicates whether the input location is in a census tract that is eligible for Community Development Block Grant (CDBG) funding. A census tract is eligible for CDBG funding if at least 51.00% of the residents are low- and moderate-income persons (less than 80% of the Median Family Income) and 50% of its total floor area must be comprised of residential usage. All other census tracts are ineligible.
Note the new residential criteria mentioned above. In Release 16D, the ‘CD Eligibility’ values were updated to reflect the new criteria. The new values, recalculated by the Economic Development Corporation (EDC) and supplied to the Department of City Planning (DCP) by the New York City Office of Management and Budget (OMB), were revised to reflect new residential floor area data made available in DCP’s PLUTO data (16v1)
- - - - - - - - - - - - - - - - - -
Code ValueMeaning
‘E’Input location is in a CD-eligible census tract
‘I’Location is not in a CD-eligible census tract
BlankLocation is in a census tract, the CD-eligibility status of which is unknown to the Geosupport System.(Note: This is an error condition and should be reported).
-
- -

INTERSECTING STREETS - See LIST OF INTERSECTING STREETS

- - - - - - - - - - - - - - - - - - - - - -
INTERSECTION REPLICATION COUNTER
Functions:2
Work Area Format:MSW and COW
Length and Format:1 byte, numeric
Description:The Intersection Replication Counter is non-blank only if the two streets intersect more than once, in which case this field contains the number of such intersections.
- - - - - - - - - - - - - - - - - - - - - - -
INTERIOR LOT FLAG
Functions:1A, BL, BN
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - -
Code ValueMeaning
‘I’Tax lot is interior to physical block, i.e., it has no street frontages.
BlankTax lot has at least one street frontage
-
- -

INTERNAL LABEL POINT - See SPATIAL COORDINATES OF THE TAX LOT CENTROID

- - - - - - - - - - - - - - - - - - - - - -
IRREGULARLY-SHAPED LOT FLAG
Functions:1A, BL, BN
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - -
Code ValueMeaning
‘I’Tax lot is irregularly-shaped, i.e., non-rectangular
BlankTax lot is rectangular
-
- -

JOINT INTEREST AREA (JIA) - See COMMUNITY DISTRICT

-

L

- - - - - - - - - - - - - - - - - - - - - - - - -
LATITUDE, LONGITUDE
Functions:1/1E Extended, all variations of 1A/BL/BN (viz. Regular, Long and Extended), 1B, 2W, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:Latitude: 9 bytes
Longitude: 11 bytes
Description:Spatial coordinates based on the lines of latitude and longitude.  Lines of latitude measure the north-south position between the poles with the equator defined as 0 degrees. Lines of longitude (or meridians) measure the east-west position, with the prime meridian running through Greenwich, England.  For NYC, Latitude is always positive and Longitude is always negative. 
The latitude and longitude of a location are calculated based on the spatial coordinates (x,y) returned for that location. As a result, the latitude and longitude returned by the Address Processing functions (e.g. 1/1E Extended) will be somewhat different from the values returned by Tax Lot and Building processing functions (e.g. 1A/BL/BN). See also SPATIAL COORDINATES and SPATIAL COORDINATES OF THE TAX LOT CENTROID.
- -

LEFT 1990 CENSUS TRACT - See CENSUS TRACT. -LEFT 2000 CENSUS BLOCK - See CENSUS BLOCK. -LEFT 2000 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX -LEFT 2000 CENSUS TRACT - See CENSUS TRACT. -LEFT 2010 CENSUS BLOCK - See CENSUS BLOCK. -LEFT 2010 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX. -LEFT 2010 CENSUS TRACT - See CENSUS TRACT. -LEFT ASSEMBLY DISTRICT - See ASSEMBLY DISTRICT. -LEFT BLOCKFACE ID - See BLOCKFACE ID. -LEFT ELECTION DISTRICT - See ELECTION DISTRICT

- - - - - - - - - - - - - - - - - - - - - -
LENGTH IN FEET FROM PREVIOUS NODE
Functions:3S
Work Area Format:MSW and COW
Length and Format:MSW: 3 bytes packed; COW: 5 bytes numeric RJZF
Description:The length between two nodes.
- -

LGI - See LIST OF GEOGRAPHIC IDENTIFIERS

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LION KEY
Functions:1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:10 bytes. Numeric
Description:The LION Key identifies a record in the CSCL file and relates to predecessor file known as LION. It consists of:
BOROUGH CODE ( 1 byte)
FACE CODE (4 bytes)
SEQUENCE NUMBER (5 bytes)
- -

LION NODE - See NODE NUMBER -LION NODE ID - See NODE NUMBER -LION NODE NUMBER - See NODE NUMBER -LION SEGMENT ID See SEGMENT ID -LION SEQUENCE NUMBER - See SEQUENCE NUMBER -LIST OF ADDRESS RANGES - See LIST OF GEOGRAPHIC IDENTIFIERS

- - - - - - - - - - - - - - - - - - - - - -
LIST OF BUILDINGS ON TAX LOT
Functions:1A and BL - Long WA2 only
Work Area Format:MSW and COW
Length and Format:17,500 bytes, consisting of 2,500 slots for 7-byte BINs
Description:List of the BUILDING IDENTIFICATION NUMBER (BIN) of each building on the tax lot. See Chapter VI.6.
- - - - - - - - - - - - - - - - - - - - - - -
LIST OF BUILDINGS ON TAX LOT
Functions:1A and BL - Long WA2 only
Work Area Format:MSW and COW
Length and Format:17,500 bytes, consisting of 2,500 slots for 7-byte BINs
Description:List of the BUILDING IDENTIFICATION NUMBER (BIN) of each building on the tax lot. See Chapter VI.6.
- - - - - - - - - - - - - - - - - - - - - - -
LIST OF CROSS STREET CODES
Functions:3S
Work Area Format:MSW and COW
Length and Format:MSW: 8 bytes, packed decimal, consisting of 2 slots for intersecting PB5SCs. -COW: 40 bytes, numeric, consisting of 5 slots for intersecting B7SCs.
Description:MSW: For each intersecting street, in general, this is the lowest and second lowest PB5SCs for the cross streets, as described below in COW. -COW: For each intersecting street, this is a list of up to five B7SCs, starting, in general (see Note below), with the lowest B7SC, followed by the next lowest, followed by the remaining B7SCs in ascending order.
The purpose of the ordering of the first two street codes is to facilitate the ability of users to form consistent keys for geographic retrieval of application data. -
Note 1: In order to provide the user with the most meaningful information, ‘normal’ streets will be listed first, followed by ‘special’ streets, such as Ramps and Exits. Railroads, Shorelines and Borough Boundaries will appear next, followed by Named Intersections, CITY LIMITs, DEAD ENDs and BENDs. This will occur even if the ‘special’ streets have lower street codes than the ‘normal’. -
Note 2: To avoid unnecessary listing of BENDs, Function 3S lists a BEND only if the angle of the bend is 60 degrees or more. (Prior to Release 16D, a bend was listed if the angle was 20 degrees or more.) Also, a bend is not included in the list of cross streets when another real street intersects there as well. -
Note 3: Since Function 3S returns B7SCs, it is now possible for two streets to have the same B5SCs and different B7SCs, e.g. in Brooklyn, at the intersection of Clinton Street with Livingston Street and Aitken Place, Livingston Street and Aitken Place have the same B5SC (3-56530) but different B7SCs (3-56530-01 and 3-56530-02 respectively).
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LIST OF CROSS STREETS
Field Names:LIST OF CROSS STREETS AT LOW ADDRESS END
LIST OF CROSS STREETS AT HIGH ADDRESS END
Functions:1/1E Regular, 1/1E Extended (COW), 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:- MSW: 20 bytes, consisting of slots for up to five 4-byte PB5SCs. ‘Empty’ slots contain packed zeros.
• COW (Regular): 30 bytes, consisting of slots for up to five 6-byte B5SCs. ‘Empty’ slots contain either numeric zeros or blanks.
• COW (1/1E Extended): 40 bytes, consisting of slots for up to five 8-byte B7SCs. ‘Empty’ slots contain either numeric zeros or blanks. This list is in addition to the B5SC (30 bytes) list.
Description:A list of PB5SCs for MSW and B5SCs (and B7SCs) for COW (and COW 1/1E Extended), for up to five streets incident upon a delimiting node (endpoint) of a blockface or street segment. The number of non-empty list entries is returned in the corresponding WA2 field NUMBER OF CROSS STREETS AT (LOW or HIGH) ADDRESS END. It is possible for the list to be entirely empty. If the node lies on a borough boundary, the list may contain streets from both boroughs. Subject to the space limitation, the list may include the pseudo-streets ‘City Limit’, ‘Dead End’ and ‘Bend’. The inclusion of ‘Bend’ in the list indicates that the node is a bending point of the ‘on’ street, not that it is a bending point of a cross street (although that may also be true). The purpose of the ordering of the first two street codes is to facilitate the ability of users to form consistent keys for geographic retrieval of application data.
Special handling has been given to Railroads, Shorelines, Coincident Streets and streets where two street names having different B5SCs are both valid (a.k.a. Special Address ‘Type B’ situation)
Note: As a result of this special handling, the first one or two street codes in the lists of intersecting streets may not always be the lowest two street codes. For example a railroad or shoreline would now be put last in the list, even if they have lower street codes than the other intersecting streets.
Some examples follow:
- Consider the situation of coincident street features, e.g. 3rd Avenue and Gowanus Expressway in Brooklyn. The Gowanus Expressway is above 3rd Avenue between approximately 18th Street and 65th Street. -
    -
  • If a user issues a Function 3 call requesting information about the segment of 3rd Avenue between 19th and 20th Streets, Geosupport will recognize that 3rd Avenue and the Gowanus Expressway are coincident streets and will not return Gowanus Expressway as an intersecting street. Please note that Geosupport will also accept as input Gowanus Expressway between 19th and 20th Streets. With this input, 3rd Avenue will not be listed as a cross street at either end.
  • -
  • If a user issues a Function 3S call, requesting the stretch on 3rd Avenue between 40th Street and 50th Street, Geosupport will recognize that 3rd Avenue and Gowanus Expressway are coincident streets and will not list them as intersecting.
  • -
-
- Consider the situation where a railroad is determined to be one of the cross streets. An example exists in Queens at Kneeland Street between Queens Boulevard and Dead End. -
  • A Function 3 call will return QUEENS BOULEVARD and LONG ISLAND RAILROAD as cross streets at the low end. Even though the Long Island Railroad has a numerically smaller street code than Queens Boulevard, it is listed after Queens Boulevard.
-
- Consider the situation where two street names, with different street codes, are valid for the same blockface. An example exists in Queens where 207th Street and Clearview Expressway are both valid between 39th Avenue and Boyce Avenue. -
  • o A Function 3 call will be accepted with either street name (viz. 207th Street or Clearview Expressway) as the on-street.
- -

LIST OF CROSS STREETS AT HIGH ADDRESS END - See LIST OF CROSS STREETS

-

LIST OF CROSS STREETS AT LOW ADDRESS END - See LIST OF CROSS STREETS

- - - - - - - - - - - - - - - - - - - - - - - - -
LIST OF GEOGRAPHIC IDENTIFIERS (LGI)
Functions:1A and BL - regular WA2, BN
Work Area Format:MSW and COW
Length and Format:756 bytes total, consisting of space for 21 36-byte entries, each entry having fields for the following data items:/td> -
Low House Number of Address Range
- High House Number of Address Range
- B5SC
- DCP-Preferred LGC
- BIN
- Entry Type Code
- Side of Street Indicator.
Description:The List of Geographic Identifiers (LGI) is intended to provide a comprehensive geographic profile of a tax lot by listing, so far as the information is known and space allows, all of the lot’s buildings; all of the street addresses and non-addressable street frontages of each building; all of the lot’s ‘vacant frontages’ (i.e., street frontages of the lot not associated with buildings); and any NAPs associated with the lot. The LGI contains space for up to 21 entries. The number of non-empty entries is indicated in the WA2 field NUMBER OF GEOGRAPHIC IDENTIFIERS. The types of entries that the LGI can contain are as follows:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
List of Geographic Identifiers - Possible Entry Types
Entry Type CodeRepresentsDescription
BlankAddress rangeA real address range of a building on a given tax lot. There are values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. A single address is represented as an address range in which the low and high house numbers are identical.
BNAUBA Non-Addressable Un-named Building (NAUB) (see Chapter VI.3). The Low and High House Number and Side of Street Indicator fields are blank. The B5SC and DCP-Preferred LGC fields usually contain the street code and LGC, correspondingly, of the street nearest to or most accessible to the NAUB, but they may be blank. The BIN field contains a meaningful value. Note: If the NAUB has frontages on more than one street, there are multiple type B entries to represent all of the NAUB’s street frontages.
FVacant Street
Frontage
A street frontage of the tax lot at which there are no buildings (including NAUBs) and to which no pseudo-addresses have been assigned. The Low and High House Number, BIN and Side of Street Indicator fields are empty. There are values in the B5SC and DCP-Preferred LGC fields.
GNAP of a
Complex
A Non-Addressable Place name (NAP) of a complex of buildings and/or other geographic features, usually on a large site or superblock (see Chapter III.6). The house number and BIN fields are empty. The B5SC, DCP-Preferred LGC, and Side of Street Indicator fields contain the values of these items assigned to the NAP.
NNAP of aA NAP of a building or other geographic feature that is not part of Simplex a complex (see Chapter III.6). The house number fields are empty. The B5SC, DCP-Preferred LGC, and Side of Street Indicator fields contain the values of these items assigned to the given NAP. The BIN field is non-empty only if the NAP represents a building.
QPseudo-Address RangeA pseudo-address range assigned to a vacant street frontage of the tax lot. There are values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC and Side of Street Indicator fields. A single address is represented as an address range in which the low and high house numbers are identical. The BIN field is empty
RReal Street of a
Vanity Address
Entry indicates the street and the side of that street on which the building entrance having a vanity address is really located and for which no other address for that building exists. For a discussion of vanity addresses, see Chapter V.9. In a type R entry, the Low and High House Number fields are empty, and there are non-empty values in the B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. Whenever the LGI contains a type R entry, it also contains a type V entry for the associated vanity address
VVanity AddressA vanity address or address range. For a detailed discussion of vanity addresses, see Chapter V.9. There are non-empty values in the Low House Number, High House Number, B5SC, DCP-Preferred LGC, Side of Street Indicator and BIN fields. A single address is represented as an address range in which the low and high house numbers are identical. Whenever the LGI contains a type V entry, it also contains an either an address range entry or a type R entry that indicates the street on which the associated building entrance is really located.
WBlank-Wall Bldg FrontageA building frontage along a street that is not associated with any addresses, such as some building facades with no entrances. The Low and High House Number and Side of Street Indicator fields are blank. There are values in the B5SC and DCP-Preferred LGC fields. The BIN field contains a meaningful value. Note: Type W entries exist only for buildings that also have at least one real address range entry. If a building has no real address ranges, the building is a NAUB, and its street frontages, if any, are represented by type B entries rather than type W entries.
XNAP of a Constituent Entity of a ComplexA NAP of a constituent entity of a complex. (The NAP of the entire complex is represented by a separate entry of type G.) The house number fields are empty. The B5SC, DCP-Preferred LGC and Side of Street Indicator fields contain the values of these items assigned to the NAP. The BIN field is non-empty only if the NAP represents a building.
- -

The combination of fields in an LGI entry that contain information depends on the entry type, as indicated in the following table:

-

List of Geographic Identifiers - Which Fields Contain Values By Entry Type

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Entry Type CodeEntry TypeLow & High House NumbersB5SCLGCSide of Street IndicatorBIN
blankReal Address Range
BNAUB(*)(*)
FVacant Street Frontage
GNAP of a complex
NNAP of a complex(\**)
QPseudo-Address Range
RReal Street of Vanity Address
VVanity Address
WBlank-Wall Building Façade
XNAP of a constituent entity of a complex(\**)
- -

(*) NAUB entries may or may not contain B5SC and LGC values. An entry for a NAUB contains a B5SC value and an LGC value only if the GSS staff has determined that the NAUB fronts on, is adjacent to or is principally accessible from a particular street.

-

(**) The BIN field is non-empty only if the NAP represents a building.

-

The LGI’s entries are ordered so that entries with non-empty BINs are listed first, grouped by BIN. Except for a special case (alternative borough for Marble Hill and Rikers Island - see Chapter V.7), if the input address is a real address, the first group of entries in the LGI are those for the BIN corresponding to the input address, and (except for alternative street records for Ruby Street - see Chapter V.8) the address range encompassing the input address is the very first entry in the LGI. After all the entries with non-empty BINs are listed, any entries with empty BINs, such as entries for pseudo-address ranges, are listed in no particular order as space allows. If the input address is a pseudo-address range, it may or may not appear in the LGI, depending on space and on the order in which the non-BIN entries happen to be listed.

-

LIST OF GEOGRAPHIC IDENTIFIERS OVERFLOW FLAG - See LGI OVERFLOW FLAG

- - - - - - - - - - - - - - - - - - - - - -
LIST OF INTERSECTING STREETS – See also LIST OF CROSS STREETS
Function:2
Work Area Format:MSW and COW
Length and Format:MSW: 20 bytes, consisting of slots for up to five 4-byte PB5SCs. ‘Empty’ slots contain packed zeros. - COW: 30 bytes, consisting of slots for up to five 6-byte B5SCs. ‘Empty’ slots contain numeric zeros or blanks.
Description:A list of PB5SCS for MSWs and B5SCs for COWs for up to five streets incident upon the intersection. The field NUMBER OF INTERSECTING STREETS contains the number of non-empty entries in the list. If the intersection lies on a borough boundary, the list may contain streets from both boroughs. Subject to the space limitation, the list may include the two input streets, and may include the pseudo-streets ‘City Limit’ and ‘Dead End’. The list never includes the pseudo-street ‘Bend’. The list always contains at least one entry (it contains precisely one entry in the case of a bending point of a street at which there are no other streets). The street codes of the input streets may, or may not, be included in the list (depending upon their numerical value.) - Note, special handling has been given to Railroads, Coincident Street Features, etc. As a result of this special handling, the first one or two street codes in the list of intersecting streets may not always be the lowest two street codes. See LIST OF CROSS STREETS for further description and examples of the special handling.
- - - - - - - - - - - - - - - - - - - - - - -
LIST OF SEGMENT IDS
Functions:3 and 3C
Work Area Format:COW
Length and Format:500 bytes, consisting of a count of segment ids and 70 slots for 7-byte Segment IDs
Description:This list is generated only if Auxiliary Segment Switch is set to ‘Y’. See Chapter VII.4 and Appendix13.
- - - - - - - - - - - - - - - - - - - - - - -
LIST OF STREET CODES
Functions:1*, 2, 3*, BB, BF
Work Area Format:COW
Length and Format:80 bytes, consisting of 10 fields for B7SCs
Description:List of borough and 7-byte street codes, corresponding to the LIST OF STREET NAMES. The number of street codes in the list is returned in the WA1 output field NUMBER OF STREET CODES AND STREET NAMES IN LIST.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LIST OF STREET NAMES (WA1 output field)
Functions:1*, 2, 3*, BB, BF
Work Area Format:MSW and COW
Length and Format:320 bytes, consisting of 10 fields for street names, each 32 bytes.
Description:This field is used by several Geosupport features (see below) to return a list of street names. The number of street names in the list is returned in the WA1 output field NUMBER OF STREET NAMES IN LIST for MSWs, and in the WA1 output field NUMBER OF STREET CODES AND STREET NAMES IN LIST for COWs.
The similar names feature uses the List of Street Names to return up to ten street names deemed ‘similar’ to a rejected input street name (see Chapter III.5).
The browse functions, Functions BB and BF, use the List of Street Names to return up to ten normalized street names in alphabetical order as part of a street name browse (see Chapter III.7).
The local street name validation feature uses the List of Street Names to return up to four locally valid alias street names corresponding to a street name rejected as locally invalid (see Chapter IV.5).
The cross street names feature (see CROSS STREET NAMES FLAG) uses the List of Street Names to return street names corresponding to the street codes in the LIST OF CROSS STREETS (Functions 1, 1E, 3 and 3C) or the LIST OF INTERSECTING STREETS (Function 2).
In the case of Functions 1, 1E, 3 and 3C, the first five 32-byte street name fields in the List of Street Names are used for the street names corresponding to the street codes in the LIST OF CROSS STREETS AT LOW ADDRESS END; the second five 32-byte street name fields in the List of Street Names are used for the street names corresponding to the street codes in the LIST OF CROSS STREETS AT HIGH ADDRESS END. The actual number of street names is found in Work Area 2 in the fields which provide the number of cross streets at each end of the street segment.
In the case of Function 2, the first five 32-byte street name fields in the List of Street Names are used for the street names corresponding to the street codes in the LIST OF INTERSECTING STREETS. The actual number of street names is found in Work Area 2 in the field which provides the number of intersecting streets at the specified intersection.
- - - - - - - - - - - - - - - - - - - - - - - - - - -
LOCATIONAL STATUS OF SEGMENT
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Indicates locational status of segment per codes below.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
‘H’Segment internal to a block, but not a Dead End (A Land Hook)
‘I’Dead End Segment
‘X’Tract Boundary Segment (other than borough boundary)
‘1'Segment bordering Manhattan
‘2'Segment bordering Bronx
‘3'Segment bordering Brooklyn
‘4'Segment bordering Queens
‘5'Segment bordering Staten Island
‘9'Segment bordering City Limits
-
- -

LONGITUDE - See LATITUDE

-

LOW HOUSE NUMBER - See HOUSE NUMBER

-

MARBLE HILL/RIKERS ISLAND FLAG - See ALTERNATIVE BOROUGH FLAG

-

M

- - - - - - - - - - - - - - - - - - - - - - - - -
MODE SWITCH
Functions:1, 1E, 1A, 3, 3C, BL, BN
Work Area Format:COW Only
Length and Format:1 byte
Description:Indicates request for Extended Work Area 2 for the supported functions. These extended work areas contain street names in addition to Street Codes. Users no longer have to make separate D, DG, or DN calls to get the street names. In addition, CSCL data is returned in the extended Work Area 2. See [Appendix 13](/appendices/appendix13/) for the Work Area layouts. Also, see Chapter II.7.
- - - - - - - - - - - - - -
Code - Meaning -
‘X’Extended information in Extended WA2 requested
BlankExtended information not requested (default)
-
- -

N

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NEIGHBORHOOD TABULATION AREA (NTA) CODE
Field Names:NTA or NTA CODE
Functions:1, 1 Extended, 1E, 1E Extended, 1B, 3, 3 Extended, 3C, 3C Extended
Work Area Format:COW
Length and Format:4 bytes alphanumeric
Description:The Neighborhood Tabulation Areas (NTAs) are aggregations of census tracts that reflect the 2010 Census. The NTAs are assigned a 4-byte code and a 75-byte name. They are used by the Population Division of the Department of City Planning. See [Appendix 16](/appendices/appendix16/) for a description of the NTA’s history and significance.
The first two bytes of the NTA code are an alphabetic borough code as follows:
- - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Borough -
MNManhattan
BXBronx
BKBrooklyn
QNQueens
SIStaten Island
-
The remaining two bytes are numeric and uniquely define the NTA.
- -

NODE ID - See NODE NUMBER

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NODE NUMBER (a.k.a. NODE ID)
Field Names:FROM NODE
- FROM NODE ID
- TO NODE
- TO NODE ID
Functions:2, 3 (COW only), 3C (COW Only), 3S (COW Only), 1B (COW Only)
Work Area Format:MSW and COW
Length and Format:7 bytes. Numeric
Description:A node is an endpoint of a geographic feature segment represented in CSCL/LION. Most nodes are points where a feature bends or terminates or where two features intersect in CSCL/LION. Each node has a node ID assigned to it, which is unique in the entire city. Node ID assignments are permanent; if a node is deleted from CSCL, its node ID is retired and is never reassigned to a different node.
A Node ID may be used to identify an intersection or the end points of a segment. An end point node is often referred to as a From Node or a To Node.
- -

NORMALIZED HOUSE NUMBER - See HOUSE NUMBER

-

NTA - See NEIGHBORHOOD TABULATION AREA (NTA) CODE

-

NTA CODE - See NEIGHBORHOOD TABULATION AREA (NTA) CODE

- - - - - - - - - - - - - - - - - - - - - - - - - -
NTA NAME - See also NEIGHBORHOOD TABULATION AREA (NTA) CODE
Field Names:NTA NAME
Functions:1 Extended, 1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:75 bytes alphanumeric
Description:See NEIGHBORHOOD TABULATION AREA (NTA) CODE
- - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF BUILDINGS ON TAX LOT
Functions:1A, BL - long WA2 only
Work Area Format:MSW and COW
Length and Format:4 bytes numeric.
Description:Indicates the number of entries in the LIST OF BUILDINGS. Maximum value is 2,500
- - - - - - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF CROSS STREETS
Field Names:NUMBER OF CROSS STREETS AT LOW ADDRESS END,
- NUMBER OF CROSS STREETS AT HIGH ADDRESS END
Functions:1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:One byte, containing a numeric digit from 0 to 5.
Description:Indicates the number of non-empty entries in the corresponding LIST OF CROSS STREETS.
- -

NUMBER OF CROSS STREETS AT HIGH ADDRESS END - See NUMBER OF CROSS STREETS

-

NUMBER OF CROSS STREETS AT LOW ADDRESS END - See NUMBER OF CROSS STREETS

- - - - - - - - - - - - - - - - - - - - - -
NUMBER OF GEOGRAPHIC IDENTIFIERS
Functions:1A and BL - regular WA2 only, BN, AP
Work Area Format:MSW and COW
Length and Format:2 bytes for MSW; 4 bytes for COW
Description:Indicates the number of entries in the LIST OF GEOGRAPHIC IDENTIFIERS. For Function AP, the number is always ‘0001’
- - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF INTERSECTING STREETS
Functions:2
Work Area Format:MSW and COW
Length and Format:One byte, containing a numeric digit from 1 to 5.
Description:Indicates the number of non-empty entries in the LIST OF INTERSECTING STREETS.
- - - - - - - - - - - - - - - - - - - - - -
NUMBER OF PARKING LANES
Functions:1/1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:2 bytes, RJBF.
Description:The number of lanes in a carriageway (roadway) that are reserved for parking of vehicles. The number of parking lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC.
- - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF STREET CODES AND STREET NAMES IN LIST
Functions:1*, 2, 3*, BB, BF
Work Area Format:COW
Length and Format:2 bytes, Numeric
Description:Indicates the number of street names returned in the LIST OF STREET NAMES, corresponding to the number of street codes returned in the LIST OF STREET CODES..
- - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF STREET FRONTAGES OF LOT
Functions:1A, BL, BN
Work Area Format:MSW and COW
Length and Format:2 bytes, RJZF.
Description:Indicates the number of streets on which the given lot has at least one frontage.
- - - - - - - - - - - - - - - - - - - - - - -
NUMBER OF STREET NAMES IN LIST (WA1 output item)
Functions:1*, 2, 3*, BB, BF
Work Area Format:MSW
Length and Format:2 bytes, packed decimal
Description:Indicates the number of street names returned in the LIST OF STREET NAMES.
- - - - - - - - - - - - - - - - - - - - - -
NUMBER OF TOTAL LANES
Functions:1/1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:2 bytes, RJBF.
Description:The total number of lanes in a carriageway (roadway) including travel lanes and parking lanes. The total number of lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC.
- - - - - - - - - - - - - - - - - - - - - -
NUMBER OF TRAVEL LANES
Functions:1/1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:2 bytes, RJBF
Description:The number of lanes in a carriageway (roadway) that are designated for the movement of vehicles traveling from one destination to another. The number of travel lanes were determined by DoITT’s consultants working on the planimetric feature classes for NYC.
- -

P

-

PARKING LANES - See NUMBER OF PARKING LANES

-

PLATFORM INDICATOR - See WORK AREA FORMAT INDICATOR

- - - - - - - - - - - - - - - - - - - - - - - - - -
POLICE PATROL BOROUGH
Functions:1, 1X, 1E, 1EX, 2, 2W, 3, 3X, 3C, 3CX, 1B
Work Area Format:COW Only
Length and Format:2 bytes
Description:Police Patrol Boroughs are sub-borough geographic areas defined by the Police Department. They are composed of Police Precincts. - Since the Police Department is supporting the Police Patrol Borough field, it is recommended that it be used.. Geosupport still returns the 1-byte POLICE PATROL BOROUGH COMMAND field to support those existing applications that access it.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
MSManhattan South
MNManhattan North
BXBronx
BSBrooklyn South
BNBrooklyn North
QNQueens North
SIStaten Island
QSQueens South
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
POLICE PATROL BOROUGH COMMAND (See also POLICE PATROL BOROUGH)
Functions:1, 1E, 2, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:These are sub-borough geographic areas defined by the Police Department. They are composed of Police Precincts.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code - Meaning -
1Manhattan South
2Manhattan North
3Bronx
4Brooklyn South
5Brooklyn North
6Queens North
7Staten Island
8Queens South
-
- -

Note: It is recommended that you use the POLICE PATROL BOROUGH field (not the POLICE PATROL BOROUGH COMMAND field) since the Police Department is supporting the POLICE PATROL BOROUGH field.

- - - - - - - - - - - - - - - - - - - - - -
POLICE PRECINCT
Functions:1, 1E, 2, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:3 bytes. RJZF.
Description:Police Patrol Borough Commands are sub-divided into Police Precincts which are defined by the Police Department
- -

R

- - - - - - - - - - - - - - - - - - - - - - - -
REAL STREET ONLY FLAG
Functions:3S
Work Area Format:COW
Length and Format:1 byte. Alphabetic
Description:
- - - - - - - - - - - - - -
Code Value - Meaning -
BlankMeaning
RReal streets only (not Bends or Non-Street Features
-
- -

RIGHT 1990 CENSUS TRACT - See CENSUS TRACT. -RIGHT 2000 CENSUS BLOCK - See CENSUS BLOCK. -RIGHT 2000 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX. -RIGHT 2000 CENSUS TRACT - See CENSUS TRACT. -RIGHT 2010 CENSUS BLOCK - See CENSUS BLOCK. -RIGHT 2010 CENSUS BLOCK SUFFIX - See CENSUS BLOCK SUFFIX. -RIGHT 2010 CENSUS TRACT - See CENSUS TRACT. -RIGHT ASSEMBLY DISTRICT - See ASSEMBLY DISTRICT. -RIGHT BLOCKFACE ID - See BLOCKFACE ID. -RIGHT ELECTION DISTRICT - See ELECTION DISTRICT.

- - - - - - - - - - - - - - - - - - - - - - - - - -
ROADBED REQUEST SWITCH
Functions: 11, 1E, 3S, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Indicates request for Roadbed information for roads that are divided into two or more roadbeds. If Roadbed information is requested for a street that is not divided, Geosupport returns the generic information. For functions 1 and 1E, the Segment Type Code will indicate the type of information that is being returned. For more information on function 3S see Chapter VII.6.
- - - - - - - - - - - - - -
Code - Meaning -
‘R’Roadbed information requested
BlankGeneric (non-roadbed) information requested (default)
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
RPAD BUILDING CLASSIFICATION CODE
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Length and Format:2 bytes
Description:This is a set of land use/building classification codes defined by the Real Property Assessment Division (RPAD) of the Department of Finance.  If a tax lot has more than one building or land use, RPAD assigns the building class code they deem to describe best the ‘principal’ building or the ‘predominant’ land use on the tax lot.  The values and meanings of this set of codes can be obtained from the Department of Finance.
- - - - - - - - - - - - - - - - - - - - - - -
RPAD CONDO IDENTIFICATION NUMBER
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:4 bytes
DescriptionThis is an identification number assigned by the Department of Finance to each condominium in the city. It identifies the condominium as a whole and not a specific condominium unit.
- - - - - - - - - - - - - - - - - - - - - - -
RPAD SELF-CHECK CODE (SCC) FOR BBL
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:For each BBL value, the Department of Finance has computed a Self-Check Code (SCC). This is a one-digit number computed from the BBL value using an algorithm chosen by DOF. The purpose of the SCC is to assist in validating key-entered BBLs. For more information on SCCs inquire to the information technology division of the Department of Finance.
- -

S

- - - - - - - - - - - - - - - - - - - - - - -
SANBORN VOLUME AND PAGE
Functions:1A, BL, BN, 2, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:The Volume field is 3 bytes (2-digit volume number + 1-digit character suffix). The Page field is 4 bytes (3-digit page number + 1-digit character suffix).
Description:The Sanborn Map Company maintains a 79 volume atlas of New York City geography that is widely used by New York city agencies. The atlases contain approximately 6000 maps covering all five boroughs
- - - - - - - - - - - - - - - - - - - - - - -
SANITATION BULK ITEMS PICKUP
Functions:1/1E, 1/1E Extended, 1B
Work Area Format:COW
Length and Format:5 bytes
Description:This field contains the schedule for the Department of Sanitation (DSNY) pilot program of scheduled Bulk Items Pickup. Release 16D includes the implementation of scheduled collection of disposed Bulk Items for specific locations across the City (previously, disposed bulk items were collected in these areas on regular refuse collection. - This field indicates which days of the week the Department of Sanitation will pick up recycling at the given address. - See SANITATION ORGANICS RECYCLING PICKUP for the codes.
- - - - - - - - - - - - - - - - - - - - - - -
SANITATION COLLECTION SCHEDULING SECTION AND SUBSECTION
Functions:1, 1E, 1B (COW only), 2 (COW only??)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:District Sections and Subsections defined by the Department of Sanitation for waste collection.
- - - - - - - - - - - - - - - - - - -
SANITATION DISTRICT
Work Area Format:MSW and COW
Length and Format:3 bytes. Numeric. The first byte is the Borough Code, and the second and third - bytes are the District Number.
Description:Districts defined by the Department of Sanitation for waste collection.
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SANITATION ORGANICS RECYCLING PICKUP
Functions:1, 1E, 1/1E Extended, 1B
Work Area Format:COW
Length and Format:5 bytes
Description:Indicates which days of the week the Department of Sanitation (DSNY) will pick up organics (compostable waste) recycling at the given address. Organics recycling is currently only available in pilot areas. In Release 16D, the pilot program was expanded to include more ‘Large Buildings (+10 units)’ (as defined by DSNY)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value - Description -
MMonday
TTuesday
WWednesday
THThursday
FFriday
SSaturday
E‘E’ is used in combination with a day of the week (as noted above) to indicate that collection occurs ‘every’ week on that day.
ZRecycling is collected privately
-
- - - - - - - - - - - - - - - - - - - - - - -
SANITATION RECYCLING PICKUP
Functions:1, 1E, 1B (COW only)??
Work Area Format:MSW and COW
Length and Format:3 bytes
Description:Indicates which days of the week the Department of Sanitation will pick up recycling at the given address. - See SANITATION ORGANICS RECYCLING PICKUP for the codes.
- - - - - - - - - - - - - - - - - - - - - - -
SANITATION REGULAR PICKUP
Functions:1, 1E, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:5 bytes
Description:Indicates which days of the week the Department of Sanitation will pick up non-recycling waste at the given address. - See SANITATION ORGANICS RECYCLING PICKUP for the codes.
- - - - - - - - - - - - - - - - - - - - - - -
SCHOOL DISTRICT (previously known as Community School District)
Functions:1, 1E, 2, 3, 3C, 1B (COW)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:School district code
- - - - - - - - - - - - - - - - - - - - - - -
SEGMENT AZIMUTH
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:3 bytes
Description:This item represents the direction in which the segment lies on the earth’s surface, expressed as an angle in degrees measured counterclockwise from due east.  The segment is considered to be pointing in the direction of increasing addresses, and the azimuth value can range from 0 to 359 degrees, inclusive. For example, a segment pointing due east has an azimuth of 0; one pointing due north has an azimuth of 90; one pointing due west has an azimuth of 180; one pointing halfway between due west and due south (i.e., pointing due southwest) has an azimuth of 225.
- - - - - - - - - - - - - - - - - - - - - - -
SEGMENT ID
Functions:1 and 1E (MSW: Long WA2 only), 1 and 1E (COW), 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:7 bytes. RJZF
Description:Identifies, uniquely within the entire city, a geographic feature segment represented in the CSCL/LION file.
- - - - - - - - - - - - - - - - - - - - - - -
SEGMENT LENGTH IN FEET
Functions:1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:MSW: Fns 1 and 1E - 5 bytes numeric, Fns 3 and 3C - 3 bytes packed decimal -COW: Fns 1, 1E, 3, 3C - 5 bytes numeric
Description:Except for curved segments (see Curve Flag), the Segment Length is computed from the Spatial Coordinates of the segment’s endpoints, as digitized in the LION file. For curved segments, the Segment Length is computed by summing the lengths of the small straight line segments that approximate the curve in the GIS version of LION; this is a more accurate approximation to the true arc length of the curve than would be the segment’s ‘secant length’, that is, the straight line distance between the curve’s extreme endpoints. In the case of Functions 3 and 3C, if the input data define a street stretch encompassing more than one segment (because of a T-intersection or bend), the Segment Length returned is the sum of the lengths of the constituent segments of the stretch. Similarly for Functions 1 and 1E, if the input lies on a segment that is generated from multiple segments, the Segment Length returned is the sum of the lengths of the constituent segments. In all cases, the Segment Length has a very approximate level of accuracy only, and should not be used in applications requiring high precision.
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SEGMENT ORIENTATION
Functions:3, 3C
Work Area Format:MSW and COW
Length and Format:1 byte character
Description:This item is a set of codes grouping the possible azimuth values of a segment into eight categories.  The categories are "approximately" due north, south, east and west, and the four quadrants of the rectangular coordinate system for segments that do not lie approximately due north, south, east or west.  "Approximately" as used here means "within 5 degrees".  In Manhattan, all orientation codes are defined with a 30‑degree clockwise shift (i.e., 30 is subtracted from the azimuth value) in order to conform to the conventional concept that the midtown streets and avenues lie due east‑west and due north‑south, respectively.  For example, "approximately due north" means "within 5 degrees of due north"; for the boroughs other than Manhattan, this corresponds to the range of azimuth values from 85 to 95; in Manhattan, the corresponding azimuth value range is 55 to 65. There is a ninth orientation category, with a code value of ‘U’, meaning Geosupport could not determine the segment’s orientation because of a problem with the segment’s Spatial Coordinates.  All occurrences of an orientation code of ‘U’ should be reported to Geographic Systems Section staff.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaningManhattanOther Boroughs
UOrientation is undefined
EApproximately due east325-3350-5 and 355-359
1First quadrant, i.e. northeasterly336-3596-84
and 0-54
NApproximately due north55-6585-95
2Second quadrant, i.e. northwesterly66-14496-174
WApproximately due west145-155175-185
3Third quadrant, i.e. southwesterly156-234186-264
SApproximately due south235-245265-275
4Fourth quadrant, i.e. southeasterly246-324276-354
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SEGMENT TYPE CODE
Functions:1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description:Indicates type of segment
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaning
‘U’Undivided
‘G’Generic
‘B’Both Generic and Roadbed
‘R’Roadbed
‘C’Connector
‘E’Exit/Entrance Ramp
‘T’Terminator
‘F’Faux segment (used when a street or ramp physically ends at a roadbed, but connectivity needs to be maintained with the generic segment.)
-
- - - - - - - - - - - - - - - - - - - - - - -
SEQUENCE NUMBER
Functions:1, 1E, 3, 3C, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:5 bytes
Description:Identifies a CSCL/LION record uniquely within Face Code. Generally,Sequence Numbers are assigned in the geographic order in which the corresponding segments occur along the geographic feature identified by the given face code. The Borough Code, Face Code and Sequence Number concatenated form the LION key, which serves as a unique identifier for one CSCL/LION record.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SIDE OF STREET INDICATOR
Functions:1, 1E, 1A - regular WA2, 3C
Work Area Format:MSW and COW
Length and Format:1 byte character
Description:This field indicates on which side of the street, left or right, the blockface containing the input address lies. Left and right are defined with respect to the direction of increasing addresses along the ‘on’ street.
- - - - - - - - - - - - - -
Code ValueMeaning
LBlock face is on left side of street with respect to direction of increasing address
RGeneric
-
- -

SNOW PRIORITY - See DSNY SNOW PRIORITY

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SPATIAL COORDINATES (See also SPATIAL COORDINATES OF TAX LOT CENTROID)
Functions:1, 1B (blockface information), 1E, 2, 3 Extended, 3C Extended, AP - (For Function 1A, BL, BN, 1B (property level information) see also SPATIAL - COORDINATES OF TAX LOT CENTROID)
Work Area Format:MSW and COW
Length and Format:Spatial coordinates consist of two fields, an X Coordinate and a Y Coordinate, -each 7 bytes RJZF.
Description:Spatial coordinates are a pair of numbers that specify a location on the earth’s surface. Geosupport returns spatial coordinates for an input address (Functions 1, 1B (blockface information), 1E, and AP), intersection (Function 2), and nodes at the end of a blockface (Functions 3 Extended and 3C Extended). Spatial coordinates are often used in conjunction with separate computer mapping and Geographic Information System (GIS) software to generate maps and for spatial analysis, although the Geosupport System does not itself provide users with such capabilities. Note: For Functions 1, 1B (blockface information) and 1E, the spatial coordinates that Geosupport returns are imprecise approximations of real-world locations, and are not appropriate for use in applications that require a high level of spatial accuracy.
Spatial coordinates are expressed various geodetic coordinate systems, of which latitude/longitude is a well-known example. The coordinate system that Geosupport uses is known as the State Plane Coordinate (SPC) system. The SPC system is based upon the fact that, in a small enough geographic area, the earth’s surface can be assumed to be flat without introducing a significant error. In the SPC system, each state of the U.S. is subdivided into zones small enough to model as planar areas. In each SPC zone, a Cartesian coordinate system is established, with the X and Y coordinate axes oriented due east and due north, respectively, and the origin selected to be a point well to the southwest of the entire zone. (The origin is so selected to insure that the X and Y coordinates of all points within the zone are positive values.) The SPC zone that New York City is in, and which Geosupport uses, is called the New York-Long Island zone, NAD 83. In the SPC system, one unit of X or Y represents one foot of distance on the ground.  A major advantage of the SPC system over other map projection systems is the ease of calculating the distance between two points.
In the case of Functions 1, 1B (blockface information) and 1E, if the street segment on which the input address lies is a straight line segment or an arc of a circle, Geosupport computes and returns output spatial coordinates using a complex algorithm, a detailed description of which is beyond the scope of this document. If, however, the input address lies on a irregularly curved geographic feature (see Curve Flag), Functions 1, 1B (blockface information), and 1E return blanks in the spatial coordinate fields.
Functions 1, 1B (blockface information), and 1E’s spatial coordinates algorithm produces a point position based on how the input address is prorated with respect to the administrative address range allocated to the entire blockface. In addition, the computed point is positioned slightly set off from the segment, on the side of the street where the input address is located. This offset is graphically desirable and also insures that the point will fall within the interiors of the proper political and administrative district boundary polygons for the given address. The computed point is a rough approximation to the location of the input address, intended to be used only for thematic mapping and other purposes that do not require a high level of spatial accuracy.
The spatial coordinates returned by Functions 1/1E/1B (blockface information) for NAPs and Vanity Addresses (see Chapter V.9) were an estimate calculated by Geosupport. As of Version 11.2, Geosupport will use the Citywide Street Centerline file (CSCL) X-Y Coordinates. The CSCL information guarantees that the X-Y coordinates fall within the actual location of the NAP or Vanity Address.
In the case of Function 2, the spatial coordinates returned are those of the LION node that corresponds to the input street intersection. Those coordinates represent an approximate center point of the intersection.
In the case of Function 3 Extended and Function 3C Extended, the spatial coordinates returned are those of the nodes at the end of the blockface. Those coordinates represent an approximate center point of the intersection.
In the case of Function AP, the spatial coordinates returned are those of the Address Point which is within 5 feet of the entrance(s) of the building.
In the case of Functions 1A, BL, BN, 1B (property level information),the spatial coordinates returned are those of the Tax Lot Centroid. See SPATIAL COORDINATES OF THE TAX LOT CENTROID
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SPATIAL COORDINATES OF THE TAX LOT CENTROID
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:Spatial coordinates consist of two fields, an X Coordinate and a Y Coordinate, - each 7 bytes RJZF.
Description:Note: Internal Label Points and Annotation Points are no longer used They are - replaced by Tax Lot Centroid.
The Tax Lot Centroid is created in ESRI’s ArcGIS software using the Department of Finance’s Digital Tax Map (DTM). The coordinates associated with the Tax Lot Centroid are guaranteed to be within the property, unlike the coordinates returned by either Function 1 or Function 1E, where the Spatial Coordinates are an approximation based in the address range of the particular street the address is on. In addition, the Function 1/1E Spatial Coordinates always fall in the street bed and not within a tax lot, and most likely will not be adjacent to the tax lot the address is in. Additionally, when using Function 1A, the same coordinates will be returned no matter which of a tax lot’s addresses is used as input. There are a few properties which do not have a Tax Lot Centroid; consequently, no coordinates will be returned for these properties.
See SPATIAL COORDINATES for a description of the coordinate system (SPC) used by Geosupport.
- - - - - - - - - - - - - - - - - - - - - - - - - - -
SPECIAL ADDRESS GENERATED RECORD FLAG (a.k.a. SAF FLAG or SPECIAL ADDRESS FLAG)
Functions:1, 1E, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte character
Description:A non-blank value in this flag indicates one of a variety of special addressing - situations.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaning
‘A’The address range returned in this work area is alternative to the address range that is stored in LION for this blockface. This case arises most commonly when the input address is an old (superseded) address on a blockface on which the buildings were re-numbered at some time in the past. For such an input address, the address range returned in this work area is the old address range, whereas the current address range is stored in LION. Another situation in which this flag is ‘A’ is when the given street segment has continuous parity address ranges on both sides of the street, such as when buildings are numbered consecutively around the arc of a cul-de-sac.
‘B’The input street name or five-digit street code is different from that stored in LION for this blockface. This case arises when two street names having different B5SCs are both valid along a street or portion of a street. These are situations in which treating the two street names as aliases would result in an address range overlap.
‘C’The input address pertains to Ruby Street, a street along the Brooklyn-Queens border that has a unique addressing situation. See ChapterV.8.
‘D’The input address involves a duplicate address situation. See Chapter V.6.
‘E’The input address is in one of the neighborhoods in which the name of the neighborhood can serve as an alternative street name for the streets in that neighborhood. Two Bronx neighborhoods, Edgewater Park and Harding Park, have this characteristic.
‘G’The input name or street code corresponds to a non-addressable place name of a complex. A complex is a geographic feature that contains constituent entities that are separately geographically identifiable. Typical examples of complexes include airports, housing projects and university and hospital campuses. See Chapter III.6.
‘N’The input name or street code corresponds to a non-addressable place name of a ‘stand-alone’ geographic feature (a geographic feature that is neither a complex nor a constituent entity of a complex). Typical examples are individual named buildings, such as Empire State Building, Shea Stadium, Carnegie Hall. See Chapter III.6.
‘O’The blockface contains out-of-sequence and/or opposite-parity addresses. An out-of-sequence address contains a house number that is out of sequence with those of the immediately adjacent buildings. An opposite-parity address contains a house number that is of the opposite parity to the predominant parity on the blockface. See Chapter V.10.
‘P’The input address contains an addressable place name. Example: 2 Penn Plaza. See Chapter III.6.
‘S’The input address contains a house number suffix and is either the first or last address on this blockface.
‘V’The input address is a ‘vanity address’, that is, an address in which the street name refers to a different street than the one on which the referenced building entrance is actually located. See Chapter V.9.
‘X’The input data specify a non-addressable place name of a constituent entity of a complex. Examples: AVERY FISHER HALL and NEW YORK STATE THEATER are names of constituent entities of the complex LINCOLN CENTER. See Chapter III.6
-
- - - - - - - - - - - - - - - - - - - - - - -
SPLIT ELECTION DISTRICT FLAG
Function:1E, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - -
Code ValueMeaning
‘S’Block face is split among two or more election districts
blankBlock face lies entirely within an election district
-
- - - - - - - - - - - - - - - - - - - - - -
STATE SENATORIAL DISTRICT
Function:1E, 1B (COW only), 2 (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes. Numeric.
Description:A district of the upper house of the New York State legislature. Consists of an aggregation of Election Districts/td> -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
STREET ATTRIBUTE INDICATOR (a.k.a. ATTRIBUTE BYTE)
Functions:WA1 output field - 1, 1A, 1B, 1E, 1N, AP, D, DG, DN
Work Area Format:MSW and COW
Length and Format:1 byte character
Description:Indicates certain characteristics of selected streets
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Code ValueMeaning
‘A’Address Place Name
‘B’Name of bridge
‘C’Building Improvement District (BID)
‘D’Duplicate Address Pseudo-Street Name (DAPS)
‘E’Input street is entirely in Edgewater Park (a Bronx neighborhood that has special addressing characteristics).
‘F’Input street is partly in Edgewater Park and partly outside of it.
‘G’NAP of a complex.
‘H’All house numbers on input street are hyphenated.
‘I’Intersection Name
‘J’Non-physical Boundary Feature
‘M’House numbers on input street are of mixed hyphenation, i.e., some are hyphenated and some are not.
‘N’Input street is a Non-Addressable Place Name (NAP)
‘O’Shore Line
‘P’Pseudo-street name
‘R’Rail Line
‘S’Front-Truncated Street Name
‘T’Tunnel
‘U’Misc. structure
‘X’NAP Of a Constituent Entity of a Complex
‘Z’Exit or Entrance Rampse
BlankNone of the above. In particular, all addresses on the input street are un-hyphenated
-
- - - - - - - - - - - - - - - - - - - - - - - - - - -
STREET NAME NORMALIZATION FORMAT FLAG
Functions:1, 1A, 1E, 1N, 2, 3, 3C, 3S, D, DG, DN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:1 byte.
Description:Specifies the format in which Geosupport is to return output normalized street names. The default is to return street names in the sort format.
- - - - - - - - - - - - - - - - - -
Code ValueMeaning
blankReturn normalized street names in the sort format
‘C’Return normalized street names in the compact format
‘S’Return normalized street names in the sort format
-
- - - - - - - - - - - - - - - - - - - - - - -
STREET NAME NORMALIZATION LENGTH LIMIT (SNL)
Functions:WA1 input item, Functions 1, 1A, 1E, 1N, 2, 3, 3C, 3S, D, DG, DN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes, blank or numeric, either LJBF or RJZF.
Description:Specifies the maximum length in bytes within which Geosupport is to normalize street names. The minimum and maximum permissible SNL values are 4 and 32. The default that is in effect if the application does not specify an SNL value is 32
- - - - - - - - - - - - - - - - - - - - - - -
STREET WIDTH
STREEET WIDTH MAXIMUM
Functions:1/1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:Street Width: 3 bytes, RJBF
Street Width Maximum, 3 bytes, RJBF
Description:The width, in feet, of the paved area of the street. -Street Width contains the width at the narrowest part of the street. -Street Width Maximum contains the width at the widest part of the street. -If the width is consistent along the street segment then both values are identical.
- -

T

- - - - - - - - - - - - - - - - - - - - -
TAX BLOCK
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:5 bytes
Description:See Chapter VI.2.
- - - - - - - - - - - - - - - - - - - - - - -
TAX LOT
Function:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:4 bytes
Description:See Chapter VI.2.
- -

TAX LOT CENTROID - See SPACIAL COORDINATES OF THE TAX LOT CENTROID

- - - - - - - - - - - - - - - - - - - - - -
TAX MAP SECTION
Function:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:The Department of Finance real property tax maps are organized into sections; each section is organized into volumes; and each volume consists of pages. Tax Map Section values are unique within borough
- - - - - - - - - - - - - - - - - - - - - - -
TAX MAP VOLUME
Functions:1A, BL, BN, 1B (COW only)
Work Area Format:MSW and COW
Length and Format:2 bytes
Description:See description at Tax Map Section. Tax Map Volume values are unique within Tax Map Section.
- -

TO NODE - See NODE NUMBER -TO NODE ID - See NODE NUMBER -TOTAL LANES - See NUMBER OF TOTAL LANES

- - - - - - - - - - - - - - - - - - - - - -
TRAFFIC DIRECTION
Functions:1/1E Extended, 1B, 3 Extended, 3C Extended
Work Area Format:COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - - - - - - - - - -
blankNon-street feature (or unknown if not a non-street feature)
AOne way street, traffic flows against the segment’s directionality, i.e., from the segment’s TO node to the FROM node
PPedestrian path, non-vehicular
TTwo‑way street
WOne way street, traffic flows with the segment’s directionality, i.e., from the FROM node to the TO node
-
- -

TRAVEL LANES - See NUMBER OF TRAVEL LANES

-

U

-

UNDERLYING B7SC OF TRUE STREET - See B7SC OF “TRUE” STREET

- - - - - - - - - - - - - - - - - - - - - - - - -
UNIT INFORMATION FIELDS
Field Names:UNIT INPUT
UNIT – SORT FORMAT
UNIT – TYPE
UNIT – IDENTIFIER
UNIT – DISPLAY FORMAT
Functions:1* (COW only)
Work Area Format:COW
Length and Format:See Chapter V.15 Unit Information Feature
Description:See Chapter V.15 Unit Information Feature
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
USPS PREFERRED CITY NAME
Functions:1/1E Extended, 1B
Work Area Format:COW
Length and Format:25 bytes
Description:The USPS (United States Postal Service) Preferred City Name (e.g. Astoria, Jackson Heights) is of particular importance for Queens addresses.
For Queens, the USPS Preferred City Name is based on the ZIP code associated with the input address. Unless there is a special ZIP code, the following holds true for the other boroughs. For Manhattan, the USPS Preferred City Name is New York.  For all the other boroughs, the USPS Preferred City Name is the borough name, viz. Bronx, Brooklyn, and Staten Island.
In the rare, and unexpected, instance where there is no city name available for a Queens location, then the city name will be set to a default of QUEENS and the following warning message will be issued: - GRC 01, Reason Code Y:
ZIP NOT IN CITY NAME TABLE. GENERIC CITY NAME RETURNED. NOTIFY DCP/GSS
- -

V

- - - - - - - - - - - - - - - - -
VACANT LOT FLAG
Work Area Format:MSW and COW
Length and Format:1 byte
Description: - - - - - - - - - - - - - -
Code ValueMeaning
‘V’Tax lot is currently vacant, i.e., it has no existing buildings
BlankTax lot has at least one existing building
-
- -

W

- - - - - - - - - - - - - - - - - - - - - - - - -
WORK AREA FORMAT INDICATOR
Functions:All
Work Area Format:MSW and COW
Length and Format:1 byte
Description:This indicator specifies which work area layouts are to be used in an API call. Note: This indicator is also known as the Platform Indicator.
- - - - - - - - - - - - - -
CodeMeaning
blankThe IBM mainframe specific work areas (MSWs) are used. The MSWs contain packed decimal fields. In general, these work areas are the ones described throughout this manual
‘C’The platform-independent work areas known as the Character-Only Work Areas (COWs) are used. These contain no packed decimal fields. For information on using COWs on the mainframe and the differences from the MSWs, see [Appendix 12](/appendices/appendix12/). For the work area layouts of the COWs, see [Appendix 13](/appendices/appendix13/).
-
- -

X

-

XY COORDINATES - see SPATIAL COORDINATES

-

X-Y COORDINATES - see SPATIAL COORDINATES

- - - - - - - - - - - - - - - - - - - - - - - - - -
ZIP CODE
Functions:1, 1A, 1E, 2, 3, 3C, 1B
Work Area Format:MSW and COW
Length and Format:5 bytes. Numeric
Description:U.S. Postal Service’s 5-digit ZIP code
ZIP code may also be used as input with functions 1, 1A, 1B, and 1E to identify the borough or Duplicate Address Pseudo-Street name (DAPS).
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix04/index.html b/site/appendices/appendix04/index.html deleted file mode 100644 index a20fd516..00000000 --- a/site/appendices/appendix04/index.html +++ /dev/null @@ -1,1749 +0,0 @@ - - - - - - - - - - - - Appendix 4: Geosupport Return Codes, Reason Codes And Messages - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 4: Geosupport Return Codes, Reason Codes And Messages
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 4: GEOSUPPORT RETURN CODES, REASON CODES AND MESSAGES

- -

This appendix consists of a table listing all of the Geosupport Return Codes (GRCs), Reason Codes and Messages, and the Geosupport function(s) that can elicit each of them. The table is current as of the Geosupport software version indicated in the table heading. See Chapter II.2 for a detailed discussion of application reject handling using GRCs, Reason Codes and Messages.

-

In the table, an asterisk in the second byte position of a function code is a 'wildcard', signifying -all function codes that begin with the character that is in the first byte position. For example, '3* ' signifies all function codes that begin with '3'(namely, as of this writing, Functions 3, 3C and -3S).

-

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, 1B, 1E, 1N, AP
- 3
= 3, 3C, 3S
- B = BB, BF, BL, BN
- D
= D, DG, DN

-

Typically, any function listed with an asterisk also includes the various forms of the function, e.g. Extended, Long, Auxiliary Segments etc.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GEOSUPPORT SYSTEM RETURN CODES, REASON CODES AND MESSAGES
(As of Geosupport Software Version 17.3 - unchanged since V17.1)
-
GRCREASON CODEFUNCTIONS
* = wildcard
MESSAGE (LITERAL TEXT IN UPPERCASE, - < Variable values in angled brackets>, [Comments in Square Brackets & Mixed Case])
00 All[Processing was unconditionally successful-no message issued]
01
[GRC 01s are warnings] -
-
11,1A,1B,
1E,AP
ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
ADDR NUMBER ALTERED: USING DIGITS BEFORE DASH ONLY
21,1A,1B,1E,APADDR NUMBER ALTERED: HYPHEN INSERTED
31,1A,1B,1E,APADDR NUMBER ALTERED: HYPHEN DELETED
4BB,BFYOU HAVE REACHED THE - < FIRST or LAST> STREET NAME IN THE BOROUGH OF - < boro. name> -
51,1A,1B,1EINPUT IS A COMPLEX. OUTPUT DATA MAY PERTAIN TO ONLY PART OF THE COMPLEX
61,1A,1B,1EOUTPUT STREET NAME/CODE DIFFER FROM INPUT [Browse Flag P/F/R and Ruby Street/Sapphire Street processing]
71,1A,1B,1E OUTPUT STREET NAME/CODE DIFFER FROM INPUT. ADDR NUMBER ALTERED: RANGE ASSUMED
- OUTPUT STREET NAME/CODE DIFFER FROM INPUT. ADDR NUMBER ALTERED: HYPHEN INSERTED
- OUTPUT STREET NAME/CODE DIFFER FROM INPUT. ADDR NUMBER ALTERED: HYPHEN DELETED
81A,1BINPUT ADDRESS IS A PSEUDO-ADDRESS
91A,1BINPUT ADDRESS IS PSEUDO-ADDRESS. ADDR NUMBER ALTERED: ADDRESS RANGE ASSUMED
- INPUT ADDRESS IS PSEUDO-ADDRESS. ADDR NUMBER ALTERED: HYPHEN INSERTED
- INPUT ADDRESS IS PSEUDO-ADDRESS. ADDR NUMBER ALTERED: HYPHEN DELETED
A1A,1B,BLLOT HAS MORE ITEMS THAN LISTED
B1A,1BLOT HAS MORE ITEMS THAN LISTED. ADDR NUMBER ALTERED: ADDR RANGE ASSUMED
- LOT HAS MORE ITEMS THAN LISTED. ADDR NUMBER ALTERED: HYPHEN INSERTED
- LOT HAS MORE ITEMS THAN LISTED. ADDR NUMBER ALTERED: HYPHEN DELETED -
C1,1A,1B,1E,2,3* IN MARBLE HILL – LEGAL BORO IS MANHATTAN
- IN MARBLE HILL - LEGAL BORO IS MANHATTAN. ADDR NUMBER ALTERED: RANGE ASSUMED
- IN MARBLE HILL - LEGAL BORO IS MANHATTAN. ADDR NUMBER ALTERED: HYPHEN INSERTED
- IN MARBLE HILL - LEGAL BORO IS MANHATTAN. ADDR NUMBER ALTERED: HYPHEN DELETED

ON RIKERS ISL - LEGAL BORO IS THE BRONX
- ON RIKERS ISL - LEGAL BORO IS THE BRONX. ADDR NUMBER ALTERED: RANGE ASSUMED
- ON RIKERS ISL - LEGAL BORO IS THE BRONX. ADDR NUMBER ALTERED: HYPHEN INSERTED
- ON RIKERS ISL - LEGAL BORO IS THE BRONX. ADDR NUMBER ALTERED: HYPHEN DELETED -
D1* ,2,3* ,APPARTIAL STREET NAME USED TO MEET SNL REQUIREMENT
E1B,1EOUTPUT ADDRESS RANGE IS SPLIT BY ELECTION DISTRICT BOUNDARY
FBNTHIS BIN IS TEMPORARY AND WILL BE REPLACED IN THE FUTURE
G1,1A,1B,1EADDR NUMBER ALTERED: RANGE ASSUMED. NOTE: INCONSISTENT ODD/EVEN ADDR RANGE
H2,3STHESE STREETS INTERSECT ONCE-COMPASS DIRECTION IGNORED
I1,1A,1B,1EINPUT IS NON-ADDRESSABLE PLACE NAME (NAP) - ADDRESS NUMBER IGNORED
INPUT IS NAP WITH INVALID ADDRESS NUMBER. ADDRESS NUMBER IGNORED
J[not implemented]1,1A,1B,1E,2,3* - < Full street name including EAST or WEST as first word> ASSUMED [An input Bronx or Manhattan street name is missing EAST or WEST as its first word, and the intended full street name is unambiguous]
J(cont.)2,3* - < Full street name> AND - ASSUMED [Two input Bronx or Manhattan street names are missing EAST or WEST as their first words, and the intended names are unambiguous]
3* - < ALL THREE STREET NAMES ASSUMED
- [Three input Bronx or Manhattan street names are missing EAST or WEST as their first words, and the intended names are unambiguous]
K1,1A,1B,1E,APEMBEDDED BLANK IN ADDRESS NUMBER HAS BEEN REPLACED WITH A HYPHEN
L or R3,3C - < LEFT or RIGHT> SIDE OF SEGMENT IS IN - < BROOKLYN or QUEENS> -
or

- < LEFT or RIGHT> SIDE OF SEGMENT IS IN - < NASSAU or WESTCHESTER> - NO INFO RETURNED FOR THAT SIDE
M1,1A,1B,1EINPUT ADDRESS NUMBER IS ZERO
N1,1A,1B,1E,
2,3* ,D*
STREET NAME(S) AND STREET CODE(S) BOTH SPECIFIED AS INPUT - - < CODE(S) or NAMES> IGNORED
O1,1A,1B,1ECAUTION: - < BLOCK FACE or ADDRESS RANGE> CONTAINS OUT-OF-SEQUENCE AND/OR OPPOSITE PARITY ADDRESSES
P1,1B,1EIRREGULARLY CURVED STREET SEGMENT - SPATIAL COORDINATES RETURNED AS BLANKS
Q3THESE STREETS INVOLVE A ‘DOGLEG’ - SHORTEST STRETCH PROVIDED
S1,1A,1B,1E,AP - < HNI or HNS> AND DISPLAY ADDRESS NUMBER BOTH SPECIFIED AS INPUT- - < HNI or HNS> IGNORED
T2NON-INTERSECTION NAME IGNORED
U3STRETCH HAS MORE ITEMS THAN LISTED
V1,1B,1E - < Normalized input address number> - < Norm’d input street name> IS ON - < LEFT or RIGHT> SIDE OF - < True street name> - [This warning is issued for vanity addresses, addressable place names, NAPs other than complexes (for which an underlying address is not available), and certain alternative addresses known as type ‘B’ addresses.]
-
or

- < Address number> - < True street name> IS THE UNDERLYING ADDRESS OF - < Normalized input NAP> - [This warning is issued for NAPs other than complexes, for which an underlying address is available.] -
W1,1A,1B, 1E,AP,2,3* INPUT STREET NAME HAS BEEN MODIFIED [a. MSW: Extraneous data were deleted from the end of a free-form address.
COW: Same as MSW above, except that, in addition, the first 14 bytes of the extraneous data on a free-form address were processed as - if they were in the UNIT input field (if there was no other data in the Unit input field).] [b. Neighborhood name was deleted from Duplicate Address Pseudo-Street Name (DAPS) for Functions 2, 3* .]
X1E,1BTHERE ARE NO POLITICAL DISTRICTS ASSIGNED TO THIS LOCATION
Y1/1E Ext 1B COW OnlyZIP NOT IN CITY NAME TABLE. GENERIC CITY NAME RETURNED. NOTIFY DCP/GSS
Z1A,1B,BL,BN A BILLING BBL HAS NOT YET BEEN ASSIGNED TO THIS CONDOMINIUM
$1* COW OnlyUNIT IDENTIFIER HAS BEEN TRUNCATED
[This warning is generated only when the Unit Input field is used.]
* 1A,1B BL,BN COW OnlyTPAD Warning will appear in message field.
[See list of TPAD Warning messages and Reason Code Qualifiers /TPAD Conflict Flag after this table.]
[GRCs greater than 01 are rejects or errors]
02 2STREETS INTERSECT TWICE- - < number of feet> FT BETWEEN INTERSECTIONS. COMPASS DIRECTION REQ'D
03BLANK2 MSW OnlySTREETS INTERSECT MORE THAN TWICE-CAN ONLY BE PROCESSED BY COW FUNCTION CALL
[Reason Code value is blank]
A 2 COW OnlySTREETS INTERSECT MORE THAN TWICE–USE FUNCTION 2W TO FIND RELATED NODES
B 2 COW OnlySTREETS INTERSECT MORE THAN TWICE – USE NODE AS INPUT
041A,BL
MSW Only
1A/BL VERSION SWITCH INVALID - MUST BE S. ONLY STANDARD IS SUPPORTED
053SFOR FUNCTION 3S, ONLY FIRST BOROUGH CODE IS PERMITTED
071,1A,1B,1EFOR A NAME OF A COMPLEX, 5-DIGIT STREET CODE INPUT IS NOT PERMITTED
08All but B* INVALID STREET NAME NORMALIZATION FORMAT FLAG - MUST BE BLANK, C OR S
093C - < Compass direction> SIDE OF STREET SEGMENT IS NOT IN - < borough name> -
10All but B* INVALID SNL VALUE - MUST BE BETWEEN 4 AND 32 INCLUSIVE
1101* ,2,3* , AP - NOT RECOGNIZED. THERE ARE NO SIMILAR NAMES
122INTERSECTION NAME NOT FOUND
1311,1A,1B,1E,APADDRESS NBR - < value> CONTAINS AN INVALID CHARACTER - < character> IN POSITION - < position number> -
21,1A,1B,1E,APADDRESS NBR - < value> HAS MORE THAN 3 DIGITS AFTER DASH
31,1A,1B,1E,APADDRESS NBR - < value> HAS TOO MANY DASHES
41,1A,1B,1E,APADDRESS NBR - < value> HAS NO DIGITS AFTER THE DASH
61,1A,1B,1E,APADDRESS NBR - HAS TOO MANY DIGITS (MORE THAN 5)
71,1A,1B,1E,APADDRESS NBR - < value> IS NOT COMPLETE AS ENTERED
81,1A,1B,1E,APADDRESS NBR - < value> PORTION AFTER HYPHEN EXCEEDS ALLOWABLE MAXIMUM
91,1A,1B,1E,AP,D* ADDRESS NBR - < hse nr value> INVALID INTERNAL FORMAT
A1,1A,1B,1E,AP,D* ADDRESS NBR - < value> HAS AN UNKNOWN OR INVALID SUFFIX/ENDING
B1,1A,1B,1E,APINPUT CONTAINS NO ADDRESS NUMBER
C1,1A,1B,1E,APADDRESS NBR - < value> HAS AN EMBEDDED BLANK
D1,1A,1B,1E,APADDRESS NBR HAS INVALID FORMAT FOR EDGEWATER PARK
E1,1A,1B,1E,APTHIS STREET HAS HYPHENATED ADDRESS NBRS ONLY. TRY - < address nbr with hyphen ins erted to left of last two digits> OR - < address nbr with hyphen inserted to left of last three digits>
F1,1A,1B,1E,APTHIS STREET HAS UNHYPHENATED ADDRESS NBRS ONLY. TRY - < digits of address number to left of dash only> OR - < digits to left and right of dash concatenated without the dash> -
G1,1A,1B,1E,APADDRESS NUMBER HAS INVALID HYPHENATION FOR THIS STREET [Input address number is an unhyphenated 2-digit number, but the input street has hyphenated address numbers only.]
14BLANK3SINPUT DOES NOT DEFINE A STREET STRETCH, SINCE INPUT INTERSECTIONS ARE IDENTICAL
A3SINPUT DOES NOT DEFINE A STREET STRETCH
[e.g. On-street has a different 5-digit street code than the underlying street]
15All but B* STREET NAME CANNOT BE NORMALIZED
161* ,APSTREET NAME IS MISSING
17AllBOROUGH CODE IS MISSING
18BLTAX BLOCK NOT NUMERIC
19BLTAX LOT NOT NUMERIC
20BNBUILDING IDENTIFICATION NUMBER (BIN) IS MISSING
21BNBUILDING IDENTIFICATION NUMBER (BIN) NOT FOUND
22BNINVALID BIN FORMAT: NON-NUMERIC, FIRST DIGIT NOT 1-5 OR REST OF DIGITS ALL ZERO
23BNTEMPORARY DEPARTMENT OF BUILDINGS BIN: EXISTS ONLY IN D.O.B FILES
243* ON STREET IS MISSING
252,3* CROSS STREET 1 IS MISSING
262,3* CROSS STREET 2 IS MISSING
27AllINVALID WORK AREA FORMAT INDICATOR - MUST BE C OR BLANK
281,1A,1B,1E,APA PARTIAL STREET NAME MAY NOT BE USED IN A FREE-FORM ADDRESS
291,1A,1B,1E,AP,3* INTERSECTION - < INTERSECTION NAME> MAY NOT SERVE AS ON-STREET
302 - < STREET NAME> IS NOT PART OF - < INTERSECTION NAME> -
3111A,BL
COW Only
MODE SWITCH OF X NOT VALID WITH LONG-WORK-AREA-2 SET TO L
322,2W
COW Only
INVALID NODE – NON-NUMERIC OR EMBEDDED BLANKS FOUND
332,2W
COW Only
ACCESS BY NODE FAILED – NODE NOT FOUND
383S - < Compass direction value> IS AN INVALID COMPASS DIRECTION VALUE FOR - < FIRST or SECOND> INPUT INTERSECTION
392,3CINVALID COMPASS DIRECTION VALUE - MUST BE N, S, E OR W
402,3CCOMPASS DIRECTION VALUE IS INVALID FOR THIS INPUT LOCATION
411,1A,1B,1E,APTHIS STREET HAS NO ADDRESSES
42blank1,1A,1B,1E,APADDRESS NUMBER OUT OF RANGE
11,1A,1B,1E,APADDRESS NUMBER OUT OF RANGE. CORRECT DIGITS OR INSERT HYPHEN AS
- < AB-CD> OR - < A-BCD> - [where input was of the form ABCD]
21,1A,1B,1E,APADDRESS NUMBER OUT OF RANGE. CORRECT DIGITS OR TRY
- < AB> OR - < ABCD> [where input was of the form AB-CD]
443CINPUT DOES NOT DEFINE A BLOCK FACE
453INPUT DOES NOT DEFINE A STREET SEGMENT
463,3CSTREET COMBINATION NOT UNIQUE
[The input is ambiguous, i.e., it describes more than one valid street segment.]
471,1A,1B,1E
COW Only
INVALID HNL VALUE - MUST BE BETWEEN 12 AND 16 INCLUSIVE
481,1A,1B,1E
COW Only
INVALID HOUSE NUMBER JUSTIFICATION VALUE - MUST BE L, R OR BLANK
491,1A,1B,1E
COW Only
ADDRESS NUMBER CANNOT BE NORMALIZED WITHIN REQUESTED HNL
501 thru 41,1A,1B,1E,2,3* ,AP - < Input street name> IS AN INVALID STREET NAME FOR THIS LOCATION
[The Reason Code indicates the number of valid street names returned in the Similar Names List.]
552,3 * NON-ADDRESSABLE PLACE NAME PROCESSING IS NOT AVAILABLE FOR THIS FUNCTION
561EADDRESS IS SPLIT AMONG MULTIPLE ELECTION DISTRICTS. ADDRESS NBR SUFFIX REQUIRED
[The input address is associated with more than one Election District (ED). Function 1E requires an address number suffix to be included with this address to identify - a portion of the building specific to one ED.] -
573SINPUT INCLUDES ROADBED NAME, BUT ROADBED REQUEST SWITCH IS OFF
581,1A,1B,1E,APNON-ADDRESSABLE PLACE NAME, BRIDGE, TUNNEL OR MISC STRUCTURE NOT FOUND
591* ,2,3* , APSTREET NAME CANNOT BE NORMALIZED WITHIN REQUESTED SNL
613SSTREET STRETCH NOT FOUND
622,3S - < Street name> & - < other street name> DO NOT INTERSECT
632 thru 42INPUT STREET NAMES DO NOT FORM A UNIQUE INTERSECTION [Issued when there is more than one possibility for an assumed front- truncated street name (where EAST or WEST is added at the beginning of the name). Reason Code indicates the number of possible - names. The possible names are returned in the List of Street Names in WA1.] -
641,1A,1B,1E,2,3* ,AP,D* STREET CODE NOT FOUND -
65AllINVALID ROADBED REQUEST SWITCH. MUST BE R OR BLANK
663S - < Street name> & - < other street name> INTERSECT MORE THAN TWICE-CANNOT BE PROCESSED
67A-ZAllERROR ACCESSING GEOSUPPORT FILE: - . NOTIFY SYSTEM SUPPORT [This can be an installation error or a system error. Notify System Support.]
683S - < Street name> & - < other street name> INTERSECT TWICE-COMPASS DIRECTION REQ’D
69A3,3C
COW Only
INVALID AUXSEG REQUEST SWITCH. MUST BE Y, N OR BLANK
B1A,1B, BL,BN
COW Only
INVALID TPAD REQUEST SWITCH. MUST BE Y, N OR BLANK
C1,1E,1A,3,3C,AP BL,BN
COW Only
INVALID MODE SWITCH VALUE. MUST BE X OR BLANK
DAll COW OnlyINVALID WTO SWITCH VALUE. MUST BE Y, N, OR BLANK
69AAll but 3,3C
COW Only
AUXSEG REQUEST SWITCH NOT VALID FOR THIS FUNCTION
BAll but 1A,1B,BL,BN
COW Only
TPAD REQUEST SWITCH NOT VALID FOR THIS FUNCTION
CAll but 1,1E,1A,3,3C,AP,BL,BN
COW Only
MODE SWITCH OF X (EXTENDED) NOT VALID FOR THIS FUNCTION
711,1A,1B,1E.APINPUT ZIP CODE IS NOT A NEW YORK CITY ZIP CODE
721,1A,1B,1E,APINPUT ZIP CODE IS NOT ALL NUMERIC
731A,BL
MSW Only
LEGACY VERSION OF FUNCTIONS 1A AND BL IS DISCONTINUED. SEE TECH BULLETIN 05-1
742,3* ADDRESSABLE PLACE NAME PROCESSING IS NOT AVAILABLE FOR THIS FUNCTION
751,1A,1B,1EDUPLICATE ADDRESS-USE - < pseudo-streetname1> OR - < pseudo-streetname2> -
76All but 1,1B,1E,3SROADBED REQUEST SWITCH NOT IMPLEMENTED FOR THIS FUNCTION
77BLTAX LOT NOT FOUND
78All
COW Only
INVALID BROWSE FLAG VALUE. MUST BE P, F, R, OR BLANK
793S,BL,BN,D*
COW Only
BROWSE FLAG NOT VALID FOR THIS REQUEST
573SINPUT INCLUDES ROADBED NAME, BUT ROADBED REQUEST SWITCH IS OFF -
801,1A,1B,1E,2,3* BUSINESS IMPROVEMENT DISTRICT (BID) IS NOT VALID AS INPUT FOR THIS FUNCTION
88BlankAllGEOSUPPORT ERROR. EMAIL GSS_FEEDBACK@PLANNING.NYC.GOV AND REPORT 88-[An internal Geosupport problem, not a user error.]
1-9,A-ZAllGEOSUPPORT ERROR. EMAIL GSS_FEEDBACK@PLANNING.NYC.GOV AND REPORT 88- < value > ERROR
[where is the reason code.]
[An internal Geosupport problem, not a user error.]
892,3C,3S,BNLONG WORK-AREA-2 OPTION IS INVALID FOR THIS FUNCTION
1,1B,1E,3
COW Only
901,1A,1E,3,BLLONG WORK-AREA-2 FLAG MUST BE L OR BLANK
96AllFUNCTIONALITY UNDER CONSTRUCTION
97BB,BFINPUT IS BEYOND THE LAST STREET NAME IN THE BOROUGH OF
98AllNO INPUT DATA RECEIVED
99AllINVALID BOROUGH CODE. MUST BE 1, 2, 3, 4 OR 5
EE11* ,2,3* ,AP < Street name > NOT RECOGNIZED. IS IT < similar street name >?
[Issued when there is precisely one similar name.]
2 thru 9, A1* ,2,3* ,AP< Street name > NOT RECOGNIZED. THERE ARE < number > SIMILAR NAMES [Issued when there is more than one similar name. Reason Code indicates number of similar names. Reason Code ‘A’ signifies 10 similar names. The similar names are returned in WA1.]
?? - - N/AINVALID FUNCTION CODE
11B,AP
MSW Only
INVALID FUNCTION CODE- AVAILABLE IN COW FORMAT ONLY
- -


-

TPAD WARNING MESSAGES and TPAD Conflict Flag / REASON CODE QUALIFIERS in ( )

-

"TPAD BBL USED, NO EXISTING PAD BBL"; (2)

-

"TPAD BBL USED, PAD PSEUDO-ADDRESS ON DIFFERENT BBL THAN TPAD NB BIN"; (3)

-

"TPAD BBL USED, EXISTING PAD BIN OF INPUT ADDR ON DIFF BBL THAN TPAD NB BIN"; (4)

-

"TPAD BBL USED, PAD BIN OF INPUT ADDR W/DM-5 ON DIFF BBL THAN TPAD NB BIN"; (6)

-

"TPAD BBL USED, PAD BIN OF INPUT ADDR W/DM-6 ON DIFF BBL THAN TPAD NB BIN"; (7)

-

"PAD BBL USED, TPAD NB BIN WITH NB-0 ON DIFFERENT BBL THAN PAD BIN"; (8)

-

"PAD BBL USED, TPAD NB BIN WITH NB-1 ON DIFFERENT BBL THAN PAD BIN"; (9)

-

"PAD BBL USED, TPAD NB BIN WITH NB-2 ON DIFFERENT BBL THAN PAD BIN"; (A)

-

"PAD BBL USED, TPAD NB BIN WITH NB-3 ON DIFFERENT BBL THAN PAD BIN"; (B)

-

"TPAD DATA FOUND, TPAD ADDRESS OVERLAPS PAD ADDRESS"; (C)

-

"ADDRESS FOUND IN TPAD, NOT FOUND IN PAD"; (D)

-

"BIN FOUND IN TPAD, NOT FOUND IN PAD"; (E)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix05/index.html b/site/appendices/appendix05/index.html deleted file mode 100644 index eaeda6b2..00000000 --- a/site/appendices/appendix05/index.html +++ /dev/null @@ -1,4789 +0,0 @@ - - - - - - - - - - - - Appendix 5: Geosupport Copy Files (MSW) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 5: Geosupport Copy Files (MSW)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 5: GEOSUPPORT COPY FILES (MSW)

- -

This appendix contains printouts of the Geosupport MSW COPY files for COBOL, Assembler, PL/1, C and NATURAL. (For C, COPY files take the form of header files. For NATURAL, COPY files take the form of Local Data Areas.)

-

The Geosupport COPY files contain source code layouts of the Geosupport work areas. These files are stored in a COPY library that can be accessed by user application programs at compile time. Each supported programming language has an appropriate declarative statement for referencing COPY files at compile time. The Geosupport COPY files are listed below.

-

GEOSUPPORT SYSTEM COPY FILES (MSW)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - COPY File Name - - - - - - - - - - - - - -
MSW
WORK AREA
LENGTH(bytes)COBOLASSEMBLERPL/1CNATURAL
WA1All884W1COBW1BALW1PL1WACGEOLW1
WA21 (regular WA2), 1E (regular WA2), 2, 3 (regular WA2), 3C200W2COBW2BALW2PL1WACGEOLW2
WA21 (long WA2), 1E (long WA2), 3 (long WA2)300W2COBLW2BALLW2PL1LWACGEOLW2L
WA21A&BL (regular WA2),BN (\*)939W2COB1AW2BAL1AW2PL11AWACGEOLW21A
WA21A&BL (long WA2) (\**)17,683W2COB1ALW2BAL1ALW2PL11ALWACGEOLW2AL
WA23S4,224W2COB3SW2BAL3SW2PL13SWACGEOLW23S
- -

(*) Functions 1A, BL and BN share a single regular WA2 layout. -(**) Functions 1A and BL share a single long WA2 layout. (Function BN does not have the long WA2 option.) -See Chapter VIII.4 for a detailed discussion of the Geosupport COPY feature.

-

COBOL COPY Files (MSW)

-

W1COB COPY File

-
       ******************************************************************** 00000100
-       *****  THIS IS GEOSUPPORT SYSTEM COPY FILE W1COB, CONTAINING   ***** 00000200
-       *****  LAYOUT OF WORK AREA 1.        COPYLIB2       04/07/98   ***** 00000300
-       ******************************************************************** 00000400
-       *****               INPUT FIELDS                               ***** 00000500
-       ******************************************************************** 00000600
-                05  GEO-WA1-IN-FUNCTION-CODE.                               00000700
-                   10  GEO-WA1-IN-FUNCTION-1             PIC X.             00000800
-                   10  GEO-WA1-IN-FUNCTION-2             PIC X.             00000900
-                05  GEO-WA1-IN-BORO                      PIC X.             00001000
-          ** NOTE  GEO-WA1-IN-HOUSENUM - HIGH HSE# INPUT IF FUNC 5          00001100
-                05  GEO-WA1-IN-HOUSENUM                  PIC X(12).         00001200
-          ** NOTE  GEO-WA1-IN-HOUSENUM-INTERNAL - HIGH HSE# INPUT IF FUN5   00001300
-                05  GEO-WA1-IN-HOUSENUM-INTERNAL         PIC X(6).          00001400
-                05  GEO-WA1-IN-STREET-1                  PIC X(32).         00001500
-                05  GEO-WA1-IN-STREET-2                  PIC X(32).         00001600
-                05  GEO-WA1-IN-STREET-3                  PIC X(32).         00001700
-                05  GEO-WA1-IN-COMPASS                   PIC X.             00001802
-                05  GEO-WA1-IN-COMPASS2                  PIC X.             00001904
-                05  GEO-WA1-IN-STREETCODE-1              PIC S9(6) COMP-3.  00002104
-                05  GEO-WA1-IN-STREETCODE-2              PIC S9(6) COMP-3.  00002204
-                05  GEO-WA1-IN-STREETCODE-3              PIC S9(6) COMP-3.  00002304
-                05  GEO-WA1-IN-ROADBED-REQ-SWITCH        PIC X.             00002508
-                05  GEO-WA1-IN-BORO-2                    PIC X.             00002604
-                05  GEO-WA1-IN-BORO-3                    PIC X.             00002704
-                05  GEO-WA1-IN-SNL                       PIC X(2).          00002804
-                05  GEO-WA1-IN-10SC-1                    PIC X(11).         00002904
-                05  GEO-WA1-IN-10SC-2                    PIC X(11).         00003004
-                05  GEO-WA1-IN-10SC-3                    PIC X(11).         00003104
-                05  GEO-WA1-IN-ZIPIN                     PIC X(5).          00003309
-                05  GEO-WA1-IN-BBL.                                         00003404
-                   10  GEO-WA1-IN-BL-BORO                PIC X.             00003504
-                   10  GEO-WA1-IN-BLOCKNUM               PIC X(5).          00003604
-                   10  GEO-WA1-IN-LOTNUM                 PIC X(4).          00003704
-                05  FILLER                               PIC X.             00003804
-                05  GEO-WA1-IN-BIN                       PIC X(7).          00004004
-          ****************************************************************  00004104
-          ** NOTE: TO REQUEST COMPACT NAMES OPTION, SET                 **  00004204
-          **       GEO-WA1-IN-COMPACT-NAME-FLAG TO "C".                 **  00004304
-          ** NOTE: TO REQUEST THE LONG WORKAREA 2, SET                  **  00004404
-          **       GEO-WA1-IN-LONG-WORKAREA2-FLAG TO "L".  AT PRESENT,  **  00004504
-          **       ONLY FUNCTION 3 HAS THE LONG WA2 OPTION.             **  00004604
-          ** NOTE: IF APPLICATION IS RUNNING ON A NON-IBM MAIN FRAME,   **  00004704
-          **       SET GEO-WA1-IN-NON-IBM-MAIN-FRAME EQUAL TO "X"       **  00004804
-          ** NOTE: FOR FUNCTIONS 1A AND BL, TO REQUEST THE STANDARD     **  00004904
-          **       WORKAREA2 FORMAT, SET GEO-WA1-IN-1ABL-VERSION TO "S" **  00005004
-          ** NOTE: TO REQUEST THE LEGACY WORKAREA2 FORMAT,              **  00005104
-          **       SET GEO-WA1-IN-1ABL-VERSION TO " " OR "L".           **  00005204
-          ****************************************************************  00005704
-                05  GEO-WA1-IN-COMPACT-NAME-FLAG         PIC X.             00005804
-                05  GEO-WA1-IN-LONG-WORKAREA2-FLAG       PIC X.             00005904
-                05  GEO-WA1-IN-LOW-HOUSENUM              PIC X(12).         00006004
-                05  GEO-WA1-IN-LOW-HSENUM-INTERNAL       PIC X(6).          00006104
-                05  GEO-WA1-IN-NON-IBM-MAIN-FRAME        PIC X(1).          00006204
-                05  GEO-WA1-IN-1ABL-VERSION              PIC X(1).          00006304
-                05  GEO-WA1-IN-XSTREET-FLAG              PIC X(1).          00006404
-                05  GEO-WA1-IN-NONEED-STNAME-FLAG        PIC X(1).          00006504
-                05  FILLER                               PIC X(3).          00006604
-       ******************************************************************** 00006704
-       *****               OUTPUT FIELDS                              ***** 00006804
-       ******************************************************************** 00006904
-                05  GEO-WA1-OUT-LOW-HOUSENUM             PIC X(12).         00007004
-                05  GEO-WA1-OUT-BORONAME                 PIC X(9).          00007104
-                05  GEO-WA1-OUT-STREET-1                 PIC X(32).         00007204
-                05  GEO-WA1-OUT-STREET-2                 PIC X(32).         00007304
-                05  GEO-WA1-OUT-STREET-3                 PIC X(32).         00007404
-                05  GEO-WA1-OUT-HOUSENUM                 PIC X(12).         00007504
-                05  GEO-WA1-OUT-HOUSENUM-INTERNAL        PIC X(6).          00007604
-                05  GEO-WA1-OUT-HOUSE-INT-FORMAT REDEFINES                  00007704
-                    GEO-WA1-OUT-HOUSENUM-INTERNAL.                          00007804
-                    10  GEO-WA1-OUT-HOUSE-INT-PACKED     PIC X(5).          00007904
-                    10  GEO-WA1-OUT-HOUSE-INT-SUFFIX     PIC X.             00008004
-                05  FILLER                               PIC X(7).          00008104
-                05  GEO-WA1-OUT-PB5SC-1                  PIC S9(6) COMP-3.  00008204
-                05  GEO-WA1-OUT-PB-5SC-1 REDEFINES GEO-WA1-OUT-PB5SC-1.     00008304
-                    10  FILLER                           PIC X(1).          00008404
-                    10  GEO-WA1-OUT-STREETCODE-1-KEY     PIC S9(5) COMP-3.  00008504
-                05  FILLER                               PIC X(2).          00008604
-                05  GEO-WA1-OUT-PB5SC-2                  PIC S9(6) COMP-3.  00008704
-                05  GEO-WA1-OUT-PB-5SC-2 REDEFINES GEO-WA1-OUT-PB5SC-2.     00008804
-                    10  FILLER                           PIC X(1).          00008904
-                    10  GEO-WA1-OUT-STREETCODE-2-KEY     PIC S9(5) COMP-3.  00009004
-                05  FILLER                               PIC X(2).          00009104
-                05  GEO-WA1-OUT-PB5SC-3                  PIC S9(6) COMP-3.  00009204
-                05  GEO-WA1-OUT-PB-5SC-3 REDEFINES GEO-WA1-OUT-PB5SC-3.     00009304
-                    10  FILLER                           PIC X(1).          00009404
-                    10  GEO-WA1-OUT-STREETCODE-3-KEY     PIC S9(5) COMP-3.  00009504
-                05  FILLER                               PIC X(3).          00009604
-                05  GEO-WA1-BROWSE                       PIC X(40).         00009704
-                05  GEO-WA1-OUT-10SC-1                   PIC X(11).         00009804
-                05  GEO-WA1-OUT-10SC-2                   PIC X(11).         00009904
-                05  GEO-WA1-OUT-10SC-3                   PIC X(11).         00010004
-                05  GEO-WA1-OUT-CUI                      PIC X(5).          00010104
-          ** NOTE: GEO-WA1-OUT-CUI       NOT IMPLEMENTED   **               00010204
-                05  GEO-WA1-OUT-BBL.                                        00010304
-                   10  GEO-WA1-OUT-BL-BORO               PIC X.             00010404
-                   10  GEO-WA1-OUT-BLOCKNUM              PIC X(5).          00010504
-                   10  GEO-WA1-OUT-LOTNUM                PIC X(4).          00010604
-                05  FILLER                               PIC X.             00010704
-                05  GEO-WA1-OUT-BIN                      PIC X(7).          00010806
-                05  GEO-WA1-OUT-SND-ATTR                 PIC X.             00011304
-                05  GEO-WA1-OUT-REASON-CODE              PIC X.             00011404
-                05  FILLER                               PIC X(2).          00011504
-                05  GEO-WA1-OUT-RETURN-CODE.                                00011604
-                   10  GEO-WA1-OUT-RC-1                  PIC X.             00011704
-                   10  GEO-WA1-OUT-RC-2                  PIC X.             00011804
-                05  GEO-WA1-OUT-ERROR-MESSAGE            PIC X(80).         00011904
-                05  GEO-WA1-OUT-NUM-SIMILAR-NAMES        PIC S999 COMP-3.   00012004
-                05  GEO-WA1-OUT-SIMILAR-NAMES            PIC X(32)          00012104
-                                                         OCCURS 10 TIMES.   00013002
-
-

W2COB COPY File

-
        ******************************************************************  00010040
-        ***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2COB, CONTAINING THE ***  00020040
-        ***  LAYOUT OF WORK AREA 2 FOR FUNCTIONS: 1, 1E, 2, 2C, 3, 3C, ***  00030040
-        ***  5. PLEASE NOTE THAT FUNCTIONS 2 AND 2C SHARE A SINGLE WORK***  00040040
-        ***  AREA 2 LAYOUT.                                   04/03/01 ***  00050040
-        ******************************************************************  00060040
-        ***  LAST MODIFIED  06/08/10                                   ***  00070040
-        ******************************************************************  00080040
-               05  GEO-WA2-FUNCTION1.                                       00090040
-                  10  FILLER                            PIC X(21).          00100040
-                  10  GEO-WA2-FN1-CONT-PARITY           PIC X.              00110040
-                  10  GEO-WA2-FN1-LOW-HOUSENUM-INT.                         00120040
-                     15  GEO-WA2-FN1-LOW-HOUSENUM       PIC X(5).           00130040
-                     15  GEO-WA2-FN1-LOW-HOUSENUMSFX    PIC X.              00140040
-                                                                            00150040
-                  10  GEO-WA2-FN1-HI-HOUSENUM-INT.                          00160040
-                     15  GEO-WA2-FN1-HI-HOUSENUM        PIC X(5).           00170040
-                     15  GEO-WA2-FN1-HI-HOUSENUMSFX     PIC X.              00180040
-                                                                            00190040
-                  10  GEO-WA2-FN1-ALX                   PIC X.              00200040
-                  10  GEO-WA2-FN1-NUM-X-ST-LOW-END      PIC X.              00210040
-                  10  GEO-WA2-FN1-LOW-PBSC              PIC S9(7) COMP-3    00220040
-                                                        OCCURS 5 TIMES.     00230040
-                  10  GEO-WA2-FN1-NUM-X-ST-HI-END       PIC X.              00240040
-                  10  GEO-WA2-FN1-HI-PBSC               PIC S9(7) COMP-3    00250040
-                                                        OCCURS 5 TIMES.     00260040
-                  10  GEO-WA2-FN1-COMDIST.                                  00270040
-                      15  GEO-WA2-FN1-COMDIST-BORO      PIC X.              00280040
-                      15  GEO-WA2-FN1-COMDIST-NUMBER    PIC X(2).           00290040
-                  10  GEO-WA2-FN1-ZIP                   PIC X(5).           00300040
-                  10  GEO-WA2-FN1-SLA                   PIC X.              00310040
-                  10  GEO-WA2-FN1-HCD                   PIC X(2).           00320047
-                  10  GEO-WA2-FN1-SOS                   PIC X.              00330040
-                  10  GEO-WA2-FN1-CONT-PARITY-IND       PIC X.              00340040
-                  10  GEO-WA2-FN1-2010-CENS-TRCT        PIC X(6).           00350042
-                  10  GEO-WA2-FN1-2010-CENS-BLK         PIC X(4).           00360042
-                  10  GEO-WA2-FN1-2010-CENS-BLK-SFX     PIC X.              00370042
-                  10  FILLER                            PIC X(3).           00380040
-                  10  GEO-WA2-FN1-HEALTHAREA            PIC X(4).           00390047
-                  10  GEO-WA2-FN1-SANI-REC              PIC X(3).           00400040
-                  10  GEO-WA2-FN1-FEATURE-TYPE          PIC X.              00410040
-                  10  GEO-WA2-FN1-RESDCP                PIC X.              00420040
-                  10  GEO-WA2-FN1-CURVE-FLAG            PIC X.              00430040
-                  10  GEO-WA2-FN1-POLICEDIST.                               00440040
-                     15  GEO-WA2-FN1-POL-PATR-BORO-CMD  PIC X.              00450040
-                     15  GEO-WA2-FN1-POL-PRECINCT       PIC X(3).           00460040
-                  10  GEO-WA2-FN1-SCHOOLDIST            PIC X(2).           00470040
-                  10  FILLER                            PIC X(14).          00480040
-                  10  GEO-WA2-FN1-COINCIDENT-CNT        PIC X.              00490040
-                  10  GEO-WA2-FN1-SEGMENT-TYPE          PIC X.              00500040
-                  10  GEO-WA2-FN1-SANIDIST.                                 00510040
-                      15  GEO-WA2-FN1-SANIDIST-BORO     PIC X.              00520040
-                      15  GEO-WA2-FN1-SANIDIST-NUMBER   PIC X(2).           00530040
-                  10  GEO-WA2-FN1-SANITATION-SUBSEC     PIC X(2).           00540040
-          ** NOTE:10  GEO-WA2-FN1-FIRESEC ==> FIRE DIVISION **              00550040
-                  10  GEO-WA2-FN1-FIRESEC               PIC X(2).           00560040
-                  10  GEO-WA2-FN1-FIREBAT               PIC X(2).           00570040
-                  10  GEO-WA2-FN1-FIRECO.                                   00580040
-                      15  GEO-WA2-FN1-FIRECO-TYPE       PIC X.              00590040
-                      15  GEO-WA2-FN1-FIRECO-NUM        PIC X(3).           00600040
-                  10  GEO-WA2-FN1-SPECIAL-ADDR-FLAG     PIC X.              00610040
-                  10  GEO-WA2-FN1-MARBLE-RIKER-FLAG     PIC X.              00620040
-                  10  GEO-WA2-FN1-SPLIT-SCHOOL-FILL     PIC X.              00630044
-                  10  GEO-WA2-FN1-PREFERRED-LGC         PIC X(2).           00640040
-                  10  GEO-WA2-FN1-LIONFACECODE          PIC X(4).           00650040
-                  10  GEO-WA2-FN1-LIONSEQ               PIC X(5).           00660040
-                  10  GEO-WA2-FN1-1990-CENSUSTRACT      PIC X(6).           00670040
-                  10  FILLER                            PIC X(4).           00680040
-                  10  GEO-WA2-FN1-DYN-BLOCK             PIC X(3).           00690040
-                  10  GEO-WA2-FN1-XCOORD                PIC X(7).           00700040
-                  10  GEO-WA2-FN1-YCOORD                PIC X(7).           00710040
-                  10  GEO-WA2-FN1-SEGMENTLENGTH         PIC X(5).           00720040
-                  10  GEO-WA2-FN1-SANI-REG              PIC X(5).           00730040
-               05  GEO-WA2-FUNCTION2   REDEFINES GEO-WA2-FUNCTION1.         00740040
-                  10  FILLER                            PIC X(21).          00750040
-                  10  GEO-WA2-FN2-DUPINTERFLAG          PIC X.              00760040
-                  10  FILLER                            PIC X(9).           00770040
-                  10  GEO-WA2-FN2-PREFERRED-LGC1        PIC X(2).           00780040
-                  10  GEO-WA2-FN2-PREFERRED-LGC2        PIC X(2).           00790040
-                  10  GEO-WA2-FN2-NUM-OF-INTERSECTS     PIC X.              00800040
-                  10  GEO-WA2-FN2-INTERSECT-PBSC        PIC 9(7) COMP-3     00810040
-                                                        OCCURS 5 TIMES.     00820040
-                  10  GEO-WA2-FN2-COMPDIR               PIC X.              00830040
-                  10  GEO-WA2-FN2-LEVEL-LIST OCCURS 5 TIMES.                00840040
-                      15 GEO-WA2-FN2-LEVEL-CODES                            00850040
-                         OCCURS 2 TIMES                 PIC X.              00860040
-          ***     NEXT LINE WAS PREVIOUSLY INSTRUC-DIV                      00870040
-                  10  FILLER                            PIC X(2).           00880040
-          ** NOTE:10  GEO-WA2-FN2-FIRESEC ==> FIRE DIVISION **              00890040
-                  10  GEO-WA2-FN2-FIRESEC               PIC X(2).           00900040
-                  10  GEO-WA2-FN2-FIREBAT               PIC X(2).           00910040
-                  10  GEO-WA2-FN2-FIRECO.                                   00920040
-                      15  GEO-WA2-FN2-FIRECO-TYPE       PIC X.              00930040
-                      15  GEO-WA2-FN2-FIRECO-NUM        PIC X(3).           00940040
-                  10  GEO-WA2-FN2-COMDIST.                                  00950040
-                      15  GEO-WA2-FN2-COMDIST-BORO      PIC X.              00960040
-                      15  GEO-WA2-FN2-COMDIST-NUMBER    PIC X(2).           00970040
-                  10  GEO-WA2-FN2-ZIP                   PIC X(5).           00980040
-                  10  GEO-WA2-FN2-SLA                   PIC X.              00990040
-                  10  GEO-WA2-FN2-2010-CENS-TRCT        PIC X(6).           01000042
-                  10  FILLER                            PIC X(3).           01010040
-                  10  GEO-WA2-FN2-HEALTHAREA            PIC X(4).           01020047
-                  10  FILLER                            PIC X(9).           01030040
-                  10  GEO-WA2-FN2-NODE-NUM              PIC X(7).           01040040
-                  10  GEO-WA2-FN2-XCOORD                PIC X(7).           01050040
-                  10  GEO-WA2-FN2-YCOORD                PIC X(7).           01060040
-                  10  FILLER                            PIC X(4).           01070040
-                  10  GEO-WA2-FN2-POLICEDIST.                               01080040
-                     15  GEO-WA2-FN2-POL-PATR-BORO-CMD  PIC X.              01090040
-                     15  GEO-WA2-FN2-POL-PRECINCT       PIC X(3).           01100040
-                  10  GEO-WA2-FN2-SCHOOLDIST            PIC X(2).           01110040
-                  10  GEO-WA2-FN2-MARBLE-RIKER-FLAG     PIC X.              01120040
-                  10  GEO-WA2-FN2-1990-CENSUSTRACT      PIC X(6).           01130040
-                  10  GEO-WA2-FN2-SANBORN1-BVOLPAGE.                        01140040
-                     15  GEO-WA2-FN2-SANBORN1-BORO      PIC X.              01150040
-                     15  GEO-WA2-FN2-SANBORN1-VOL-NUM   PIC X(3).           01160040
-                     15  GEO-WA2-FN2-SANBORN1-PAGE-NUM  PIC X(4).           01170040
-                  10  GEO-WA2-FN2-SANBORN2-BVOLPAGE.                        01180040
-                     15  GEO-WA2-FN2-SANBORN2-BORO      PIC X.              01190040
-                     15  GEO-WA2-FN2-SANBORN2-VOL-NUM   PIC X(3).           01200040
-                     15  GEO-WA2-FN2-SANBORN2-PAGE-NUM  PIC X(4).           01210040
-                  10  GEO-WA2-FN2-DUP-INT-DISTANCE      PIC X(5).           01220040
-                  10  GEO-WA2-FN2-2000-CENS-TRACT       PIC X(6).           01240043
-                  10  FILLER                            PIC X(27).          01250040
-               05  GEO-WA2-FUNCTION3   REDEFINES GEO-WA2-FUNCTION1.         01260040
-                  10  FILLER                            PIC X(21).          01270040
-                  10  GEO-WA2-FN3-DUP-KEY-FLAG          PIC X.              01280040
-                  10  GEO-WA2-FN3-CURVE-FLAG            PIC X.              01290040
-                  10  GEO-WA2-FN3-LOCATION-STATUS       PIC X.              01300040
-                  10  GEO-WA2-FN3-COUNTY-BOUNDARY       PIC X.              01310040
-                  10  GEO-WA2-FN3-COINCIDENT-CNT        PIC X.              01320040
-                  10  FILLER                            PIC X(3).           01330040
-                  10  GEO-WA2-FN3-PREFERRED-LGC1        PIC X(2).           01340040
-                  10  GEO-WA2-FN3-PREFERRED-LGC2        PIC X(2).           01350040
-                  10  GEO-WA2-FN3-PREFERRED-LGC3        PIC X(2).           01360040
-                  10  GEO-WA2-FN3-NUM-X-ST-LOW-END      PIC X.              01370040
-                  10  GEO-WA2-FN3-LOW-PBSC              PIC S9(7) COMP-3    01380040
-                                                        OCCURS 5 TIMES.     01390040
-                  10  GEO-WA2-FN3-NUM-X-ST-HI-END       PIC X.              01400040
-                  10  GEO-WA2-FN3-HI-PBSC               PIC S9(7) COMP-3    01410040
-                                                        OCCURS 5 TIMES.     01420040
-                  10  GEO-WA2-FN3-SLA                   PIC X.              01430040
-                  10  GEO-WA2-FN3-REVERSALFLAG          PIC X.              01440040
-                  10  GEO-WA2-FN3-LEFT-COMDIST.                             01450040
-                      15  GEO-WA2-FN3-LEFT-COMDIST-BORO PIC X.              01460040
-                      15  GEO-WA2-FN3-LEFT-COMDIST-NUM  PIC X(2).           01470040
-                  10  GEO-WA2-FN3-RIGHT-COMDIST.                            01480040
-                      15 GEO-WA2-FN3-RIGHT-COMDIST-BORO PIC X.              01490040
-                      15  GEO-WA2-FN3-RIGHT-COMDIST-NUM PIC X(2).           01500040
-                  10  GEO-WA2-FN3-LEFT-ZIP              PIC X(5).           01510040
-                  10  GEO-WA2-FN3-RIGHT-ZIP             PIC X(5).           01520040
-                  10  FILLER                            PIC X(18).          01530040
-                  10  GEO-WA2-FN3-LEFT-HEALTHAREA       PIC X(4).           01540047
-                  10  GEO-WA2-FN3-RIGHT-HEALTHAREA      PIC X(4).           01550047
-          ***     NEXT LINE WAS PREVIOUSLY LEFT-INSTRUC-DIV                 01560040
-                  10  FILLER                            PIC X(2).           01570040
-          ***     NEXT LINE WAS PREVIOUSLY RIGHT-INSTRUC-DIV                01580040
-                  10  FILLER                            PIC X(2).           01590040
-                  10  GEO-WA2-FN3-LEFT-LOW-HOUSENUM     PIC X(7).           01600040
-                  10  GEO-WA2-FN3-LEFT-HI-HOUSENUM      PIC X(7).           01610040
-                  10  GEO-WA2-FN3-RIGHT-LOW-HOUSENUM    PIC X(7).           01620040
-                  10  GEO-WA2-FN3-RIGHT-HI-HOUSENUM     PIC X(7).           01630040
-                  10  GEO-WA2-FN3-CONT-PARITY-IND       PIC X.              01640040
-                  10  GEO-WA2-FN3-LIONFACECODE          PIC X(4).           01650040
-                  10  GEO-WA2-FN3-LIONSEQ               PIC X(5).           01660040
-                  10  GEO-WA2-FN3-GENRECFLAG            PIC X.              01670040
-                  10  GEO-WA2-FN3-SEGMENTLENGTH         PIC S9(5) COMP-3.   01680040
-                  10  GEO-WA2-FN3-SEGMENTSLOPE          PIC X(3).           01690040
-                  10  GEO-WA2-FN3-SEGMENTORIENT         PIC X.              01700040
-                  10  FILLER                            PIC X(4).           01710040
-                  10  GEO-WA2-FN3-RESDCP                PIC X(2).           01720040
-                  10  GEO-WA2-FN3-DOG-LEG               PIC X.              01730040
-                  10  GEO-WA2-FN3-FEATURE-TYPE          PIC X.              01740040
-                  10  GEO-WA2-FN3-LEFT-POLDIST.                             01750040
-                     15  GEO-WA2-FN3-L-POL-PATR-BOR-CMD PIC X.              01760040
-                     15  GEO-WA2-FN3-L-POL-PRECINCT     PIC X(3).           01770040
-                  10  GEO-WA2-FN3-RIGHT-POLDIST.                            01780040
-                     15  GEO-WA2-FN3-R-POL-PATR-BOR-CMD PIC X.              01790040
-                     15  GEO-WA2-FN3-R-POL-PRECINCT     PIC X(3).           01800040
-                  10  GEO-WA2-FN3-LEFT-SCHLDIST         PIC X(2).           01810040
-                  10  GEO-WA2-FN3-RIGHT-SCHLDIST        PIC X(2).           01820040
-                  10  GEO-WA2-FN3-MARBLE-RIKER-FLAG     PIC X.              01830040
-                  10  GEO-WA2-FN3-SEG-ID                PIC X(7).           01840040
-                  10  GEO-WA2-FN3-SEGMENT-TYPE          PIC X.              01850040
-               05  GEO-WA2-FUNCTION3C  REDEFINES GEO-WA2-FUNCTION1.         01860040
-                  10  GEO-WA2-FN3C-ACCESS-KEY           PIC X(21).          01870040
-                  10  GEO-WA2-FN3C-CURVE-FLAG           PIC X.              01880040
-                  10  GEO-WA2-FN3C-SEGMENT-TYPE         PIC X.              01890040
-                  10  GEO-WA2-FN3C-LOCATION-STATUS      PIC X.              01900040
-                  10  GEO-WA2-FN3C-COUNTY-BOUNDARY      PIC X.              01910040
-                  10  GEO-WA2-FN3C-COINCIDENT-CNT       PIC X.              01920040
-                  10  FILLER                            PIC X(3).           01930040
-                  10  GEO-WA2-FN3C-PREFERRED-LGC1       PIC X(2).           01940040
-                  10  GEO-WA2-FN3C-PREFERRED-LGC2       PIC X(2).           01950040
-                  10  GEO-WA2-FN3C-PREFERRED-LGC3       PIC X(2).           01960040
-                  10  GEO-WA2-FN3C-NUM-X-ST-LOW-END     PIC X.              01970040
-                  10  GEO-WA2-FN3C-LOW-PBSC             PIC S9(7) COMP-3    01980040
-                                                        OCCURS 5 TIMES.     01990040
-                  10  GEO-WA2-FN3C-NUM-X-ST-HI-END      PIC X.              02000040
-                  10  GEO-WA2-FN3C-HI-PBSC              PIC S9(7) COMP-3    02010040
-                                                        OCCURS 5 TIMES.     02020040
-                  10  GEO-WA2-FN3C-COMDIST.                                 02030040
-                      15  GEO-WA2-FN3C-COMDIST-BORO     PIC X.              02040040
-                      15  GEO-WA2-FN3C-COMDIST-NUMBER   PIC X(2).           02050040
-                  10  GEO-WA2-FN3C-ZIP                  PIC X(5).           02060040
-                  10  GEO-WA2-FN3C-SLA                  PIC X.              02070040
-                  10  GEO-WA2-FN3C-2000-CENS-TRACT      PIC X(6).           02090043
-                  10  FILLER                            PIC X.              02100040
-                  10  GEO-WA2-FN3C-2010-CENS-TRCT       PIC X(6).           02110042
-                  10  GEO-WA2-FN3C-2010-CENS-BLK        PIC X(4).           02120042
-                  10  GEO-WA2-FN3C-2010-CENS-BLK-SFX    PIC X.              02130042
-                  10  GEO-WA2-FN3C-HEALTHAREA           PIC X(4).           02140047
-                  10  GEO-WA2-FN3C-REVERSALFLAG         PIC X.              02150040
-                  10  GEO-WA2-FN3C-SOS                  PIC X.              02160040
-          ** NOTE:10  GEO-WA2-FN3C-FIRESEC ==> FIRE DIVISION **             02170040
-                  10  GEO-WA2-FN3C-FIRESEC              PIC X(2).           02180040
-                  10  GEO-WA2-FN3C-FIREBAT              PIC X(2).           02190040
-                  10  GEO-WA2-FN3C-FIRECO.                                  02200040
-                      15  GEO-WA2-FN3C-FIRECO-TYPE      PIC X.              02210040
-                      15  GEO-WA2-FN3C-FIRECO-NUM       PIC X(3).           02220040
-                  10  GEO-WA2-FN3C-SEG-ID               PIC X(7).           02230040
-                  10  GEO-WA2-FN3C-LOW-HOUSENUM         PIC X(7).           02240040
-                  10  GEO-WA2-FN3C-HI-HOUSENUM          PIC X(7).           02250040
-                  10  GEO-WA2-FN3C-LOW-HOUSENUM2        PIC X(7).           02260040
-                  10  GEO-WA2-FN3C-HI-HOUSENUM2         PIC X(7).           02270040
-          * HOUSENUM2 ONLY PRESENT IF ODD & EVEN RANGES ARE ON              02280040
-          * SAME SIDE OF STREET.                                            02290040
-                  10  GEO-WA2-FN3C-CONT-PARITY-IND      PIC X.              02300040
-                  10  GEO-WA2-FN3C-LIONFACECODE         PIC X(4).           02310040
-                  10  GEO-WA2-FN3C-LIONSEQ              PIC X(5).           02320040
-                  10  GEO-WA2-FN3C-GENRECFLAG           PIC X.              02330040
-                  10  GEO-WA2-FN3C-SEGMENTLENGTH        PIC S9(5) COMP-3.   02340040
-                  10  GEO-WA2-FN3C-SEGMENTSLOPE         PIC X(3).           02350040
-                  10  GEO-WA2-FN3C-SEGMENTORIENT        PIC X.              02360040
-          ***     NEXT LINE WAS PREVIOUSLY INSTRUC-DIV                      02370040
-                  10  FILLER                            PIC XX.             02380040
-                  10  GEO-WA2-FN3C-RESDCP               PIC X.              02390040
-                  10  GEO-WA2-FN3C-FEATURE-TYPE         PIC X.              02400040
-                  10  GEO-WA2-FN3C-POLICEDIST.                              02410040
-                     15  GEO-WA2-FN3C-POL-PATR-BORO-CMD PIC X.              02420040
-                     15  GEO-WA2-FN3C-POL-PRECINCT      PIC X(3).           02430040
-                  10  GEO-WA2-FN3C-SCHOOLDIST           PIC X(2).           02440040
-                  10  GEO-WA2-FN3C-MARBLE-RIKER-FLAG    PIC X.              02450040
-                  10  GEO-WA2-FN3C-1990-CENSUSTRACT     PIC X(6).           02460040
-                  10  FILLER                            PIC X(4).           02470040
-                  10  GEO-WA2-FN3C-DYN-BLOCK            PIC X(3).           02480040
-                  10  GEO-WA2-FN3C-2000-CENS-BLOCK      PIC X(4).           02500043
-                  10  GEO-WA2-FN3C-2000-CENS-BLK-SUF    PIC X.              02510043
-               05  GEO-WA2-FUNCTION1E  REDEFINES GEO-WA2-FUNCTION1.         02520040
-                  10  FILLER                            PIC X(21).          02530040
-                  10  GEO-WA2-FN1E-CONT-PARITY          PIC X.              02540040
-                  10  GEO-WA2-FN1E-LOW-HOUSENUM-INT.                        02550040
-                      15  GEO-WA2-FN1E-LOW-HOUSENUM     PIC X(5).           02560040
-                      15  GEO-WA2-FN1E-LOW-HSENUMSFX    PIC X.              02570040
-                  10  GEO-WA2-FN1E-HI-HOUSENUM-INT.                         02580040
-                      15  GEO-WA2-FN1E-HI-HOUSENUM      PIC X(5).           02590040
-                      15  GEO-WA2-FN1E-HI-HSENUMSFX     PIC X.              02600040
-                  10  FILLER                            PIC X.              02610040
-                  10  GEO-WA2-FN1E-NUM-X-ST-LOW-END     PIC X.              02620040
-                  10  GEO-WA2-FN1E-LOW-PBSC             PIC S9(7) COMP-3    02630040
-                                                        OCCURS 5 TIMES.     02640040
-                  10  GEO-WA2-FN1E-NUM-X-ST-HI-END      PIC X.              02650040
-                  10  GEO-WA2-FN1E-HI-PBSC              PIC S9(7) COMP-3    02660040
-                                                        OCCURS 5 TIMES.     02670040
-                  10  GEO-WA2-FN1E-COMDIST.                                 02680040
-                      15  GEO-WA2-FN1E-COMDIST-BORO     PIC X.              02690040
-                      15  GEO-WA2-FN1E-COMDIST-NUMBER   PIC X(2).           02700040
-                  10  GEO-WA2-FN1E-ZIP                  PIC X(5).           02710040
-                  10  GEO-WA2-FN1E-SLA                  PIC X.              02720040
-                  10  GEO-WA2-FN1E-HCD                  PIC X(2).           02730047
-                  10  GEO-WA2-FN1E-SOS                  PIC X.              02740040
-                  10  GEO-WA2-FN1E-CONT-PARITY-IND      PIC X.              02750040
-                  10  GEO-WA2-FN1E-2010-CENS-TRCT       PIC X(6).           02760042
-                  10  GEO-WA2-FN1E-2010-CENS-BLK        PIC X(4).           02770042
-                  10  GEO-WA2-FN1E-2010-CENS-BLK-SFX    PIC X.              02780042
-                  10  FILLER                            PIC X(3).           02790040
-                  10  GEO-WA2-FN1E-HEALTHAREA           PIC X(4).           02800047
-                  10  GEO-WA2-FN1E-SANI-REC             PIC X(3).           02810040
-                  10  GEO-WA2-FN1E-FEATURE-TYPE         PIC X.              02820040
-                  10  GEO-WA2-FN1E-RESDCP               PIC X.              02830040
-                  10  GEO-WA2-FN1E-CURVE-FLAG           PIC X.              02840040
-                  10  GEO-WA2-FN1E-POLICEDIST.                              02850040
-                     15  GEO-WA2-FN1E-POL-PATR-BORO-CMD PIC X.              02860040
-                     15  GEO-WA2-FN1E-POL-PRECINCT      PIC X(3).           02870040
-                  10  GEO-WA2-FN1E-SCHOOLDIST           PIC X(2).           02880040
-                  10  GEO-WA2-FN1E-ELECTDIST            PIC X(3).           02890040
-                  10  GEO-WA2-FN1E-ASSEMDIST            PIC X(2).           02900040
-                  10  GEO-WA2-FN1E-SPLIT-ED-FLAG        PIC X.              02910040
-                  10  GEO-WA2-FN1E-CONGDIST             PIC X(2).           02920040
-                  10  GEO-WA2-FN1E-SENATEDIST           PIC X(2).           02930040
-                  10  GEO-WA2-FN1E-COURTDIST            PIC X(2).           02940040
-                  10  GEO-WA2-FN1E-COUNCILDIST          PIC X(2).           02950040
-                  10  GEO-WA2-FN1E-COINCIDENT-CNT       PIC X.              02960040
-                  10  FILLER                            PIC X.              02970040
-                  10  GEO-WA2-FN1E-SANIDIST.                                02980040
-                      15  GEO-WA2-FN1E-SANIDIST-BORO    PIC X.              02990040
-                      15  GEO-WA2-FN1E-SANIDIST-NUMBER  PIC X(2).           03000040
-                  10  GEO-WA2-FN1E-SANITATION-SUBSEC    PIC X(2).           03010040
-          ** NOTE:10  GEO-WA2-FN1E-FIRESEC ==> FIRE DIVISION **             03020040
-                  10  GEO-WA2-FN1E-FIRESEC              PIC X(2).           03030040
-                  10  GEO-WA2-FN1E-FIREBAT              PIC X(2).           03040040
-                  10  GEO-WA2-FN1E-FIRECO.                                  03050040
-                      15  GEO-WA2-FN1E-FIRECO-TYPE      PIC X.              03060040
-                      15  GEO-WA2-FN1E-FIRECO-NUM       PIC X(3).           03070040
-                  10  GEO-WA2-FN1E-SPECIAL-ADDR-FLAG    PIC X.              03080040
-                  10  GEO-WA2-FN1E-MARBLE-RIKER-FLAG    PIC X.              03090040
-                  10  GEO-WA2-FN1E-SPLIT-SCHOOL-FILL    PIC X.              03100044
-                  10  GEO-WA2-FN1E-PREFERRED-LGC        PIC X(2).           03110040
-                  10  GEO-WA2-FN1E-LIONFACECODE         PIC X(4).           03120040
-                  10  GEO-WA2-FN1E-LIONSEQ              PIC X(5).           03130040
-                  10  GEO-WA2-FN1E-1990-CENSUSTRACT     PIC X(6).           03140040
-                  10  FILLER                            PIC X(4).           03150040
-                  10  GEO-WA2-FN1E-DYN-BLOCK            PIC X(3).           03160040
-                  10  GEO-WA2-FN1E-XCOORD               PIC X(7).           03170040
-                  10  GEO-WA2-FN1E-YCOORD               PIC X(7).           03180040
-                  10  GEO-WA2-FN1E-SEGMENTLENGTH        PIC X(5).           03190040
-                  10  GEO-WA2-FN1E-SANI-REG             PIC X(5).           03200040
-               05  GEO-WA2-FUNCTION5   REDEFINES GEO-WA2-FUNCTION1.         03210040
-                  10  GEO-WA2-FN5-ADDR-MATCHING-KEY     PIC X(28).          03220040
-                  10  FILLER                            PIC X(172).         03230040
-
-

W2COBL COPY File

-
        ******************************************************************  00010021
-        ***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2COBL, CONTAINING  ***    00020021
-        ***  THE LAYOUT OF THE OPTIONAL LONG WORK AREA 2 FOR FUNCTIONS *    00030021
-        ***  1/1E AND 3.  THIS WORK AREA SHOULD BE USED ONLY WHEN    ***    00040021
-        ***  FUNCTION 1/1E,3 ARE CALLED WITH THE "LONG" WORK AREA2   ***    00050021
-        ***                                      APRIL 3 2001        ***    00060021
-        ******************************************************************  00070021
-        ***                    LAST MODIFIED    06/08/10             ***    00080021
-        ******************************************************************  00090021
-               05  GEO-WA2-1L-FUNCTION1.                                    00100021
-                  10  FILLER                           PIC X(21).           00110021
-                  10  GEO-WA2-1L-CONT-PARITY           PIC X.               00120021
-                  10  GEO-WA2-1L-LOW-HOUSENUM-INT.                          00130021
-                     15  GEO-WA2-1L-LOW-HOUSENUM       PIC X(5).            00140021
-                     15  GEO-WA2-1L-LOW-HOUSENUMSFX    PIC X.               00150021
-                  10  GEO-WA2-1L-HI-HOUSENUM-INT.                           00160021
-                     15  GEO-WA2-1L-HI-HOUSENUM        PIC X(5).            00170021
-                     15  GEO-WA2-1L-HI-HOUSENUMSFX     PIC X.               00180021
-                  10  GEO-WA2-1L-ALX                   PIC X.               00190021
-                  10  GEO-WA2-1L-NUM-X-ST-LOW-END      PIC X.               00200021
-                  10  GEO-WA2-1L-LOW-PBSC              PIC S9(7) COMP-3     00210021
-                                                       OCCURS 5 TIMES.      00220021
-                  10  GEO-WA2-1L-NUM-X-ST-HI-END       PIC X.               00230021
-                  10  GEO-WA2-1L-HI-PBSC               PIC S9(7) COMP-3     00240021
-                                                       OCCURS 5 TIMES.      00250021
-                  10  GEO-WA2-1L-COMDIST.                                   00260021
-                      15  GEO-WA2-1L-COMDIST-BORO      PIC X(1).            00270021
-                      15  GEO-WA2-1L-COMDIST-NUMBER    PIC X(2).            00280021
-                  10  GEO-WA2-1L-ZIP                   PIC X(5).            00290021
-                  10  GEO-WA2-1L-SLA                   PIC X.               00300021
-                  10  GEO-WA2-1L-HCD                   PIC X(2).            00310028
-                  10  GEO-WA2-1L-SOS                   PIC X.               00320021
-                  10  GEO-WA2-1L-CONT-PARITY-IND       PIC X.               00330021
-                  10  GEO-WA2-1L-2010-CENS-TRCT        PIC X(6).            00340023
-                  10  GEO-WA2-1L-2010-CENS-BLK         PIC X(4).            00350023
-                  10  GEO-WA2-1L-2010-CENS-BLK-SFX     PIC X.               00360023
-                  10  FILLER                           PIC X(3).            00370021
-                  10  GEO-WA2-1L-HEALTHAREA            PIC X(4).            00380028
-                  10  GEO-WA2-1L-SANI-REC              PIC X(3).            00390021
-                  10  GEO-WA2-1L-FEATURE-TYPE          PIC X(1).            00400021
-                  10  GEO-WA2-1L-RESDCP                PIC X(1).            00410021
-                  10  GEO-WA2-1L-CURVE-FLAG            PIC X(1).            00420021
-                  10  GEO-WA2-1L-POLICEDIST.                                00430021
-                     15  GEO-WA2-1L-POL-PATR-BORO-CMD  PIC X(1).            00440021
-                     15  GEO-WA2-1L-POL-PRECINCT       PIC X(3).            00450021
-                  10  GEO-WA2-1L-SCHOOLDIST            PIC X(2).            00460021
-                  10  FILLER                           PIC X(14).           00470021
-                  10  GEO-WA2-1L-COINCIDENT-CNT        PIC X.               00480021
-                  10  GEO-WA2-1L-SEGMENT-TYPE          PIC X.               00490021
-                  10  GEO-WA2-1L-SANIDIST.                                  00500021
-                      15  GEO-WA2-1L-SANIDIST-BORO     PIC X(1).            00510021
-                      15  GEO-WA2-1L-SANIDIST-NUMBER   PIC X(2).            00520021
-                  10  GEO-WA2-1L-SANITATION-SUBSEC     PIC X(2).            00530021
-          ** NOTE:10  GEO-WA2-1L-FIRESEC ==> FIRE DIVISION **               00540021
-                  10  GEO-WA2-1L-FIRESEC               PIC X(2).            00550021
-                  10  GEO-WA2-1L-FIREBAT               PIC X(2).            00560021
-                  10  GEO-WA2-1L-FIRECO.                                    00570021
-                      15  GEO-WA2-1L-FIRECO-TYPE       PIC X(1).            00580021
-                      15  GEO-WA2-1L-FIRECO-NUM        PIC X(3).            00590021
-                  10  GEO-WA2-1L-SPECIAL-ADDR-FLAG     PIC X(1).            00600021
-                  10  GEO-WA2-1L-MARBLE-RIKER-FLAG     PIC X(1).            00610021
-                  10  GEO-WA2-1L-SPLIT-SCHOOL-FILL     PIC X.               00620025
-                  10  GEO-WA2-1L-PREFERRED-LGC         PIC X(2).            00630021
-                  10  GEO-WA2-1L-LIONFACECODE          PIC X(4).            00640021
-                  10  GEO-WA2-1L-LIONSEQ               PIC X(5).            00650021
-                  10  GEO-WA2-1L-1990-CENSUSTRACT      PIC X(6).            00660021
-                  10  FILLER                           PIC X(4).            00670021
-                  10  GEO-WA2-1L-DYN-BLOCK             PIC X(3).            00680021
-                  10  GEO-WA2-1L-XCOORD                PIC X(7).            00690021
-                  10  GEO-WA2-1L-YCOORD                PIC X(7).            00700021
-                  10  GEO-WA2-1L-SEGMENTLENGTH         PIC X(5).            00710021
-                  10  GEO-WA2-1L-SANI-REG              PIC X(5).            00720021
-                  10  GEO-WA2-1L-SEG-ID                PIC X(7).            00730021
-                  10  GEO-WA2-1L-TRUE-B7SC             PIC X(8).            00740021
-                  10  GEO-WA2-1L-TRUE-HNI              PIC X(6).            00750021
-                  10  GEO-WA2-1L-2000-CENS-TRACT       PIC X(6).            00770024
-                  10  GEO-WA2-1L-2000-CENS-BLOCK       PIC X(4).            00780024
-                  10  GEO-WA2-1L-2000-CENS-BLK-SUF     PIC X.               00790024
-                  10  FILLER                           PIC X(68).           00800021
-               05  GEO-WA2-1EL-FUNCTION1E REDEFINES GEO-WA2-1L-FUNCTION1.   00810021
-                  10  FILLER                           PIC X(21).           00820021
-                  10  GEO-WA2-1EL-CONT-PARITY          PIC X.               00830021
-                  10  GEO-WA2-1EL-LOW-HOUSENUM-INT.                         00840021
-                     15  GEO-WA2-1EL-LOW-HOUSENUM      PIC X(5).            00850021
-                     15  GEO-WA2-1EL-LOW-HOUSENUMSFX   PIC X.               00860021
-                  10  GEO-WA2-1EL-HI-HOUSENUM-INT.                          00870021
-                     15  GEO-WA2-1EL-HI-HOUSENUM       PIC X(5).            00880021
-                     15  GEO-WA2-1EL-HI-HOUSENUMSFX    PIC X.               00890021
-                  10  FILLER                           PIC X.               00900021
-                  10  GEO-WA2-1EL-NUM-X-ST-LOW-END     PIC X.               00910021
-                  10  GEO-WA2-1EL-LOW-PBSC             PIC S9(7) COMP-3     00920021
-                                                       OCCURS 5 TIMES.      00930021
-                  10  GEO-WA2-1EL-NUM-X-ST-HI-END      PIC X.               00940021
-                  10  GEO-WA2-1EL-HI-PBSC              PIC S9(7) COMP-3     00950021
-                                                       OCCURS 5 TIMES.      00960021
-                  10  GEO-WA2-1EL-COMDIST.                                  00970021
-                      15  GEO-WA2-1EL-COMDIST-BORO     PIC X(1).            00980021
-                      15  GEO-WA2-1EL-COMDIST-NUMBER   PIC X(2).            00990021
-                  10  GEO-WA2-1EL-ZIP                  PIC X(5).            01000021
-                  10  GEO-WA2-1EL-SLA                  PIC X.               01010021
-                  10  GEO-WA2-1EL-HCD                  PIC X(2).            01020028
-                  10  GEO-WA2-1EL-SOS                  PIC X.               01030021
-                  10  GEO-WA2-1EL-CONT-PARITY-IND      PIC X.               01040021
-                  10  GEO-WA2-1EL-2010-CENS-TRCT       PIC X(6).            01050023
-                  10  GEO-WA2-1EL-2010-CENS-BLK        PIC X(4).            01060023
-                  10  GEO-WA2-1EL-2010-CENS-BLK-SFX    PIC X.               01070023
-                  10  FILLER                           PIC X(3).            01080021
-                  10  GEO-WA2-1EL-HEALTHAREA           PIC X(4).            01090028
-                  10  GEO-WA2-1EL-SANI-REC             PIC X(3).            01100021
-                  10  GEO-WA2-1EL-FEATURE-TYPE         PIC X(1).            01110021
-                  10  GEO-WA2-1EL-RESDCP               PIC X(1).            01120021
-                  10  GEO-WA2-1EL-CURVE-FLAG           PIC X(1).            01130021
-                  10  GEO-WA2-1EL-POLICEDIST.                               01140021
-                     15  GEO-WA2-1EL-POL-PATR-BORO-CMD PIC X(1).            01150021
-                     15  GEO-WA2-1EL-POL-PRECINCT      PIC X(3).            01160021
-                  10  GEO-WA2-1EL-SCHOOLDIST           PIC X(2).            01170021
-                  10  GEO-WA2-1EL-ELECTDIST            PIC X(3).            01180021
-                  10  GEO-WA2-1EL-ASSEMDIST            PIC X(2).            01190021
-                  10  GEO-WA2-1EL-SPLIT-ED-FLAG        PIC X(1).            01200021
-                  10  GEO-WA2-1EL-CONGDIST             PIC X(2).            01210021
-                  10  GEO-WA2-1EL-SENATEDIST           PIC X(2).            01220021
-                  10  GEO-WA2-1EL-COURTDIST            PIC X(2).            01230021
-                  10  GEO-WA2-1EL-COUNCILDIST          PIC X(2).            01240021
-                  10  GEO-WA2-1EL-COINCIDENT-CNT       PIC X.               01250021
-                  10  FILLER                           PIC X.               01260021
-                  10  GEO-WA2-1EL-SANIDIST.                                 01270021
-                      15  GEO-WA2-1EL-SANIDIST-BORO    PIC X(1).            01280021
-                      15  GEO-WA2-1EL-SANIDIST-NUMBER  PIC X(2).            01290021
-                  10  GEO-WA2-1EL-SANITATION-SUBSEC    PIC X(2).            01300021
-          ** NOTE:10  GEO-WA2-1EL-FIRESEC==> FIRE DIVISION **               01310021
-                  10  GEO-WA2-1EL-FIRESEC              PIC X(2).            01320021
-                  10  GEO-WA2-1EL-FIREBAT              PIC X(2).            01330021
-                  10  GEO-WA2-1EL-FIRECO.                                   01340021
-                      15  GEO-WA2-1EL-FIRECO-TYPE      PIC X(1).            01350021
-                      15  GEO-WA2-1EL-FIRECO-NUM       PIC X(3).            01360021
-                  10  GEO-WA2-1EL-SPECIAL-ADDR-FLAG    PIC X(1).            01370021
-                  10  GEO-WA2-1EL-MARBLE-RIKER-FLAG    PIC X(1).            01380021
-                  10  GEO-WA2-1EL-SPLIT-SCHOOL-FILL    PIC X.               01390025
-                  10  GEO-WA2-1EL-PREFERRED-LGC        PIC X(2).            01400021
-                  10  GEO-WA2-1EL-LIONFACECODE         PIC X(4).            01410021
-                  10  GEO-WA2-1EL-LIONSEQ              PIC X(5).            01420021
-                  10  GEO-WA2-1EL-1990-CENSUSTRACT     PIC X(6).            01430021
-                  10  FILLER                           PIC X(4).            01440021
-                  10  GEO-WA2-1EL-DYN-BLOCK            PIC X(3).            01450021
-                  10  GEO-WA2-1EL-XCOORD               PIC X(7).            01460021
-                  10  GEO-WA2-1EL-YCOORD               PIC X(7).            01470021
-                  10  GEO-WA2-1EL-SEGMENTLENGTH        PIC X(5).            01480021
-                  10  GEO-WA2-1EL-SANI-REG             PIC X(5).            01490021
-                  10  GEO-WA2-1EL-SEG-ID               PIC X(7).            01500021
-                  10  GEO-WA2-1EL-TRUE-B7SC            PIC X(8).            01510021
-                  10  GEO-WA2-1EL-TRUE-HNI             PIC X(6).            01520021
-                  10  GEO-WA2-1EL-2000-CENS-TRACT      PIC X(6).            01540024
-                  10  GEO-WA2-1EL-2000-CENS-BLOCK      PIC X(4).            01550024
-                  10  GEO-WA2-1EL-2000-CENS-BLK-SUF    PIC X.               01560024
-                  10  FILLER                           PIC X(68).           01570021
-               05  GEO-WA2-3L-FUNCTION3 REDEFINES GEO-WA2-1L-FUNCTION1.     01580021
-                  10  FILLER                           PIC X(21).           01590021
-                  10  GEO-WA2-3L-DUP-KEY-FLAG          PIC X.               01600021
-                  10  GEO-WA2-3L-CURVE-FLAG            PIC X.               01610021
-                  10  GEO-WA2-3L-LOCATION-STATUS       PIC X.               01620021
-                  10  GEO-WA2-3L-COUNTY-BOUNDARY       PIC X.               01630021
-                  10  GEO-WA2-3L-COINCIDENT-CNT        PIC X.               01640021
-                  10  FILLER                           PIC X(3).            01650021
-                  10  GEO-WA2-3L-PREFERRED-LGC1        PIC X(2).            01660021
-                  10  GEO-WA2-3L-PREFERRED-LGC2        PIC X(2).            01670021
-                  10  GEO-WA2-3L-PREFERRED-LGC3        PIC X(2).            01680021
-                  10  GEO-WA2-3L-NUM-X-ST-LOW-END      PIC X.               01690021
-                  10  GEO-WA2-3L-LOW-PBSC              PIC S9(7) COMP-3     01700021
-                                                        OCCURS 5 TIMES.     01710021
-                  10  GEO-WA2-3L-NUM-X-ST-HI-END       PIC X.               01720021
-                  10  GEO-WA2-3L-HI-PBSC               PIC S9(7) COMP-3     01730021
-                                                        OCCURS 5 TIMES.     01740021
-                  10  GEO-WA2-3L-SLA                   PIC X.               01750021
-                  10  GEO-WA2-3L-REVERSALFLAG          PIC X.               01760021
-                  10  GEO-WA2-3L-LEFT-COMDIST.                              01770021
-                      15  GEO-WA2-3L-LEFT-COMDIST-BORO PIC X(1).            01780021
-                      15  GEO-WA2-3L-LEFT-COMDIST-NUM  PIC X(2).            01790021
-                  10  GEO-WA2-3L-RIGHT-COMDIST.                             01800021
-                      15 GEO-WA2-3L-RIGHT-COMDIST-BORO PIC X(1).            01810021
-                      15  GEO-WA2-3L-RIGHT-COMDIST-NUM PIC X(2).            01820021
-                  10  GEO-WA2-3L-LEFT-ZIP              PIC X(5).            01830021
-                  10  GEO-WA2-3L-RIGHT-ZIP             PIC X(5).            01840021
-                  10  FILLER                           PIC X(18).           01850021
-                  10  GEO-WA2-3L-LEFT-HEALTHAREA       PIC X(4).            01860028
-                  10  GEO-WA2-3L-RIGHT-HEALTHAREA      PIC X(4).            01870028
-          ***     NEXT LINE WAS PREVIOUSLY LEFT-INSTRUC-DIV                 01880021
-                  10  FILLER                           PIC X(2).            01890021
-          ***     NEXT LINE WAS PREVIOUSLY RIGHT-INSTRUC-DIV                01900021
-                  10  FILLER                           PIC X(2).            01910021
-                  10  GEO-WA2-3L-LEFT-LOW-HOUSENUM     PIC X(7).            01920021
-                  10  GEO-WA2-3L-LEFT-HI-HOUSENUM      PIC X(7).            01930021
-                  10  GEO-WA2-3L-RIGHT-LOW-HOUSENUM    PIC X(7).            01940021
-                  10  GEO-WA2-3L-RIGHT-HI-HOUSENUM     PIC X(7).            01950021
-                  10  GEO-WA2-3L-CONT-PARITY-IND       PIC X.               01960021
-                  10  GEO-WA2-3L-LIONFACECODE          PIC X(4).            01970021
-                  10  GEO-WA2-3L-LIONSEQ               PIC X(5).            01980021
-                  10  GEO-WA2-3L-GENRECFLAG            PIC X.               01990021
-                  10  GEO-WA2-3L-SEGMENTLENGTH         PIC S9(5) COMP-3.    02000021
-                  10  GEO-WA2-3L-SEGMENTSLOPE          PIC X(3).            02010021
-                  10  GEO-WA2-3L-SEGMENTORIENT         PIC X.               02020021
-                  10  FILLER                           PIC X(4).            02030021
-                  10  GEO-WA2-3L-RESDCP                PIC X(2).            02040021
-                  10  GEO-WA2-3L-DOG-LEG               PIC X.               02050021
-                  10  GEO-WA2-3L-FEATURE-TYPE          PIC X(1).            02060021
-                  10  GEO-WA2-3L-LEFT-POLDIST.                              02070021
-                     15  GEO-WA2-3L-L-POL-PATR-BOR-CMD PIC X(1).            02080021
-                     15  GEO-WA2-3L-L-POL-PRECINCT     PIC X(3).            02090021
-                  10  GEO-WA2-3L-RIGHT-POLDIST.                             02100021
-                     15  GEO-WA2-3L-R-POL-PATR-BOR-CMD PIC X(1).            02110021
-                     15  GEO-WA2-3L-R-POL-PRECINCT     PIC X(3).            02120021
-                  10  GEO-WA2-3L-LEFT-SCHLDIST         PIC X(2).            02130021
-                  10  GEO-WA2-3L-RIGHT-SCHLDIST        PIC X(2).            02140021
-                  10  GEO-WA2-3L-MARBLE-RIKER-FLAG     PIC X(1).            02150021
-                  10  GEO-WA2-3L-SEG-ID                PIC X(7).            02160021
-                  10  GEO-WA2-3L-SEGMENT-TYPE          PIC X.               02170021
-          *************************************************************     02180021
-          **  THE PORTION OF THIS WORK AREA ABOVE THIS POINT IS      **     02190021
-          **  IDENTICAL TO THE STANDARD WORK AREA 2 FOR FUNCTION 3.  **     02200021
-          **  THE PORTION BELOW THIS POINT IS PRESENT ONLY FOR THE   **     02210021
-          **  LONG WORK AREA 2 OPTION.                               **     02220021
-          *************************************************************     02230021
-                  10  GEO-WA2-3L-L-1990-CENSUSTRACT    PIC X(6) .           02240021
-                  10  FILLER                           PIC X(4).            02250021
-                  10  GEO-WA2-3L-L-DYN-BLOCK           PIC X(3).            02260021
-                  10  GEO-WA2-3L-R-1990-CENSUSTRACT    PIC X(6).            02270021
-                  10  FILLER                           PIC X(4).            02280021
-                  10  GEO-WA2-3L-R-DYN-BLOCK           PIC X(3).            02290021
-          ** NOTE:10  GEO-WA2-3L-L-FIRESEC ==> FIRE DIV **                  02300021
-          ** NOTE:10  GEO-WA2-3L-R-FIRESEC ==> FIRE DIV **                  02310021
-                  10  GEO-WA2-3L-L-FIRESEC             PIC X(2).            02320021
-                  10  GEO-WA2-3L-L-FIREBAT             PIC X(2).            02330021
-                  10  GEO-WA2-3L-L-FIRECO.                                  02340021
-                      15  GEO-WA2-3L-L-FIRECO-TYPE     PIC X(1).            02350021
-                      15  GEO-WA2-3L-L-FIRECO-NUM      PIC X(3).            02360021
-                  10  GEO-WA2-3L-R-FIRESEC             PIC X(2).            02370021
-                  10  GEO-WA2-3L-R-FIREBAT             PIC X(2).            02380021
-                  10  GEO-WA2-3L-R-FIRECO.                                  02390021
-                      15  GEO-WA2-3L-R-FIRECO-TYPE     PIC X(1).            02400021
-                      15  GEO-WA2-3L-R-FIRECO-NUM      PIC X(3).            02410021
-                  10  GEO-WA2-3L-L-2010-CENS-TRCT      PIC X(6).            02420023
-                  10  GEO-WA2-3L-L-2010-CENS-BLK       PIC X(4).            02430023
-                  10  GEO-WA2-3L-L-2010-CENS-BLK-SFX   PIC X.               02440023
-                  10  GEO-WA2-3L-R-2010-CENS-TRCT      PIC X(6).            02450023
-                  10  GEO-WA2-3L-R-2010-CENS-BLK       PIC X(4).            02460023
-                  10  GEO-WA2-3L-R-2010-CENS-BLK-SFX   PIC X.               02470023
-                  10  GEO-WA2-3L-FROM-NODE             PIC X(7).            02480021
-                  10  GEO-WA2-3L-TO-NODE               PIC X(7).            02490021
-                  10  GEO-WA2-3L-L-2000-CENS-TRACT     PIC X(6).            02510024
-                  10  GEO-WA2-3L-L-2000-CENS-BLOCK     PIC X(4).            02520024
-                  10  GEO-WA2-3L-L-2000-CENS-BLK-SUF   PIC X.               02530024
-                  10  GEO-WA2-3L-R-2000-CENS-TRACT     PIC X(6).            02540024
-                  10  GEO-WA2-3L-R-2000-CENS-BLOCK     PIC X(4).            02550024
-                  10  GEO-WA2-3L-R-2000-CENS-BLK-SUF   PIC X.               02560024
-
-

W2COB1A COPY File

-
         *****************************************************************  00000100
-         **  THIS IS GEOSUPPORT SYSTEM COPY FILE W2COB1A, CONTAINING   **   00000200
-         **  THE LAYOUT OF WORK AREA 2 FOR FUNCTIONS 1A AND BL WHICH   **   00000300
-         **  SHARE A SINGLE WORK AREA 2 LAYOUT.          10/18/96      **   00000400
-         *****************************************************************  00000500
-          *  NEW FORMAT  *                                                  00000600
-               05  GEO-WA2-1A-ACCESS-KEY                PIC X(21).          00000700
-               05  GEO-WA2-1A-CONT-PARITY               PIC X.              00000800
-               05  GEO-WA2-1A-LOW-HOUSENUM              PIC X(6).           00000900
-               05  GEO-WA2-1A-ALTKEY-1.                                     00001000
-                  10 GEO-WA2-1A-ALTKEY-1-BORO           PIC X.              00001100
-                  10 GEO-WA2-1A-ALTKEY-1-TAXBLOCK       PIC X(5).           00001200
-                  10 GEO-WA2-1A-ALTKEY-1-TAXLOT         PIC X(4).           00001300
-               05  FILLER                               PIC X.              00001400
-               05  GEO-WA2-1A-SCC                       PIC X.              00001500
-               05  FILLER                               PIC X.              00001600
-               05  GEO-WA2-1A-GENERAL-LOT-INFO.                             00001700
-                  10 GEO-WA2-1A-RPAD-BLDG-CLASS         PIC X(2).           00001800
-                  10 GEO-WA2-1A-CORNER-CODE             PIC X(2).           00001900
-                  10 GEO-WA2-1A-NUM-OF-STRUCTURES       PIC X(2).           00002000
-                  10 GEO-WA2-1A-NUM-OF-BLOCKFACES       PIC X(2).           00002100
-                  10 GEO-WA2-1A-INTERIOR-FLAG           PIC X.              00002200
-                  10 GEO-WA2-1A-VACANT-FLAG             PIC X.              00002300
-                  10 GEO-WA2-1A-IRREG-FLAG              PIC X.              00002400
-               05  GEO-WA2-1A-ALT-BORO-FLAG             PIC X.              00002500
-               05  FILLER                               PIC X.              00002600
-               05  GEO-WA2-1A-STROLL-KEY                PIC X(13).          00002700
-               05  GEO-WA2-1A-OVERFLOW-FLAG             PIC X(1).           00002801
-               05  FILLER-DCP                           PIC X(1).           00002900
-               05  GEO-WA2-1A-BLDG-ID-NUM               PIC X(7).           00003000
-               05  GEO-WA2-1A-CONDO-LOT-FLAG            PIC X.              00003100
-               05  GEO-WA2-1A-RPAD-COND-NUM             PIC X(4).           00003200
-               05  GEO-WA2-1A-CONDO-LOW-BBL             PIC X(10).          00003300
-               05  FILLER                               PIC X.              00003400
-               05  GEO-WA2-1A-CONDO-BILLING-BBL         PIC X(10).          00003500
-               05  FILLER                               PIC X.              00003600
-               05  GEO-WA2-1A-CONDO-BILL-BBL-SCC        PIC X.              00003700
-               05  GEO-WA2-1A-CONDO-HIGH-BBL            PIC X(10).          00003800
-               05  FILLER                               PIC X.              00003900
-               05  GEO-WA2-1A-SANBORN-BVOLPAGE.                             00004000
-                   10  GEO-WA2-1A-SANBORN-BORO          PIC X(1).           00004100
-                   10  GEO-WA2-1A-SANBORN-VOL-PAGE.                         00004200
-                       15  GEO-WA2-1A-SANBORN-VOL-NUM   PIC X(3).           00004300
-                       15  GEO-WA2-1A-SANBORN-PAGE-NUM  PIC X(4).           00004400
-               05  GEO-WA2-1A-COMMERC-DIST              PIC X(5).           00004500
-               05  GEO-WA2-1A-CO-OP-NBR                 PIC X(4).           00004602
-               05  FILLER                               PIC X(4).           00004703
-               05  GEO-WA2-1A-TOT-NBR-BLDG              PIC X(4).           00004802
-               05  GEO-WA2-1A-DOF-MAP-BOROUGH           PIC X.              00004904
-               05  GEO-WA2-1A-TAX-MAP-NBR               PIC X(4).           00005004
-               05  FILLER-FOR-TAX-MAP-PAGE              PIC X(4).           00005105
-               05  GEO-WA2-1A-X-COORD                   PIC X(7).           00005205
-               05  GEO-WA2-1A-Y-COORD                   PIC X(7).           00005305
-               05  GEO-WA2-1A-BID                       PIC X(6).           00005406
-               05  FILLER                               PIC X(2).           00005506
-               05  GEO-WA2-1A-FILLER-LGCS               PIC X(8).           00005607
-               05  FILLER                               PIC X(2).           00005706
-               05  GEO-WA2-1A-NUM-OF-ADDR-FOR-LOT       PIC X(2).           00005806
-               05  GEO-WA2-1A-LIST-OF-ADDRESSES         OCCURS 21 TIMES.    00005906
-                  10  GEO-WA2-1A-LIST-LOW-HOUSENUM      PIC X(6).           00006006
-                  10  FILLER                            PIC X(3).           00006106
-                  10  GEO-WA2-1A-LIST-HI-HOUSENUM       PIC X(6).           00006206
-                  10  FILLER                            PIC X(3).           00006306
-                  10  GEO-WA2-1A-LIST-STREETCODE        PIC X(8).           00006406
-                  10  GEO-WA2-1A-LIST-BIN               PIC X(7).           00006506
-                  10  GEO-WA2-1A-ADDR-TYPE              PIC X.              00006606
-                  10  FILLER                            PIC X.              00006706
-                  10  GEO-WA2-1A-LIST-SOS               PIC X.              00007002
-
-

W2COB1AL COPY File

-
         *****************************************************************  00000100
-         **  THIS IS GEOSUPPORT SYSTEM COPY FILE W2COB1AL, CONTAINING   **  00000200
-         **  THE LAYOUT OF LONG WORK AREA 2 FOR FUNCTIONS 1A AND BL     **  00000300
-         **  WHICH SHARE A SINGLE WORK AREA 2 LAYOUT.       11/06/97    **  00000400
-         *****************************************************************  00000500
-          *  1A/BL LONG WORK AREA 2 *                                       00000600
-               05  GEO-WA2-1AL-ACCESS-KEY                PIC X(21).         00000700
-               05  GEO-WA2-1AL-CONT-PARITY               PIC X.             00000800
-               05  GEO-WA2-1AL-LOW-HOUSENUM              PIC X(6).          00000900
-               05  GEO-WA2-1AL-ALTKEY-1.                                    00001000
-                  10 GEO-WA2-1AL-ALTKEY-1-BORO           PIC X.             00001100
-                  10 GEO-WA2-1AL-ALTKEY-1-TAXBLOCK       PIC X(5).          00001200
-                  10 GEO-WA2-1AL-ALTKEY-1-TAXLOT         PIC X(4).          00001300
-               05  FILLER                               PIC X.              00001400
-               05  GEO-WA2-1AL-SCC                       PIC X.             00001500
-               05  FILLER                               PIC X.              00001600
-               05  GEO-WA2-1AL-GENERAL-LOT-INFO.                            00001700
-                  10 GEO-WA2-1AL-RPAD-BLDG-CLASS         PIC X(2).          00001800
-                  10 GEO-WA2-1AL-CORNER-CODE             PIC X(2).          00001900
-                  10 GEO-WA2-1AL-NUM-OF-STRUCTURES       PIC X(2).          00002000
-                  10 GEO-WA2-1AL-NUM-OF-BLOCKFACES       PIC X(2).          00002100
-                  10 GEO-WA2-1AL-INTERIOR-FLAG           PIC X.             00002200
-                  10 GEO-WA2-1AL-VACANT-FLAG             PIC X.             00002300
-                  10 GEO-WA2-1AL-IRREG-FLAG              PIC X.             00002400
-               05  GEO-WA2-1AL-ALT-BORO-FLAG             PIC X.             00002500
-               05  FILLER                               PIC X.              00002600
-               05  GEO-WA2-1AL-STROLL-KEY                PIC X(13).         00002700
-               05  FILLER                               PIC X(1).           00002800
-               05  FILLER-DCP                           PIC X(1).           00002900
-               05  GEO-WA2-1AL-BLDG-ID-NUM               PIC X(7).          00003000
-               05  GEO-WA2-1AL-CONDO-LOT-FLAG            PIC X.             00003100
-               05  GEO-WA2-1AL-RPAD-COND-NUM             PIC X(4).          00003200
-               05  GEO-WA2-1AL-CONDO-LOW-BBL             PIC X(10).         00003300
-               05  FILLER                               PIC X.              00003400
-               05  GEO-WA2-1AL-CONDO-BILLING-BBL         PIC X(10).         00003500
-               05  FILLER                               PIC X.              00003600
-               05  GEO-WA2-1AL-CONDO-BILL-BBL-SCC        PIC X.             00003700
-               05  GEO-WA2-1AL-CONDO-HIGH-BBL            PIC X(10).         00003800
-               05  FILLER                               PIC X.              00003900
-               05  GEO-WA2-1AL-SANBORN-BVOLPAGE.                            00004000
-                   10  GEO-WA2-1AL-SANBORN-BORO          PIC X(1).          00004100
-                   10  GEO-WA2-1AL-SANBORN-VOL-PAGE.                        00004200
-                       15  GEO-WA2-1AL-SANBORN-VOL-NUM   PIC X(3).          00004300
-                       15  GEO-WA2-1AL-SANBORN-PAGE-NUM  PIC X(4).          00004400
-               05  GEO-WA2-1AL-COMMERC-DIST              PIC X(5).          00004500
-               05  GEO-WA2-1AL-CO-OP-NBR                 PIC X(4).          00004604
-               05  FILLER                                PIC X(4).          00004705
-               05  GEO-WA2-1AL-TOT-NBR-BLDG              PIC X(4).          00004804
-               05  GEO-WA2-1AL-DOF-MAP-BORO              PIC X.             00004907
-               05  GEO-WA2-1AL-DOF-MAP-SECVOL            PIC X(4).          00005007
-          *******  GEO-WA2-1AL-DOF-MAP-PAGE  NOT IMPLEMENTED                00005107
-               05  GEO-WA2-1AL-DOF-MAP-PAGE              PIC X(4).          00005207
-               05  GEO-WA2-1AL-X-COORD                   PIC X(7).          00005308
-               05  GEO-WA2-1AL-Y-COORD                   PIC X(7).          00005408
-               05  GEO-WA2-1AL-BID                       PIC X(6).          00005509
-               05  FILLER                                PIC X(2).          00005609
-               05  GEO-WA2-1AL-FILLER-LGCS               PIC X(8).          00005709
-               05  GEO-WA2-1AL-NUM-OF-BINS               PIC X(4).          00005809
-               05  GEO-WA2-1AL-BINS                      PIC X(7)           00005909
-                                                        OCCURS 2500 TIMES.  00006004
-
-

W2COB3S COPY File

-
        ******************************************************************  00010000
-        ***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2COB3S, CONTAINING    **  00020000
-        ***  THE LAYOUT OF WORK AREA 2 FOR FUNCTION 3S.         9/22/93 **  00030000
-        ******************************************************************  00040000
-               05  GEO-WA2-3S-ACCESS-KEY                PIC X(21).          00050000
-               05  GEO-WA2-3S-NUM-OF-INTERSECTS         PIC X(3).           00060000
-               05  GEO-WA2-3S-LIST-OFINTERSECTS         OCCURS 350 TIMES.   00070000
-                  10 GEO-WA2-3S-SMALLEST-PBSC           PIC S9(7) COMP-3.   00080000
-                  10 GEO-WA2-3S-2ND-SMALLEST-PBSC       PIC S9(7) COMP-3.   00090000
-                  10 GEO-WA2-3S-DISTANCE                PIC S9(5) COMP-3.   00100000
-                  10 GEO-WA2-3S-GAP-FLAG                PIC X.              00110000
-
-

ASSEMBLER COPY FILES (MSW)

-

W1BAL COPY File

-
    \*/********************************************************************/ 00000100
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W1BAL,    \***/ 00000200
-    \*/*****  CONTAINING THE LAYOUT OF WORK AREA 1.                     \***/ 00000300
-    \*/********************************************************************/ 00000400
-    \*/*****  Last Updated - 17 October 2006                            \***/ 00000410
-    \*/********************************************************************/ 00000420
-    W1BAL    DS   0H                                                        00000500
-    \*/****************************                                          00000600
-    \*/*****  INPUT FIELDS  *******                                          00000700
-    \*/****************************                                          00000800
-    W1IFUNC  DS    0CL2      FUNCTION CODE                                  00000900
-    W1IFUNC1 DS     CL1      FUNCTION CODE, BYTE 1                          00001000
-    W1IFUNC2 DS     CL1      FUNCTION CODE, BYTE 2                          00001100
-    W1IBORO  DS    0CL1                                                     00001200
-    W1IBORO1 DS     CL1      BORO CODE  (1=MN;2=BX;3=BK;4=QN;5=SI)          00001300
-    W1IHSE#  DS    CL12      UNFORMATED HSNUM FOR FUNCTION: 1; 1A; 1E.      00001400
-    W1IHSE#P DS    CL6       HOUSE NUM (INTERNAL FORMAT FOR FUNC D)         00001500
-    W1ISTRT1 DS    CL32      STREET NAME 1                                  00001600
-    W1ISTRT2 DS    CL32      STREET NAME 2                                  00001700
-    W1ISTRT3 DS    CL32      STREET NAME 3                                  00001800
-    W1ICOMP  DS    CL1       COMPASS DIRECTION (TYPES 2, 3C & 3S)           00001900
-    W1ICOMP2 DS    CL1       COMPASS DIRECTION (TYPE 3S)                    00001950
-    W1ICDE1  DS    PL4       PB5SC FOR STREET 1                             00002000
-    W1ICDE2  DS    PL4       PB5SC FOR STREET 2                             00002100
-    W1ICDE3  DS    PL4       PB5SC FOR STREET 3                             00002200
-    W1IRBRQS DS    CL1       ROADBED REQUEST SWITCH                         00002300
-    W1IBORO2 DS    CL1       BORO CODE OF CROSS ST. 1                       00002400
-    W1IBORO3 DS    CL1       BORO CODE OF CROSS ST. 2                       00002500
-    W1ISNL   DS    CL2       LENGTH STREET NAME IS TO BE NORMALIZED TO      00002600
-    W1I10SC1 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 1  00002700
-    W1I10SC2 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 2  00002800
-    W1I10SC3 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 3  00002900
-    W1IZIPIN DS    CL5       INPUT ZIP CODE                                 00003000
-    W1IBBL   DS    0CL10     BORO,BLOCK,LOT FOR "BL" FUNCTION               00003100
-    W1IBLBOR DS     CL1      BORO FOR FUNCTION "BL"                         00003200
-    W1IBLOCK DS     CL5      TAX BLOCK - FOR  FUNCTION "BL"                 00003300
-    W1ILOT   DS     CL4      TAX LOT   - FOR  FUNCTION "BL"                 00003400
-             DS    CL1       FILLER                                         00003410
-    W1IBIN   DS    CL7       BUILDING ID NUMBER                             00003500
-    W1ICMPCT DS    CL1       'C' IF STREET NAMES ARE TO BE COMPACTED        00003600
-    W1ILONG3 DS    CL1       'L' IF LONG WORKAREA 2 FOR FUNC 3 DESIRED      00003700
-    W1ILHSE  DS    CL12      UNFORMATED LOW HSNUM FOR FUNCTION: 1; 1A; 1E.  00003800
-    W1ILHSEP DS    CL6       LOW HOUSE NUM (INTERNAL FORMAT FOR FUNC D)     00003900
-    W1INIBMF DS    CL1       NON-IBM MAIN FRAMME FLAG                       00004000
-    W1I1ABLV DS    CL1       Set to "S" for St'd Func. 1A & BL WORKAREA     00004100
-    \*                        Set to "L" or " " for Legacy 1A & BL Workarea  00004200
-    W1IXSTF  DS    CL1       CROSS STREET NAME FLAG                         00004300
-             DS    CL4       FILLER                                         00004400
-    \*/*****************************                                         00004500
-    \*/*****  OUTPUT FIELDS  *******                                         00004600
-    \*/*****************************                                         00004700
-    W1OLHSE  DS    CL12      LOW HOUSE NUMBER IN DISPLAY FORMAT
-    W1OBORO  DS    CL9       BORO NAME                                      00004800
-    W1OSTRT1 DS    CL32      STREET 1 NAME, NORMALIZED                      00004900
-    W1OSTRT2 DS    CL32      STREET 2 NAME, NORMALIZED                      00005000
-    W1OSTRT3 DS    CL32      STREET 3 NAME, NORMALIZED                      00005100
-    W1OHSE#  DS    CL12      HOUSE NUMBER, NORMALIZED, DISPLAY FORMAT       00005200
-    W1OHSE#P DS    CL6       HOUSE NUMBER (INTERNAL FORMAT)                 00005300
-             DS    CL7       FILLER                                         00005400
-    W1OPB51K DS    0PL4      Packed Borough and Street Code 1               00005500
-    W1OBOR1K DS    XL1       Packed unsigned Borough Code                   00005600
-    W1OCDE1K DS    PL3       STREET CODE 1 (KEY)                            00005700
-             DS    PL2       Filler                                         00005800
-    W1OPB52K DS    0PL4      Packed Borough and Street Code 2               00005900
-    W1OBOR2K DS    XL1       Packed unsigned Borough Code                   00006000
-    W1OCDE2K DS    PL3       STREET CODE 2 (KEY)                            00006100
-             DS    PL2       Filler                                         00006200
-    W1OPB53K DS    0PL4      Packed Borough and Street Code 3               00006300
-    W1OBOR3K DS    XL1       Packed unsigned Borough Code                   00006400
-    W1OCDE3K DS    PL3       STREET CODE 3 (KEY)                            00006500
-    W1OATTR  DS    CL3       Attribute Bytes - Internal Use Only            00006600
-    W1BROWSE DS    CL40      10 PB5SC'S FOR  FUNCTION: BB; BF.              00006700
-    W1O10SC1 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 1  00006800
-    W1O10SC2 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 2  00006900
-    W1O10SC3 DS    CL11      BORO + 10 BYTE STREET CODE FOR CROSS STREET 2  00007000
-    W1OCONDO DS    CL5       CONDO UNIT ID NUMBER - NOT IMPLEMENTED         00007100
-    W1OBBL   DS    0CL10     OUTPUT BORO,BLOCK,LOT FOR FUNCTION "BL"        00007200
-    W1OBLBOR DS     CL1      BORO FOR FUNCTION "BL"                         00007300
-    W1OBLOCK DS     CL5      TAX BLOCK - FOR FUNCTION "BL"                  00007400
-    W1OLOT   DS     CL4      TAX LOT   - FOR FUNCTION "BL"                  00007500
-             DS    CL1     FILLER                                           00007510
-    W1OBIN   DS    CL7     BUILDING IDENTIFICATION Number                   00007600
-    W1OINTU1 DS    CL1       INTERNAL USE ONLY - ATTR BYTE
-    W1OREASN DS    CL1       REASON CODE                                    00007900
-    W1OINTR0 DS    CL1       INTERNAL USE ONLY - RETURN CODE                00008000
-    W1OINTRC DS    CL1       INTERNAL USE ONLY - RETURN CODE                00008100
-    W1ORC    DS    0CL2      RETURN CODE                                    00008200
-    W1ORC1   DS     CL1      RETURN CODE, BYTE 1                            00008300
-    W1ORC2   DS     CL1      RETURN CODE, BYTE 2                            00008400
-    W1OERROR DS    CL80      ERROR MESSAGE                                  00008500
-    W1O#SIM  DS    PL2       NUMBER OF SIMILAR NAMES                        00008600
-    W1ONAMES DS  10CL32      UP TO 10 SIMILAR NAMES                         00008700
-    W1END    EQU   *                                                        00008800
-    W1LENGTH EQU   W1END-W1BAL    LENGTH OF W1BAL                           00008900
-
-

W2BAL COPY File

-
    \*/********************************************************************/ 00010000
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W2BAL,    \***/ 00020000
-    \*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTIONS        \***/ 00030000
-    \*/*****  1, 1E, 2, 2C, 3, 3C. PLEASE NOTE THAT FUNCTIONS 2 AND 2C  \***/ 00040000
-    \*/*****  SHARE A SINGLE WORK AREA 2 LAYOUT.                        \***/ 00050000
-    \*/********************************************************************/ 00060000
-    \*/*****              LAST MODIFIED JANUARY 2012                    \***/ 00070044
-    \*/********************************************************************/ 00080012
-    W2BAL    DS   0H                                                        00090000
-    W2ACCKEY DS    CL21          ACCESS KEY                                 00100000
-    W2LAYOUT DS   0CL179                                                    00110002
-    W2F1CPAR DS     CL1          CONTINUOUS PARITY INDICATOR                00120002
-    W2F1LHNI DS    0CL6          LOW HOUSE NUMBER                           00130000
-    W2F1HSEL DS     CL5          LOW HOUSE NUMBER ON BLOCK FACE             00140000
-    W2F1SFXL DS     CL1          LOW HOUSE NUMBER SUFFIX                    00150013
-    W2F1HHNI DS    0CL6          HIGH HOUSE NUMBER                          00160000
-    W2F1HSEH DS     CL5          HIGH HOUSE NUMBER ON BLOCK FACE            00170000
-    W2F1SFXH DS     CL1          HI HOUSE NUMBER SUFFIX                     00180013
-    W2F1ALX  DS    CL1           A=ALLEYS INTERSECT SEGMENT                 00190025
-    \*                            X=CROSS STREETS MODIFIED                   00191025
-    W2F1#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         00200000
-    W2F1CDEL DS    CL20          UP TO FIVE PB5SC'S FOR LOW END             00210000
-    W2F1#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        00220000
-    W2F1CDEH DS    CL20          UP TO FIVE PB5SC'S FOR HIGH END            00230000
-    W2F1CD   DS    0CL3          COMMUNITY DISTRICT                         00240000
-    W2F1CDB  DS     CL1          COMMUNITY DISTRICT BORO                    00250000
-    W2F1CDN  DS     CL2          COMMUNITY DISTRICT NUMBER                  00260000
-    W2F1ZIP  DS    CL5           ZIP CODE                                   00270000
-    W2F1SLA  DS    CL1           STREET LIGHT AREA                          00280000
-    W2F1HCD  DS    CL2           HEALTH CODE DISTRICT                       00290045
-    W2F1SOS  DS    CL1           SIDE OF STREET INDICATOR                   00300000
-    W2F1PAR  DS    CL1           CONTINUOUS PARITY INDICATOR                00310000
-    W2F1CT10 DS    CL6           2010 CENSUS TRACT                          00320037
-    W2F1CB10 DS    CL4           2010 CENSUS BLOCK                          00350037
-    W2F1CBS1 DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   00351042
-             DS    CL3           FILLER                                     00352032
-    W2F1HA   DS    CL4           HEALTH AREA                                00360045
-    W2F1SREC DS    CL3           SANITATION RECYCLE PICK-UP                 00370007
-    W2F1FEAT DS    CL1           FEATURE TYPE CODE                          00380023
-    RES1     DS    CL1           RESERVED FOR DCP/GSS USE                   00400000
-             ORG   RES1                                                     00401030
-    W2F1ELCD DS    CL1           COMMUNITY DEVELOPMENT ELIGIBILITY          00402031
-    W2F1CURV DS    CL1           CURVE FLAG                                 00410014
-    W2F1POL  DS    0CL4          POLICE DISTRICT                            00420000
-    W2F1PBC  DS     CL1          POLICE PATROL BORO COMMAND                 00430000
-    W2F1POP  DS     CL3          POLICE PRECINCT                            00440000
-    W2F1SCH  DS    CL2           SCHOOL DISTRICT                            00450000
-             DS    CL14         RESERVED FOR POLITICAL INFORMATION          00460028
-    W2F1CSC  DS    CL1           COINCIDENT SEGMENT COUNT                   00460128
-    W2F1STC  DS    CL1           SEGMENT TYPE CODE                          00461026
-    W2F1SAND DS    CL3           SANITATION DISTRICT                        00470002
-    W2F1SANT DS    CL2           SANITATION DEPT SUBSECTION                 00480000
-    W2F1FS   DS    CL2           FIRE DIVISION                              00490001
-    W2F1FB   DS    CL2           FIRE BATTALION                             00500000
-    W2F1FC   DS    0CL4          FIRE COMPANY                               00510000
-    W2F1FCT  DS     CL1          FIRE COMPANY TYPE                          00520000
-    W2F1FCN  DS     CL3          FIRE COMPANY NUMBER                        00530000
-    W2F1SPAD DS    CL1           SPECIAL ADDRESS FLAG                       00540000
-    W2F1MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             00550000
-    W2F1FILS DS    CL1           FILLER-WAS SPLIT SCHOOL DISTRICT FLAG      00560039
-    W2F1LGC  DS    CL2           LOGICAL GROUP CODE (PREFERRED)             00570000
-    W2F1FACE DS    CL4           LION FACE CODE                             00580000
-    W2F1SEQ  DS    CL5           LION SEQUENCE NUMBER                       00590000
-    W2F1CT90 DS    CL6           1990 CENSUS TRACT                          00600000
-             DS    CL4           FILLER                                     00610015
-    W2F1CPB  DS    CL3           DYNAMIC BLOCK/ATOMIC POLYGON               00640038
-    W2F1XCOR DS    CL7           X COORDINATE                               00650000
-    W2F1YCOR DS    CL7           Y COORDINATE                               00660000
-    W2F1SEGL DS    CL5           SEGMENT LEGNTH                             00670000
-    W2F1SREG DS    CL5           SANITATION REGULAR PICK-UP                 00680012
-    \*                                                                       00690000
-    ********************************************************************    00700000
-             ORG   W2F1SCH+2     PATCH FOR FUNCTION 1E FIELDS               00710000
-    ********************************************************************    00720000
-    \*                                                                       00730000
-    W2F1EED  DS    CL3           ELECTION DISTRICT                          00740000
-    W2F1EAD  DS    CL2           ASSEMBLY DISTRICT                          00750000
-    W2F1ESED DS    CL1           SPLIT E.D. FLAG                            00760000
-    W2F1ECON DS    CL2           CONGRESSIONAL DISTRICT                     00770000
-    W2F1ESEN DS    CL2           SENATORIAL DISTRICT                        00780000
-    W2F1ECIV DS    CL2           CIVIL COURT DISTRICT                       00790000
-    W2F1ECOU DS    CL2           CITY COUNCIL DISTRICT                      00800000
-             DS    CL18                                                     00810000
-    W2F1ELGC DS    CL2           LOGICAL GROUP CODE (PREFERRED)             00820000
-    \*                                                                       00830000
-    ********************************************************************    00840000
-             ORG   W2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 2      00850000
-    ********************************************************************    00860000
-    \*                                                                       00870000
-    W2F2DUPI DS    CL1           DUPLICATE INTERSECT FLAG                   00880000
-             DS    CL9           FILLER                                     00890000
-    W2F2LGC1 DS    CL2           STREET 1 PREFERRED LGC                     00900013
-    W2F2LGC2 DS    CL2           STREET 2 PREFERRED LGC                     00910013
-    W2F2#INT DS    CL1           NUMBER OF INTERSECTING STREETS             00920000
-    W2F2CODE DS    CL20          INTERSECTING PB5SC'S                       00930000
-    W2F2CDIR DS    CL1           COMPASS DIRECTION OF TWO LOWEST STREETS    00940011
-    W2F2LEVC DS    CL10          LEVEL CODES ASSOCIATED WITH CROSS STREETS  00941022
-             DS    CL2           WAS INSTRUCTIONAL DIVISION                 00950046
-    W2F2FS   DS    CL2           FIRE DIVISION                              00960003
-    W2F2FB   DS    CL2           FIRE BATTALION                             00970000
-    W2F2FC   DS    0CL4          FIRE COMPANY                               00980000
-    W2F2FCT  DS     CL1          FIRE COMPANY TYPE                          00990000
-    W2F2FCN  DS     CL3          FIRE COMPANY NUMBER                        01000000
-    W2F2CD   DS    0CL3          COMMUNITY DISTRICT                         01010000
-    W2F2CDB  DS     CL1          COMMUNITY DISTRICT BORO                    01020000
-    W2F2CDN  DS     CL2          COMMUNITY DISTRICT NUMBER                  01030000
-    W2F2ZIP  DS    CL5           ZIP CODE                                   01040000
-    W2F2SLA  DS    CL1           STREET LIGHT AREA                          01050000
-    W2F2CT10 DS    CL6           2010 CENSUS TRACT                          01060037
-             DS    CL3           FILLER                                     01080000
-    W2F2HA   DS    CL4           HEALTH AREA                                01090045
-             DS    CL9           FILLER                                     01100010
-    W2F2NDNB DS    CL7           LION NODE NUMBER                           01110010
-    W2F2XCOR DS    CL7           X COORDINATE                               01120000
-    W2F2YCOR DS    CL7           Y COORDINATE                               01130000
-             DS    CL4           FILLER                                     01150013
-    W2F2POL  DS    0CL4          POLICE DISTRICT                            01160000
-    W2F2PBC  DS     CL1          POLICE PATROL BORO COMMAND                 01170000
-    W2F2POP  DS     CL3          POLICE PRECINCT                            01180000
-    W2F2SCH  DS    CL2           SCHOOL DISTRICT                            01190000
-    W2F2MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             01200000
-    W2F2CT90 DS    CL6           1990 CENSUS TRACT                          01210000
-    W2F2SVP1 DS    0CL8          FIRST SANBORN BOROUGH, PAGE, VOLUME        01220003
-    W2F2SB1  DS    CL1           FIRST SANBORN BOROUGH CODE                 01230003
-    W2F2SP1  DS    CL3           FIRST SANBORN PAGE                         01240003
-    W2F2SV1  DS    CL4           FIRST SANBORN VOLUME                       01250003
-    W2F2SVP2 DS    0CL8          SECOND SANBORN BOROUGH, PAGE, VOLUME       01260003
-    W2F2SB2  DS    CL1           SECOND SANBORN BOROUGH CODE                01270003
-    W2F2SP2  DS    CL3           SECOND SANBORN PAGE                        01280003
-    W2F2SV2  DS    CL4           SECOND SANBORN VOLUME                      01290003
-    W2F2DID  DS    CL5           DUPLICATE INTERSECTION DISTANCE            01291034
-    W2F2T00  DS    CL6           2000 CENSUS TRACT                          01292040
-             DS    CL27          FILLER                                     01300034
-    \*                                                                       01310000
-    ********************************************************************    01320000
-             ORG   W2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 3      01330000
-    ********************************************************************    01340000
-    \*                                                                       01350000
-    W2F3DUPF DS    CL1           DUPLICATE KEY FLAG                         01360013
-    W2F3CURV DS    CL1           CURVE FLAG                                 01361014
-    W2F3LST  DS    CL1           LOCATIONAL STATUS                          01362018
-    W2F3CBI  DS    CL1           COUNTY BOUNDARY INDICATOR                  01363017
-    W2F3CSC  DS    CL1           COINCIDENT SEGMENT COUNT                   01364028
-             DS    CL3                                                      01370028
-    W2F3LGC1 DS    CL2           STREET 1 PREFERRED LGC                     01380013
-    W2F3LGC2 DS    CL2           STREET 2 PREFERRED LGC                     01390013
-    W2F3LGC3 DS    CL2           STREET 3 PREFERRED LGC                     01400013
-    W2F3#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         01410000
-    W2F3CDEL DS    CL20          CROSS STREET PB5SC'S AT LOW END            01420000
-    W2F3#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        01430000
-    W2F3CDEH DS    CL20          CROSS STREET PB5SC'S AT HIGH END           01440000
-    W2F3SLA  DS    CL1           STREET LIGHT AREA                          01450000
-    W2F3REVF DS    CL1           REVERSAL FLAG                              01460000
-    W2F3CDL  DS    0CL3          LEFT COMMUNITY DISTRICT                    01470000
-    W2F3CDBL DS    CL1           LEFT COMMUNITY DISTRICT BORO               01480006
-    W2F3CDNL DS    CL2           LEFT COMMUNITY DISTRICT NUMBER             01490006
-    W2F3CDR  DS    0CL3          RIGHT COMMUNITY DISTRICT                   01500000
-    W2F3CDBR DS     CL1          RIGHT COMMUNITY DISTRICT BORO              01510006
-    W2F3CDNR DS     CL2          RIGHT COMMUNITY DISTRICT NUMBER            01520006
-    W2F3ZIPL DS    CL5           LEFT ZIP CODE                              01530000
-    W2F3ZIPR DS    CL5           RIGHT ZIP CODE                             01540000
-             DS    CL18          FILLER - FORMER 1980 CENSUS GEOGRAPHY      01541015
-    W2F3HAL  DS    CL4           LEFT HEALTH AREA                           01610045
-    W2F3HAR  DS    CL4           RIGHT HEALTH AREA                          01620045
-             DS    CL2           WAS LEFT INSTRUCTIONAL DIVISION            01630046
-             DS    CL2           WAS RIGHT INSTRUCTIONAL DIVISION           01631046
-    W2F3LO#L DS    CL7           LEFT LOW HOUSE NUMBER                      01640000
-    W2F3HI#L DS    CL7           LEFT HIGH HOUSE NUMBER                     01650000
-    W2F3LO#R DS    CL7           RIGHT LOW HOUSE NUMBER                     01660000
-    W2F3HI#R DS    CL7           RIGHT HIGH HOUSE NUMBER                    01670000
-    W2F3PAR  DS    CL1           CONTINUOUS PARITY INDICATOR                01680000
-    W2F3FACE DS    CL4           LION FACE CODE                             01690000
-    W2F3SEQ  DS    CL5           LION SEQUENCE NUMBER                       01700000
-    W2F3GEN  DS    CL1           GENERATED RECORD FLAG                      01710000
-    W2F3SEGL DS    PL3           SEGMENT LENGTH IN FEET                     01720000
-    W2F3SLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   01730000
-    W2F3ORNT DS    CL1           SEGMENT ORIENTATION                        01740000
-             DS    CL4           FILLER                                     01750013
-    RES2     DS    CL2           RESERVED FOR DCP/GSS USE                   01770000
-             ORG   RES2                                                     01770130
-    W2F3ELCD DS    CL2           COMMUNITY DEVELOPMENT ELIGIBILITY          01770231
-    W2F3DGLG DS    CL1           DOG LEG FLAG                               01771015
-    W2F3FEAT DS    CL1           FEATURE TYPE CODE                          01780024
-    W2F3POLL DS    0CL4          LEFT POLICE DISTRICT                       01790000
-    W2F3PBCL DS     CL1          LEFT POLICE PATROL BORO COMMAND            01800000
-    W2F3POPL DS     CL3          LEFT POLICE PRECINCT                       01810000
-    W2F3POLR DS    0CL4          RIGHT POLICE DISTRICT                      01820000
-    W2F3PBCR DS     CL1          RIGHT POLICE PATROL BORO COMMAND           01830000
-    W2F3POPR DS     CL3          RIGHT POLICE PRECINCT                      01840000
-    W2F3SCHL DS    CL2           LEFT SCHOOL DISTRICT                       01850000
-    W2F3SCHR DS    CL2           RIGHT SCHOOL DISTRICT                      01860000
-    W2F3MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             01870000
-    W2F3SEGT DS    CL7           SEGMENT IDENTIFIER                         01871015
-    W2F3STC  DS    CL1           SEGMENT TYPE CODE                          01880026
-    \*                                                                       01890000
-    ********************************************************************    01900000
-             ORG   W2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 3C     01910000
-    ********************************************************************    01920000
-    \*                                                                       01930000
-    W23CCURV DS    CL1           CURVE FLAG                                 01931014
-    W23CSTC  DS    CL1           SEGMENT TYPE CODE                          01932026
-    W23CLST  DS    CL1           LOCATIONAL STATUS                          01933018
-    W23CCBI  DS    CL1           COUNTY BOUNDARY INDICATOR                  01934017
-    W23CCSC  DS    CL1           COINCIDENT SEGMENT COUNT                   01935028
-             DS    CL3           FILLER                                     01940028
-    W23CLGC1 DS    CL2           STREET 1 PREFERRED LGC                     01950013
-    W23CLGC2 DS    CL2           STREET 2 PREFERRED LGC                     01960013
-    W23CLGC3 DS    CL2           STREET 3 PREFERRED LGC                     01970013
-    W23C#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         01980000
-    W23CCDEL DS    CL20          UP TO FIVE PB5SC'S FOR LOW END             01990000
-    W23C#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        02000000
-    W23CCDEH DS    CL20          UP TO FIVE PB5SC'S FOR HIGH END            02010000
-    W23CCD   DS    0CL3          COMMUNITY DISTRICT                         02020000
-    W23CCDB  DS     CL1          COMMUNITY DISTRICT BORO                    02030000
-    W23CCDN  DS     CL2          COMMUNITY DISTRICT NUMBER                  02040000
-    W23CZIP  DS    CL5           ZIP CODE                                   02050000
-    W23CSLA  DS    CL1           STREET LIGHT AREA                          02060000
-    W23CT00  DS    CL6           2000 CENSUS TRACT -                        02070040
-             DS    CL1           FILLER                                     02080034
-    W23CCT10 DS    CL6           2010 CENSUS TRACT                          02100037
-    W23CCB10 DS    CL4           2010 CENSUS BLOCK                          02110037
-    W23CCBS1 DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   02111042
-    W23CHA   DS    CL4           HEALTH AREA                                02120045
-    W23CREVF DS    CL1           CROSS STREET REVERSAL FLAG                 02130005
-    W23CSOS  DS    CL1           SIDE OF STREET INDICATOR                   02140005
-    W23CFS   DS    CL2           FIRE DIVISION                              02150003
-    W23CFB   DS    CL2           FIRE BATTALION                             02160000
-    W23CFC   DS    0CL4          FIRE COMPANY                               02170000
-    W23CFCT  DS     CL1          FIRE COMPANY TYPE                          02180000
-    W23CFCN  DS     CL3          FIRE COMPANY NUMBER                        02190000
-    W23CSEGT DS    CL7           SEGMENT IDENTIFIER                         02200015
-    W23CHSEL DS    CL7           LOW HOUSE NUMBER                           02210000
-    W23CHSEH DS    CL7           HIGH HOUSE NUMBER                          02220000
-    W23CHS2L DS    CL7           2ND LOW HSE # - USED IF ODD & EVEN RANGES  02230000
-    W23CHS2H DS    CL7           2ND HI HSE #    ARE ON SAME SIDE OF STREET 02240000
-    W23CPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                02250000
-    W23CFACE DS    CL4           LION FACE CODE                             02260000
-    W23CSEQ  DS    CL5           LION SEQUENCE NUMBER                       02270000
-    W23CGEN  DS    CL1           GENERATED RECORD FLAG                      02280000
-    W23CSEGL DS    PL3           SEGMENT LENGTH IN FEET                     02290000
-    W23CSLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   02300000
-    W23CORNT DS    CL1           SEGMENT ORIENTATION                        02310000
-             DS    CL2           WAS INSTRUCTIONAL DIVISION                 02320046
-    RES3     DS    CL1           RESERVED FOR DCP/GSS USE                   02330000
-             ORG   RES3                                                     02331030
-    W23CELCD DS    CL1           COMMUNITY DEVELOPMENT ELIGIBILITY          02332031
-    W23CFEAT DS    CL1           FEATURE TYPE CODE                          02340024
-    W23CPOL  DS    0CL4          POLICE DISTRICT                            02350000
-    W23CPBC  DS     CL1          POLICE PATROL BORO COMMAND                 02360000
-    W23CPOP  DS     CL3          POLICE PRECINCT                            02370000
-    W23CSCH  DS    CL2           SCHOOL DISTRICT                            02380000
-    W23CMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             02390000
-    W23CCT90 DS    CL6           1990 CENSUS TRACT                          02400000
-             DS    CL4           FILLER                                     02410015
-    W23CCPB  DS    CL3           DYNAMIC BLOCK/ATOMIC POLYGON               02440038
-    W23CB00  DS    CL4           2000 CENSUS BLOCK                          02441040
-    W23CS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   02442040
-    \*                                                                       02460000
-    ********************************************************************    02470000
-             ORG   W2BAL         RESET LOCATION COUNTER FOR FUNCTION 5      02480000
-    ********************************************************************    02490000
-    \*                                                                       02500000
-    W2F5AMK  DS    CL28          ACCESS MATCHING KEY                        02510000
-             DS    CL172         FILLER                                     02520000
-    W2END    EQU   *                                                        02530000
-    W2LENGTH EQU   W2END-W2BAL   LENGTH OF W2BAL                            02540000
-
-

W2BALL COPY File

-
    \*/********************************************************************/ 00000100
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W2BALL,   \***/ 00000200
-    \*/*****  CONTAINING THE LAYOUT OF THE OPTIONAL LONG WORK AREA 2    \***/ 00000300
-    \*/*****  FOR FUNCTIONS 1 AND 3.                                    \***/ 00000400
-    \*/********************************************************************/ 00000500
-    \*/*****         LAST UPDATED JANUARY 2012                          \***/ 00000603
-    \*/********************************************************************/ 00000702
-    W2BALL   DS   0H                                                        00000802
-    W2LACKEY DS    CL21          ACCESS KEY                                 00100000
-    W21LCPAR DS     CL1          CONTINUOUS PARITY INDICATOR                00120002
-    W21LLHNI DS    0CL6          LOW HOUSE NUMBER                           00130000
-    W21LHSEL DS     CL5          LOW HOUSE NUMBER ON BLOCK FACE             00140000
-    W21LSFXL DS     CL1          LOW HOUSE NUMBER SUFFIX                    00150013
-    W21LHHNI DS    0CL6          HIGH HOUSE NUMBER                          00160000
-    W21LHSEH DS     CL5          HIGH HOUSE NUMBER ON BLOCK FACE            00170000
-    W21LSFXH DS     CL1          HI HOUSE NUMBER SUFFIX                     00180013
-    W21LALX  DS    CL1           A=ALLEYS INTERSECT SEGMENT                 00190000
-    *                            X=CROSS STREETS MODIFIED
-    W21L#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         00200000
-    W21LCDEL DS    CL20          UP TO FIVE PB5SC'S FOR LOW END             00210000
-    W21L#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        00220000
-    W21LCDEH DS    CL20          UP TO FIVE PB5SC'S FOR HIGH END            00230000
-    W21LCD   DS    0CL3          COMMUNITY DISTRICT                         00240000
-    W21LCDB  DS     CL1          COMMUNITY DISTRICT BORO                    00250000
-    W21LCDN  DS     CL2          COMMUNITY DISTRICT NUMBER                  00260000
-    W21LZIP  DS    CL5           ZIP CODE                                   00270000
-    W21LSLA  DS    CL1           STREET LIGHT AREA                          00280000
-    W21LHCD  DS    CL2           HEALTH CODE DISTRICT                       00290000
-    W21LSOS  DS    CL1           SIDE OF STREET INDICATOR                   00300000
-    W21LPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                00310000
-    W21LCT10 DS    CL6           2010 CENSUS TRACT                          00320015
-    W21LCB10 DS    CL4           2010 CENSUS BLOCK                          00350015
-    W21LCBS1 DS    CL1           2010 CENSUS BLOCK SUFFIX                   00351015
-             DS    CL3           FILLER                                     00352015
-    W21LHA   DS    CL4           HEALTH AREA                                00360000
-    W21LSREC DS    CL3           SANITATION RECYCLE PICK-UP                 00370007
-    W21LFEAT DS    CL1           FEATURE TYPE CODE                          00380007
-    RES1L    DS    CL1           RESERVED FOR DCP/GSS USE                   00400000
-             ORG   RES1L
-    W21LELCD DS    CL1           COMMUNITY DEVELOPMENT ELIGIBILITY
-    W21LCURV DS    CL1           CURVE FLAG                                 00410014
-    W21LPOL  DS    0CL4          POLICE DISTRICT                            00420000
-    W21LPBC  DS     CL1          POLICE PATROL BORO COMMAND                 00430000
-    W21LPOP  DS     CL3          POLICE PRECINCT                            00440000
-    W21LSCH  DS    CL2           SCHOOL DISTRICT                            00450000
-             DS    CL14         RESERVED FOR POLITICAL INFORMATION          00460013
-    W21LCSC  DS    CL1           COINCIDENT SEGMENT COUNT
-    W21LSTC  DS    CL1           SEGMENT TYPE CODE
-    W21LSAND DS    CL3           SANITATION DISTRICT                        00470002
-    W21LSANT DS    CL2           SANITATION DEPT SUBSECTION                 00480000
-    W21LFS   DS    CL2           FIRE DIVISION                              00490001
-    W21LFB   DS    CL2           FIRE BATTALION                             00500000
-    W21LFC   DS    0CL4          FIRE COMPANY                               00510000
-    W21LFCT  DS     CL1          FIRE COMPANY TYPE                          00520000
-    W21LFCN  DS     CL3          FIRE COMPANY NUMBER                        00530000
-    W21LSPAD DS    CL1           SPECIAL ADDRESS FLAG                       00540000
-    W21LMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             00550000
-    W21LFILS DS    CL1           FILLER-WAS SPLIT SCHOOL DISTRICT FLAG      00560000
-    W21LLGC  DS    CL2           LOGICAL GROUP CODE (PREFERRED)             00570000
-    W21LFACE DS    CL4           LION FACE CODE                             00580000
-    W21LSEQ  DS    CL5           LION SEQUENCE NUMBER                       00590000
-    W21LCT90 DS    CL6           1990 CENSUS TRACT                          00600000
-             DS    CL4           FILLER                                     00610015
-    W21LCPB  DS    CL3           DYNAMIC BLOCK/ATOMIC POLYGON               00640000
-    W21LXCOR DS    CL7           X COORDINATE                               00650000
-    W21LYCOR DS    CL7           Y COORDINATE                               00660000
-    W21LSEGL DS    CL5           SEGMENT LEGNTH                             00670000
-    W21LSREG DS    CL5           SANITATION REGULAR PICK-UP                 00680012
-    W21LSEGT DS    CL7           SEGMENT IDENTIFIER
-    W21LB7SC DS    CL8           "TRUE" BOROUGH AND 7 DIGIT STREET CODE
-    W21LHNI  DS    CL6           UNDERLYING HOUSE NUMBER
-    W21LT00  DS    CL6           2000 CENSUS TRACT                          00320015
-    W21LB00  DS    CL4           2000 CENSUS BLOCK                          00350015
-    W21LS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   00351015
-             DS    CL68          FILLER - FUTURE USE
-    \*                                                                       00690000
-    ********************************************************************    00700000
-             ORG   W21LSCH+2     PATCH FOR FUNCTION 1E FIELDS               00710000
-    ********************************************************************    00720000
-    \*                                                                       00730000
-    W21LEED  DS    CL3           ELECTION DISTRICT                          00740000
-    W21LEAD  DS    CL2           ASSEMBLY DISTRICT                          00750000
-    W21LESED DS    CL1           SPLIT E.D. FLAG                            00760000
-    W21LECON DS    CL2           CONGRESSIONAL DISTRICT                     00770000
-    W21LESEN DS    CL2           SENATORIAL DISTRICT                        00780000
-    W21LECIV DS    CL2           CIVIL COURT DISTRICT                       00790000
-    W21LECOU DS    CL2           CITY COUNCIL DISTRICT                      00800000
-             DS    CL18                                                     00810000
-    W21LELGC DS    CL2           LOGICAL GROUP CODE (PREFERRED)             00820000
-    \*                                                                       00830000
-    ********************************************************************    00840000
-             ORG   W2LACKEY      RESET LOCATION COUNTER FOR FUNCTION 3      00850000
-    ********************************************************************    00860000
-    \*                                                                       00870000
-             DS    CL21                                                     00000902
-    W23LDUPF DS    CL1           DUPLICATE KEY FLAG                         00001002
-    W23LCURV DS    CL1           CURVE FLAG                                 00001103
-    W23LLST  DS    CL1           LOCATION STATUS OF SEGMENT
-    W23LCBI  DS    CL1           COUNTY BOUNDARY INDICATOR
-    W23LCSC  DS    CL1           COINCIDENT SEGMENT COUNT
-             DS    CL3                                                      00001203
-    W23LLGC1 DS    CL2           STREET 1 PREFERRED LGC                     00001302
-    W23LLGC2 DS    CL2           STREET 2 PREFERRED LGC                     00001402
-    W23LLGC3 DS    CL2           STREET 3 PREFERRED LGC                     00001502
-    W23L#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         00001602
-    W23LCDEL DS    CL20          CROSS STREET PB5SC'S AT LOW END            00001702
-    W23L#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        00001802
-    W23LCDEH DS    CL20          CROSS STREET PB5SC'S AT HIGH END           00001902
-    W23LSLA  DS    CL1           STREET LIGHT AREA                          00002002
-    W23LREVF DS    CL1           REVERSAL FLAG                              00002102
-    W23LCDL  DS    0CL3          LEFT COMMUNITY DISTRICT                    00002202
-    W23LCDBL DS     CL1          LEFT COMMUNITY DISTRICT BORO               00002302
-    W23LCDNL DS     CL2          LEFT COMMUNITY DISTRICT NUMBER             00002402
-    W23LCDR  DS    0CL3          RIGHT COMMUNITY DISTRICT                   00002502
-    W23LCDBR DS     CL1          RIGHT COMMUNITY DISTRICT BORO              00002602
-    W23LCDNR DS     CL2          RIGHT COMMUNITY DISTRICT NUMBER            00002702
-    W23LZIPL DS    CL5           LEFT ZIP CODE                              00002802
-    W23LZIPR DS    CL5           RIGHT ZIP CODE                             00002902
-             DS    CL18
-    W23LHAL  DS    CL4           LEFT HEALTH AREA                           00003602
-    W23LHAR  DS    CL4           RIGHT HEALTH AREA                          00003702
-             DS    CL2           WAS LEFT INSTRUCTIONAL DIVISION            00003802
-             DS    CL2           WAS RIGHT INSTRUCTIONAL DIVISION
-    W23LLO#L DS    CL7           LEFT LOW HOUSE NUMBER                      00003902
-    W23LHI#L DS    CL7           LEFT HIGH HOUSE NUMBER                     00004002
-    W23LLO#R DS    CL7           RIGHT LOW HOUSE NUMBER                     00004102
-    W23LHI#R DS    CL7           RIGHT HIGH HOUSE NUMBER                    00004202
-    W23LPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                00004302
-    W23LFACE DS    CL4           LION FACE CODE                             00004402
-    W23LSEQ  DS    CL5           LION SEQUENCE NUMBER                       00004502
-    W23LGEN  DS    CL1           GENERATED RECORD FLAG                      00004602
-    W23LSEGL DS    PL3           SEGMENT LENGTH IN FEET                     00004702
-    W23LSLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   00004802
-    W23LORNT DS    CL1           SEGMENT ORIENTATION                        00004902
-             DS    CL4           FILLER                                     00005002
-    RESL1    DS    CL2           RESERVED FOR DCP/GSS USE                   00005102
-             ORG   RESL1
-    W23LELCD DS    CL2           COMMUNITY DEVELOPMENT ELIGIBILITY
-    W23LDGLG DS    CL1           DOG LEG FLAG
-    W23LFEAT DS    CL1           FEATURE TYPE CODE                          00005202
-    W23LPOLL DS    0CL4          LEFT POLICE DISTRICT                       00005302
-    W23LPBCL DS     CL1          LEFT POLICE PATROL BORO COMMAND            00005402
-    W23LPOPL DS     CL3          LEFT POLICE PRECINCT                       00005502
-    W23LPOLR DS    0CL4          RIGHT POLICE DISTRICT                      00005602
-    W23LPBCR DS     CL1          RIGHT POLICE PATROL BORO COMMAND           00005702
-    W23LPOPR DS     CL3          RIGHT POLICE PRECINCT                      00005802
-    W23LSCHL DS    CL2           LEFT SCHOOL DISTRICT                       00005902
-    W23LSCHR DS    CL2           RIGHT SCHOOL DISTRICT                      00006002
-    W23LMHRI DS    CL1           MARBLE HILL / RIKERS ISLAND                00006102
-    W23LSEGT DS    CL7           SEGMENT IDENTIFIER
-    W23LSTC  DS    CL1           SEGMENT TYPE CODE                          00006202
-    W23LT90L DS    CL6           1990 LEFT CENSUS TRACT                     00006302
-             DS    CL4           FILLER
-    W23LCPBL DS    CL3           CURRENT LEFT DYNAMIC BLOCK/ATOMIC POLYGON  00006702
-    W23LT90R DS    CL6           1990 RIGHT CENSUS TRACT                    00006802
-             DS    CL4           FILLER
-    W23LCPBR DS    CL3           CURRENT RIGHT DYNAMIC BLOCK/ATOMIC POLYGON 00007202
-    W23LFSL  DS    CL2           LEFT FIRE DIVISION                         00007302
-    W23LFBL  DS    CL2           LEFT FIRE BATTALION                        00007402
-    W23LFCL  DS    0CL4          LEFT FIRE COMPANY                          00007502
-    W23LFCTL DS     CL1          LEFT FIRE COMPANY TYPE                     00007602
-    W23LFCNL DS     CL3          LEFT FIRE COMPANY NUMBER                   00007702
-    W23LFSR  DS    CL2           RIGHT FIRE DIVISION                        00007802
-    W23LFBR  DS    CL2           RIGHT FIRE BATTALION                       00007902
-    W23LFCR  DS    0CL4          RIGHT FIRE COMPANY                         00008002
-    W23LFCTR DS     CL1          RIGHT FIRE COMPANY TYPE                    00008102
-    W23LFCNR DS     CL3          RIGHT FIRE COMPANY NUMBER                  00008202
-    W23LT10L DS    CL6           LEFT 2010 CENSUS TRACT
-    W23LB10L DS    CL4           LEFT 2010 CENSUS BLOCK
-    W23LBS1L DS    CL1           LEFT 2010 CENSUS BLOCK SUFFIX
-    W23LT10R DS    CL6           RIGHT 2010 CENSUS TRACT
-    W23LB10R DS    CL4           RIGHT 2010 CENSUS BLOCK
-    W23LBS1R DS    CL1           RIGHT 2010 CENSUS BLOCK SUFFIX
-    W23FNODE DS    CL7           FROM NODE
-    W23TNODE DS    CL7           TO NODE
-    W23L00TL DS    CL6           LEFT 2000 CENSUS TRACT
-    W23L00BL DS    CL4           LEFT 2000 CENSUS BLOCK
-    W23L00SL DS    CL1           LEFT 2000 CENSUS BLOCK SUFFIX
-    W23L00TR DS    CL6           RIGHT 2000 CENSUS TRACT
-    W23L00BR DS    CL4           RIGHT 2000 CENSUS BLOCK
-    W23L00SR DS    CL1           RIGHT 2000 CENSUS BLOCK SUFFIX
-    W23LEND  EQU   *                                                        00008402
-    W23LLEN  EQU   W23LEND-W2BALL    LENGTH OF W2BALL                       00008502
-
-

W2BAL1A COPY File

-
    \*/********************************************************************/ 00000100
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W2BAL1A,  \***/ 00000200
-    \*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTION         \***/ 00000300
-    \*/*****  1A, BL AND BN WHICH SHARE A SINGLE WORK AREA 2 LAYOUT.    \***/ 00000408
-    \*/********************************************************************/ 00000500
-    \*/*****          LAST UPDATED 5 MARCH 2009                         \***/ 00000608
-    \*/********************************************************************/ 00000703
-    W2BAL1A  DS   0H                                                        00000803
-             DS    CL21                                                     00000903
-    W21ACPAR DS    CL1           CONTINUOUS PARITY INDICATOR                00001003
-    W21AHSEL DS    CL6           LOW HOUSE NUMBER ON BLOCK                  00001103
-    W21AALT1 DS   0CL10          ALTERNATE KEY                              00001203
-    W21ABOR1 DS    CL1           ALTERNATE KEY - BORO                       00001303
-    W21ATXB1 DS    CL5           ALTERNATE KEY - TAX BLOCK                  00001403
-    W21ATXL1 DS    CL4           ALTERNATE KEY - TAX LOT                    00001503
-             DS    CL1              FILLER                                  00001603
-    W21ARSCC DS    CL1           RPAD SCC                                   00001703
-             DS    CL1           FILLER                                     00001803
-    W21AGLI  DS   0CL11          GENERAL LOT INFO                           00001903
-    W21ARBLC DS    CL2           RPAD BUILDING CLASSIFICATION               00002003
-    W21ACORC DS    CL2           CORNER CODE                                00002103
-    W21A#STC DS    CL2           TOTAL NUMBER STRUCTURES                    00002203
-    W21A#BFA DS    CL2           TOTAL NUMBER BLOCKFACES                    00002303
-    W21AINTF DS    CL1           INTERIOR LOT FLAG                          00002403
-    W21AVACF DS    CL1           VACANT LOT FLAG                            00002503
-    W21AIRLF DS    CL1           IRREGULARLY-SHAPED LOT FLAG                00002603
-    W21AMHRI DS    0CL1          MARBLE HILL/RIKERS ISLAND FLAG             00002703
-    W21AABFL DS    CL1           ALTERNATE BORO FLAG                        00002803
-             DS    CL1           STROLLING FLAG  (W21ASTRF)                 00002903
-    W21ASTRK DS    CL13          STROLLING KEY                              00003003
-    W21AOVFL DS    CL1           ADDRESS RANGE LIST OVERFLOW FLAG           00003103
-    W21ARFIU DS    CL1           RESERVED FOR INTERNAL USE                  00003203
-    W21ABIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       00003303
-    W21ACONF DS    CL1           CONDO LOT FLAG                             00003403
-    W21ARCO# DS    CL4           RPAD CONDO NUMBER                          00003503
-    W21ACLBL DS    CL10          CONDO LOW BBL                              00003603
-             DS    CL1              FILLER                                  00003703
-    W21ACBBL DS    CL10          CONDO BILLING BBL                          00003803
-             DS    CL1              FILLER                                  00003903
-    W21ACBBS DS    CL1           CONDO BILLING BBL SCC                      00004003
-    W21ACHBL DS    CL10          CONDO HIGH BBL                             00004103
-             DS    CL1              FILLER                                  00004203
-    W21ASBVP DS    CL8           SANDBORN BOROUGH/VOLUME/PAGE               00004303
-    W21ABUSA DS    CL5           BUSINESS AREA                              00004403
-    W21ACOOP DS    CL4           COOP ID NUMBER                             00004503
-             DS    CL4              FILLER                                  00004605
-    W21ANBST DS    CL4           ACTUAL TOTAL NBR OF BLDGS ON LOT           00004704
-    W21ATAXB DS    CL1           TAX MAP BOROUGH                            00004805
-    W21ATAXM DS    CL4           TAX MAP NBR - SECTION AND VOLUME           00004905
-             DS    CL4           RESERVED FOR TAX MAP PAGE NUMBER           00005005
-    W21AXCO  DS    CL7           X COORDINATE OF ANNOTATION POINT           00005107
-    W21AYCO  DS    CL7           Y COORDINATE OF ANNOTATION POINT           00005207
-    W21ABID  DS    CL6           BUSINESS IMPROVEMENT DISTRICT              00005308
-             DS    CL2              FILLER                                  00005408
-    W21AINT  DS    CL10          INTERNAL USE                               00005508
-    W21A#ADR DS    CL2           TOTAL ADDRESSES FOR LOT                    00005603
-    W21ALIST DS   0CL756         LIST OF ADDRESSES, MAXIMUM OF 21           00005703
-    W21ALOW# DS    CL6           LOW HOUSE NUMBER                           00005803
-             DS    CL3              FILLER                                  00005903
-    W21AHI#  DS    CL6           HIGH HOUSE NUMBER                          00006003
-             DS    CL3           FILLER                                     00006103
-    W21ACODE DS    CL8           STREET CODE                                00006203
-    W21ALBIN DS    CL7           LIST BIN                                   00006303
-    W21AATYP DS    CL1           ADDRESS TYPE                               00006403
-             DS    CL1           FILLER                                     00006503
-    W21ALSOS DS    CL1           LIST SOS                                   00006603
-    *  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         00006703
-    *  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                00006803
-             DS    CL720         REMAINING ADDRESSES                        00006903
-    W21AEND  EQU   *                                                        00007003
-    W21ALEN  EQU   W21AEND-W2BAL1A    LENGTH OF W2BAL1A                     00008003
-
-

W2BAL1AL COPY File

-
    \*/********************************************************************/ 00000100
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W2BAL1AL, \***/ 00000200
-    \*/*****  CONTAINING THE LONG LAYOUT OF WORK AREA 2 FOR FUNCTION    \***/ 00000300
-    \*/*****  1A, BL and BN WHICH SHARE A SINGLE WORK AREA 2 LAYOUT.    \***/ 00000416
-    \*/********************************************************************/ 00000500
-    \*/*****        Last Updated 5 March 2009                           \***/ 00000616
-    \*/********************************************************************/ 00000710
-    W2BAL1AL DS   0H                                                        00000810
-             DS    CL21                                                     00000910
-    W21ALCPA DS    CL1           CONTINUOUS PARITY INDICATOR                00001010
-    W21ALHSE DS    CL6           LOW HOUSE NUMBER ON BLOCK                  00001110
-    W21ALALT DS   0CL10          ALTERNATE KEY                              00001210
-    W21ALBOR DS    CL1           ALTERNATE KEY - BORO                       00001310
-    W21ALTXB DS    CL5           ALTERNATE KEY - TAX BLOCK                  00001410
-    W21ALTXL DS    CL4           ALTERNATE KEY - TAX LOT                    00001510
-             DS    CL1              FILLER                                  00001610
-    W21ALRSC DS    CL1           RPAD SCC                                   00001710
-             DS    CL1           FILLER                                     00001810
-    W21ALGLI DS   0CL11          GENERAL LOT INFO                           00001910
-    W21ALRBL DS    CL2           RPAD BUILDING CLASSIFICATION               00002010
-    W21ALCOR DS    CL2           CORNER CODE                                00002110
-    W21AL#ST DS    CL2           TOTAL NUMBER STRUCTURES                    00002210
-    W21AL#BF DS    CL2           TOTAL NUMBER BLOCKFACES                    00002310
-    W21ALINT DS    CL1           INTERIOR LOT FLAG                          00002410
-    W21ALVAC DS    CL1           VACANT LOT FLAG                            00002510
-    W21ALIRL DS    CL1           IRREGULARLY-SHAPED LOT FLAG                00002610
-    W21ALMHR DS    0CL1          Marble Hill/Rikers Island Flag             00002710
-    W21ALABF DS    CL1           ALTERNATE BORO FLAG                        00002810
-             DS    CL1           STROLLING FLAG  (W21ALSTRF)                00002910
-    W21ALSTR DS    CL13          STROLLING KEY                              00003010
-             DS    CL1              FILLER                                  00003110
-    W21ALRFI DS    CL1           RESERVED FOR INTERNAL USE                  00003210
-    W21ALNGB DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       00003310
-    W21ALCON DS    CL1           CONDO LOT FLAG                             00003410
-    W21ALRCO DS    CL4           RPAD CONDO NUMBER                          00003510
-    W21ALCLB DS    CL10          CONDO LOW BBL                              00003610
-             DS    CL1              FILLER                                  00003710
-    W21ALCBB DS    CL10          CONDO BILLING BBL                          00003810
-             DS    CL1              FILLER                                  00003910
-    W21ALCBS DS    CL1           CONDO BILLING BBL SCC                      00004010
-    W21ALCHB DS    CL10          CONDO HIGH BBL                             00004110
-             DS    CL1              FILLER                                  00004210
-    W21ALSBV DS    CL8           SANDBORN BOROUGH/VOLUME/PAGE               00004310
-    W21ALBUS DS    CL5           BUSINESS AREA                              00004410
-    W21ALCOO DS    CL4           COOP ID NUMBER                             00004510
-             DS    CL4                                                      00004613
-    W21ALNBS DS    CL4           Actual Nbr of Bldgs on Lot                 00004711
-    W21ALTMB DS    CL1           TAX MAP BOROUGH                            00004814
-    W21ALTAX DS    CL4           Tax Map NBR - Section and Volume           00004913
-             DS    CL4           RESERVED FOR TAX PAGE NUMBER               00005013
-    W21ALXCO DS    CL7           X COORDINATE OF ANNOTATION POINT           00005115
-    W21ALYCO DS    CL7           Y COORDINATE OF ANNOTATION POINT           00005215
-    W21ALBID DS    CL6           Business Improvement District              00005316
-             DS    CL2              FILLER                                  00005416
-    W21ALINU DS    CL8           Internal Use Only                          00005517
-    W21AL#BN DS    CL4           TOTAL Number of BINS for Lot               00005610
-    W21ALLST DS    2500CL7       LIST OF BINS, MAXIMUM OF 2500              00005709
-    W21ALEND EQU   *                                                        00005802
-    W21ALLEN EQU   W21ALEND-W2BAL1AL    Length of W2BAL1AL                  00006002
-
-

W2BAL3S COPY File

-
    \*/********************************************************************/ 00000100
-    \*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE W2BAL3S,  \***/ 00000200
-    \*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTION 3S.     \***/ 00000300
-    \*/********************************************************************/ 00000400
-    W2BAL3S  DS   0H                                                        00000500
-    W23SAKEY DS    CL21          ACCESS KEY                                 00000600
-    W23S#INT DS    CL3           NUMBER OF INTERSECTIONS ON STRETCH         00000700
-    W23SINT  DS   0CL12          INTERSECTION LAYOUT                        00000800
-    W23SCDE1 DS    PL4           NUMERICALLY SMALLEST PB5SC                 00000900
-    W23SCDE2 DS    PL4           NUMERICALLY 2ND SMALLEST PB5SC             00001000
-    W23SDIST DS    PL3           DISTANCE IN FEET FROM PREVIOUS INTERSECT.  00001100
-    W23SGAPF DS    CL1           GAP FLAG ("G" IF NO SEGMENT CONNECTS THIS  00001200
-    \*                            INTERSECTION TO THE PREVIOUS ONE)          00001300
-    \*                                                                       00001400
-    \*     THE MAXIMUM NUMBER OF INTERSECTIONS IS 350. THE LAYOUT OF EACH    00001500
-    \*  INTERSECTION IS IDENTICAL TO THE 12 BYTES DEFINED BY "W23SINT".      00001600
-    \*  RATHER THAN DEFINE 349 MORE INTERSECTIONS, WE ALLOCATE THE STORAGE   00001700
-    \*  NECESSSARY SHOULD THE MAXIMUM NUMBER OF INTERSECTIONS BY FOUND.      00001800
-    \*     ALL INTERSECTIONS BUT THE FIRST ONE MUST BE REFERENCED BY         00001900
-    \*  DISPLACEMENT.                                                        00002000
-    \*                                                                       00002100
-    W23SREST DS    CL4188        REMAINING INTERSECTIONS                    00002200
-    W23SEND  EQU   *                                                        00002300
-    W23SLEN  EQU   W23SEND-W2BAL3S     LENGTH OF W2BAL3S                    00002400
-
-

PL/1 COPY Files (MSW)

-

W1PL1 COPY File

-
      /******************************************************************/  00000100
-      /***  THIS IS GEOSUPPORT SYSTEM COPY FILE W1PL1, CONTAINING THE \***/  00000200
-      /\***  LAYOUT OF WORK AREA 1.     COPYLIB2             04/07/98  \***/  00000300
-      /\******************************************************************/  00000400
-       DCL PW1 POINTER;                                                     00000500
-       DCL                                                                  00000600
-         1 W1PL1,                                                           00000700
-           /*******************************************************/        00000802
-           /*****               INPUT  FIELDS                 *****/        00000902
-           /*******************************************************/        00001002
-           2 GEO_WA1_IN_FUNCTION_CODE,                                      00001100
-             3 GEO_WA1_IN_FUNCTION_1           CHAR(1),                     00001200
-             3 GEO_WA1_IN_FUNCTION_2           CHAR(1),                     00001300
-           2 GEO_WA1_IN_BORO                   CHAR(1),                     00001400
-           2 GEO_WA1_IN_HOUSENUM               CHAR(12),/\*HIGH HSE# INPUT*/ 00001500
-           2 GEO_WA1_IN_HOUSENUM_INTERNAL      CHAR(6), /\*IF FUNCTION 5  \*/ 00001600
-           2 GEO_WA1_IN_STREET_1               CHAR(32),                    00001700
-           2 GEO_WA1_IN_STREET_2               CHAR(32),                    00001800
-           2 GEO_WA1_IN_STREET_3               CHAR(32),                    00001900
-           2 GEO_WA1_IN_COMPASS                CHAR(01),                    00002008
-           2 GEO_WA1_IN_COMPASS2               CHAR(01),                    00002110
-           2 GEO_WA1_IN_STREETCODE_1           FIXED DEC(6),                00002200
-           2 GEO_WA1_IN_STREETCODE_2           FIXED DEC(6),                00002300
-           2 GEO_WA1_IN_STREETCODE_3           FIXED DEC(6),                00002400
-           2 GEO_WA1_IN_ROADBED_REQ_SWITCH     CHAR(1),                     00002514
-           2 GEO_WA1_IN_BORO_2                 CHAR(1),                     00002600
-           2 GEO_WA1_IN_BORO_3                 CHAR(1),                     00002700
-           2 GEO_WA1_IN_SNL                    CHAR(2),                     00002800
-           2 GEO_WA1_IN_10SC_1                 CHAR(11),                    00002900
-           2 GEO_WA1_IN_10SC_2                 CHAR(11),                    00003000
-           2 GEO_WA1_IN_10SC_3                 CHAR(11),                    00003100
-           2 GEO_WA1_IN_ZIPIN                  CHAR(5),                     00003215
-           2 GEO_WA1_IN_BBL,                                                00003300
-             3 GEO_WA1_IN_BL_BORO              CHAR(1),                     00003400
-             3 GEO_WA1_IN_BLOCKNUM             CHAR(5),                     00003500
-             3 GEO_WA1_IN_LOTNUM               CHAR(4),                     00003600
-           2 FILLER_W1_010                     CHAR(1),                     00003700
-           2 GEO_WA1_IN_BIN                    CHAR(7),                     00003802
-           /************************************************************/   00003903
-           /*******------ USAGE NOTES FOR SELECTED FIELDS -------*******/   00004004
-           /************************************************************/   00004103
-           /** GEO_WA1_IN_COMPACT_NAME_FLAG: SET TO "C" TO REQUEST    \**/   00004203
-           /**     COMPACT NAMES OPTION.                              \**/   00004303
-           /** GEO_WA1_IN_LONG_WORKAREA2_FLAG: SET TO "L" TO REQUEST  \**/   00004403
-           /**     THE LONG WORKAREA 2. AT PRESENT, ONLY FUNCTIONS    \**/   00004503
-           /**     1A AND 3 HAVE THE LONG WA2 OPTION.                 \**/   00004603
-           /** GEO_WA1_IN_NON_IBM_MAIN_FRAME: SET TO "X" IF           \**/   00004703
-           /**     APPLICATION IS RUNNING ON A NON-IBM MAIN FRAME.    \**/   00004803
-           /** GEO_WA1_IN_1ABL_VERSION: SET TO "L" OR " " TO REQUEST  \**/   00004903
-           /**     THE LEGACY WORKAREA2 FORMAT FOR FUNCTION 1A OR BL. \**/   00005003
-           /** GEO_WA1_IN_1ABL_VERSION: SET TO "S" TO REQUEST THE     \**/   00005103
-           /**     STANDARD WORKAREA2 FORMAT FOR FUNCTION 1A OR BL.   \**/   00005203
-           /************************************************************/   00005903
-           2 GEO_WA1_IN_COMPACT_NAME_FLAG      CHAR(1),                     00006000
-           2 GEO_WA1_IN_LONG_WORKAREA2_FLAG    CHAR(1),                     00006100
-           2 GEO_WA1_IN_LOW_HOUSENUM           CHAR(12),                    00006200
-           2 GEO_WA1_IN_LOW_HSENUM_INTERNAL    CHAR(6),                     00006300
-           2 GEO_WA1_IN_NON_IBM_MAIN_FRAME     CHAR(1),                     00006400
-           2 GEO_WA1_IN_1ABL_VERSION           CHAR(1),                     00006500
-           2 GEO_WA1_IN_XSTREET_FLAG           CHAR(1),                     00006610
-           2 FILLER_W1_100                     CHAR(04),                    00006809
-           /*******************************************************/        00006902
-           /*****                OUTPUT  FIELDS               *****/        00007002
-           /*******************************************************/        00007102
-           2 GEO_WA1_OUT_LOW_HOUSENUM          CHAR(12),                    00007209
-           2 GEO_WA1_OUT_BORONAME              CHAR(9),                     00007300
-           2 GEO_WA1_OUT_STREET_1              CHAR(32),                    00007400
-           2 GEO_WA1_OUT_STREET_2              CHAR(32),                    00007500
-           2 GEO_WA1_OUT_STREET_3              CHAR(32),                    00007600
-           2 GEO_WA1_OUT_HOUSENUM              CHAR(12), /\*HI-HND*/         00007709
-           2 GEO_WA1_OUT_HOUSENUM_INTERNAL     CHAR(6),                     00007800
-           2 FILLER_W1_200                     CHAR(7),                     00007900
-           2 GEO_WA1_OUT_PB5SC_1               FIXED DEC(6),                00008006
-           2 FILLER_W1_210                     CHAR(2),                     00008300
-           2 GEO_WA1_OUT_PB5SC_2               FIXED DEC(6),                00008406
-           2 FILLER_W1_220                     CHAR(2),                     00008800
-           2 GEO_WA1_OUT_PB5SC_3               FIXED DEC(6),                00008906
-           2 GEO_WA1_OUT_STREET_ATTR(3)        CHAR(1),                     00009312
-           2 GEO_WA1_BROWSE                    CHAR(40),                    00009400
-           2 GEO_WA1_OUT_10SC_1                CHAR(11),                    00009500
-           2 GEO_WA1_OUT_10SC_2                CHAR(11),                    00009600
-           2 GEO_WA1_OUT_10SC_3                CHAR(11),                    00009700
-           2 GEO_WA1_OUT_CUI                   CHAR(5), /\*NOT IMPLEMENTED*/ 00009800
-           2 GEO_WA1_OUT_BBL,                                               00009900
-             3 GEO_WA1_OUT_BL_BORO             CHAR(1),                     00010000
-             3 GEO_WA1_OUT_BLOCKNUM            CHAR(5),                     00010100
-             3 GEO_WA1_OUT_LOTNUM              CHAR(4),                     00010200
-           2 FILLER_W1_240                     CHAR(1),                     00010300
-           2 GEO_WA1_OUT_BIN                   CHAR(7),                     00010411
-           2 GEO_WA1_OUT_SND_ATTR              CHAR(1), /\*DCP/GSS USE*/     00010705
-           2 GEO_WA1_OUT_REASON_CODE           CHAR(1),                     00010800
-           2 FILLER_W1_400                     CHAR(2),                     00010900
-           2 GEO_WA1_OUT_RETURN_CODE,                                       00011007
-             3 GEO_WA1_OUT_RC_1                CHAR(1),                     00011107
-             3 GEO_WA1_OUT_RC_2                CHAR(1),                     00011207
-           2 GEO_WA1_OUT_ERROR_MESSAGE         CHAR(80),                    00011400
-           2 GEO_WA1_OUT_NUM_SIMILAR_NAMES     FIXED DEC(3),                00011500
-           2 GEO_WA1_OUT_SIMILAR_NAMES(10)     CHAR(32);                    00011600
-                                                                            00011702
-       /**************************************************************/     00011801
-                                                                            00011902
-       DCL 1 GEO_WA1_OUT_PB_5SC_1                                           00012006
-                 BASED (ADDR(GEO_WA1_OUT_PB5SC_1)),                         00012106
-             3 GEO_WA1_OUT_PACKBORO_NOSIGN_1   CHAR(1),                     00012206
-             3 GEO_WA1_OUT_STREETCODE_1_KEY    FIXED DEC(5),                00012306
-           1 GEO_WA1_OUT_PB_5SC_2                                           00012406
-                 BASED (ADDR(GEO_WA1_OUT_PB5SC_2)),                         00012506
-             3 GEO_WA1_OUT_PACKBORO_NOSIGN_2   CHAR(1),                     00012606
-             3 GEO_WA1_OUT_STREETCODE_2_KEY    FIXED DEC(5),                00012706
-           1 GEO_WA1_OUT_PB_5SC_3                                           00012806
-                 BASED (ADDR(GEO_WA1_OUT_PB5SC_3)),                         00012906
-             3 GEO_WA1_OUT_PACKBORO_NOSIGN_3   CHAR(1),                     00013006
-             3 GEO_WA1_OUT_STREETCODE_3_KEY    FIXED DEC(5);                00013106
-                                                                            00013202
-       /**************************************************************/     00013301
-                                                                            00013402
-       DCL GEO_WA1_OUT_GRC                     CHAR(02)                     00013507
-                            BASED(ADDR(GEO_WA1_OUT_RETURN_CODE));           00013607
-                                                                            00013902
-       /**************************************************************/     00014001
-                                                                            00014102
-       DCL 1 WORK1PL1   BASED(PW1)               CHAR(884);                 00014201
-                                                                            00014302
-       /**************************************************************/     00014401
-                                                                            00014502
-       PW1=ADDR(W1PL1);                                                     00015000
-
-

W2PL1 COPY File

-
     /******************************************************************/   00000100
-     /***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2PL1, CONTAINING THE \***/   00000300
-     /***  LAYOUT OF WORK AREA 2 FOR FUNCTIONS: 1, 1E, 2, 2C, 3, 3C, \***/   00000400
-     /***  5.  PLEASE NOTE THAT FUNCTIONS 2 AND 2C SHARE A SINGLE    \***/   00000500
-     /***  WORK AREA 2 LAYOUT.                             12/30/97  \***/   00000600
-     /***  LAST UPDATED JANUARY 2012                                 \***/   00000749
-     /******************************************************************/   00000800
-     DCL PW2 POINTER;                                                       00000900
-                                                                            00001001
-     DCL 1 W2PL1             CHAR(200) INIT(' ');                           00001101
-                                                                            00001201
-     DCL                                                                    00001300
-       1 GEO_WA2_FUNCTION1   BASED(PW2),                                    00001400
-         2 GEO_WA2_FN1_ACCESS_KEY               CHAR(21),                   00001500
-         2 GEO_WA2_FN1_CONT_PARITY              CHAR(1),                    00001600
-         2 GEO_WA2_FN1_LOW_HOUSENUM_INT         CHAR(6),                    00001700
-         2 GEO_WA2_FN1_HI_HOUSENUM_INT          CHAR(6),                    00001800
-         2 GEO_WA2_FN1_ALX                      CHAR(1),                    00001931
-         2 GEO_WA2_FN1_NUM_X_ST_LOW_END         CHAR(1),                    00002000
-         2 GEO_WA2_FN1_LOW_PBSC(5)              FIXED DEC(7),               00002100
-         2 GEO_WA2_FN1_NUM_X_ST_HI_END          CHAR(1),                    00002200
-         2 GEO_WA2_FN1_HI_PBSC(5)               FIXED DEC(7),               00002300
-         2 GEO_WA2_FN1_COMMUN_DIST,                                         00002400
-           3 GEO_WA2_FN1_COMDIST_BORO           CHAR(1),                    00002500
-           3 GEO_WA2_FN1_COMDIST_NUMBER         CHAR(2),                    00002600
-         2 GEO_WA2_FN1_ZIP                      CHAR(5),                    00002700
-         2 GEO_WA2_FN1_SLA                      CHAR(1),                    00002800
-         2 GEO_WA2_FN1_HCD                      CHAR(2),                    00002951
-         2 GEO_WA2_FN1_SOS                      CHAR(1),                    00003150
-         2 GEO_WA2_FN1_CONT_PARITY_IND          CHAR(1),                    00003250
-         2 GEO_WA2_FN1_2010_CENSUS_TRACT        CHAR(6),                    00003350
-         2 GEO_WA2_FN1_2010_CENSUS_BLOCK        CHAR(4),                    00003450
-         2 GEO_WA2_FN1_2010_CENSUS_BLK_SF       CHAR(1), /\*NOT IMPLEMENTED*/00003550
-         2 GEO_WA2_FN1_FILLER_INDV              CHAR(1),                    00003650
-         2 FILLER_W2_260                        CHAR(2),                    00003750
-         2 GEO_WA2_FN1_HEALTHAREA               CHAR(4),                    00003851
-         2 GEO_WA2_FN1_SANI_REC                 CHAR(3),                    00003950
-         2 GEO_WA2_FN1_FEATURE_TYPE             CHAR(1),                    00004050
-         2 GEO_WA2_FN1_RESDCP /\*RESERVED FOR*/  CHAR(1), /\*DCP/GSS USE*/    00004150
-         2 GEO_WA2_FN1_CURVE_FLAG               CHAR(1),                    00004250
-         2 GEO_WA2_FN1_POLICE_DIST,                                         00004350
-           3  GEO_WA2_FN1_POL_PAT_B_CMD         CHAR(1),                    00004450
-           3  GEO_WA2_FN1_POL_PRECINCT          CHAR(3),                    00004550
-         2 GEO_WA2_FN1_SCHOOLDIST               CHAR(2),                    00004650
-         2 FILLER_W2_250                        CHAR(14), /\*1E POL DIST*/   00004750
-         2 GEO_WA2_FN1_COINCIDENT_SEG_CTR       CHAR(1),                    00004850
-         2 GEO_WA2_FN1_SEGMENT_TYPE             CHAR(1),                    00004950
-         2 GEO_WA2_FN1_SANI_DIST,                                           00005050
-           3 GEO_WA2_FN1_SANIDIST_BORO          CHAR(1),                    00005150
-           3 GEO_WA2_FN1_SANIDIST_NUMBER        CHAR(2),                    00005250
-         2 GEO_WA2_FN1_SANITATION_SUBSEC        CHAR(2),                    00005350
-         2 GEO_WA2_FN1_FIRESEC   /\*FIRE DIV*/   CHAR(2),                    00005450
-         2 GEO_WA2_FN1_FIREBAT                  CHAR(2),                    00005550
-         2 GEO_WA2_FN1_FIRECO,                                              00005650
-           3 GEO_WA2_FN1_FIRECO_TYPE            CHAR(1),                    00005750
-           3 GEO_WA2_FN1_FIRECO_NUM             CHAR(3),                    00005850
-         2 GEO_WA2_FN1_SPECIAL_ADDR_FLAG        CHAR(1),                    00005950
-         2 GEO_WA2_FN1_MARBLE_RIKERS_FLAG       CHAR(1),                    00006050
-         2 GEO_WA2_FN1_SPLIT_SCHOOL_FILL        CHAR(1),                    00006150
-         2 GEO_WA2_FN1_PREFERRED_LGC            CHAR(2),                    00006250
-         2 GEO_WA2_FN1_LIONFACECODE             CHAR(4),                    00006350
-         2 GEO_WA2_FN1_LIONSEQ                  CHAR(5),                    00006450
-         2 GEO_WA2_FN1_1990_CENSUSTRACT         CHAR(6),                    00006550
-         2 FILLER_W2_260B                       CHAR(4),                    00006650
-         2 GEO_WA2_FN1_DYN_BLOCK                CHAR(3), /\*ATOMIC POLYGON*/ 00006750
-         2 GEO_WA2_FN1_XCOORD                   CHAR(7),                    00006850
-         2 GEO_WA2_FN1_YCOORD                   CHAR(7),                    00006950
-         2 GEO_WA2_FN1_SEGMENTLENGTH            CHAR(5),                    00007050
-         2 GEO_WA2_FN1_SANI_REG                 CHAR(5);                    00007150
-                                                                            00007250
-     /********************************************************************/ 00007350
-                                                                            00007450
-     DCL 1 GEO_WA2_FN1_LOW_HOUSE_NUM                                        00007550
-             BASED(ADDR(GEO_WA2_FN1_LOW_HOUSENUM_INT)),                     00007650
-           3 GEO_WA2_FN1_LOW_HOUSENUM           CHAR(5),                    00007750
-           3 GEO_WA2_FN1_LOW_HOUSENUMSFX        CHAR(1);                    00007850
-                                                                            00008001
-     DCL 1 GEO_WA2_FN1_HI_HOUSE_NUM                                         00008100
-             BASED(ADDR(GEO_WA2_FN1_HI_HOUSENUM_INT)),                      00008200
-           3 GEO_WA2_FN1_HI_HOUSENUM            CHAR(5),                    00008300
-           3 GEO_WA2_FN1_HI_HOUSENUMSFX         CHAR(1);                    00008425
-                                                                            00008501
-     DCL 1 GEO_WA2_FN1_COMDIST                  CHAR(3)                     00008600
-             BASED(ADDR(GEO_WA2_FN1_COMMUN_DIST));                          00008700
-                                                                            00008801
-     DCL 1 GEO_WA2_FN1_SANIDIST                  CHAR(3)                    00008900
-             BASED(ADDR(GEO_WA2_FN1_SANI_DIST));                            00009000
-                                                                            00009101
-     DCL 1 GEO_WA2_FN1_POLICEDIST               CHAR(4)                     00009200
-             BASED(ADDR(GEO_WA2_FN1_POLICE_DIST));                          00009300
-                                                                            00009401
-     /********************************************************************/ 00009801
-                                                                            00009901
-     DCL                                                                    00010000
-       1 GEO_WA2_FUNCTION2   BASED(PW2),                                    00010100
-         2 GEO_WA2_FN2_ACCESS_KEY               CHAR(21),                   00010200
-         2 GEO_WA2_FN2_DUPINTERFLAG             CHAR(1),                    00010300
-         2 FILLER_W2_270                        CHAR(9),                    00010400
-         2 GEO_WA2_FN2_PREFERRED_LGC1           CHAR(2),                    00010500
-         2 GEO_WA2_FN2_PREFERRED_LGC2           CHAR(2),                    00010600
-         2 GEO_WA2_FN2_NUM_OF_INTERSECTS        CHAR(1),                    00010700
-         2 GEO_WA2_FN2_INTERSECT_PBSC(5)        FIXED DEC(7),               00010800
-         2 GEO_WA2_FN2_COMPDIR                  CHAR(01),                   00010906
-         2 GEO_WA2_FN2_LEVEL_CODES(5,2)         CHAR(01),                   00011020
-         2 GEO_WA2_FN2_FILLER_INDV              CHAR(02),                   00011134
-         2 GEO_WA2_FN2_FIRESEC   /\*FIRE DIV*/   CHAR(2),                    00011200
-         2 GEO_WA2_FN2_FIREBAT                  CHAR(2),                    00011300
-         2 GEO_WA2_FN2_FIRECO,                                              00011400
-           3 GEO_WA2_FN2_FIRECO_TYPE            CHAR(1),                    00011500
-           3 GEO_WA2_FN2_FIRECO_NUM             CHAR(3),                    00011600
-         2 GEO_WA2_FN2_COMMUN_DIST,                                         00011700
-           3 GEO_WA2_FN2_COMDIST_BORO           CHAR(1),                    00011800
-           3 GEO_WA2_FN2_COMDIST_NUMBER         CHAR(2),                    00011900
-         2 GEO_WA2_FN2_ZIP                      CHAR(5),                    00012000
-         2 GEO_WA2_FN2_SLA                      CHAR(1),                    00012100
-         2 GEO_WA2_FN2_2010_CENSUS_TRACT        CHAR(6),                    00012241
-         2 FILLER_W2_290                        CHAR(3),                    00012300
-         2 GEO_WA2_FN2_HEALTHAREA               CHAR(4),                    00012451
-         2 FILLER_W2_300                        CHAR(9),                    00012504
-         2 GEO_WA2_FN2_LIONNODENUM              CHAR(7),                    00012605
-         2 GEO_WA2_FN2_XCOORD                   CHAR(7),                    00013000
-         2 GEO_WA2_FN2_YCOORD                   CHAR(7),                    00013100
-         2 FILLER_W2_320                        CHAR(4),                    00013300
-         2 GEO_WA2_FN2_POLICE_DIST,                                         00013400
-           3  GEO_WA2_FN2_POL_PAT_B_CMD         CHAR(1),                    00013500
-           3  GEO_WA2_FN2_POL_PRECINCT          CHAR(3),                    00013600
-         2 GEO_WA2_FN2_SCHOOLDIST               CHAR(2),                    00013700
-         2 GEO_WA2_FN2_MARBLE_RIKERS_FLAG       CHAR(1),                    00013800
-         2 GEO_WA2_FN2_1990_CENSUSTRACT         CHAR(6),                    00013900
-         2 GEO_WA2_FN2_SANBORN1_BORO            CHAR(1),                    00014000
-         2 GEO_WA2_FN2_SANBORN1_VOL_PAGE,                                   00014100
-           3 GEO_WA2_FN2_SANBORN1_VOL_NUM       CHAR(3),                    00014200
-           3 GEO_WA2_FN2_SANBORN1_PAGE_NUM      CHAR(4),                    00014300
-         2 GEO_WA2_FN2_SANBORN2_BORO            CHAR(1),                    00014400
-         2 GEO_WA2_FN2_SANBORN2_VOL_PAGE,                                   00014500
-           3 GEO_WA2_FN2_SANBORN2_VOL_NUM       CHAR(3),                    00014600
-           3 GEO_WA2_FN2_SANBORN2_PAGE_NUM      CHAR(4),                    00014700
-         2 GEO_WA2_FN2_DUP_INTRSCT_DISTNCE      CHAR(5),                    00014837
-         2 GEO_WA2_FN2_2000_CENS_TRACT          CHAR(6),                    00014944
-         2 FILLER_W2_330                        CHAR(27);                   00015038
-                                                                            00015101
-     /********************************************************************/ 00015201
-                                                                            00015301
-     DCL 1 GEO_WA2_FN2_COMDIST                  CHAR(3)                     00015400
-             BASED(ADDR(GEO_WA2_FN2_COMMUN_DIST));                          00015500
-                                                                            00015601
-     DCL 1 GEO_WA2_FN2_POLICEDIST               CHAR(4)                     00015700
-             BASED(ADDR(GEO_WA2_FN2_POLICE_DIST));                          00015800
-                                                                            00015901
-     DCL 1 GEO_WA2_FN2_SANBORN1_BVOLPAGE        CHAR(8)                     00016000
-             BASED(ADDR(GEO_WA2_FN2_SANBORN1_BORO)),                        00016100
-         1 GEO_WA2_FN2_SANBORN2_BVOLPAGE        CHAR(8)                     00016200
-             BASED(ADDR(GEO_WA2_FN2_SANBORN2_BORO));                        00016300
-                                                                            00016401
-     /********************************************************************/ 00016501
-                                                                            00016601
-     DCL                                                                    00016700
-       1 GEO_WA2_FUNCTION3   BASED(PW2),                                    00016800
-         2 GEO_WA2_FN3_ACCESS_KEY               CHAR(21),                   00016900
-         2 GEO_WA2_FN3_DUP_KEY_FLAG             CHAR(1),                    00017023
-         2 GEO_WA2_FN3_CURVE_FLAG               CHAR(1),                    00017108
-         2 GEO_WA2_FN3_LOCATION_STATUS          CHAR(1),                    00017216
-         2 GEO_WA2_FN3_COUNTY_BOUNDARY          CHAR(1),                    00017316
-         2 GEO_WA2_FN3_COINCIDENT_SEG_CTR       CHAR(1),                    00017432
-         2 FILLER_W2_340                        CHAR(3),                    00017532
-         2 GEO_WA2_FN3_PREFERRED_LGC1           CHAR(2),                    00017632
-         2 GEO_WA2_FN3_PREFERRED_LGC2           CHAR(2),                    00017732
-         2 GEO_WA2_FN3_PREFERRED_LGC3           CHAR(2),                    00017832
-         2 GEO_WA2_FN3_NUM_X_ST_LOW_END         CHAR(1),                    00017932
-         2 GEO_WA2_FN3_LOW_PBSC(5)              FIXED DEC(7),               00018032
-         2 GEO_WA2_FN3_NUM_X_ST_HI_END          CHAR(1),                    00018132
-         2 GEO_WA2_FN3_HI_PBSC(5)               FIXED DEC(7),               00018232
-         2 GEO_WA2_FN3_SLA                      CHAR(1),                    00018332
-         2 GEO_WA2_FN3_REVERSALFLAG             CHAR(1),                    00018432
-         2 GEO_WA2_FN3_LEFT_COMMUN_DIST,                                    00018532
-           3 GEO_WA2_FN3_LEFT_COMDIST_BORO      CHAR(1),                    00018632
-           3 GEO_WA2_FN3_LEFT_COMDIST_NUM       CHAR(2),                    00018732
-         2 GEO_WA2_FN3_RIGHT_COMMUN_DIST,                                   00018832
-           3 GEO_WA2_FN3_RIGHT_COMDIST_BORO     CHAR(1),                    00018932
-           3 GEO_WA2_FN3_RIGHT_COMDIST_NUM      CHAR(2),                    00019032
-         2 GEO_WA2_FN3_LEFT_ZIP                 CHAR(5),                    00019132
-         2 GEO_WA2_FN3_RIGHT_ZIP                CHAR(5),                    00019232
-         2 FILLER_WA2_350A                      CHAR(18),                   00019332
-         2 GEO_WA2_FN3_LEFT_HEALTHAREA          CHAR(4),                    00019451
-         2 GEO_WA2_FN3_RIGHT_HEALTHAREA         CHAR(4),                    00019551
-         2 GEO_WA2_FN3_LEFT_FILLER_INDV         CHAR(2),                    00019634
-         2 GEO_WA2_FN3_RIGHT_FILLER_INDV        CHAR(2),                    00019734
-         2 GEO_WA2_FN3_LEFT_LOW_HOUSENUM        CHAR(7),                    00019800
-         2 GEO_WA2_FN3_LEFT_HI_HOUSENUM         CHAR(7),                    00019900
-         2 GEO_WA2_FN3_RIGHT_LOW_HOUSENUM       CHAR(7),                    00020000
-         2 GEO_WA2_FN3_RIGHT_HI_HOUSENUM        CHAR(7),                    00020100
-         2 GEO_WA2_FN3_CONT_PARITY_IND          CHAR(1),                    00020200
-         2 GEO_WA2_FN3_LIONFACECODE             CHAR(4),                    00020300
-         2 GEO_WA2_FN3_LIONSEQ                  CHAR(5),                    00020400
-         2 GEO_WA2_FN3_GENRECFLAG               CHAR(1),                    00020500
-         2 GEO_WA2_FN3_SEGMENTLENGTH            FIXED DEC(5),               00020600
-         2 GEO_WA2_FN3_SEGMENTSLOPE             CHAR(3),                    00020700
-         2 GEO_WA2_FN3_SEGMENTORIENT            CHAR(1),                    00020800
-         2 FILLER_W2_355                        CHAR(4),                    00020900
-         2 GEO_WA2_FN3_RESDCP /\*RESERVED FOR \*/ CHAR(2), /\*DCP/GSS USE*/    00021000
-         2 GEO_WA2_FN3_DOG_LEG                  CHAR(1),                    00021111
-         2 GEO_WA2_FN3_FEATURE_TYPE             CHAR(1),                    00021221
-         2 GEO_WA2_FN3_LEFT_POLICE_DIST,                                    00021300
-           3  GEO_WA2_FN3_LEFT_POL_PAT_B_CMD    CHAR(1),                    00021400
-           3  GEO_WA2_FN3_LEFT_POL_PRECINCT      CHAR(3),                   00021500
-         2 GEO_WA2_FN3_RIGHT_POLICE_DIST,                                   00021600
-           3  GEO_WA2_FN3_RIGHT_POL_PAT_B_CMD   CHAR(1),                    00021700
-           3  GEO_WA2_FN3_RIGHT_POL_PRECINCT      CHAR(3),                  00021800
-         2 GEO_WA2_FN3_LEFT_SCHLDIST            CHAR(2),                    00021900
-         2 GEO_WA2_FN3_RIGHT_SCHLDIST           CHAR(2),                    00022000
-         2 GEO_WA2_FN3_MARBLE_RIKERS_FLAG       CHAR(1),                    00022100
-         2 GEO_WA2_FN3_SEGMENT_ID               CHAR(7),                    00022211
-         2 GEO_WA2_FN3_SEGMENT_TYPE             CHAR(1);                    00022329
-                                                                            00022501
-     /********************************************************************/ 00022601
-                                                                            00022701
-     DCL 1 GEO_WA2_FN3_LEFT_COMDIST                  CHAR(3)                00022800
-             BASED(ADDR(GEO_WA2_FN3_LEFT_COMMUN_DIST));                     00022900
-                                                                            00023001
-     DCL 1 GEO_WA2_FN3_RIGHT_COMDIST                 CHAR(3)                00023100
-             BASED(ADDR(GEO_WA2_FN3_RIGHT_COMMUN_DIST));                    00023200
-                                                                            00023301
-     DCL 1 GEO_WA2_FN3_LEFT_POLICEDIST               CHAR(4)                00023400
-             BASED(ADDR(GEO_WA2_FN3_LEFT_POLICE_DIST));                     00023500
-                                                                            00023601
-     DCL 1 GEO_WA2_FN3_RIGHT_POLICEDIST               CHAR(4)               00023700
-             BASED(ADDR(GEO_WA2_FN3_RIGHT_POLICE_DIST));                    00023800
-                                                                            00023901
-     DCL                                                                    00024000
-       1 GEO_WA2_FUNCTION3C  BASED(PW2),                                    00024100
-         2 GEO_WA2_FN3C_ACCESS_KEY              CHAR(21),                   00024200
-         2 GEO_WA2_FN3C_CURVE_FLAG              CHAR(1),                    00024308
-         2 GEO_WA2_FN3C_SEGMENT_TYPE            CHAR(1),                    00024430
-         2 GEO_WA2_FN3C_LOCATION_STATUS         CHAR(1),                    00024630
-         2 GEO_WA2_FN3C_COUNTY_BOUNDARY         CHAR(1),                    00024730
-         2 GEO_WA2_FN3C_COINCIDENT_SEG_CTR      CHAR(1),                    00024832
-         2 FILLER_W2_380                        CHAR(3),                    00024932
-         2 GEO_WA2_FN3C_PREFERRED_LGC1          CHAR(2),                    00025032
-         2 GEO_WA2_FN3C_PREFERRED_LGC2          CHAR(2),                    00025132
-         2 GEO_WA2_FN3C_PREFERRED_LGC3          CHAR(2),                    00025232
-         2 GEO_WA2_FN3C_NUM_X_ST_LOW_END        CHAR(1),                    00025332
-         2 GEO_WA2_FN3C_LOW_PBSC(5)             FIXED DEC(7),               00025432
-         2 GEO_WA2_FN3C_NUM_X_ST_HI_END         CHAR(1),                    00025532
-         2 GEO_WA2_FN3C_HI_PBSC(5)              FIXED DEC(7),               00025632
-         2 GEO_WA2_FN3C_COMMUN_DIST,                                        00025732
-           3 GEO_WA2_FN3C_COMDIST_BORO          CHAR(1),                    00025832
-           3 GEO_WA2_FN3C_COMDIST_NUMBER        CHAR(2),                    00025932
-         2 GEO_WA2_FN3C_ZIP                     CHAR(5),                    00026032
-         2 GEO_WA2_FN3C_SLA                     CHAR(1),                    00026132
-         2 GEO_WA2_FN3C_2000_CENS_TRACT         CHAR(6),                    00026244
-         2 FILLER_W2_390                        CHAR(1),                    00026338
-         2 GEO_WA2_FN3C_2010_CENSUS_TRACT       CHAR(6),                    00026441
-         2 GEO_WA2_FN3C_2010_CENSUS_BLOCK       CHAR(4),                    00026541
-         2 GEO_WA2_FN3C_2010_CENSUS_BLK_SF      CHAR(1), /\*NOTIMPLEMENTED*/ 00026647
-         2 GEO_WA2_FN3C_HEALTHAREA              CHAR(4),                    00026751
-         2 GEO_WA2_FN3C_REVERSALFLAG            CHAR(1),                    00026835
-         2 GEO_WA2_FN3C_SOS                     CHAR(1),                    00026935
-         2 GEO_WA2_FN3C_FIRESEC  /\*FIRE DIV*/   CHAR(2),                    00027035
-         2 GEO_WA2_FN3C_FIREBAT                 CHAR(2),                    00027135
-         2 GEO_WA2_FN3C_FIRECO,                                             00027235
-           3 GEO_WA2_FN3C_FIRECO_TYPE           CHAR(1),                    00027335
-           3 GEO_WA2_FN3C_FIRECO_NUM            CHAR(3),                    00027435
-         2 GEO_WA2_FN3C_SEGMENT_ID              CHAR(7),                    00027535
-         2 GEO_WA2_FN3C_LOW_HOUSENUM            CHAR(7),                    00027635
-         2 GEO_WA2_FN3C_HI_HOUSENUM             CHAR(7),                    00027735
-         2 GEO_WA2_FN3C_LOW_HOUSENUM2           CHAR(7),                    00027835
-         2 GEO_WA2_FN3C_HI_HOUSENUM2            CHAR(7),                    00027935
-     /*   2 HOUSENUM2 ONLY PRESENT IF ODD & EVEN RANGES ARE ON     \*/       00028035
-     /*   2 SAME SIDE OF STREET                                    \*/       00028135
-         2 GEO_WA2_FN3C_CONT_PARITY_IND         CHAR(1),                    00028235
-         2 GEO_WA2_FN3C_LIONFACECODE            CHAR(4),                    00028335
-         2 GEO_WA2_FN3C_LIONSEQ                 CHAR(5),                    00028435
-         2 GEO_WA2_FN3C_GENRECFLAG              CHAR(1),                    00028535
-         2 GEO_WA2_FN3C_SEGMENTLENGTH           FIXED DEC(5),               00028635
-         2 GEO_WA2_FN3C_SEGMENTSLOPE            CHAR(3),                    00028735
-         2 GEO_WA2_FN3C_SEGMENTORIENT           CHAR(1),                    00028835
-         2 GEO_WA2_FN3C_FILLER_INDV             CHAR(2),                    00028935
-         2 GEO_WA2_FN3C_RESDCP /\*RESERVED FOR*/ CHAR(1), /\*DCP/GSS USE*/    00029035
-         2 GEO_WA2_FN3C_FEATURE_TYPE            CHAR(1),                    00029135
-         2 GEO_WA2_FN3C_POLICE_DIST,                                        00029235
-           3  GEO_WA2_FN3C_POL_PAT_B_CMD        CHAR(1),                    00029335
-           3  GEO_WA2_FN3C_POL_PRECINCT         CHAR(3),                    00029435
-         2 GEO_WA2_FN3C_SCHOOLDIST              CHAR(2),                    00029535
-         2 GEO_WA2_FN3C_MARBLE_RIKERS_FLAG      CHAR(1),                    00029635
-         2 GEO_WA2_FN3C_1990_CENSUSTRACT        CHAR(6),                    00029735
-         2 FILLER_W2_410B                       CHAR(4),                    00029835
-         2 GEO_WA2_FN3C_DYN_BLOCK               CHAR(3), /\*ATOMIC POLYGON*/ 00029942
-         2 GEO_WA2_FN3C_2000_CENS_BLOCK         CHAR(4),                    00030044
-         2 GEO_WA2_FN3C_2000_CENS_BL_SFX        CHAR(1);                    00030144
-                                                                            00030335
-     /********************************************************************/ 00030435
-                                                                            00030535
-     DCL 1 GEO_WA2_FN3C_COMDIST                 CHAR(3)                     00030635
-             BASED(ADDR(GEO_WA2_FN3C_COMMUN_DIST));                         00030735
-     DCL 1 GEO_WA2_FN3C_POLICEDIST              CHAR(4)                     00030835
-             BASED(ADDR(GEO_WA2_FN3C_POLICE_DIST));                         00030935
-                                                                            00031035
-     /********************************************************************/ 00031135
-                                                                            00031235
-     DCL                                                                    00031335
-       1 GEO_WA2_FUNCTION1E  BASED(PW2),                                    00031435
-         2 GEO_WA2_FN1E_ACCESS_KEY              CHAR(21),                   00031535
-         2 GEO_WA2_FN1E_CONT_PARITY             CHAR(1),                    00031635
-         2 GEO_WA2_FN1E_LOW_HOUSENUM_INT        CHAR(6),                    00031735
-         2 GEO_WA2_FN1E_HI_HOUSENUM_INT         CHAR(6),                    00031835
-         2 FILLER_W2_435                        CHAR(1),                    00031935
-         2 GEO_WA2_FN1E_NUM_X_ST_LOW_END        CHAR(1),                    00032035
-         2 GEO_WA2_FN1E_LOW_PBSC(5)             FIXED DEC(7),               00032135
-         2 GEO_WA2_FN1E_NUM_X_ST_HI_END         CHAR(1),                    00032235
-         2 GEO_WA2_FN1E_HI_PBSC(5)              FIXED DEC(7),               00032335
-         2 GEO_WA2_FN1E_COMMUN_DIST,                                        00032435
-           3 GEO_WA2_FN1E_COMDIST_BORO          CHAR(1),                    00032535
-           3 GEO_WA2_FN1E_COMDIST_NUMBER        CHAR(2),                    00032635
-         2 GEO_WA2_FN1E_ZIP                     CHAR(5),                    00032735
-         2 GEO_WA2_FN1E_SLA                     CHAR(1),                    00032835
-         2 GEO_WA2_FN1E_HCD                     CHAR(2),                    00032951
-         2 GEO_WA2_FN1E_SOS                     CHAR(1),                    00033150
-         2 GEO_WA2_FN1E_CONT_PARITY_IND         CHAR(1),                    00033250
-         2 GEO_WA2_FN1E_2010_CENSUS_TRACT       CHAR(6),                    00033350
-         2 GEO_WA2_FN1E_2010_CENSUS_BLOCK       CHAR(4),                    00033450
-         2 GEO_WA2_FN1E_2010_CENSUS_BLK_SF      CHAR(1), /\*NOTIMPLEMENTED*/ 00033550
-         2 GEO_WA2_FN1E_FILLER_INDV             CHAR(1),                    00033650
-         2 FILLER_W2_440                        CHAR(2),                    00033750
-         2 GEO_WA2_FN1E_HEALTHAREA              CHAR(4),                    00033851
-         2 GEO_WA2_FN1E_SANI_REC                CHAR(3),                    00033950
-         2 GEO_WA2_FN1E_FEATURE_TYPE            CHAR(1),                    00034050
-         2 GEO_WA2_FN1E_RESDCP /\*RESERVED FOR*/ CHAR(1), /\*DCP/GSS USE*/    00034150
-         2 GEO_WA2_FN1E_CURVE_FLAG              CHAR(1),                    00034250
-         2 GEO_WA2_FN1E_POLICE_DIST,                                        00034350
-           3  GEO_WA2_FN1E_POL_PAT_B_CMD        CHAR(1),                    00034450
-           3  GEO_WA2_FN1E_POL_PRECINCT         CHAR(3),                    00034550
-         2 GEO_WA2_FN1E_SCHOOLDIST              CHAR(2),                    00034650
-         2 GEO_WA2_FN1E_ELECTDIST               CHAR(3),                    00034750
-         2 GEO_WA2_FN1E_ASSEMDIST               CHAR(2),                    00034850
-         2 GEO_WA2_FN1E_SPLIT_ED_FLAG           CHAR(1),                    00034950
-         2 GEO_WA2_FN1E_CONGDIST                CHAR(2),                    00035050
-         2 GEO_WA2_FN1E_SENATEDIST              CHAR(2),                    00035150
-         2 GEO_WA2_FN1E_COURTDIST               CHAR(2),                    00035250
-         2 GEO_WA2_FN1E_COUNCILDIST             CHAR(2),                    00035350
-         2 GEO_WA2_FN1E_COINCIDENT_SEG_CTR      CHAR(1),                    00035450
-         2 GEO_WA2_FN1E_SEGMENT_TYPE_CODE       CHAR(1),                    00035550
-         2 GEO_WA2_FN1E_SANI_DIST,                                          00035650
-           3 GEO_WA2_FN1E_SANIDIST_BORO         CHAR(1),                    00035750
-           3 GEO_WA2_FN1E_SANIDIST_NUMBER       CHAR(2),                    00035850
-         2 GEO_WA2_FN1E_SANITATION_SUBSEC       CHAR(2),                    00035950
-         2 GEO_WA2_FN1E_FIRESEC  /\*FIRE DIV*/   CHAR(2),                    00036050
-         2 GEO_WA2_FN1E_FIREBAT                 CHAR(2),                    00036150
-         2 GEO_WA2_FN1E_FIRECO,                                             00036250
-           3 GEO_WA2_FN1E_FIRECO_TYPE           CHAR(1),                    00036350
-           3 GEO_WA2_FN1E_FIRECO_NUM            CHAR(3),                    00036450
-         2 GEO_WA2_FN1E_SPECIAL_ADDR__FLAG      CHAR(1),                    00036550
-         2 GEO_WA2_FN1E_MARBLE_RIKERS_FLAG      CHAR(1),                    00036650
-         2 GEO_WA2_FN1E_SPLIT_SCHOOL_FILL       CHAR(1),                    00036750
-         2 GEO_WA2_FN1E_PREFERRED_LGC           CHAR(2),                    00036850
-         2 GEO_WA2_FN1E_LIONFACECODE            CHAR(4),                    00036950
-         2 GEO_WA2_FN1E_LIONSEQ                 CHAR(5),                    00037050
-         2 GEO_WA2_FN1E_1990_CENSUSTRACT        CHAR(6),                    00037150
-         2 FILLER_W2_480B                       CHAR(4),                    00037250
-         2 GEO_WA2_FN1E_DYN_BLOCK               CHAR(3), /\*ATOMIC POLYGON*/ 00037350
-         2 GEO_WA2_FN1E_XCOORD                  CHAR(7),                    00037450
-         2 GEO_WA2_FN1E_YCOORD                  CHAR(7),                    00037550
-         2 GEO_WA2_FN1E_SEGMENTLENGTH           CHAR(5),                    00037650
-         2 GEO_WA2_FN1E_SANI_REG                CHAR(5);                    00037750
-                                                                            00037850
-     /********************************************************************/ 00037950
-                                                                            00038050
-     DCL 1 GEO_WA2_FN1E_LOW_HOUSE_NUM                                       00038150
-             BASED(ADDR(GEO_WA2_FN1E_LOW_HOUSENUM_INT)),                    00038250
-           3 GEO_WA2_FN1E_LOW_HOUSENUM          CHAR(5),                    00038350
-           3 GEO_WA2_FN1E_LOW_HOUSENUMSFX       CHAR(1);                    00038450
-                                                                            00038550
-     DCL 1 GEO_WA2_FN1E_HI_HOUSE_NUM                                        00038650
-             BASED(ADDR(GEO_WA2_FN1E_HI_HOUSENUM_INT)),                     00038750
-           3 GEO_WA2_FN1E_HI_HOUSENUM           CHAR(5),                    00038850
-           3 GEO_WA2_FN1E_HI_HOUSENUMSFX        CHAR(1);                    00038950
-                                                                            00039050
-     DCL 1 GEO_WA2_FN1E_COMDIST                 CHAR(3)                     00039150
-             BASED(ADDR(GEO_WA2_FN1E_COMMUN_DIST));                         00039250
-                                                                            00039350
-     DCL 1 GEO_WA2_FN1E_SANIDIST                  CHAR(3)                   00039450
-             BASED(ADDR(GEO_WA2_FN1E_SANI_DIST));                           00039550
-                                                                            00039650
-     DCL 1 GEO_WA2_FN1E_POLICEDIST              CHAR(4)                     00039750
-             BASED(ADDR(GEO_WA2_FN1E_POLICE_DIST));                         00039850
-                                                                            00039950
-     /********************************************************************/ 00040050
-                                                                            00040150
-     DCL                                                                    00040250
-       1 GEO_WA2_FUNCTION5   BASED(PW2),                                    00040350
-         2 GEO_WA2_FN5_ADDR_MATCHING_KEY        CHAR(28),                   00040450
-         2 FILLER_W2_210                        CHAR(172);                  00040550
-                                                                            00041000
-     /********************************************************************/ 00042001
-                                                                            00043001
-     PW2=ADDR(W2PL1);                                                       00050000
-
-

W2PL1L COPY File

-
     /********************************************************************/ 00000100
-     /***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2PL1L, CONTAINING      \***/ 00000200
-     /***  THE LAYOUT OF THE OPTIONAL LONG WORK AREA 2 FOR             \***/ 00000300
-     /***  FUNCTION 1,1E, & 3. THIS WORK AREA SHOULD BE USED ONLY WHEN \***/ 00000400
-     /***  FUNCTION IS CALLED WITH THE "LONG" WORK AREA2 OPTION.       \***/ 00000500
-     /***                                                07/23/2001    \***/ 00000600
-     /***  LAST MODIFIED JANUARY 2012                                  \***/ 00000739
-     /********************************************************************/ 00000824
-     DCL PW2L POINTER;                                                      00000924
-     DCL 1 W2PL1L            CHAR(300) INIT(' ');                           00001024
-     DCL                                                                    00001124
-       1 GEO_WA2_1L_FUNCTION1   BASED(PW2L),                                00001224
-         2 GEO_WA2_1L_ACCESS_KEY               CHAR(21),                    00001324
-         2 GEO_WA2_1L_CONT_PARITY              CHAR(1),                     00001424
-         2 GEO_WA2_1L_LOW_HOUSENUM_INT         CHAR(6),                     00001524
-         2 GEO_WA2_1L_HI_HOUSENUM_INT          CHAR(6),                     00001624
-         2 GEO_WA2_1L_ALX                      CHAR(1),                     00001724
-         2 GEO_WA2_1L_NUM_X_ST_LOW_END         CHAR(1),                     00001824
-         2 GEO_WA2_1L_LOW_PBSC(5)              FIXED DEC(7),                00001924
-         2 GEO_WA2_1L_NUM_X_ST_HI_END          CHAR(1),                     00002024
-         2 GEO_WA2_1L_HI_PBSC(5)               FIXED DEC(7),                00002124
-         2 GEO_WA2_1L_COMMUN_DIST,                                          00002224
-           3 GEO_WA2_1L_COMDIST_BORO           CHAR(1),                     00002324
-           3 GEO_WA2_1L_COMDIST_NUMBER         CHAR(2),                     00002424
-         2 GEO_WA2_1L_ZIP                      CHAR(5),                     00002524
-         2 GEO_WA2_1L_SLA                      CHAR(1),                     00002624
-         2 GEO_WA2_1L_HCD                      CHAR(2),                     00002740
-         2 GEO_WA2_1L_SOS                      CHAR(1),                     00002939
-         2 GEO_WA2_1L_CONT_PARITY_IND          CHAR(1),                     00003039
-         2 GEO_WA2_1L_2010_CENSUS_TRACT        CHAR(6),                     00003139
-         2 GEO_WA2_1L_2010_CENSUS_BLOCK        CHAR(4),                     00003239
-         2 GEO_WA2_1L_2010_CENSUS_BLK_SF       CHAR(1), /\*NOTIMPLEMENTED*/  00003339
-         2 GEO_WA2_1L_FILLER_INDV              CHAR(1),                     00003439
-         2 FILLER_W2_230                       CHAR(2),                     00003539
-         2 GEO_WA2_1L_HEALTHAREA               CHAR(4),                     00003640
-         2 GEO_WA2_1L_SANI_REC                 CHAR(3),                     00003739
-         2 GEO_WA2_1L_FEATURE_TYPE             CHAR(1),                     00003839
-         2 GEO_WA2_1L_RESDCP /\*RESERVED FOR*/  CHAR(1), /\*DCP/GSS USE*/     00003939
-         2 GEO_WA2_1L_CURVE_FLAG               CHAR(1),                     00004039
-         2 GEO_WA2_1L_POLICE_DIST,                                          00004139
-           3  GEO_WA2_1L_POL_PAT_B_CMD         CHAR(1),                     00004239
-           3  GEO_WA2_1L_POL_PRECINCT          CHAR(3),                     00004339
-         2 GEO_WA2_1L_SCHOOLDIST               CHAR(2),                     00004439
-         2 FILLER_W2_250                       CHAR(14), /\*1E POL DIST*/    00004539
-         2 GEO_WA2_1L_COINCIDENT_SEG_CTR       CHAR(1),                     00004620
-         2 GEO_WA2_1L_SEGMENT_TYPE             CHAR(1),                     00004720
-         2 GEO_WA2_1L_SANI_DIST,                                            00004820
-           3 GEO_WA2_1L_SANIDIST_BORO          CHAR(1),                     00004920
-           3 GEO_WA2_1L_SANIDIST_NUMBER        CHAR(2),                     00005020
-         2 GEO_WA2_1L_SANITATION_SUBSEC        CHAR(2),                     00005120
-         2 GEO_WA2_1L_FIRESEC   /\*FIRE DIV*/   CHAR(2),                     00005220
-         2 GEO_WA2_1L_FIREBAT                  CHAR(2),                     00005320
-         2 GEO_WA2_1L_FIRECO,                                               00005420
-           3 GEO_WA2_1L_FIRECO_TYPE            CHAR(1),                     00005520
-           3 GEO_WA2_1L_FIRECO_NUM             CHAR(3),                     00005620
-         2 GEO_WA2_1L_SPECIAL_ADDR_FLAG        CHAR(1),                     00005720
-         2 GEO_WA2_1L_MARBLE_RIKERS_FLAG       CHAR(1),                     00005820
-         2 GEO_WA2_1L_SPLIT_SCHOOL_FILL        CHAR(1),                     00005938
-         2 GEO_WA2_1L_PREFERRED_LGC            CHAR(2),                     00006020
-         2 GEO_WA2_1L_LIONFACECODE             CHAR(4),                     00006120
-         2 GEO_WA2_1L_LIONSEQ                  CHAR(5),                     00006220
-         2 GEO_WA2_1L_1990_CENSUSTRACT         CHAR(6),                     00006320
-         2 FILLER_W2_260B                      CHAR(4),                     00006423
-         2 GEO_WA2_1L_DYN_BLOCK                CHAR(3), /\*ATOMIC POLYGON*/  00006534
-         2 GEO_WA2_1L_XCOORD                   CHAR(7),                     00006620
-         2 GEO_WA2_1L_YCOORD                   CHAR(7),                     00006720
-         2 GEO_WA2_1L_SEGMENTLENGTH            CHAR(5),                     00006820
-         2 GEO_WA2_1L_SANI_REG                 CHAR(5),                     00006920
-         2 GEO_WA2_1L_SEGMENT_ID               CHAR(7),                     00007020
-         2 GEO_WA2_1L_REAL_B7SC                CHAR(08),                    00007120
-         2 GEO_WA2_1L_UNDERLY_HOUSENUM_INT     CHAR(6),                     00007223
-         2 GEO_WA2_1L_2000_CENS_TRACT          CHAR(6),                     00007336
-         2 GEO_WA2_1L_2000_CENS_BLOCK          CHAR(4),                     00007436
-         2 GEO_WA2_1L_2000_CENS_BLK_SUF        CHAR(1),                     00007536
-         2 FILLER_W2_260C                      CHAR(68);                    00007629
-                                                                            00007723
-     /********************************************************************/ 00007823
-                                                                            00007923
-     DCL 1 GEO_WA2_1L_LOW_HOUSE_NUM                                         00008023
-             BASED(ADDR(GEO_WA2_1L_LOW_HOUSENUM_INT)),                      00008123
-           3 GEO_WA2_1L_LOW_HOUSENUM           CHAR(5),                     00008223
-           3 GEO_WA2_1L_LOW_HOUSENUMSFX        CHAR(1);                     00008323
-                                                                            00008423
-     DCL 1 GEO_WA2_1L_HI_HOUSE_NUM                                          00008523
-             BASED(ADDR(GEO_WA2_1L_HI_HOUSENUM_INT)),                       00008623
-           3 GEO_WA2_1L_HI_HOUSENUM            CHAR(5),                     00008723
-           3 GEO_WA2_1L_HI_HOUSENUMSFX         CHAR(1);                     00008823
-                                                                            00008923
-     DCL 1 GEO_WA2_1L_UNDERLY_HOUSE_NUM                                     00009023
-             BASED(ADDR(GEO_WA2_1L_UNDERLY_HOUSENUM_INT)),                  00009123
-           3 GEO_WA2_1L_UNDERLY_HOUSENUM       CHAR(5),                     00009223
-           3 GEO_WA2_1L_UNDERLY_HOUSENUMSFX    CHAR(1);                     00009323
-                                                                            00009423
-     DCL 1 GEO_WA2_1L_COMDIST                  CHAR(3)                      00009523
-             BASED(ADDR(GEO_WA2_1L_COMMUN_DIST));                           00009623
-                                                                            00009723
-     DCL 1 GEO_WA2_1L_SANIDIST                  CHAR(3)                     00009823
-             BASED(ADDR(GEO_WA2_1L_SANI_DIST));                             00009923
-                                                                            00010023
-     DCL 1 GEO_WA2_1L_POLICEDIST               CHAR(4)                      00010123
-             BASED(ADDR(GEO_WA2_1L_POLICE_DIST));                           00010223
-                                                                            00010323
-     /********************************************************************/ 00010423
-                                                                            00010523
-     DCL                                                                    00010623
-       1 GEO_WA2_1EL_FUNCTION1E  BASED(PW2L),                               00010723
-         2 GEO_WA2_1EL_ACCESS_KEY              CHAR(21),                    00010823
-         2 GEO_WA2_1EL_CONT_PARITY             CHAR(1),                     00010923
-         2 GEO_WA2_1EL_LOW_HOUSENUM_INT        CHAR(6),                     00011023
-         2 GEO_WA2_1EL_HI_HOUSENUM_INT         CHAR(6),                     00011123
-         2 GEO_WA2_1EL_ALX                     CHAR(1),                     00011223
-         2 GEO_WA2_1EL_NUM_X_ST_LOW_END        CHAR(1),                     00011323
-         2 GEO_WA2_1EL_LOW_PBSC(5)             FIXED DEC(7),                00011423
-         2 GEO_WA2_1EL_NUM_X_ST_HI_END         CHAR(1),                     00011523
-         2 GEO_WA2_1EL_HI_PBSC(5)              FIXED DEC(7),                00011623
-         2 GEO_WA2_1EL_COMMUN_DIST,                                         00011723
-           3 GEO_WA2_1EL_COMDIST_BORO          CHAR(1),                     00011823
-           3 GEO_WA2_1EL_COMDIST_NUMBER        CHAR(2),                     00011923
-         2 GEO_WA2_1EL_ZIP                     CHAR(5),                     00012023
-         2 GEO_WA2_1EL_SLA                     CHAR(1),                     00012123
-         2 GEO_WA2_1EL_HCD                     CHAR(2),                     00012240
-         2 GEO_WA2_1EL_SOS                     CHAR(1),                     00012439
-         2 GEO_WA2_1EL_CONT_PARITY_IND         CHAR(1),                     00012539
-         2 GEO_WA2_1EL_2010_CENSUS_TRACT       CHAR(6),                     00012639
-         2 GEO_WA2_1EL_2010_CENSUS_BLOCK       CHAR(4),                     00012739
-         2 GEO_WA2_1EL_2010_CENSUS_BLK_SF      CHAR(1), /\*NOTIMPLEMENTED*/  00012839
-         2 GEO_WA2_1EL_FILLER_INDV             CHAR(1),                     00012939
-         2 FILLER_W2_240                       CHAR(2),                     00013039
-         2 GEO_WA2_1EL_HEALTHAREA              CHAR(4),                     00013140
-         2 GEO_WA2_1EL_SANI_REC                CHAR(3),                     00013239
-         2 GEO_WA2_1EL_FEATURE_TYPE            CHAR(1),                     00013339
-         2 GEO_WA2_1EL_RESDCP /\*RESERVED FOR*/ CHAR(1), /\*DCP/GSS USE*/     00013439
-         2 GEO_WA2_1EL_CURVE_FLAG              CHAR(1),                     00013539
-         2 GEO_WA2_1EL_POLICE_DIST,                                         00013639
-           3  GEO_WA2_1EL_POL_PAT_B_CMD        CHAR(1),                     00013739
-           3  GEO_WA2_1EL_POL_PRECINCT         CHAR(3),                     00013839
-         2 GEO_WA2_1EL_SCHOOLDIST              CHAR(2),                     00013939
-         2 GEO_WA2_1EL_ELECTDIST               CHAR(3),                     00014039
-         2 GEO_WA2_1EL_ASSEMDIST               CHAR(2),                     00014139
-         2 GEO_WA2_1EL_SPLIT_ED_FLAG           CHAR(1),                     00014239
-         2 GEO_WA2_1EL_CONGDIST                CHAR(2),                     00014339
-         2 GEO_WA2_1EL_SENATEDIST              CHAR(2),                     00014439
-         2 GEO_WA2_1EL_COURTDIST               CHAR(2),                     00014539
-         2 GEO_WA2_1EL_COUNCILDIST             CHAR(2),                     00014639
-         2 GEO_WA2_1EL_COINCIDENT_SEG_CTR      CHAR(1),                     00014739
-         2 GEO_WA2_1EL_SEGMENT_TYPE_CODE       CHAR(1),                     00014839
-         2 GEO_WA2_1EL_SANI_DIST,                                           00014939
-           3 GEO_WA2_1EL_SANIDIST_BORO         CHAR(1),                     00015039
-           3 GEO_WA2_1EL_SANIDIST_NUMBER       CHAR(2),                     00015139
-         2 GEO_WA2_1EL_SANITATION_SUBSEC       CHAR(2),                     00015239
-         2 GEO_WA2_1EL_FIRESEC  /\*FIRE DIV*/   CHAR(2),                     00015339
-         2 GEO_WA2_1EL_FIREBAT                 CHAR(2),                     00015439
-         2 GEO_WA2_1EL_FIRECO,                                              00015539
-           3 GEO_WA2_1EL_FIRECO_TYPE           CHAR(1),                     00015639
-           3 GEO_WA2_1EL_FIRECO_NUM            CHAR(3),                     00015739
-         2 GEO_WA2_1EL_SPECIAL_ADDR__FLAG      CHAR(1),                     00015839
-         2 GEO_WA2_1EL_MARBLE_RIKERS_FLAG      CHAR(1),                     00015939
-         2 GEO_WA2_1EL_SPLIT_SCHOOL_FILL       CHAR(1),                     00016039
-         2 GEO_WA2_1EL_PREFERRED_LGC           CHAR(2),                     00016139
-         2 GEO_WA2_1EL_LIONFACECODE            CHAR(4),                     00016239
-         2 GEO_WA2_1EL_LIONSEQ                 CHAR(5),                     00016339
-         2 GEO_WA2_1EL_1990_CENSUSTRACT        CHAR(6),                     00016439
-         2 FILLER_W2_480B                       CHAR(4),                    00016539
-         2 GEO_WA2_1EL_DYN_BLOCK               CHAR(3), /\*ATOMIC POLYGON*/  00016639
-         2 GEO_WA2_1EL_XCOORD                  CHAR(7),                     00016739
-         2 GEO_WA2_1EL_YCOORD                  CHAR(7),                     00016839
-         2 GEO_WA2_1EL_SEGMENTLENGTH           CHAR(5),                     00016939
-         2 GEO_WA2_1EL_SANI_REG                CHAR(5),                     00017039
-         2 GEO_WA2_1EL_SEGMENT_ID              CHAR(7),                     00017139
-         2 GEO_WA2_1EL_TRUE_B7SC               CHAR(8),                     00017239
-         2 GEO_WA2_1EL_UNDER_HOUSENUM_INT      CHAR(6),                     00017339
-         2 GEO_WA2_1EL_2000_CENS_TRACT         CHAR(6),                     00017439
-         2 GEO_WA2_1EL_2000_CENS_BLOCK         CHAR(4),                     00017539
-         2 GEO_WA2_1EL_2000_CENS_BLK_SUF       CHAR(1),                     00017639
-         2 FILLER_W2_480                       CHAR(68);                    00017739
-                                                                            00017839
-     /********************************************************************/ 00017939
-                                                                            00018039
-     DCL 1 GEO_WA2_1EL_LOW_HOUSE_NUM                                        00018139
-             BASED(ADDR(GEO_WA2_1EL_LOW_HOUSENUM_INT)),                     00018239
-           3 GEO_WA2_1EL_LOW_HOUSENUM          CHAR(5),                     00018339
-           3 GEO_WA2_1EL_LOW_HOUSENUMSFX       CHAR(1);                     00018439
-                                                                            00018539
-     DCL 1 GEO_WA2_1EL_HI_HOUSE_NUM                                         00018639
-             BASED(ADDR(GEO_WA2_1EL_HI_HOUSENUM_INT)),                      00018739
-           3 GEO_WA2_1EL_HI_HOUSENUM           CHAR(5),                     00018839
-           3 GEO_WA2_1EL_HI_HOUSENUMSFX        CHAR(1);                     00018939
-                                                                            00019039
-     DCL 1 GEO_WA2_1EL_UNDER_HOUSE_NUM                                      00019139
-             BASED(ADDR(GEO_WA2_1EL_UNDER_HOUSENUM_INT)),                   00019239
-           3 GEO_WA2_1EL_UNDER_HOUSENUM      CHAR(5),                       00019339
-           3 GEO_WA2_1EL_UNDER_HOUSENUMSFX   CHAR(1);                       00019439
-                                                                            00019539
-     DCL 1 GEO_WA2_1EL_COMDIST                 CHAR(3)                      00019639
-             BASED(ADDR(GEO_WA2_1EL_COMMUN_DIST));                          00019739
-                                                                            00019839
-     DCL 1 GEO_WA2_1EL_SANIDIST                  CHAR(3)                    00019939
-             BASED(ADDR(GEO_WA2_1EL_SANI_DIST));                            00020039
-                                                                            00020139
-     DCL 1 GEO_WA2_1EL_POLICEDIST              CHAR(4)                      00020239
-             BASED(ADDR(GEO_WA2_1EL_POLICE_DIST));                          00020339
-                                                                            00020439
-     /********************************************************************/ 00020539
-                                                                            00020639
-     DCL                                                                    00020739
-       1 GEO_WA2_FUNCTION3L  BASED(PW2L),                                   00020839
-         2 GEO_WA2_3L_ACCESS_KEY               CHAR(21),                    00020939
-         2 GEO_WA2_3L_DUP_KEY_FLAG             CHAR(1),                     00021039
-         2 GEO_WA2_3L_CURVE_FLAG               CHAR(1),                     00021139
-         2 GEO_WA2_3L_LOCATION_STATUS          CHAR(1),                     00021239
-         2 GEO_WA2_3L_COUNTY_BOUNDARY          CHAR(1),                     00021339
-         2 GEO_WA2_3L_COINCIDENT_SEG_CTR       CHAR(1),                     00021439
-         2 FILLER_W340                         CHAR(3),                     00021539
-         2 GEO_WA2_3L_PREFERRED_LGC1           CHAR(2),                     00021639
-         2 GEO_WA2_3L_PREFERRED_LGC2           CHAR(2),                     00021739
-         2 GEO_WA2_3L_PREFERRED_LGC3           CHAR(2),                     00021839
-         2 GEO_WA2_3L_NUM_X_ST_LOW_END         CHAR(1),                     00021939
-         2 GEO_WA2_3L_LOW_PBSC(5)              FIXED DEC(7),                00022039
-         2 GEO_WA2_3L_NUM_X_ST_HI_END          CHAR(1),                     00022139
-         2 GEO_WA2_3L_HI_PBSC(5)               FIXED DEC(7),                00022239
-         2 GEO_WA2_3L_SLA                      CHAR(1),                     00022339
-         2 GEO_WA2_3L_REVERSALFLAG             CHAR(1),                     00022439
-         2 GEO_WA2_3L_LEFT_COMMUN_DIST,                                     00022539
-           3 GEO_WA2_3L_LEFT_COMDIST_BORO      CHAR(1),                     00022639
-           3 GEO_WA2_3L_LEFT_COMDIST_NUMBER    CHAR(2),                     00022739
-         2 GEO_WA2_3L_RIGHT_COMMUN_DIST,                                    00022839
-           3 GEO_WA2_3L_RIGHT_COMDIST_BORO     CHAR(1),                     00022939
-           3 GEO_WA2_3L_RIGHT_COMDIST_NUMBER   CHAR(2),                     00023039
-         2 GEO_WA2_3L_LEFT_ZIP                 CHAR(5),                     00023139
-         2 GEO_WA2_3L_RIGHT_ZIP                CHAR(5),                     00023239
-         2 FILLER_W340B                        CHAR(18),                    00023339
-         2 GEO_WA2_3L_LEFT_HEALTHAREA          CHAR(4),                     00023440
-         2 GEO_WA2_3L_RIGHT_HEALTHAREA         CHAR(4),                     00023540
-         2 GEO_WA2_3L_LEFT_FILLER_INDV         CHAR(2),                     00023639
-         2 GEO_WA2_3L_RIGHT_FILLER_INDV        CHAR(2),                     00023739
-         2 GEO_WA2_3L_LEFT_LOW_HOUSENUM        CHAR(7),                     00023839
-         2 GEO_WA2_3L_LEFT_HI_HOUSENUM         CHAR(7),                     00023939
-         2 GEO_WA2_3L_RIGHT_LOW_HOUSENUM       CHAR(7),                     00024039
-         2 GEO_WA2_3L_RIGHT_HI_HOUSENUM        CHAR(7),                     00024139
-         2 GEO_WA2_3L_CONT_PARITY_IND          CHAR(1),                     00024239
-         2 GEO_WA2_3L_LIONFACECODE             CHAR(4),                     00024339
-         2 GEO_WA2_3L_LIONSEQ                  CHAR(5),                     00024439
-         2 GEO_WA2_3L_GENRECFLAG               CHAR(1),                     00024539
-         2 GEO_WA2_3L_SEGMENTLENGTH            FIXED DEC(5),                00024639
-         2 GEO_WA2_3L_SEGMENTSLOPE             CHAR(3),                     00024739
-         2 GEO_WA2_3L_SEGMENTORIENT            CHAR(1),                     00024839
-         2 FILLER_W355                         CHAR(4),                     00024939
-         2 GEO_WA2_3L_RESDCP                   CHAR(2),                     00025039
-         2 GEO_WA2_3L_DOG_LEG                  CHAR(1),                     00025139
-         2 GEO_WA2_3L_FEATURE_TYPE             CHAR(1),                     00025239
-         2 GEO_WA2_3L_LEFT_POLICE_DIST,                                     00025339
-           3  GEO_WA2_3L_LEFT_POL_PAT_B_CMD    CHAR(1),                     00025439
-           3  GEO_WA2_3L_LEFT_POL_PRECINCT     CHAR(3),                     00025539
-         2 GEO_WA2_3L_RIGHT_POLICE_DIST,                                    00025639
-           3  GEO_WA2_3L_RIGHT_POL_PAT_B_CMD   CHAR(1),                     00025739
-           3  GEO_WA2_3L_RIGHT_POL_PRECINCT    CHAR(3),                     00025839
-         2 GEO_WA2_3L_LEFT_SCHLDIST            CHAR(2),                     00025939
-         2 GEO_WA2_3L_RIGHT_SCHLDIST           CHAR(2),                     00026039
-         2 GEO_WA2_3L_MARBLE_RIKERS_FLAG       CHAR(1),                     00026139
-         2 GEO_WA2_3L_SEGMENT_ID               CHAR(7),                     00026239
-         2 GEO_WA2_3L_SEGMENT_TYPE             CHAR(1),                     00026339
-     /*************************************************************/        00026439
-     /**  THE PORTION OF THIS WORK AREA ABOVE THIS POINT IS      \**/        00026539
-     /**  IDENTICAL TO THE STANDARD WORK AREA 2 FOR FUNCTION 3.  \**/        00026639
-     /**  THE PORTION BELOW THIS POINT IS PRESENT ONLY FOR THE   \**/        00026739
-     /**  LONG WORK AREA 2 OPTION.                               \**/        00026839
-     /*************************************************************/        00026939
-         2 GEO_WA2_3L_L_1990_CENSUSTRACT       CHAR(6),                     00027039
-         2 FILLER_W370B                        CHAR(4),                     00027139
-         2 GEO_WA2_L_3L_DYN_BLOCK              CHAR(3),/\*ATOMIC POLYGON*/   00027239
-         2 GEO_WA2_3L_R_1990_CENSUSTRACT       CHAR(6),                     00027339
-         2 FILLER_W370C                        CHAR(4),                     00027439
-         2 GEO_WA2_R_3L_DYN_BLOCK              CHAR(3),/\*ATOMIC POLYGON*/   00027539
-         2 GEO_WA2_3L_LEFT_FIRESEC             CHAR(2),/\*FIRE DIV*/         00027639
-         2 GEO_WA2_3L_LEFT_FIREBAT             CHAR(2),                     00027739
-         2 GEO_WA2_3L_LEFT_FIRECO,                                          00027839
-           3 GEO_WA2_3L_LEFT_FIRECO_TYPE       CHAR(1),                     00027939
-           3 GEO_WA2_3L_LEFT_FIRECO_NUM        CHAR(3),                     00028039
-         2 GEO_WA2_3L_RIGHT_FIRESEC            CHAR(2),/\*FIRE DIV*/         00028139
-         2 GEO_WA2_3L_RIGHT_FIREBAT            CHAR(2),                     00028239
-         2 GEO_WA2_3L_RIGHT_FIRECO,                                         00028339
-           3 GEO_WA2_3L_RIGHT_FIRECO_TYPE      CHAR(1),                     00028439
-           3 GEO_WA2_3L_RIGHT_FIRECO_NUM       CHAR(3),                     00028539
-         2 GEO_WA2_3L_L_2010_CENSUS_TRACT      CHAR(6),                     00028639
-         2 GEO_WA2_3L_L_2010_CENSUS_BLOCK      CHAR(4),                     00028739
-         2 GEO_WA2_3L_L_2010_CENSUS_BLK_SF     CHAR(1), /\*NOTIMPLEMENTED*/  00028839
-         2 GEO_WA2_3L_R_2010_CENSUS_TRACT      CHAR(6),                     00028939
-         2 GEO_WA2_3L_R_2010_CENSUS_BLOCK      CHAR(4),                     00029039
-         2 GEO_WA2_3L_R_2010_CENSUS_BLK_SF     CHAR(1), /\*NOTIMPLEMENTED*/  00029139
-         2 GEO_WA2_3L_FROM_NODE                CHAR(7),                     00029239
-         2 GEO_WA2_3L_TO_NODE                  CHAR(7),                     00029339
-         2 GEO_WA2_3L_L_2000_CENS_TRACT        CHAR(6),                     00029439
-         2 GEO_WA2_3L_L_2000_CENS_BLOCK        CHAR(4),                     00029539
-         2 GEO_WA2_3L_L_2000_CENS_BL_SUF       CHAR(1),                     00029639
-         2 GEO_WA2_3L_R_2000_CENS_TRACT        CHAR(6),                     00029739
-         2 GEO_WA2_3L_R_2000_CENS_BLOCK        CHAR(4),                     00029839
-         2 GEO_WA2_3L_R_2000_CENS_BL_SUF       CHAR(1);                     00029939
-     DCL 1 GEO_WA2_3L_LEFT_COMDIST             CHAR(3)                      00030025
-             BASED(ADDR(GEO_WA2_3L_LEFT_COMMUN_DIST));                      00030125
-     DCL 1 GEO_WA2_3L_RIGHT_COMDIST            CHAR(3)                      00030225
-             BASED(ADDR(GEO_WA2_3L_RIGHT_COMMUN_DIST));                     00030325
-     DCL 1 GEO_WA2_3L_LEFT_POLICEDIST          CHAR(4)                      00030425
-             BASED(ADDR(GEO_WA2_3L_LEFT_POLICE_DIST));                      00030525
-     DCL 1 GEO_WA2_3L_RIGHT_POLICEDIST         CHAR(4)                      00030625
-             BASED(ADDR(GEO_WA2_3L_RIGHT_POLICE_DIST));                     00030725
-     PW2L=ADDR(W2PL1L);                                                     00030825
-                                                                            00031025
-     /********************************************************************/ 00040012
-
-

W2PL11A COPY File

-
     /********************************************************************/ 00000100
-     /***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2PL11A, CONTAINING THE \***/ 00000200
-     /***  LAYOUT OF WORK AREA 2 FOR FUNCTIONS 1A AND BL WHICH SHARE   \***/ 00000300
-     /***  A SINGLE WORK AREA 2 LAYOUT.                      11/28/00  \***/ 00000403
-     /********************************************************************/ 00000500
-                                                                            00000600
-      /*  STANDARD FORMAT  \*/                                               00000701
-                                                                            00000800
-      DCL                                                                   00000900
-        1 W2PL11A,                                                          00001000
-          2 GEO_WA2_1A_ACCESS_KEY                CHAR(21),                  00001100
-          2 GEO_WA2_1A_CONT_PARITY               CHAR(1),                   00001200
-          2 GEO_WA2_1A_LOW_HOUSENUM              CHAR(6),                   00001300
-          2 GEO_WA2_1A_ALTKEY_1,                                            00001400
-            3 GEO_WA2_1A_ALTKEY_1_BORO           CHAR(1),                   00001500
-            3 GEO_WA2_1A_ALTKEY_1_TAXBLOCK       CHAR(5),                   00001600
-            3 GEO_WA2_1A_ALTKEY_1_TAXLOT         CHAR(4),                   00001700
-          2 GEO_WA2_1A_FILLER_230                CHAR(1),                   00001800
-          2 GEO_WA2_1A_SCC                       CHAR(1),                   00001900
-          2 GEO_WA2_1A_FILLER_240                CHAR(1),                   00002000
-          2 GEO_WA2_1A_GENERAL_LOT_INFO,                                    00002100
-            3 GEO_WA2_1A_RPAD_BLDG_CLASS         CHAR(2),                   00002200
-            3 GEO_WA2_1A_CORNER_CODE             CHAR(2),                   00002300
-            3 GEO_WA2_1A_NUM_OF_STRUCTURES       CHAR(2),                   00002400
-            3 GEO_WA2_1A_NUM_OF_BLOCKFACES       CHAR(2),                   00002500
-            3 GEO_WA2_1A_INTERIOR_FLAG           CHAR(1),                   00002600
-            3 GEO_WA2_1A_VACANT_FLAG             CHAR(1),                   00002700
-            3 GEO_WA2_1A_IRREG_LOT_FLAG          CHAR(1),                   00002800
-          2 GEO_WA2_1A_ALT_BORO_FLAG             CHAR(1),                   00002900
-          2 GEO_WA2_1A_FILLER_245                CHAR(1),                   00003000
-          2 GEO_WA2_1A_STROLL_KEY                CHAR(13),                  00003100
-          2 GEO_WA2_1A_OVERFLOW_FLAG             CHAR(1),                   00003202
-          2 GEO_WA2_1A_FILLER_251                CHAR(1), /\*USED FOR DCP*/  00003300
-          2 GEO_WA2_1A_BIN                       CHAR(7),                   00003400
-          2 GEO_WA2_1A_CONDO_FLAG                CHAR(1),                   00003500
-          2 GEO_WA2_1A_RPAD_CONDO_ID_NUM         CHAR(4),                   00003600
-          2 GEO_WA2_1A_CONDO_LOW_BBL             CHAR(10),                  00003700
-          2 GEO_WA2_1A_FILLER_260                CHAR(1),                   00003800
-          2 GEO_WA2_1A_CONDO_BILL_BBL            CHAR(10),                  00003900
-          2 GEO_WA2_1A_FILLER_270                CHAR(1),                   00004000
-          2 GEO_WA2_1A_CONDO_BILL_BBL_SCC        CHAR(1),                   00004100
-          2 GEO_WA2_1A_CONDO_HIGH_BBL            CHAR(10),                  00004200
-          2 GEO_WA2_1A_FILLER_275                CHAR(1),                   00004300
-          2 GEO_WA2_1A_SANBORN_BORO              CHAR(1),                   00004400
-          2 GEO_WA2_1A_SANBORN_VOL_PAGE,                                    00004500
-            3 GEO_WA2_1A_SANBORN_VOL_NUM         CHAR(3),                   00004600
-            3 GEO_WA2_1A_SANBORN_PAGE_NUM        CHAR(4),                   00004700
-          2 GEO_WA2_1A_COMMERC_DIST              CHAR(5),                   00004800
-          2 GEO_WA2_1A_COOP_NUM                  CHAR(4),                   00004904
-          2 GEO_WA2_1A_FILLER_276                CHAR(4),                   00005007
-          2 GEO_WA2_1A_ACTUAL_NUM_OF_STRUCT      CHAR(4),                   00005106
-          2 GEO_WA2_1A_DOF_MAP_BORO              CHAR(1),                   00005207
-          2 GEO_WA2_1A_DOF_MAP_SECVOL            CHAR(4),                   00005307
-          2 GEO_WA2_1A_DOF_MAP_PAGE              CHAR(4),                   00005407
-          2 GEO_WA2_1A_X_COORD                   CHAR(7),                   00005508
-          2 GEO_WA2_1A_Y_COORD                   CHAR(7),                   00005608
-          2 GEO_WA2_1A_BID                       CHAR(6),                   00005809
-          2 GEO_WA2_1A_FILLER_280                CHAR(2),                   00005909
-          2 GEO_WA2_1A_FILLER_LGCS               CHAR(8),                   00006010
-          2 GEO_WA2_1A_FILLER_280A               CHAR(2),                   00006109
-          2 GEO_WA2_1A_NUM_OF_ADDR_FOR_LOT       CHAR(2),                   00006209
-          2 GEO_WA2_1A_LIST_OF_ADDRESSES(21),                               00006309
-            3 GEO_WA2_1A_LIST_LOW_HOUSENUM       CHAR(6),                   00006409
-            3 GEO_WA2_1A_FILLER_290              CHAR(3),                   00006509
-            3 GEO_WA2_1A_LIST_HI_HOUSENUM        CHAR(6),                   00006609
-            3 GEO_WA2_1A_FILLER_300              CHAR(3),                   00006709
-            3 GEO_WA2_1A_LIST_STREETCODE         CHAR(8),                   00006809
-            3 GEO_WA2_1A_LIST_BIN                CHAR(7),                   00006909
-            3 GEO_WA2_1A_ADDR_TYPE               CHAR(1),                   00007009
-            3 GEO_WA2_1A_FILLER_310              CHAR(1),                   00007109
-            3 GEO_WA2_1A_LIST_SOS                CHAR(1);                   00007209
-     DCL  GEO_WA2_1A_SANBORN_BVOLPAGE            CHAR(8)                    00007309
-            BASED(ADDR(GEO_WA2_1A_SANBORN_BORO));                           00008009
-
-

W2PL11AL COPY File

-
     /********************************************************************/ 00000100
-     /***  THIS IS GEOSUPPORT SYSTEM COPY FILE W2PL11AL, CONTAINING THE***/ 00000200
-     /***  LAYOUT OF LONG WORK AREA 2 FOR FUNCTIONS 1A AND BL WHICH    \***/ 00000300
-     /***  SHARE A SINGLE WORK AREA 2 LAYOUT.               11/28/00   \***/ 00000402
-     /********************************************************************/ 00000500
-                                                                            00000600
-      /*  1A/BL LONG WORK AREA 2 \*/                                         00000700
-                                                                            00000800
-      DCL                                                                   00000900
-        1 W2PL11AL,                                                         00001000
-          2 GEO_WA2_1AL_ACCESS_KEY                CHAR(21),                 00001100
-          2 GEO_WA2_1AL_CONT_PARITY               CHAR(1),                  00001200
-          2 GEO_WA2_1AL_LOW_HOUSENUM              CHAR(6),                  00001300
-          2 GEO_WA2_1AL_ALTKEY_1,                                           00001400
-            3 GEO_WA2_1AL_ALTKEY_1_BORO           CHAR(1),                  00001500
-            3 GEO_WA2_1AL_ALTKEY_1_TAXBLOCK       CHAR(5),                  00001600
-            3 GEO_WA2_1AL_ALTKEY_1_TAXLOT         CHAR(4),                  00001700
-          2 GEO_WA2_1AL_FILLER_230                CHAR(1),                  00001800
-          2 GEO_WA2_1AL_SCC                       CHAR(1),                  00001900
-          2 GEO_WA2_1AL_FILLER_240                CHAR(1),                  00002000
-          2 GEO_WA2_1AL_GENERAL_LOT_INFO,                                   00002100
-            3 GEO_WA2_1AL_RPAD_BLDG_CLASS         CHAR(2),                  00002200
-            3 GEO_WA2_1AL_CORNER_CODE             CHAR(2),                  00002300
-            3 GEO_WA2_1AL_NUM_OF_STRUCTURES       CHAR(2),                  00002400
-            3 GEO_WA2_1AL_NUM_OF_BLOCKFACES       CHAR(2),                  00002500
-            3 GEO_WA2_1AL_INTERIOR_FLAG           CHAR(1),                  00002600
-            3 GEO_WA2_1AL_VACANT_FLAG             CHAR(1),                  00002700
-            3 GEO_WA2_1AL_IRREG_LOT_FLAG          CHAR(1),                  00002800
-          2 GEO_WA2_1AL_ALT_BORO_FLAG             CHAR(1),                  00002900
-          2 GEO_WA2_1AL_FILLER_245                CHAR(1),                  00003000
-          2 GEO_WA2_1AL_STROLL_KEY                CHAR(13),                 00003100
-          2 GEO_WA2_1AL_FILLER_250                CHAR(1),                  00003200
-          2 GEO_WA2_1AL_FILLER_251                CHAR(1), /\*USED FOR DCP*/ 00003300
-          2 GEO_WA2_1AL_BIN                       CHAR(7),                  00003400
-          2 GEO_WA2_1AL_CONDO_FLAG                CHAR(1),                  00003500
-          2 GEO_WA2_1AL_RPAD_CONDO_ID_NUM         CHAR(4),                  00003600
-          2 GEO_WA2_1AL_CONDO_LOW_BBL             CHAR(10),                 00003700
-          2 GEO_WA2_1AL_FILLER_260                CHAR(1),                  00003800
-          2 GEO_WA2_1AL_CONDO_BILL_BBL            CHAR(10),                 00003900
-          2 GEO_WA2_1AL_FILLER_270                CHAR(1),                  00004000
-          2 GEO_WA2_1AL_CONDO_BILL_BBL_SCC        CHAR(1),                  00004100
-          2 GEO_WA2_1AL_CONDO_HIGH_BBL            CHAR(10),                 00004200
-          2 GEO_WA2_1AL_FILLER_275                CHAR(1),                  00004300
-          2 GEO_WA2_1AL_SANBORN_BORO              CHAR(1),                  00004400
-          2 GEO_WA2_1AL_SANBORN_VOL_PAGE,                                   00004500
-            3 GEO_WA2_1AL_SANBORN_VOL_NUM         CHAR(3),                  00004600
-            3 GEO_WA2_1AL_SANBORN_PAGE_NUM        CHAR(4),                  00004700
-          2 GEO_WA2_1AL_COMMERC_DIST              CHAR(5),                  00004800
-          2 GEO_WA2_1AL_COOP_NUM                  CHAR(4),                  00004903
-          2 GEO_WA2_1AL_FILLER_276                CHAR(4),                  00005008
-          2 GEO_WA2_1AL_ACTUAL_NUM_STRUCTS        CHAR(4),                  00005106
-          2 GEO_WA2_1AL_DOF_MAP_BORO              CHAR(1),                  00005208
-          2 GEO_WA2_1AL_DOF_MAP_SECVOL            CHAR(4),                  00005308
-          2 GEO_WA2_1AL_DOF_MAP_PAGE              CHAR(4),                  00005408
-          2 GEO_WA2_1AL_X_COORD                   CHAR(7),                  00005509
-          2 GEO_WA2_1AL_Y_COORD                   CHAR(7),                  00005609
-          2 GEO_WA2_1AL_BID                       CHAR(6),                  00005710
-          2 GEO_WA2_1AL_FILLER_280                CHAR(2),                  00005810
-          2 GEO_WA2_1AL_FILLER_LGCS               CHAR(8),                  00005911
-          2 GEO_WA2_1AL_NUM_OF_BINS_FOR_LOT       CHAR(4),                  00006110
-          2 GEO_WA2_1AL_BINS(2500)                CHAR(7);                  00006210
-                                                                            00006310
-     DCL  GEO_WA2_1AL_SANBORN_BVOLPAGE            CHAR(8)                   00006410
-            BASED(ADDR(GEO_WA2_1AL_SANBORN_BORO));                          00007009
-
-

W2PL13S COPY File

-
     /*******************************************************************/  00000010
-     /** THIS IS GEOSUPPORT SYSTEM COPY FILE W2PL13S, CONTAINING THE   \**/  00000020
-     /** LAYOUT OF WORK AREA 2 FOR FUNCTION 3S.               9/22/93  \**/  00000030
-     /*******************************************************************/  00000040
-      DCL                                                                   00000050
-        1 W2PL13S,                                                          00000060
-          2 GEO_WA2_3S_ACCESS_KEY                CHAR(21),                  00000070
-          2 GEO_WA2_3S_NUM_OF_INTERSECTS         CHAR(3),                   00000080
-          2 GEO_WA2_3S_LIST_OF_INTERSECTS(350),                             00000090
-            3 GEO_WA2_3S_SMALLEST_PBSC           FIXED DEC(7),              00000100
-            3 GEO_WA2_3S_2ND_SMALLEST_PBSC       FIXED DEC(7),              00000110
-            3 GEO_WA2_3S_DISTANCE                FIXED DEC(5),              00000120
-            3 GEO_WA2_3S_GAP_FLAG                CHAR(1);                   00000130
-
-

C COPY File (MSW)

-

WAC COPY File

-
      /********************************************************************/
-      /* Modified - 2 June  2011 (added fields: 2010 Census Tract,Block   \*/
-      /*                          and Suffix for funcions 1,1E,2,3,3c).   \*/
-      /* Modified - 5 March 2009                                          \*/
-      /********************************************************************/
-      typedef struct {
-               struct {
-                       char func_code[2];      /* Function Code            \*/
-                       char boro_1;            /* Borough Code of First St \*/
-                       char hse_nbr_disp[12];  /* House nbr in Disp form   \*/
-                       char hse_nbr_hni[6];    /* House nbr in HNI form    \*/
-                       char street_name_1[32]; /* First Street Name        \*/
-                       char street_name_2[32]; /* Second Street Name       \*/
-                       char street_name_3[32]; /* Third Street Name        \*/
-                       char comp_direction;    /* Compass Direction        \*/
-                       char comp_direction2;   /* Compass Direction-Fn 3S  \*/
-                       char PB5SC_1[4];        /* Packd Boro 5 digt St Code*/
-                       char PB5SC_2[4];        /* Packd Boro 5 digt St Code*/
-                       char PB5SC_3[4];        /* Packd Boro 5 digt St Code*/
-                       char roadbedreq;        /* Roadbed Request Switch   \*/
-                       char boro_2;            /* Boro Code of Second Strt \*/
-                       char boro_3;            /* Boro Code of Third Street*/
-                       char snl[2];            /* Street Name Norm Length  \*/
-                       char B10SC_1[11];       /* 1st Boro & 10 Digt St Cod*/
-                       char B10SC_2[11];       /* 2nd Boro & 10 Digt St Cod*/
-                       char B10SC_3[11];       /* 3rd Boro & 10 Digt St Cod*/
-                       char zipin[5];          /* Input Zip Code           \*/
-                       char BBL[10];           /* Boro(len=1), Block(len=5)\*/
-                                               /* and Lot (len=4)          \*/
-                       char filler04;
-                       char bld_id[7];         /* Bld Id Number (BIN)      \*/
-                       char compact_flag;      /* Compact Street Names flag*/
-                       char long_WA_flag;      /* Long Work Area 2 Flag    \*/
-                       char lo_range_hnd[12];  /* Low HND of Range         \*/
-                       char lo_range_hni[6];   /* Low HNI of Range         \*/
-                       char not_IBM_flag;      /* Non-IBM Mainframe Flag   \*/
-                       char BL1A;              /* 1A/BL Version Switch     \*/
-                       char xstreet_flag;      /* Cross Street Names Flag  \*/
-                       char filler06[4 ];
-                      } input;
-               struct {
-                       char lo_hse_nbr_disp[12]; /* Low HND of Range       \*/
-                       char boro_name[9];      /* Boro Name of First Street*/
-                       char street_name_1[32]; /* 1st St Name - Normalized \*/
-                       char street_name_2[32]; /* 2nd St Name - Normalized \*/
-                       char street_name_3[32]; /* 3rd St Name - Normalized \*/
-                       char hse_nbr_disp[12];  /* House nbr in Normalized  \*/
-                                               /* Display form             \*/
-                       char hse_nbr_hni[6];    /* House number in HNI form \*/
-                       char filler01[7];
-                       char PB5SC_1[4];        /* Packd Boro 5 digt St Code*/
-                       char filler02[2];
-                       char PB5SC_2[4];        /* Packd Boro 5 digt St Code*/
-                       char filler03[2];
-                       char PB5SC_3[4];        /* Packd Boro 5 digt St Code*/
-                       char attrbytes[3];      /* Attribute Bytes - int use*/
-                       char br_pb5sc[10][4];   /* Up to 10 PB5SCs-Browse fn*/
-                       char B10SC_1[11];       /* 1st Boro & 10 Digt St Cod*/
-                       char B10SC_2[11];       /* 2nd Boro & 10 Digt St Cod*/
-                       char B10SC_3[11];       /* 3rd Boro & 10 Digt St Cod*/
-                       char condo_nbr[5];      /* Condo Number             \*/
-                       char BBL[10];           /* Boro(len=1), Block(len=5)\*/
-                                               /* and Lot (len=4)-Normalizd*/
-                       char filler06[1];
-                       char bld_id[7];         /* Building Id Number       \*/
-                       char intuse1;           /* Internal Use Only        \*/
-                       char reject_reason_code;/* Reject Reason Code       \*/
-                       char filler07[2];
-                       char ret_code[2];       /* GeoSupport Return Code   \*/
-                       char msg[80];           /* GeoSupport Message       \*/
-                       char nbr_sim_names[2];  /* Nbr of Similar St Names  \*/
-                       char sim_names[10][32]; /* Up to 10 Similar St Names*/
-                      } output;
-                     } C_WA1;
-
-      typedef struct { char filler01[21];
-                       char cont_parity_ind;   /* Continuous Parity Ind.   \*/
-                       char lo_hse_nbr[6];     /* Low House nbr in HNI form*/
-                       char hi_hse_nbr[6];     /* Hi House Nbr in HNI form \*/
-                       char alx;               /* A=Alley intersects segmnt*/
-                                               /* X=Cross Streets modified \*/
-                       char lo_nbr_x_sts;      /* Nbr of cross streets at  \*/
-                                               /* low house nbr end of st  \*/
-                       char l_x_sts[5][4];     /* PB5SCs of lo end cross st*/
-                       char hi_nbr_x_sts;      /* Nbr of cross streets at  \*/
-                                               /* low house nbr end of st  \*/
-                       char h_x_sts[5][4];     /* PB5SCs of lo end cross st*/
-                       char com_dist[3];       /* Community District       \*/
-                                               /* Position 0 contains the  \*/
-                                               /* Legacy Boro Code & Pos 1 \*/
-                                               /* & 2, the district nbr    \*/
-                       char zip_code[5];       /* Zip code for st seg      \*/
-                       char DOT_slca;          /* DOT St Lght Contractr Are*/
-                       char health_cent[2];    /* Health Center District   \*/
-                       char sos_ind;           /* Side of Street Indicator \*/
-                       char cont_par;          /* Continuous Parity Ind.   \*/
-                       char cen_tract_10[6];   /* 2010 Census Tract        \*/
-                       char cen_blk_10[4];     /* 2010 Census Block        \*/
-                       char cen_blk_10_sufx;   /* 2010 Census Block Suffix \*/
-                       char filler_indv;       /* Was Instructional Divisn \*/
-                       char filler07[2];       /* Filler                   \*/
-                       char health_area[4];    /* Health Area              \*/
-                       char sanit_recycle[3];  /* Recycling Sanit pick-up  \*/
-                       char feature_type;      /* Feature Type Code        \*/
-                       char iaei;              /* Community Development    \*/
-                                               /* Eligibility Indicator    \*/
-                       char curve_flag;        /* Curve Flag               \*/
-                       char police_boro_com;   /* Police Patrol Boro Commnd*/
-                       char police_pre[3];     /* Police Precinct          \*/
-                       char com_schl_dist[2];  /* Community School District*/
-                                               /* Following 7 fields are   \*/
-                                               /* used for Function 1E only*/
-                       char ed[3];             /* Election District        \*/
-                       char ad[2];             /* Assembly District        \*/
-                       char sped_flag;         /* Split Elect District Flag*/
-                       char congress_dist[2];  /* Congressional District   \*/
-                       char state_sen_dist[2]; /* State Senatorial District*/
-                       char civil_court[2];    /* Civil Court District     \*/
-                       char civil_council[2];  /* City Council District    \*/
-                       char coincident_seg_cnt; /* Coincident Segment      \*/
-                                               /*   Count                  \*/
-                       char segtypecode;       /* Segment Type Code        \*/
-                       char sanit_dist[3];     /* Sanitation District      \*/
-                       char sanit_sub_sect[2]; /* Sanit Collect Scheduling \*/
-                                               /* Section and Subsection   \*/
-                       char fire_divisn[2];    /* Fire Division            \*/
-                       char fire_bat[2];       /* Fire Battalion           \*/
-                       char fire_co_type;      /* Fire Company Type        \*/
-                       char fire_co_nbr[3];    /* Fire Company Number      \*/
-                       char sagr_flag;         /* Special Address Generated*/
-                                               /* Record flag              \*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                               /* Alternative Borough flag \*/
-                       char scsd_flag;         /* Split Com School District*/
-                                               /* flag                     \*/
-                       char DCP_lgc[2];        /* DCP preferred LGC        \*/
-                       char face_code[4];      /* LION Face Code           \*/
-                       char seq_nbr[5];        /* LION Sequence Number     \*/
-                       char cen_tract_90[6];   /* 1990 Census Tract        \*/
-                       char filler09  [4];     /* Filler                   \*/
-                       char dynam_blk[3];      /* Dynamic Block            \*/
-                       char X_coord[7];        /* X coordinate             \*/
-                       char Y_coord[7];        /* Y coordinate             \*/
-                       char seg_len[5];        /* Segment Length in Feet   \*/
-                       char sanit_reg_sched[5];/* Regularly Sanit pick-up  \*/
-                     } C_WA2_F1;
-
-      typedef struct { C_WA2_F1 c_wa2_f1;      /* First 200 Bytes          \*/
-                       char seg_id[7];         /* Segment Identifier       \*/
-                       char true_b7sc[8];      /* "true" Boro 7 Str code   \*/
-                       char true_hni [6];      /* Underlying HNI           \*/
-                       char cen_tract_2000[6]; /* 2000 Census Tract        \*/
-                       char cen_blk_2000[4];   /* 2000 Census Block        \*/
-                       char cen_blk_2000_sufx; /* 2000 Census Block Suffix \*/
-                       char filler01[68];      /* Filler - Future Use      \*/
-                 /*    char filler01[79];      /* Filler - Future Use      \*/
-                     } C_WA2_F1L;
-
-      typedef struct { char lo_hse_nbr[6];     /* Low House nbr in HNI form*/
-                       char filler01[3];
-                       char hi_hse_nbr[6];     /* Hi House Nbr in HNI form \*/
-                       char filler02[3];
-                       char B5SC[6];           /* Boro & 5 digit Str Code  \*/
-                       char lgc[2];            /* LGC of Street            \*/
-                       char bld_id[7];         /* BIN of address range     \*/
-                       char addr_type;         /* Address Type             \*/
-                       char filler04;
-                       char sos_ind;           /* Side of Street Indicator \*/
-                     } ADDR_RANGE;
-
-      typedef struct { char sanborn_boro;      /* Sanborn Borough Code     \*/
-                       char sanborn_vol[3];    /* Sanborn Volume           \*/
-                       char sanborn_page[4];   /* Sanborn Page             \*/
-                     } SANBORN;
-
-      typedef struct { char filler01[21];
-                       char cont_parity_ind;   /* Continuous Parity Ind    \*/
-                       char lo_hse_nbr[6];     /* Low House Number         \*/
-                       char BBL[10];           /* Boro(len=1), Block(len=5)\*/
-                                               /* and Lot (len=4)          \*/
-                       char tax_lot_ver_nbr;   /* Tax Lot Version Number   \*/
-                       char RPAD_scc;          /* RPAD Self_Check Code(SCC)\*/
-                       char filler02;
-                       char RPAD_lucc[2];      /* RPAD Land Use Class. Code*/
-                       char corner[2];         /* Corner Code              \*/
-                       char nbr_blds[2];       /* Nbr of buildings on lot  \*/
-                       char nbr_str[2];        /* Nbr Street Frontages     \*/
-                       char inter_flag;        /* Interior Lot Flag        \*/
-                       char vacant_flag;       /* Vacant Lot Flag          \*/
-                       char irreg_flag;        /* Irregularly-Shaped Lot Fl*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                       char filler03;          /* Former Pseudo-Address Flg*/
-                       char stroll_key[13];    /* Strolling key            \*/
-                       char overflow_flag;     /* More than 21 Addresses   \*/
-                       char res_internal_use;  /* Reserved for Internal Use*/
-                       char bld_id[7];         /* Bld Identification Nbr   \*/
-                                               /* (BIN) of Input Address of*/
-                                               /* Existing Building, If any*/
-                       char condo_flag;        /* Condominium Flag         \*/
-                       char RPAD_cin[4];       /* RPAD Condo Id Number     \*/
-                       char condo_lo_BBL[10];  /* Low BBL of Condo         \*/
-                       char filler05;
-                       char condo_bill_BBL[10];/* Condo Billing BBL        \*/
-                       char filler06;
-                       char condo_bill_BBL_scc;/* Condo Billing BBL        \*/
-                                               /* Self-Check Code          \*/
-                       char condo_hi_BBL[10];  /* High BBL of Condo        \*/
-                       char filler07;
-                       SANBORN fn1A_Sanborn;   /* Sanborn Information      \*/
-                       char business_area[5];  /* Business Area            \*/
-                       char co_op_nbr[4 ];     /* Co-op Number             \*/
-                       char filler08[4 ];
-                       char tot_nbr_bldgs[4 ]; /* Actual Nbr Bldgs on lot  \*/
-                       char tax_map_nbr[5 ];   /* Tax Map Nbr-Sect and Vol \*/
-                       char filler09[04];
-                       char X_coord[7];        /* X coordinate-Annotation p*/
-                       char Y_coord[7];        /* Y coordinate-Annotation p*/
-                       char bid_id[6];         /* Business Improvement Dist*/
-                       char filler10[2];
-                       char int_use[8];
-                       char filler11[2];
-                       char nbr_addr[2];       /* Nbr of Addr Ranges on Lot*/
-                       ADDR_RANGE addr_range[21]; /* Addr Range structure  \*/
-                     } C_WA2_F1A;
-
-      typedef struct { char filler01[21];
-                       char cont_parity_ind;   /* Continuous Parity Ind    \*/
-                       char lo_hse_nbr[6];     /* Low House Number         \*/
-                       char BBL[10];           /* Boro(len=1), Block(len=5)\*/
-                                               /* and Lot (len=4)          \*/
-                       char tax_lot_ver_nbr;   /* Tax Lot Version Number   \*/
-                       char RPAD_scc;          /* RPAD Self_Check Code(SCC)\*/
-                       char filler02;
-                       char RPAD_lucc[2];      /* RPAD Land Use Class. Code*/
-                       char corner[2];         /* Corner Code              \*/
-                       char nbr_blds[2];       /* Nbr of buildings on lot  \*/
-                       char nbr_str[2];        /* Nbr Street Frontages     \*/
-                       char inter_flag;        /* Interior Lot Flag        \*/
-                       char vacant_flag;       /* Vacant Lot Flag          \*/
-                       char irreg_flag;        /* Irregularly-Shaped Lot Fl*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                       char filler03;          /* Former Pseudo-Address Flg*/
-                       char stroll_key[13];    /* Strolling key            \*/
-                       char filler04;
-                       char res_internal_use;  /* Reserved for Internal Use*/
-                       char bld_id[7];         /* Bld Identification Nbr   \*/
-                                               /* (BIN) of Input Address of*/
-                                               /* Existing Building, If any*/
-                       char condo_flag;        /* Condominium Flag         \*/
-                       char RPAD_cin[4];       /* RPAD Condo Id Number     \*/
-                       char condo_lo_BBL[10];  /* Low BBL of Condo         \*/
-                       char filler05;
-                       char condo_bill_BBL[10];/* Condo Billing BBL        \*/
-                       char filler06;
-                       char condo_bill_BBL_scc;/* Condo Billing BBL        \*/
-                                               /* Self-Check Code          \*/
-                       char condo_hi_BBL[10];  /* High BBL of Condo        \*/
-                       char filler07;
-                       SANBORN fn1A_Sanborn;   /* Sanborn Information      \*/
-                       char business_area[5];  /* Business Area            \*/
-                       char co_op_nbr[4 ];     /* Co-op number             \*/
-                       char filler08[4 ];
-                       char tot_nbr_bldgs[4 ]; /* Actual Nbr Bldgs on lot  \*/
-                       char tax_map_nbr[5 ];   /* Tax Map Nbr-Sect and Vol \*/
-                       char filler09[04];
-                       char X_coord[7];        /* X coordinate-Annotation p*/
-                       char Y_coord[7];        /* Y coordinate-Annotation p*/
-                       char bid_id[6];         /* Business Improvement Dist*/
-                       char filler10[2];
-                       char int_use[8];
-                       char nbr_bins[4];       /* Nbr of BINS on Lot       \*/
-                       char bin_list[2500][7]; /* List of BINS on Lot      \*/
-                     } C_WA2_F1AL;
-
-      typedef struct { char filler01[31];
-                       char lgc[2][2];         /* Preferred LGCs           \*/
-                       char nbr_x_sts;         /* Number of Intersecting St*/
-                       char x_sts[5][4];       /* PB5SCs of Intersection St*/
-                       char compdir[1];        /* Compass Direction if 2   \*/
-                                               /* lowest str codes cross   \*/
-                                               /* exactly twice            \*/
-                       char level_codes[10];   /* Level Codes of X Streets \*/
-                       char instruc_div[2];    /* Instructional Division   \*/
-                       char fire_sector[2];    /* Fire Sector              \*/
-                       char fire_bat[2];       /* Fire Battalion           \*/
-                       char fire_co_type;      /* Fire Company Type        \*/
-                       char fire_co_nbr[3];    /* Fire Company Number      \*/
-                       char com_dist[3];       /* Community District       \*/
-                                               /* Pos 0 contains the Boro  \*/
-                                               /* Code and Positions 1 & 2 \*/
-                                               /* contain the district nbr \*/
-                       char zip_code[5];       /* Zip code for st segment  \*/
-                       char DOT_slca;          /* DOT St Lght Contractr Are*/
-                       char cen_tract_10[6];   /* 2010 Census Tract        \*/
-                       char filler03[3];
-                       char health_area[4];    /* Health Area              \*/
-                       char filler04[9];
-                       char node_nbr[7 ];      /* Node Number              \*/
-                       char X_coord[7];        /* X coordinate             \*/
-                       char Y_coord[7];        /* Y coordinate             \*/
-                       char filler04a[2];      /*                          \*/
-                       char filler05[2];
-                       char police_boro_com;   /* Police Patrol Boro Commnd*/
-                       char police_pre[3];     /* Police Precinct          \*/
-                       char com_schl_dist[2];  /* Community School District*/
-                                               /* Following 7 fields are   \*/
-                                               /* used forFunction 1E only \*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                       char cen_tract_90[6];   /* 1990 Census Tract        \*/
-                       SANBORN fn2_Sanborn[2]; /* Sanborn Information      \*/
-                       char dup_intersect_distance[5];  /* Distance in Feet*/
-                                               /* Bet Duplicate Intersects \*/
-                       char cen_tract_2000[6]; /* 2000 Census Tract        \*/
-                       char filler06[27];
-                   /*  char filler06[33]; \*/
-                     } C_WA2_F2;
-
-      typedef struct { char filler01[21];
-                       char dup_key_flag;      /* Duplicate Key Flag      \*/
-                       char curve_flag;        /* Curve Flag              \*/
-                       char loc_stat_seg;      /* Locational Status of Seg*/
-                       char cnty_bnd_ind;      /* County Boundary Indicat \*/
-                       char coincident_seg_cnt; /* Coincident Segment      \*/
-                                               /*   Count                  \*/
-                       char filler03[3];       /* Future Use               \*/
-                       char lgc[3][2];         /* Preferred LGCs           \*/
-                       char lo_nbr_x_sts;      /* Nbr of cross sts at low  \*/
-                                               /* house nbr end of street  \*/
-                       char l_x_sts[5][4];     /* PB5SCs of lo end X sts   \*/
-                       char hi_nbr_x_sts;      /* Number of X streets at lo*/
-                                               /* house nbr end of street  \*/
-                       char h_x_sts[5][4];     /* PB5SCs of low end X sts  \*/
-                       char DOT_slca;          /* DOT St Lght Contractr Are*/
-                       char x_street_reversal_flag; /* X St Reversal Flag  \*/
-                       char l_com_dist[3];     /* Left Community District  \*/
-                                               /* Position 0 contains the  \*/
-                                               /* Boro Code and Pos 1 & 2  \*/
-                                               /* contain the district nbr \*/
-                       char r_com_dist[3];     /* Right Community District \*/
-                                               /* Position 0 contains the  \*/
-                                               /* Boro Code and Pos 1 & 2  \*/
-                                               /* contain the district nbr \*/
-                       char l_zip_code[5];     /* Left Zip code for st seg \*/
-                       char r_zip_code[5];     /* Right Zip code for st seg*/
-                       char filler07 [18];
-                       char l_health_area[4];  /* Left Health Area         \*/
-                       char r_health_area[4];  /* Right Health Area        \*/
-                       char l_fill_in_div[2];  /* Was Left Instructionl Div*/
-                       char r_fill_in_div[2];  /* Was Right Instructnl Div \*/
-                       char l_lo_hse_nbr[7];   /* Left Lo Hse nbr in Disp  \*/
-                       char l_hi_hse_nbr[7];   /* Left Hi Hse Nbr in Disp  \*/
-                       char r_lo_hse_nbr[7];   /* rght Lo Hse nbr in Disply*/
-                       char r_hi_hse_nbr[7];   /* rght Hi Hse Nbr in Disply*/
-                       char cont_par;          /* Continuous Parity Ind    \*/
-                       char face_code[4];      /* LION Face Code           \*/
-                       char seq_nbr[5];        /* LION Sequence Nbr        \*/
-                       char genr_flag;         /* Generated Record Flag    \*/
-                       char seg_len[3];        /* Segment Length in Feet   \*/
-                       char seg_azm[3];        /* Segment Azimuth          \*/
-                       char seg_orient;        /* Segment Orientation      \*/
-                       char filler04a[2];      /*                          \*/
-                       char filler04b[2];      /*                          \*/
-                       char l_iaei;            /* Community Development    \*/
-                                               /* Eligibility Indicator for*/
-                                               /* left side                \*/
-                       char r_iaei;            /* Community Development    \*/
-                                               /* Eligibility Indicator for*/
-                                               /* right side               \*/
-                       char dog_leg;           /* Dog Leg Flag             \*/
-                       char feature_type;      /* Feature Type Code        \*/
-                       char l_police_boro_com; /* Lft Police Patrl Boro Com*/
-                       char l_police_pre[3];   /* Left Police Precinct     \*/
-                       char r_police_boro_com; /* Rght Police Patrl Boro Cm*/
-                       char r_police_pre[3];   /* Right Police Precinct    \*/
-                       char l_com_schl_dist[2];/* Lft Com School District  \*/
-                       char r_com_schl_dist[2];/* Rght Com School District \*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                               /* Alternative Boro flag    \*/
-                       char seg_id[7];         /* Segment Identifier       \*/
-                       char segtypecode;       /* Segment Type Code        \*/
-                     } C_WA2_F3;
-
-      typedef struct { C_WA2_F3 c_wa2_f3;      /* First 200 Bytes          \*/
-                       char l_cen_tract_90[6]; /* Left 1990 Census Tract   \*/
-                       char filler01[4];       /* Filler                   \*/
-                       char l_dynam_blk[3];    /* Left Dynamic Block       \*/
-                       char r_cen_tract_90[6]; /* Right 1990 Census Tract  \*/
-                       char filler03[4];       /* Filler                   \*/
-                       char r_dynam_blk[3];    /* Right Dynamic Block      \*/
-                       char l_fire_sector[2];  /* Left Fire Sector         \*/
-                       char l_fire_bat[2];     /* Left Fire Battalion      \*/
-                       char l_fire_co_type;    /* Left Fire Company Type   \*/
-                       char l_fire_co_nbr[3];  /* Left Fire Company Nbr    \*/
-                       char r_fire_sector[2];  /* Right Fire Sector        \*/
-                       char r_fire_bat[2];     /* Right Fire Battalion     \*/
-                       char r_fire_co_type;    /* Right Fire Company Type  \*/
-                       char r_fire_co_nbr[3];  /* Right Fire Company Nbr   \*/
-                       char l_cen_tract_10[6]; /* Left 2010 Census Tract   \*/
-                       char l_cen_blk_10[4];   /* Left 2010 Census Block   \*/
-                       char l_cen_blk_10_sufx; /* Left 2010 Census Blk Sufx*/
-                       char r_cen_tract_10[6]; /* Right 2010 Census Tract  \*/
-                       char r_cen_blk_10[4];   /* Right 2010 Census Block  \*/
-                       char r_cen_blk_10_sufx; /* Right 2010 Census Blk Sfx*/
-                       char nodes[2][7];       /* From and To Nodes        \*/
-                       char l_cen_tract_2000[6];/\*Left 2000 Census Tract   \*/
-                       char l_cen_blk_2000[4];  /\*Left 2000 Census Block   \*/
-                       char l_cen_blk_2000_sufx;/\*Left 2000 Census Blk Sufx\*/
-                       char r_cen_tract_2000[6];/\*Right 2000 Census Tract  \*/
-                       char r_cen_blk_2000[4];  /\*Right 2000 Census Block  \*/
-                       char r_cen_blk_2000_sufx;/\*Right 2000 Census Blk Sfx*/
-                  //   char filler02[22];
-                     } C_WA2_F3L;
-
-      typedef struct { char filler01[21];
-                       char curve_flag;        /* curve flag               \*/
-                       char segtypecode;       /* Segment Type Code        \*/
-                       char loc_stat_seg;      /* Location Status of Seg.  \*/
-                       char cnty_bnd_ind;      /* County Boundary Indicator*/
-                       char coincident_seg_cnt; /* Coincident Segment      \*/
-                                               /*   Count                  \*/
-                       char filler0A[3]; /* Future Use               \*/
-                       char lgc[3][2];         /* Preferred LGCs           \*/
-                       char lo_nbr_x_sts;      /* Nbr of cross sts at low  \*/
-                                               /* house nbr end of street  \*/
-                       char l_x_sts[5][4];     /* PB5SCs of lo end cross st*/
-                       char hi_nbr_x_sts;      /* Nbr of cross sts at low  \*/
-                                               /* house nbr end of street  \*/
-                       char h_x_sts[5][4];     /* PB5SCs of lo end X sts   \*/
-                       char com_dist[3];       /* Community District Pos 0 \*/
-                                               /* contains the Boro Code & \*/
-                                               /* Positions 1&2 contain the*/
-                                               /* district nbr             \*/
-                       char zip_code[5];       /* Zip code for street seg  \*/
-                       char DOT_slca;          /* DOT St Lght Contractr Are*/
-                       char cen_tract_2000[6]; /* 2000 Census Tract        \*/
-                       char filler02[1];
-                    // char filler02[7];
-                       char cen_tract_10[6];   /* 2010 Census Tract        \*/
-                       char cen_blk_10[4];     /* 2010 Census Block        \*/
-                       char cen_blk_10_sufx;   /* 2010 Census Block Suffix \*/
-                       char health_area[4];    /* Health Area              \*/
-                       char x_street_reversal_flag; /* X St Reversal Flag  \*/
-                       char sos_ind;           /* Side of Street Indicator \*/
-                       char fire_sector[2];    /* Fire Sector              \*/
-                       char fire_bat[2];       /* Fire Battalion           \*/
-                       char fire_co_type;      /* Fire Company Type        \*/
-                       char fire_co_nbr[3];    /* Fire Company Nbr         */
-                       char seg_id[7];         /* Segment Identifier       */
-                       char lo_hse_nbr[7];     /* Low House nbr in Display */
-                       char hi_hse_nbr[7];     /* High House Nbr in Display*/
-                       char a_lo_hse_nbr[7];   /* Alt. Lo Hse nbr in Disply*/
-                       char a_hi_hse_nbr[7];   /* Alt.Hi Hse Nbr in Display*/
-                       char cont_par;          /* Continuous Parity Ind    \*/
-                       char face_code[4];      /* LION Face Code           \*/
-                       char seq_nbr[5];        /* LION Sequence Nbr        \*/
-                       char genr_flag;         /* Generated Record Flag    \*/
-                       char seg_len[3];        /* Segment Length in Feet   \*/
-                       char seg_azm[3];        /* Segment Azimuth          \*/
-                       char seg_orient;        /* Segment Orientation      \*/
-                       char instruc_div[2];    /* Instructional Division   \*/
-                       char iaei;              /* Community Development    \*/
-                                               /* Eligibility Indicator    \*/
-                       char feature_type;      /* Feature Type Code        \*/
-                       char police_boro_com;   /* Police Patrol Boro Com.  \*/
-                       char police_pre[3];     /* Police Precinct          \*/
-                       char com_schl_dist[2];  /* Community School District*/
-                       char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                               /* Alternative Boro flag    \*/
-                       char cen_tract_90[6];   /* 1990 Census Tract        \*/
-                       char filler03[4];       /* Filler                   \*/
-                       char dynam_blk[3];      /* Dynamic Block            \*/
-                       char cen_blk_2000[4];   /* 2000 Census Block        \*/
-                       char cen_blk_2000_sufx; /* 2000 Census Block Suffix \*/
-                   //  char filler06[5];
-                     } C_WA2_F3C;
-
-      typedef struct { char lo_x_PB5SC[4];     /* Lowest PB5SC at Intersect*/
-                       char lo2x_PB5SC[4];     /* 2nd Lowest PB5SC at Inter*/
-                       char len[3];            /* Len in ft from prev node \*/
-                       char gap_flag;          /* Gap Flag                 \*/
-                     } CROSS_STRS;
-
-      typedef struct { char filler01[21];
-                       char nbr_x_str[3];      /* Nbr of X sts in list     \*/
-                       CROSS_STRS cross_strs[350];/* Cross Street structure*/
-                     } C_WA2_F3S;
-
-

NATURAL LDAs (MSW)

-

GEOLW1 COPY File

-
                \*    USER PROGRAMS MUST RESET GEOLW1        BEFORE PRIMING WORKAREA 1               
-                   1 GEOLW1                                        /* LRECL=200                     
-                \*    THE FIELD W1NAT IS USED AS A        PARAMETER TO CALL GEOSUPPORT        RT     
-                   2 W1NAT                            A          2                                  
-                R  2 W1NAT                                                                          
-                \*  * * * *   INPUT FIELDS    * * * *  *  * * * * * /* WORK AREA 1 FOR               
-                \*  *                                               /* ALL FUNCTIONS                 
-                   3 GEO-WA1-IN-FUNCTION-CODE         A          2                                  
-                R  3 GEO-WA1-IN-FUNCTION-CODE                                                       
-                   4 GEO-WA1-IN-FUNCTION-1            A          1                                  
-                   4 GEO-WA1-IN-FUNCTION-2            A          1                                  
-                   2 GEO-WA1-IN-BORO                  A          1                                  
-                   2 GEO-WA1-IN-HOUSENUM              A         12 /* FOR FCT 5, INPUT HIGH HSE NUM
-                   2 GEO-WA1-IN-HOUSENUM-INTERNAL     A          6 /* FOR FCT 5, INPUT HIGH HSE NUM
-                   2 GEO-WA1-IN-STREET-1              A         32                                  
-                   2 GEO-WA1-IN-STREET-2              A         32                                  
-                   2 GEO-WA1-IN-STREET-3              A         32                                  
-                   2 GEO-WA1-IN-COMPASS               A          1                                  
-                   2 GEO-WA1-IN-COMPASS2              A          1                                  
-                   2 GEO-WA1-IN-STREETCODE-1          P          6                                  
-                   2 GEO-WA1-IN-STREETCODE-2          P          6                                  
-                   2 GEO-WA1-IN-STREETCODE-3          P          6                                  
-                   2 GEO-WA1-IN-ROADBED-REQ-SWITCH-SF A          1                                  
-                   2 GEO-WA1-IN-BORO-2                A          1                                  
-                   2 GEO-WA1-IN-BORO-3                A          1                                  
-                   2 GEO-WA1-IN-SNL                   A          2                                  
-                   2 GEO-WA1-IN-10SC-1                A         11                                  
-                   2 GEO-WA1-IN-10SC-2                A         11                                  
-                   2 GEO-WA1-IN-10SC-3                A         11                                  
-                   2 GEO-WA1-IN-ZIPCODE               A          5                                  
-                   2 GEO-WA1-IN-BBL                   A         10                                  
-                R  2 GEO-WA1-IN-BBL                                                                 
-                   3 GEO-WA1-IN-BBL-BORO              A          1                                  
-                   3 GEO-WA1-IN-BLOCKNUM              A          5                                  
-                   3 GEO-WA1-IN-LOTNUM                A          4                                  
-                   2 FILLER-WA1-10                    A          1                                  
-                   2 GEO-WA1-IN-BIN                   A          7                                  
-                   2 GEO-WA1-IN-COMPACT-NAME-FLAG     A          1 /* TO REQUEST THE COMPACT NAMES  
-                \*                                                     OPTION,                       
-                \*                                                     MOVE 'C' TO THIS FIELD.       
-                \*                                                                                   
-                   2 GEO-WA1-IN-LONG-WORKAREA2-FLAG   A          1 /* TO REQUEST THE LONG WORKAREA  
-                \*                                                     OPTION,                       
-                \*                                                     MOVE 'L' TO THIS FIELD.       
-                \*                                                     ONLY FCT 3 HAS THIS OPTION.   
-                \*                                                                                   
-                   2 GEO-WA1-IN-LOW-HOUSENUM          A         12                                  
-                   2 GEO-WA1-IN-LOW-HSENUM-INTERNAL   A          6                                  
-                   2 GEO-WA1-IN-NON-IBM-MAIN-FRAME    A          1 /* NOT IMPLEMENTED               
-                \*                                                     FOR ANY APPLICATION RUNNING   
-                \*                                                     ON NON-IBM MAINFRAM,          
-                \*                                                     MOVE 'X' TO THIS FIELD.       
-                \*                                                                                   
-                   2 GEO-WA1-IN-1ABL-VERSION          A          1 /* FOR FCT 1A & BL, TO REQUEST   
-                \*                                                     THE STANDARD WA2 FORMAT, SET  
-                \*                                                     THIS FIELD TO 'S'. TO REQUEST
-                \*                                                     THE LEGACY WA2 FORMAT, SET    
-                \*                                                     THIS FILED TO ' ' OR 'L'.     
-                \*                                                                                   
-                   2 GEO-WA1-IN-XSTREET-FLAG          A          1                                  
-                   2 FILLER-WA1-100                   A          4                                  
-                \*  * * * *   OUTPUT FIELDS   * * * *  *                                             
-                   2 GEO-WA1-OUT-LOW-HOUSENUM         A         12                                  
-                   2 GEO-WA1-OUT-BORONAME             A          9                                  
-                   2 GEO-WA1-OUT-STREET-1             A         32                                  
-                   2 GEO-WA1-OUT-STREET-2             A         32                                  
-                   2 GEO-WA1-OUT-STREET-3             A         32                                  
-                   2 GEO-WA1-OUT-HOUSENUM             A         12 /* HI HND                        
-                   2 GEO-WA1-OUT-HOUSENUM-INTERNAL    A          6                                  
-                   2 FILLER-WA1-200                   A          7                                  
-                   2 GEO-WA1-OUT-PB5SC-1              P          6 /* 4 BYTES                       
-                R  2 GEO-WA1-OUT-PB5SC-1                                                            
-                   3 GEO-WA1-OUT-PACKBORO-NOSIGN-1    N          1                                  
-                   3 GEO-WA1-OUT-STREETCODE-1-KEY     P          5 /* 3 BYTES                       
-                   2 FILLER-WA1-210                   A          2                                  
-                   2 GEO-WA1-OUT-PB5SC-2              P          6 /* 4 BYTES                       
-                R  2 GEO-WA1-OUT-PB5SC-2                                                            
-                   3 GEO-WA1-OUT-PACKBORO-NOSIGN-2    N          1                                  
-                   3 GEO-WA1-OUT-STREETCODE-2-KEY     P          5 /* 3 BYTES                       
-                   2 FILLER-WA1-220                   A          2                                  
-                   2 GEO-WA1-OUT-PB5SC-3              P          6 /* 4 BYTES                       
-                R  2 GEO-WA1-OUT-PB5SC-3                                                            
-                   3 GEO-WA1-OUT-PACKBORO-NOSIGN-3    N          1                                  
-                   3 GEO-WA1-OUT-STREETCODE-3-KEY     P          5 /* 3 BYTES                       
-                   2 GEO-WA1-OUT-STREET-ATTR          A          1 (1:3) /* INTERNAL USE            
-                   2 GEO-WA1-BROWSE                   A         40                                  
-                   2 GEO-WA1-OUT-10SC-1               A         11                                  
-                   2 GEO-WA1-OUT-10SC-2               A         11                                  
-                   2 GEO-WA1-OUT-10SC-3               A         11                                  
-                   2 GEO-WA1-OUT-CUI                  A          5 /* NOT IMPLEMENTED               
-                   2 GEO-WA1-OUT-BBL                  A         10                                  
-                R  2 GEO-WA1-OUT-BBL                                                                
-                   3 GEO-WA1-OUT-BBL-BORO             A          1                                  
-                   3 GEO-WA1-OUT-BLOCKNUM             A          5                                  
-                   3 GEO-WA1-OUT-LOTNUM               A          4                                  
-                   2 FILLER-WA1-240                   A          1                                  
-                   2 GEO-WA1-OUT-BIN                  A          7                                  
-                   2 GEO-WA1-OUT-SND-ATTR             A          1 /* DCP/GSS USE                   
-                   2 GEO-WA1-OUT-REASON-CODE          A          1                                  
-                   2 FILLER-WA1-400                   A          2 /* INTERNAL USE                  
-                   2 GEO-WA1-OUT-RETURN-CODE          A          2                                  
-                R  2 GEO-WA1-OUT-RETURN-CODE                                                        
-                   3 GEO-WA1-OUT-RC-1                 A          1                                  
-                   3 GEO-WA1-OUT-RC-2                 A          1                                  
-                   2 GEO-WA1-OUT-ERROR-MESSAGE        A         80                                  
-                   2 GEO-WA1-OUT-NUM-SIMILAR-NAMES    P          3                                  
-                   2 GEO-WA1-OUT-SIMILAR-NAMES        A         32 (1:10)
-
-

GEOLW2 COPY File

-
                   1 GEOLW2                                                                      
-                *    THE FIELD W2NAT IS USED AS A        PARAMETER TO CALL GEOSUPPORT FOR ALLLL  
-                *        FUNCTIONS THAT ARE REDEFINED           ON GEOLW2                        
-                   2 W2NAT                            A         21                               
-                R  2 W2NAT                                                                       
-                *  *  BEGINNING OF FUNCTION 1 LAYOUT  *       **** *******                       
-                   3 GEO-WA2-FN1-ACCESS-KEY           A         21                               
-                   2 GEO-WA2-FN1-CONT-PARITY          A          1                               
-                   2 GEO-WA2-FN1-LOW-HOUSENUM-INT     A          6                               
-                R  2 GEO-WA2-FN1-LOW-HOUSENUM-INT                                                
-                   3 GEO-WA2-FN1-LOW-HOUSENUM         A          5                               
-                   3 GEO-WA2-FN1-LOW-HOUSENUMSFX      A          1                               
-                   2 GEO-WA2-FN1-HI-HOUSENUM-INT      A          6                               
-                R  2 GEO-WA2-FN1-HI-HOUSENUM-INT                                                 
-                   3 GEO-WA2-FN1-HI-HOUSENUM          A          5                               
-                   3 GEO-WA2-FN1-HI-HOUSENUMSFX       A          1                               
-                   2 GEO-WA2-FN1-ALX                  A          1 /\*ALLEYS INTERSECT SEGMENT    
-                   2 GEO-WA2-FN1-NUM-X-ST-LOW-END     N          1                               
-                   2 GEO-WA2-FN1-LOW-PBSC             P          6 (1:5) /* 4 BYTES X 5 = 20     
-                   2 GEO-WA2-FN1-NUM-X-ST-HI-END      N          1                               
-                   2 GEO-WA2-FN1-HI-PBSC              P          6 (1:5)                         
-                   2 GEO-WA2-FN1-COMDIST              A          3                               
-                R  2 GEO-WA2-FN1-COMDIST                                                         
-                   3 GEO-WA2-FN1-COMDIST-BORO         A          1                               
-                   3 GEO-WA2-FN1-COMDIST-NUM          A          2                               
-                   2 GEO-WA2-FN1-ZIP                  A          5                               
-                   2 GEO-WA2-FN1-SLA                  A          1                               
-                   2 GEO-WA2-FN1-HCD                  A          2                               
-                   2 GEO-WA2-FN1-SOS                  A          1                               
-                   2 GEO-WA2-FN1-CONT-PARITY-IND      A          1                               
-                   2 GEO-WA2-FN1-2010-CENSUSTRACT     A          6                               
-                   2 GEO-WA2-FN1-2010-CENSUSBLOCK     A          4                               
-                   2 GEO-WA2-FN1-2010-CENSUSBLKSFX    A          1                               
-                   2 GEO-WA2-FN1-FILLER_INDV          A          1                               
-                   2 FILLER-WA2-260                   A          2                               
-                   2 GEO-WA2-FN1-HEALTHAREA           A          4                               
-                   2 GEO-WA2-FN1-SANI-REC             A          3                               
-                   2 GEO-WA1-FN1-FEATURE-TYPE         A          1                               
-                   2 GEO-WA2-FN1-RESDCP               A          1 /* RESERVED FOR DCP/GSS USE   
-                   2 GEO-WA2-FN1-CURVE-FLAG           A          1                               
-                   2 GEO-WA2-FN1-POLICEDIST           A          4                               
-                R  2 GEO-WA2-FN1-POLICEDIST                                                      
-                   3 GEO-WA2-FN1-POL-PATR-BORO-CMD    A          1                               
-                   3 GEO-WA2-FN1-POL-PRECINCT         A          3                               
-                   2 GEO-WA2-FN1-SCHOOLDIST           A          2                               
-                   2 FILLER-WA2-250                   A         15                               
-                   2 GEO-WA2-FN1-SEGMENT-TYPE         A          1                               
-                   2 GEO-WA2-FN1-SANIDIST             A          3                               
-                R  2 GEO-WA2-FN1-SANIDIST                                                        
-                   3 GEO-WA2-FN1-SANIDIST-BORO        A          1                               
-                   3 GEO-WA2-FN1-SANIDIST-NUM         A          2                               
-                   2 GEO-WA2-FN1-SANITATION-SUBSEC    A          2                               
-                   2 GEO-WA2-FN1-FIRESEC              A          2 /* FIRE DIVISION              
-                   2 GEO-WA2-FN1-FIREBAT              A          2                               
-                   2 GEO-WA2-FN1-FIRECO               A          4                               
-                R  2 GEO-WA2-FN1-FIRECO                                                          
-                   3 GEO-WA2-FN1-FIRECO-TYPE          A          1                               
-                   3 GEO-WA2-FN1-FIRECO-NUM           A          3                               
-                   2 GEO-WA2-FN1-SPECIAL-ADDR-FLAG    A          1                               
-                   2 GEO-WA2-FN1-MARBLE-RIKERS-FLAG   A          1                               
-                   2 GEO-WA2-FN1-SPLIT-SCHOOL-FLAG    A          1                               
-                   2 GEO-WA2-FN1-PREFERRED-LGC        A          2                               
-                   2 GEO-WA2-FN1-LIONFACECODE         A          4                               
-                   2 GEO-WA2-FN1-LIONSEQ              A          5                               
-                   2 GEO-WA2-FN1-1990-CENSUSTRACT     A          6                               
-                   2 FILLER-WA2-260B                  A          4                               
-                   2 GEO-WA2-FN1-DYN-BLOCK            A          3                               
-                   2 GEO-WA2-FN1-XCOORD               A          7                               
-                   2 GEO-WA2-FN1-YCOORD               A          7                               
-                   2 GEO-WA2-FN1-SEGMENTLENGTH        A          5                               
-                   2 GEO-WA2-FN1-SANI-REG             A          5                               
-                *  *  END OF FUNCTION 1 LAYOUT        *       **** *******                       
-                *  - -------------------------------- -       ---- ---------------------------
-                *  *  BEGINNING OF FUNCTION 2 LAYOUT  *       **** *******                       
-                R  1 GEOLW2                                                                      
-                   2 GEO-WA2-FN2-ACCESS-KEY           A         21 /\*FCT 2,2C SHARE SAME WA2 LAYO
-                   2 GEO-WA2-FN2-DUPINTERFLAG         A          1 /*                            
-                   2 FILLER-WA2-270                   A          9                               
-                   2 GEO-WA2-FN2-PREFERRED-LGC1       A          2                               
-                   2 GEO-WA2-FN2-PREFERRED-LGC2       A          2                               
-                   2 GEO-WA2-FN2-NUM-OF-INTERSECTS    N          1                               
-                   2 GEO-WA2-FN2-INTERSECT-PBSC       P          6 (1:5)                         
-                   2 GEO-WA2-FN2-COMPDIR              A          1                               
-                   2 GEO-WA2-FN2-LEVEL-CODES-TBL      A         10                               
-                R  2 GEO-WA2-FN2-LEVEL-CODES-TBL                                                 
-                   3 GEO-WA2-FN2-LEVEL-CODES          A          1 (5,2)                         
-                   2 GEO-WA2-FN2-INSTRUCT-REG         A          2                               
-                   2 GEO-WA2-FN2-FIRESEC              A          2                               
-                   2 GEO-WA2-FN2-FIREBAT              A          2                               
-                   2 GEO-WA2-FN2-FIRECO               A          4                               
-                R  2 GEO-WA2-FN2-FIRECO                                                          
-                   3 GEO-WA2-FN2-FIRECO-TYPE          A          1                               
-                   3 GEO-WA2-FN2-FIRECO-NUM           A          3                               
-                   2 GEO-WA2-FN2-COMDIST              A          3                               
-                R  2 GEO-WA2-FN2-COMDIST                                                         
-                   3 GEO-WA2-FN2-COMDIST-BORO         A          1                               
-                   3 GEO-WA2-FN2-COMDIST-NUM          A          2                               
-                   2 GEO-WA2-FN2-ZIP                  A          5                               
-                   2 GEO-WA2-FN2-SLA                  A          1                               
-                   2 GEO-WA2-FN2-2010-CENSUSTRACT     A          6                               
-                   2 FILLER-WA2-290                   A          3                               
-                   2 GEO-WA2-FN2-HEALTHAREA           A          4                               
-                   2 FILLER-WA2-300                   A          9                               
-                   2 GEO-WA2-FN2-LIONNODENUM          A          7                               
-                   2 GEO-WA2-FN2-XCOORD               A          7                               
-                   2 GEO-WA2-FN2-YCOORD               A          7                               
-                   2 FILLER-WA2-320                   A          4                               
-                   2 GEO-WA2-FN2-POLICEDIST           A          4                               
-                R  2 GEO-WA2-FN2-POLICEDIST                                                      
-                   3 GEO-WA2-FN2-POL-PATR-BORO-CMD    A          1                               
-                   3 GEO-WA2-FN2-POL-PRECINCT         A          3                               
-                   2 GEO-WA2-FN2-SCHOOLDIST           A          2                               
-                   2 GEO-WA2-FN2-MARBLE-RIKERS-FLAG   A          1                               
-                   2 GEO-WA2-FN2-1990-CENSUSTRACT     A          6                               
-                   2 GEO-WA2-FN2-SANBORN1-BVOLPAGE    A          8                               
-                R  2 GEO-WA2-FN2-SANBORN1-BVOLPAGE                                               
-                   3 GEO-WA2-FN2-SANBORN1-BORO        A          1                               
-                   3 GEO-WA2-FN2-SANBORN1-VOLPAGE     A          7                               
-                R  3 GEO-WA2-FN2-SANBORN1-VOLPAGE                                                
-                   4 GEO-WA2-FN2-SANBORN1-VOL-NUM     A          3                               
-                   4 GEO-WA2-FN2-SANBORN1-PAGE-NUM    A          4                               
-                   2 GEO-WA2-FN2-SANBORN2-BVOLPAGE    A          8                               
-                R  2 GEO-WA2-FN2-SANBORN2-BVOLPAGE                                               
-                   3 GEO-WA2-FN2-SANBORN2-BORO        A          1                               
-                   3 GEO-WA2-FN2-SANBORN2-VOLPAGE     A          7                               
-                R  3 GEO-WA2-FN2-SANBORN2-VOLPAGE                                                
-                   4 GEO-WA2-FN2-SANBORN2-VOL-NUM     A          3                               
-                   4 GEO-WA2-FN2-SANBORN2-PAGE-NUM    A          4                               
-                   2 GEO-WA2-FN2-DUP-INTRSCT-DISTNCE  A          5                               
-                   2 GEO-WA2-FN2-2000-CENSUSTRACT     A          6                               
-                   2 FILLER-WA2-330                   A         27                               
-                *  *  END OF FUNCTION 2 LAYOUT        *       **** *******                       
-                *  - -------------------------------- -       ---- ------------------------------
-                *  *  BEGINNING OF FUNCTION 3 LAYOUT  *       **** *******                       
-                R  1 GEOLW2                                                                      
-                   2 GEO-WA2-FN3-ACCESS-KEY           A         21                               
-                   2 GEO-WA2-FN3-DUP-KEY-FLAG         A          1 /* OR FN3 CONTI PARITY        
-                   2 GEO-WA2-FN3-CURVE-FLAG           A          1                               
-                   2 GEO-WA2-FN3-LOCATION-STATUS      A          1                               
-                   2 GEO-WA2-FN3-COUNTY-BOUNDARY      A          1                               
-                   2 FILLER-WA2-340                   A          4                               
-                   2 GEO-WA2-FN3-PREFERRED-LGC1       A          2                               
-                   2 GEO-WA2-FN3-PREFERRED-LGC2       A          2                               
-                   2 GEO-WA2-FN3-PREFERRED-LGC3       A          2                               
-                   2 GEO-WA2-FN3-NUM-X-ST-LOW-END     N          1                               
-                   2 GEO-WA2-FN3-LOW-PBSC             P          6 (1:5)                         
-                   2 GEO-WA2-FN3-NUM-X-ST-HI-END      N          1                               
-                   2 GEO-WA2-FN3-HI-PBSC              P          6 (1:5)                         
-                   2 GEO-WA2-FN3-SLA                  A          1                               
-                   2 GEO-WA2-FN3-REVERSALFLAG         A          1                               
-                   2 GEO-WA2-FN3-LEFT-COMDIST         A          3                               
-                R  2 GEO-WA2-FN3-LEFT-COMDIST                                                    
-                   3 GEO-WA2-FN3-LEFT-COMDIST-BORO    A          1                               
-                   3 GEO-WA2-FN3-LEFT-COMDIST-NUM     A          2                               
-                   2 GEO-WA2-FN3-RIGHT-COMDIST        A          3                               
-                R  2 GEO-WA2-FN3-RIGHT-COMDIST                                                   
-                   3 GEO-WA2-FN3-RIGHT-COMDIST-BORO   A          1                               
-                   3 GEO-WA2-FN3-RIGHT-COMDIST-NUM    A          2                               
-                   2 GEO-WA2-FN3-LEFT-ZIP             A          5                               
-                   2 GEO-WA2-FN3-RIGHT-ZIP            A          5                               
-                   2 FILLER-WA2-350A                  A         18                               
-                   2 GEO-WA2-FN3-LEFT-HEALTHAREA      A          4                               
-                   2 GEO-WA2-FN3-RIGHT-HEALTHAREA     A          4                               
-                   2 GEO-WA2-FN3-LEFT-INSTRUCT-REG    A          2                               
-                   2 GEO-WA2-FN3-RIGHT-INSTRUCT-REG   A          2                               
-                   2 GEO-WA2-FN3-LEFT-LOW-HOUSENUM    A          7                               
-                   2 GEO-WA2-FN3-LEFT-HI-HOUSENUM     A          7                               
-                   2 GEO-WA2-FN3-RIGHT-LOW-HOUSENUM   A          7                               
-                   2 GEO-WA2-FN3-RIGHT-HI-HOUSENUM    A          7                               
-                   2 GEO-WA2-FN3-CONT-PARITY-IND      A          1                               
-                   2 GEO-WA2-FN3-LIONFACECODE         A          4                               
-                   2 GEO-WA2-FN3-LIONSEQ              A          5                               
-                   2 GEO-WA2-FN3-GENRECFLAG           A          1                               
-                   2 GEO-WA2-FN3-SEGMENTLENGTH        P          5                               
-                   2 GEO-WA2-FN3-SEGMENTSLOPE         A          3                               
-                   2 GEO-WA2-FN3-SEGMENTORIENT        A          1                               
-                   2 FILLER-WA2-355                   A          4                               
-                   2 GEO-WA2-FN3-RESSDCP              A          2 /* RESERVED FOR DCP/GSS USE   
-                   2 GEO-WA2-FN3-DOG-LEG              A          1                               
-                   2 GEO-WA2-FN3-FEATURE-TYPE         A          1                               
-                   2 GEO-WA2-FN3-LEFT-POLICEDIST      A          4                               
-                R  2 GEO-WA2-FN3-LEFT-POLICEDIST                                                 
-                   3 GEO-WA2-FN3-L-POL-PATR-BORO-CMD  A          1                               
-                   3 GEO-WA2-FN3-LEFT-POL-PRECINCT    A          3                               
-                   2 GEO-WA2-FN3-RIGHT-POLICEDIST     A          4                               
-                R  2 GEO-WA2-FN3-RIGHT-POLICEDIST                                                
-                   3 GEO-WA2-FN3-R-POL-PATR-BORO-CMD  A          1                               
-                   3 GEO-WA2-FN3-RIGHT-POL-PRECINCT   A          3                               
-                   2 GEO-WA2-FN3-LEFT-SCHOOLDIST      A          2                               
-                   2 GEO-WA2-FN3-RIGHT-SCHOOLDIST     A          2                               
-                   2 GEO-WA2-FN3-MARBLE-RIKERS-FLAG   A          1                               
-                   2 GEO-WA2-FN3-SEGMENT-ID           A          7                               
-                   2 GEO-WA2-FN3-SEGMENT-TYPE         A          1                               
-                *  *  END OF FUNCTION 3 LAYOUT                **** ********                      
-                *  - -------------------------------- -       ---- ------------------------------
-                *  *  BEGINNING OF FUNCTION 3C LAYOUT         **** ********                      
-                R  1 GEOLW2                                                                      
-                   2 GEO-WA2-FN3C-ACCESS-KEY          A         21                               
-                   2 GEO-WA2-FN3C-CURVE-FLAG          A          1                               
-                   2 GEO-WA2-FN3C-SEGMENT-TYPE        A          1                               
-                   2 GEO-WA2-FN3C-LOCATION-STATUS     A          1                               
-                   2 GEO-WA2-FN3C-COUNTY-BOUNDARY     A          1                               
-                   2 FILLER-WA2-380                   A          4                               
-                   2 GEO-WA2-FN3C-PREFERRED-LGC1      A          2                               
-                   2 GEO-WA2-FN3C-PREFERRED-LGC2      A          2                               
-                   2 GEO-WA2-FN3C-PREFERRED-LGC3      A          2                               
-                   2 GEO-WA2-FN3C-NUM-X-ST-LOW-END    N          1                               
-                   2 GEO-WA2-FN3C-LOW-PBSC            P          6 (1:5)                         
-                   2 GEO-WA2-FN3C-NUM-X-ST-HI-END     N          1                               
-                   2 GEO-WA2-FN3C-HI-PBSC             P          6 (1:5)                         
-                   2 GEO-WA2-FN3C-COMDIST             A          3                               
-                R  2 GEO-WA2-FN3C-COMDIST                                                        
-                   3 GEO-WA2-FN3C-COMDIST-BORO        A          1                               
-                   3 GEO-WA2-FN3C-COMDIST-NUM         A          2                               
-                   2 GEO-WA2-FN3C-ZIP                 A          5                               
-                   2 GEO-WA2-FN3C-SLA                 A          1                               
-                   2 GEO-WA2-FN3C-2000-CENSUSTRACT    A          6                               
-                   2 FILLER-WA2-390                   A          1                               
-                   2 GEO-WA2-FN3C-2010-CENSUSTRACT    A          6                               
-                   2 GEO-WA2-FN3C-2010-CENSUSBLOCK    A          4                               
-                   2 GEO-WA2-FN3C-2010-CENSUSBLKSFX   A          1 /* NOT IMPLEMENTED \*/         
-                   2 GEO-WA2-FN3C-HEALTHAREA          A          4                               
-                   2 GEO-WA2-FN3C-REVERSALFLAG        A          1                               
-                   2 GEO-WA2-FN3C-SOS                 A          1                               
-                   2 GEO-WA2-FN3C-FIRESEC             A          2                               
-                   2 GEO-WA2-FN3C-FIREBAT             A          2                               
-                   2 GEO-WA2-FN3C-FIRECO              A          4                               
-                R  2 GEO-WA2-FN3C-FIRECO                                                         
-                   3 GEO-WA2-FN3C-FIRECO-TYPE         A          1                               
-                   3 GEO-WA2-FN3C-FIRECO-NUM          A          3                               
-                   2 GEO-WA2-FN3C-SEGMENT-ID          A          7                               
-                   2 GEO-WA2-FN3C-LOW-HOUSENUM        A          7                               
-                   2 GEO-WA2-FN3C-HI-HOUSENUM         A          7                               
-                   2 GEO-WA2-FN3C-LOW-HOUSENUM2       A          7 /* HOUSENUM2 ONLY PRESENT IF  
-                   2 GEO-WA2-FN3C-HI-HOUSENUM2        A          7 /* ODD & EVEN ARE ON SAME SIDE
-                   2 GEO-WA2-FN3C-CONT-PARITY-IND     A          1                               
-                   2 GEO-WA2-FN3C-LIONFACECODE        A          4                               
-                   2 GEO-WA2-FN3C-LIONSEQ             A          5                               
-                   2 GEO-WA2-FN3C-GENRECFLAG          A          1                               
-                   2 GEO-WA2-FN3C-SEGMENTLENGTH       P          5                               
-                   2 GEO-WA2-FN3C-SEGMENTSLOPE        A          3                               
-                   2 GEO-WA2-FN3C-SEGMENTORIENT       A          1                               
-                   2 FILLER-WA2-408                   A          2                               
-                   2 GEO-WA2-FN3C-RESDCP              A          1 /* RESERVED FOR DCP/GSS USE   
-                   2 GEO-WA2-FN3C-FEATURE-TYPE        A          1                               
-                   2 GEO-WA2-FN3C-POLICEDIST          A          4                               
-                R  2 GEO-WA2-FN3C-POLICEDIST                                                     
-                   3 GEO-WA2-FN3C-POL-PATR-BORO-CMD   A          1                               
-                   3 GEO-WA2-FN3C-POL-PRECINCT        A          3                               
-                   2 GEO-WA2-FN3C-SCHOOLDIST          A          2                               
-                   2 GEO-WA2-FN3C-MARBLE-RIKERS-FLAG  A          1                               
-                   2 GEO-WA2-FN3C-1990-CENSUSTRACT    A          6                               
-                   2 FILLER-WA2-410B                  A          4                               
-                   2 GEO-WA2-FN3C-DYN-BLOCK           A          3                               
-                   2 GEO-WA2-FN3C-2000-CENSUSBLOCK    A          4                               
-                   2 GEO-WA2-FN3C-2000-CENSUSBLKSFX   A          1                               
-                \*  *  END OF FUNCTION 3C LAYOUT       *       **** *******                       
-                \*  - -------------------------------- -       ---- ------------------------------
-                \*  *  BEGINNING OF FUNCTION 1E LAYOUT *       **** *******                       
-                R  1 GEOLW2                                                                      
-                   2 GEO-WA2-FN1E-ACCESS-KEY          A         21                               
-                   2 GEO-WA2-FN1E-CONT-PARITY         A          1                               
-                   2 GEO-WA2-FN1E-LOW-HOUSENUM-INT    A          6                               
-                R  2 GEO-WA2-FN1E-LOW-HOUSENUM-INT                                               
-                   3 GEO-WA2-FN1E-LOW-HOUSENUM        A          5                               
-                   3 GEO-WA2-FN1E-LOW-HOUSENUMSFX     A          1 /* NOT IMPLEMENTED            
-                   2 GEO-WA2-FN1E-HI-HOUSENUM-INT     A          6                               
-                R  2 GEO-WA2-FN1E-HI-HOUSENUM-INT                                                
-                   3 GEO-WA2-FN1E-HI-HOUSENUM         A          5                               
-                   3 GEO-WA2-FN1E-HI-HOUSENUMSFX      A          1 /* NOT IMPLEMENTED            
-                   2 FILLER-WA2-435                   A          1                               
-                   2 GEO-WA2-FN1E-NUM-X-ST-LOW-END    N          1                               
-                   2 GEO-WA2-FN1E-LOW-PBSC            P          6 (1:5)                         
-                   2 GEO-WA2-FN1E-NUM-X-ST-HI-END     N          1                               
-                   2 GEO-WA2-FN1E-HI-PBSC             P          6 (1:5)                         
-                   2 GEO-WA2-FN1E-COMDIST             A          3                               
-                R  2 GEO-WA2-FN1E-COMDIST                                                        
-                   3 GEO-WA2-FN1E-COMDIST-BORO        A          1                               
-                   3 GEO-WA2-FN1E-COMDIST-NUM         A          2                               
-                   2 GEO-WA2-FN1E-ZIP                 A          5                               
-                   2 GEO-WA2-FN1E-SLA                 A          1                               
-                   2 GEO-WA2-FN1E-HCD                 A          2                               
-                   2 GEO-WA2-FN1E-SOS                 A          1                               
-                   2 GEO-WA2-FN1E-CONT-PARITY-IND     A          1                               
-                   2 GEO-WA2-FN1E-2010-CENSUSTRACT    A          6                               
-                   2 GEO-WA2-FN1E-2010-CENSUSBLOCK    A          4                               
-                   2 GEO-WA2-FN1E-2010-CENSUSBLKSFX   A          1                               
-                   2 FILLER-WA2-FN1E-FILLER-INDV      A          1                               
-                   2 FILLER-WA2-440                   A          2                               
-                   2 GEO-WA2-FN1E-HEALTHAREA          A          4                               
-                   2 GEO-WA2-FN1E-SANI-REC            A          3                               
-                   2 GEO-WA2-FN1E-FEATURE-TYPE        A          1                               
-                   2 GEO-WA2-FN1E-RESDCP              A          1 /* RESERVED FOR DCP/GSS USE   
-                   2 GEO-WA2-FN1E-CURVE-FLAG          A          1                               
-                   2 GEO-WA2-FN1E-POLICEDIST          A          4                               
-                R  2 GEO-WA2-FN1E-POLICEDIST                                                     
-                   3 GEO-WA2-FN1E-POL-PATR-BORO-CMD   A          1                               
-                   3 GEO-WA2-FN1E-POL-PRECINCT        A          3                               
-                   2 GEO-WA2-FN1E-SCHOOLDIST          A          2                               
-                   2 GEO-WA2-FN1E-ELECTDIST           A          3                               
-                   2 GEO-WA2-FN1E-ASSEMDIST           A          2                               
-                   2 GEO-WA2-FN1E-SPLIT-ED-FLAG       A          1                               
-                   2 GEO-WA2-FN1E-CONGDIST            A          2                               
-                   2 GEO-WA2-FN1E-SENATEDIST          A          2                               
-                   2 GEO-WA2-FN1E-COURTDIST           A          2                               
-                   2 GEO-WA2-FN1E-COUNCILDIST         A          2                               
-                   2 FILLER-WA2-470                   A          2                               
-                   2 GEO-WA2-FN1E-SANIDIST            A          3                               
-                R  2 GEO-WA2-FN1E-SANIDIST                                                       
-                   3 GEO-WA2-FN1E-SANIDIST-BORO       A          1                               
-                   3 GEO-WA2-FN1E-SANIDIST-NUM        A          2                               
-                   2 GEO-WA2-FN1E-SANITATION-SUBSEC   A          2                               
-                   2 GEO-WA2-FN1E-FIRESEC             A          2                               
-                   2 GEO-WA2-FN1E-FIREBAT             A          2                               
-                   2 GEO-WA2-FN1E-FIRECO              A          4                               
-                R  2 GEO-WA2-FN1E-FIRECO                                                         
-                   3 GEO-WA2-FN1E-FIRECO-TYPE         A          1                               
-                   3 GEO-WA2-FN1E-FIRECO-NUM          A          3                               
-                   2 GEO-WA2-FN1E-SPECIAL-ADDR-FLAG   A          1                               
-                   2 GEO-WA2-FN1E-MARBLE-RIKERS-FLAG  A          1                               
-                   2 GEO-WA2-FN1E-SPLIT-SCHOOL-FLAG   A          1                               
-                   2 GEO-WA2-FN1E-PREFERRED-LGC       A          2                               
-                   2 GEO-WA2-FN1E-LIONFACECODE        A          4                               
-                   2 GEO-WA2-FN1E-LIONSEQ             A          5                               
-                   2 GEO-WA2-FN1E-1990-CENSUSTRACT    A          6                               
-                   2 FILLER-WA2-480B                  A          4                               
-                   2 GEO-WA2-FN1E-DYN-BLOCK           A          3                               
-                   2 GEO-WA2-FN1E-XCOORD              A          7                               
-                   2 GEO-WA2-FN1E-YCOORD              A          7                               
-                   2 GEO-WA2-FN1E-SEGMENTLENGTH       A          5                               
-                   2 GEO-WA2-FN1E-SANI-REG            A          5                               
-                \*  *  END OF FUNCTION 1E LAYOUT       *       **** *******                       
-                \*  - -------------------------------- -       ---- ------------------------------
-                \*  *  BEGINNING OF FUNCTION 5 LAYOUT  *       **** *******                       
-                R  1 GEOLW2                                                                      
-                   2 GEO-WA2-FN5-ADDR-MATCHING-KEY    A         28                               
-                   2 FILLER-WA2-490                   A        172                               
-                \*  *  END OF FUNCTION 5 LAYOUT        *       **** *******                       
-                \*  - -------------------------------- -       ---- ------------------------------
-
-

GEOLW2L COPY File

-
                1 GEOLW2L
-                \*  * THE FIELD W2NATL IS USED AS A       PARAMETER TO CALL GEOSUPPORT             
-                2 W2NATL                           A         21                                
-                R  2 W2NATL                                                                       
-                \*  * BEGINNING OF FUNCTION 1                  LONG  WORKAREA LAYOUT ******        
-                3 GEO-WA2-1L-ACCESS-KEY            A         21                                
-                2 GEO-WA2-1L-CONT-PARITY           A          1                                
-                2 GEO-WA2-1L-LOW-HOUSENUM-INT      A          6                                
-                R  2 GEO-WA2-1L-LOW-HOUSENUM-INT                                                  
-                3 GEO-WA2-1L-LOW-HOUSENUM          A          5                                
-                3 GEO-WA2-1L-LOW-HOUSENUMSFX       A          1                                
-                2 GEO-WA2-1L-HI-HOUSENUM-INT       A          6                                
-                R  2 GEO-WA2-1L-HI-HOUSENUM-INT                                                   
-                3 GEO-WA2-1L-HI-HOUSENUM           A          5                                
-                3 GEO-WA2-1L-HI-HOUSENUMSFX        A          1                                
-                2 FILLER-WA2-215                   A          1                                
-                2 GEO-WA2-1L-NUM-X-ST-LOW-END      N          1                                
-                2 GEO-WA2-1L-LOW-PBSC              P          6 (1:5)                          
-                2 GEO-WA2-1L-NUM-X-ST-HI-END       N          1                                
-                2 GEO-WA2-1L-HI-PBSC               P          6 (1:5)                          
-                2 GEO-WA2-1L-COMDIST               A          3                                
-                R  2 GEO-WA2-1L-COMDIST                                                           
-                3 GEO-WA2-1L-COMDIST-BORO          A          1                                
-                3 GEO-WA2-1L-COMDIST-NUM           A          2                                
-                2 GEO-WA2-1L-ZIP                   A          5                                
-                2 GEO-WA2-1L-SLA                   A          1                                
-                2 GEO-WA2-1L-HCD                   A          2                                
-                2 GEO-WA2-1L-SOS                   A          1                                
-                2 GEO-WA2-1L-CONT-PARITY-IND       A          1                                
-                2 GEO-WA2-1L-2010-CENSUSTRACT      A          6                                
-                2 GEO-WA2-1L-2010-CENSUSBLOCK      A          4                                
-                2 GEO-WA2-1L-2010-CENSUSBLKSFX     A          1                                
-                2 FILLER-1L-INDV                   A          1                                
-                2 FILLER-1L-260                    A          2                                
-                2 GEO-WA2-1L-HEALTHAREA            A          4                                
-                2 GEO-WA2-1L-SANI-REC              A          3                                
-                2 GEO-WA2-1L-FEATURE-TYPE          A          1                                
-                2 GEO-WA2-1L-RESDCP                A          1 /* RESERVED FOR DCP/GSS USE    
-                2 GEO-WA2-1L-CURVE-FLAG            A          1                                
-                2 GEO-WA2-1L-POLICEDIST            A          4                                
-                R  2 GEO-WA2-1L-POLICEDIST                                                        
-                3 GEO-WA2-1L-POL-PATR-BORO-CMD     A          1                                
-                3 GEO-WA2-1L-POL-PRECINCT          A          3                                
-                2 GEO-WA2-1L-SCHOOLDIST            A          2                                
-                2 FILLER-WA2-250                   A         16 /* 1E POL DIST                 
-                2 GEO-WA2-1L-SANIDIST              A          3                                
-                R  2 GEO-WA2-1L-SANIDIST                                                          
-                3 GEO-WA2-1L-SANIDIST-BORO         A          1                                
-                3 GEO-WA2-1L-SANIDIST-NUM          A          2                                
-                2 GEO-WA2-1L-SANITATION-SUBSEC     A          2                                
-                2 GEO-WA2-1L-FIRESEC               A          2 /* FIRE DIVISION               
-                2 GEO-WA2-1L-FIREBAT               A          2                                
-                2 GEO-WA2-1L-FIRECO                A          4                                
-                R  2 GEO-WA2-1L-FIRECO                                                            
-                3 GEO-WA2-1L-FIRECO-TYPE           A          1                                
-                3 GEO-WA2-1L-FIRECO-NUM            A          3                                
-                2 GEO-WA2-1L-SPECIAL-ADDR-FLAG     A          1                                
-                2 GEO-WA2-1L-MARBLE-RIKERS-FLAG    A          1                                
-                2 GEO-WA2-1L-SPLIT-SCHOOL-FLAG     A          1                                
-                2 GEO-WA2-1L-PREFERRED-LGC         A          2                                
-                2 GEO-WA2-1L-LIONFACECODE          A          4                                
-                2 GEO-WA2-1L-LIONSEQ               A          5                                
-                2 GEO-WA2-1L-1990-CENSUSTRACT      A          6                                
-                2 FILLER-WA2-260B                  A          4                                
-                2 GEO-WA2-1L-DYN-BLOCK             A          3                                
-                2 GEO-WA2-1L-XCOORD                A          7                                
-                2 GEO-WA2-1L-YCOORD                A          7                                
-                2 GEO-WA2-1L-SEGMENTLENGTH         A          5                                
-                2 GEO-WA2-1L-SANI-REG              A          5                                
-                2 GEO-WA2-1L-SEGMENT-ID            A          7                                
-                2 GEO-WA2-1L-TRUE-B7SC             A          8                                
-                2 GEO-WA2-1L-UNDERLY-HOUSENUM-INT  A          6                                
-                R  2 GEO-WA2-1L-UNDERLY-HOUSENUM-INT                                              
-                3 GEO-WA2-1L-UNDERLY-HOUSENUM      A          5                                
-                3 GEO-WA2-1L-UNDERLY-HOUSENUMSFX   A          1                                
-                2 GEO-WA2-1L-2000-CENSUSTRACT      A          6                                
-                2 GEO-WA2-1L-2000-CENSUSBLOCK      A          4                                
-                2 GEO-WA2-1L-2000-CENSUSBLKSFX     A          1                                
-                2 FILLER-WA2-260C                  A         68                                
-                \*  * END OF FUNCTION 1                        LONG  WORKAREA LAYOUT ******        
-                \*  - -------------------------------- -       ---- ----------------------------
-                \*  * BEGINNING OF FUNCTION 1E                 LONG  WORKAREA LAYOUT ******        
-                R  1 GEOLW2L                                                                      
-                2 GEO-WA2-1EL-ACCESS-KEY           A         21                                
-                2 GEO-WA2-1EL-CONT-PARITY          A          1                                
-                2 GEO-WA2-1EL-LOW-HOUSENUM-INT     A          6                                
-                R  2 GEO-WA2-1EL-LOW-HOUSENUM-INT                                                 
-                3 GEO-WA2-1EL-LOW-HOUSENUM         A          5                                
-                3 GEO-WA2-1EL-LOW-HOUSENUMSFX      A          1 /* NOT IMPLEMENTED             
-                2 GEO-WA2-1EL-HI-HOUSENUM-INT      A          6                                
-                R  2 GEO-WA2-1EL-HI-HOUSENUM-INT                                                  
-                3 GEO-WA2-1EL-HI-HOUSENUM          A          5                                
-                3 GEO-WA2-1EL-HI-HOUSENUMSFX       A          1 /* NOT IMPLEMENTED             
-                2 FILLER-WA2-435                   A          1                                
-                2 GEO-WA2-1EL-NUM-X-ST-LOW-END     N          1                                
-                2 GEO-WA2-1EL-LOW-PBSC             P          6 (1:5)                          
-                2 GEO-WA2-1EL-NUM-X-ST-HI-END      N          1                                
-                2 GEO-WA2-1EL-HI-PBSC              P          6 (1:5)                          
-                2 GEO-WA2-1EL-COMDIST              A          3                                
-                R  2 GEO-WA2-1EL-COMDIST                                                          
-                3 GEO-WA2-1EL-COMDIST-BORO         A          1                                
-                3 GEO-WA2-1EL-COMDIST-NUM          A          2                                
-                2 GEO-WA2-1EL-ZIP                  A          5                                
-                2 GEO-WA2-1EL-SLA                  A          1                                
-                2 GEO-WA2-1EL-HCD                  A          2                                
-                2 GEO-WA2-1EL-SOS                  A          1                                
-                2 GEO-WA2-1EL-CONT-PARITY-IND      A          1                                
-                2 GEO-WA2-1EL-2010-CENSUSTRACT     A          6                                
-                2 GEO-WA2-1EL-2010-CENSUSBLOCK     A          4                                
-                2 GEO-WA2-1EL-2010-CENSUSBLKSFX    A          1                                
-                2 FILLER-WA2-1EL-INDV              A          1                                
-                2 FILLER-WA2-440C                  A          2                                
-                2 GEO-WA2-1EL-HEALTHAREA           A          4                                
-                2 GEO-WA2-1EL-SANI-REC             A          3                                
-                2 GEO-WA2-1EL-FEATURE-TYPE         A          1                                
-                2 GEO-WA2-1EL-RESDCP               A          1 /* RESERVED FOR DCP/GSS USE    
-                2 GEO-WA2-1EL-CURVE-FLAG           A          1                                
-                2 GEO-WA2-1EL-POLICEDIST           A          4                                
-                R  2 GEO-WA2-1EL-POLICEDIST                                                       
-                3 GEO-WA2-1EL-POL-PATR-BORO-CMD    A          1                                
-                3 GEO-WA2-1EL-POL-PRECINCT         A          3                                
-                2 GEO-WA2-1EL-SCHOOLDIST           A          2                                
-                2 GEO-WA2-1EL-ELECTDIST            A          3                                
-                2 GEO-WA2-1EL-ASSEMDIST            A          2                                
-                2 GEO-WA2-1EL-SPLIT-ED-FLAG        A          1                                
-                2 GEO-WA2-1EL-CONGDIST             A          2                                
-                2 GEO-WA2-1EL-SENATEDIST           A          2                                
-                2 GEO-WA2-1EL-COURTDIST            A          2                                
-                2 GEO-WA2-1EL-COUNCILDIST          A          2                                
-                2 FILLER-WA2-470                   A          2                                
-                2 GEO-WA2-1EL-SANIDIST             A          3                                
-                R  2 GEO-WA2-1EL-SANIDIST                                                         
-                3 GEO-WA2-1EL-SANIDIST-BORO        A          1                                
-                3 GEO-WA2-1EL-SANIDIST-NUM         A          2                                
-                2 GEO-WA2-1EL-SANITATION-SUBSEC    A          2                                
-                2 GEO-WA2-1EL-FIRESEC              A          2                                
-                2 GEO-WA2-1EL-FIREBAT              A          2                                
-                2 GEO-WA2-1EL-FIRECO               A          4                                
-                R  2 GEO-WA2-1EL-FIRECO                                                           
-                3 GEO-WA2-1EL-FIRECO-TYPE          A          1                                
-                3 GEO-WA2-1EL-FIRECO-NUM           A          3                                
-                2 GEO-WA2-1EL-SPECIAL-ADDR-FLAG    A          1                                
-                2 GEO-WA2-1EL-MARBLE-RIKERS-FLAG   A          1                                
-                2 GEO-WA2-1EL-SPLIT-SCHOOL-FLAG    A          1                                
-                2 GEO-WA2-1EL-PREFERRED-LGC        A          2                                
-                2 GEO-WA2-1EL-LIONFACECODE         A          4                                
-                2 GEO-WA2-1EL-LIONSEQ              A          5                                
-                2 GEO-WA2-1EL-1990-CENSUSTRACT     A          6                                
-                2 FILLER-WA2L-480B                 A          4                                
-                2 GEO-WA2-1EL-DYN-BLOCK            A          3                                
-                2 GEO-WA2-1EL-XCOORD               A          7                                
-                2 GEO-WA2-1EL-YCOORD               A          7                                
-                2 GEO-WA2-1EL-SEGMENTLENGTH        A          5                                
-                2 GEO-WA2-1EL-SANI-REG             A          5                                
-                2 GEO-WA2-1EL-SEGMENT-ID           A          7                                
-                2 GEO-WA2-1EL-TRUE-B7SC            A          8                                
-                2 GEO-WA2-1EL-UNDER-HOUSENUM-INT   A          6                                
-                2 GEO-WA2-1EL-2000-CENSUSTRACT     A          6                                
-                2 GEO-WA2-1EL-2000-CENSUSBLOCK     A          4                                
-                2 GEO-WA2-1EL-2000-CENSUSBLKSFX    A          1                                
-                2 FILLER-WA2-480                   A         68                                
-                \*  * END OF FUNCTION 1E                       LONG WORKAREA LAYOUT ******         
-                \*  - -------------------------------- -       ---- ----------------------------
-                \*  * BEGINNING OF FUNCTION 3                  LONG WORKAREA LAYOUT ******         
-                R  1 GEOLW2L                                                                      
-                2 GEO-WA2-3L-ACCESS-KEY            A         21                                
-                2 GEO-WA2-3L-DUP-KEY-FLAG          A          1 /* NOT IMPLEMENTED             
-                2 GEO-WA2-3L-CURVE-FLAG            A          1                                
-                2 GEO-WA2-3L-LOCATION-STATUS       A          1                                
-                2 GEO-WA2-3L-COUNTY-BOUNDARY       A          1                                
-                2 FILLER-WA2-340                   A          4                                
-                2 GEO-WA2-3L-PREFERRED-LGC1        A          2                                
-                2 GEO-WA2-3L-PREFERRED-LGC2        A          2                                
-                2 GEO-WA2-3L-PREFERRED-LGC3        A          2                                
-                2 GEO-WA2-3L-NUM-X-ST-LOW-END      N          1                                
-                2 GEO-WA2-3L-LOW-PBSC              P          6 (1:5)                          
-                2 GEO-WA2-3L-NUM-X-ST-HI-END       N          1                                
-                2 GEO-WA2-3L-HI-PBSC               P          6 (1:5)                          
-                2 GEO-WA2-3L-SLA                   A          1                                
-                2 GEO-WA2-3L-REVERSALFLAG          A          1                                
-                2 GEO-WA2-3L-LEFT-COMDIST          A          3                                
-                R  2 GEO-WA2-3L-LEFT-COMDIST                                                      
-                3 GEO-WA2-3L-LEFT-COMDIST-BORO     A          1                                
-                3 GEO-WA2-3L-LEFT-COMDIST-NUM      A          2                                
-                2 GEO-WA2-3L-RIGHT-COMDIST         A          3                                
-                R  2 GEO-WA2-3L-RIGHT-COMDIST                                                     
-                3 GEO-WA2-3L-RIGHT-COMDIST-BORO    A          1                                
-                3 GEO-WA2-3L-RIGHT-COMDIST-NUM     A          2                                
-                2 GEO-WA2-3L-LEFT-ZIP              A          5                                
-                2 GEO-WA2-3L-RIGHT-ZIP             A          5                                
-                2 FILLER-WA2-340B                  A         18                                
-                2 GEO-WA2-3L-LEFT-HEALTHAREA       A          4                                
-                2 GEO-WA2-3L-RIGHT-HEALTHAREA      A          4                                
-                2 GEO-WA2-3L-LEFT-INSTRUCT-REG     A          2                                
-                2 GEO-WA2-3L-RIGHT-INSTRUCT-REG    A          2                                
-                2 GEO-WA2-3L-LEFT-LOW-HOUSENUM     A          7                                
-                2 GEO-WA2-3L-LEFT-HI-HOUSENUM      A          7                                
-                2 GEO-WA2-3L-RIGHT-LOW-HOUSENUM    A          7                                
-                2 GEO-WA2-3L-RIGHT-HI-HOUSENUM     A          7                                
-                2 GEO-WA2-3L-CONT-PARITY-IND       A          1                                
-                2 GEO-WA2-3L-LIONFACECODE          A          4                                
-                2 GEO-WA2-3L-LIONSEQ               A          5                                
-                2 GEO-WA2-3L-GENRECFLAG            A          1                                
-                2 GEO-WA2-3L-SEGMENTLENGTH         P          5                                
-                2 GEO-WA2-3L-SEGMENTSLOPE          A          3                                
-                2 GEO-WA2-3L-SEGMENTORIENT         A          1                                
-                2 FILLER-WA2-3L-355                A          4                                
-                2 GEO-WA2-3L-RESDCP                A          2 /* RESERVED FOR DCP/GSS USE    
-                2 GEO-WA2-3L-DOG-LEG               A          1                                
-                2 GEO-WA2-3L-FEATURE-TYPE          A          1                                
-                2 GEO-WA2-3L-LEFT-POLICEDIST       A          4                                
-                R  2 GEO-WA2-3L-LEFT-POLICEDIST                                                   
-                3 GEO-WA2-3L-L-POL-PATR-BORO-CMD   A          1                                
-                3 GEO-WA2-3L-LEFT-POL-PRECINCT     A          3                                
-                2 GEO-WA2-3L-RIGHT-POLICEDIST      A          4                                
-                R  2 GEO-WA2-3L-RIGHT-POLICEDIST                                                  
-                3 GEO-WA2-3L-R-POL-PATR-BORO-CMD   A          1                                
-                3 GEO-WA2-3L-RIGHT-POL-PRECINCT    A          3                                
-                2 GEO-WA2-3L-LEFT-SCHOOLDIST       A          2                                
-                2 GEO-WA2-3L-RIGHT-SCHOOLDIST      A          2                                
-                2 GEO-WA2-3L-MARBLE-RIKERS-FLAG    A          1                                
-                2 GEO-WA2-3L-SEGMENT-ID            A          7                                
-                2 FILLER-WA2-3L-370                A          1                                
-                \*  * ******************************** *       **** ****************************
-                \*    THE   PORTION   OF   THIS   WORK         AREA ABOVE THIS POINT IS            
-                \*    IDENTICAL  TO  THE STANDARD WORK         AREA 2 FOR FUNCTION 3.              
-                \*    THE  PORTION  BELOW  THIS  POINT           IS PRESENT ONLY FOR THE           
-                \*    LONG WORK AREA 2 OPTION.                                                     
-                \*  * ******************************** *       **** ****************************
-                2 GEO-WA2-3L-L-1990-CENSUSTRACT    A          6                                
-                2 FILLER-WA2-370B                  A          4                                
-                2 GEO-WA2-3L-LEFT-DYN-BLK          A          3                                
-                2 GEO-WA2-3L-R-1990-CENSUSTRACT    A          6                                
-                2 GEO-WA2-370C                     A          4                                
-                2 GEO-WA2-3L-RIGHT-DYN-BLK         A          3                                
-                2 GEO-WA2-3L-LEFT-FIRESEC          A          2                                
-                2 GEO-WA2-3L-LEFT-FIREBAT          A          2                                  
-                2 GEO-WA2-3L-LEFT-FIRECO           A          4                                  
-                R  2 GEO-WA2-3L-LEFT-FIRECO                                                         
-                3 GEO-WA2-3L-LEFT-FIRECO-TYPE      A          1                                  
-                3 GEO-WA2-3L-LEFT-FIRECO-NUM       A          3                                  
-                2 GEO-WA2-3L-RIGHT-FIRESEC         A          2                                  
-                2 GEO-WA2-3L-RIGHT-FIREBAT         A          2                                  
-                2 GEO-WA2-3L-RIGHT-FIRECO          A          4                                  
-                R  2 GEO-WA2-3L-RIGHT-FIRECO                                                        
-                3 GEO-WA2-3L-RIGHT-FIRECO-TYPE     A          1                                  
-                3 GEO-WA2-3L-RIGHT-FIRECO-NUM      A          3                                  
-                2 GEO-WA2-3L-L-2010-CENSUSTRACT    A          6                                  
-                2 GEO-WA2-3L-L-2010-CENSUSBLOCK    A          4                                  
-                2 GEO-WA2-3L-L-2010-CENSUSBLKSFX   A          1                                  
-                2 GEO-WA2-3L-R-2010-CENSUSTRACT    A          6                                  
-                2 GEO-WA2-3L-R-2010-CENSUSBLOCK    A          4                                  
-                2 GEO-WA2-3L-R-2010-CENSUSBLKSFX   A          1                                  
-                2 GEO-WA2-3L-FROM-NODE             A          7                                  
-                2 GEO-WA2-3L-TO-NODE               A          7                                  
-                2 GEO-WA2-3L-L-2000-CENSUSTRACT    A          6                                  
-                2 GEO-WA2-3L-L-2000-CENSUSBLOCK    A          4                                  
-                2 GEO-WA2-3L-L-2000-CENSUSBLKSFX   A          1                                  
-                2 GEO-WA2-3L-R-2000-CENSUSTRACT    A          6                                  
-                2 GEO-WA2-3L-R-2000-CENSUSBLOCK    A          4                                  
-                2 GEO-WA2-3L-R-2000-CENSUSBLKSFX   A          1                                  
-                \*  * END OF FUNCTION 3                        LONG WORKAREA LAYOUT ******           
-                \*  - -------------------------------- -       ---- ----------------------------
-
-

GEOLW21A COPY File

-
                 1 GEOLW21A                                      /\*FCT 1A,BL USE SAME WA2
-                                                                   LAYOUT
-              \*  * THE FIELD W2NAT1A IS USED AS A      PARAMETER TO CALL GEOSUPPORT              
-                 2 W2NAT1A                          A         21                                 
-              R  2 W2NAT1A                                                                       
-                 3 GEO-WA2-1A-ACCESS-KEY            A         21                                 
-                 2 GEO-WA2-1A-CONT-PARITY           A          1                                 
-                 2 GEO-WA2-1A-LOW-HOUSENUM          A          6                                 
-                 2 GEO-WA2-1A-ALTKEY-1              A         10                                 
-              R  2 GEO-WA2-1A-ALTKEY-1                                                           
-                 3 GEO-WA2-1A-ALTKEY-1-BORO         A          1                                 
-                 3 GEO-WA2-1A-ALTKEY-1-TAXBLOCK     A          5                                 
-                 3 GEO-WA2-1A-ALTKEY-1-TAXLOT       A          4                                 
-                 2 FILLER-WA2-1A-230                A          1                                 
-                 2 GEO-WA2-1A-SCC                   A          1                                 
-                 2 FILLER-WA2-1A-240                A          1                                 
-                 2 GEO-WA2-1A-GENERAL-LOT-INFO                                                   
-                 3 GEO-WA2-1A-RPAD-BLDG-CLASS       A          2                                 
-                 3 GEO-WA2-1A-CORNER-CODE           A          2                                 
-                 3 GEO-WA2-1A-NUM-OF-STRUCTURES     A          2                                 
-                 3 GEO-WA2-1A-NUM-OF-BLOCKFACES     A          2                                 
-                 3 GEO-WA2-1A-INTERIOR-FLAG         A          1                                 
-                 3 GEO-WA2-1A-VACANT-FLAG           A          1                                 
-                 3 GEO-WA2-1A-IRREG-FLAG            A          1                                 
-                 2 GEO-WA2-1A-ALT-BORO-FLAG         A          1                                 
-                 2 FILLER-WA2-1A-245                A          1                                 
-                 2 GEO-WA2-1A-STROLL-KEY            A         13                                 
-                 2 GEO-WA2-1A-OVERFLOW-FLAG         A          1                                 
-                 2 FILLER-WA2-1A-251                A          1 /* USED FOR DCP                 
-                 2 GEO-WA2-1A-BIN                   A          7                                 
-                 2 GEO-WA2-1A-CONDO-FLAG            A          1                                 
-                 2 GEO-WA2-1A-RPAD-CONDO-NUM        A          4                                 
-                 2 GEO-WA2-1A-CONDO-LOW-BBL         A         10                                 
-                 2 FILLER-WA2-1A-260                A          1                                 
-                 2 GEO-WA2-1A-CONDO-BILL-BBL        A         10                                 
-                 2 FILLER-WA2-1A-270                A          1                                 
-                 2 GEO-WA2-1A-CONDO-BILL-BBL-SCC    A          1                                 
-                 2 GEO-WA2-1A-CONDO-HIGH-BBL        A         10                                 
-                 2 FILLER-WA2-1A-275                A          1                                 
-                 2 GEO-WA2-1A-SANBORN-BVOLPAGE      A          8                                 
-              R  2 GEO-WA2-1A-SANBORN-BVOLPAGE                                                   
-                 3 GEO-WA2-1A-SANBORN-BORO          A          1                                 
-                 3 GEO-WA2-1A-SANBORN-VOLPAGE       A          7                                 
-              R  3 GEO-WA2-1A-SANBORN-VOLPAGE                                                    
-                 4 GEO-WA2-1A-SANBORN-VOL-NUM       A          3                                 
-                 4 GEO-WA2-1A-SANBORN-VOL-PAGE      A          4                                 
-                 2 GEO-WA2-1A-COMMERC-DIST          A          5                                 
-                 2 GEO-WA2-1A-COOP-NUM              A          4                                 
-                 2 FILLER-WA2-1A-276                A          4                                 
-                 2 GEO-WA2-1A-ACTUAL-NUM-STRUCTS    A          4                                 
-                 2 GEO-WA2-1A-DOF-MAP-BORO          A          1                                 
-                 2 GEO-WA2-1A-DOF-MAP-SECVOL        A          4                                 
-                 2 GEO-WA2-1A-DOF-MAP-PAGE          A          4                                 
-                 2 GEO-WA2-1A-X-COORD               A          7                                 
-                 2 GEO-WA2-1A-Y-COORD               A          7                                 
-                 2 FILLER-WA2-1A-280                A         18                                 
-                 2 GEO-WA2-1A-NUM-OF-ADDR-FOR-LOT   N          2                                 
-                 2 GEO-WA2-1A-LIST-OF-ADDRESSES                  (1:21)                          
-                 3 GEO-WA2-1A-LIST-LOW-HOUSENUM     A          6                                 
-                 3 FILLER-WA2-1A-290                A          3                                 
-                 3 GEO-WA2-1A-LIST-HI-HOUSENUM      A          6                                 
-                 3 FILLER-WA2-1A-300                A          3                                 
-                 3 GEO-WA2-1A-LIST-STREETCODE       A          8                                 
-                 3 GEO-WA2-1A-LIST-BIN              A          7                                 
-                 3 GEO-WA2-1A-LIST-ADDR-TYPE        A          1                                 
-                 3 FILLER-WA2-1A-310                A          1                                 
-                 3 GEO-WA2-1A-LIST-SOS              A          1
-
-

GEOLW2AL COPY File

-
                  1 GEOLW2AL                                /\*FCT 1A,BL USE SAME LONG WA2      
-                \* * THE FIELD W2NAT1AL IS USED AS A  P  ARA METER TO CALL GEOSUPPORT           
-                  2 W2NAT1AL                         A   21                                    
-                R 2 W2NAT1AL                                                                   
-                  3 GEO-WA2-1AL-ACCESS-KEY           A   21                                    
-                  2 GEO-WA2-1AL-CONT-PARITY          A    1                                    
-                  2 GEO-WA2-1AL-LOW-HOUSENUM         A    6                                    
-                  2 GEO-WA2-1AL-ALTKEY-1             A   10                                    
-                R 2 GEO-WA2-1AL-ALTKEY-1                                                       
-                  3 GEO-WA2-1AL-ALTKEY-1-BORO        A    1                                    
-                  3 GEO-WA2-1AL-ALTKEY-1-TAXBLOCK    A    5                                    
-                  3 GEO-WA2-1AL-ALTKEY-1-TAXLOT      A    4                                    
-                  2 FILLER-WA2-1AL-230               A    1                                    
-                  2 GEO-WA2-1AL-SCC                  A    1                                    
-                  2 FILLER-WA2-1AL-240               A    1                                    
-                  2 GEO-WA2-1AL-GENERAL-LOT-INFO                                               
-                  3 GEO-WA2-1AL-RPAD-BLDG-CLASS      A    2                                    
-                  3 GEO-WA2-1AL-CORNER-CODE          A    2                                    
-                  3 GEO-WA2-1AL-NUM-OF-STRUCTURES    A    2                                    
-                  3 GEO-WA2-1AL-NUM-OF-BLOCKFACES    A    2                                    
-                  3 GEO-WA2-1AL-INTERIOR-FLAG        A    1                                    
-                  3 GEO-WA2-1AL-VACANT-FLAG          A    1                                    
-                  3 GEO-WA2-1AL-IRREG-LOT-FLAG       A    1                                    
-                  2 GEO-WA2-1AL-ALT-BORO-FLAG        A    1                                    
-                  2 FILLER-WA2-1AL-245               A    1                                    
-                  2 GEO-WA2-1AL-STROLL-KEY           A   13                                    
-                  2 FILLER-WA2-1AL-250               A    1                                    
-                  2 FILLER-WA2-1AL-251               A    1 /* USED FOR DCP                    
-                  2 GEO-WA2-1AL-BIN                  A    7                                    
-                  2 GEO-WA2-1AL-CONDO-FLAG           A    1                                    
-                  2 GEO-WA2-1AL-RPAD-CONDO-NUM       A    4                                    
-                  2 GEO-WA2-1AL-CONDO-LOW-BBL        A   10                                    
-                  2 FILLER-WA2-1AL-260               A    1                                    
-                  2 GEO-WA2-1AL-CONDO-BILL-BBL       A   10                                    
-                  2 FILLER-WA2-1AL-270               A    1                                    
-                  2 GEO-WA2-1AL-CONDO-BILL-BBL-SCC   A    1                                    
-                  2 GEO-WA2-1AL-CONDO-HIGH-BBL       A   10                                    
-                  2 FILLER-WA2-1AL-275               A    1                                    
-                  2 GEO-WA2-1AL-SANBORN-BVOLPAGE     A    8                                    
-                R 2 GEO-WA2-1AL-SANBORN-BVOLPAGE                                               
-                  3 GEO-WA2-1AL-SANBORN-BORO         A    1                                    
-                  3 GEO-WA2-1AL-SANBORN-VOLPAGE      A    7                                    
-                R 3 GEO-WA2-1AL-SANBORN-VOLPAGE                                                
-                  4 GEO-WA2-1AL-SANBORN-VOL-NUM      A    3                                    
-                  4 GEO-WA2-1AL-SANBORN-VOL-PAGE     A    4                                    
-                  2 GEO-WA2-1AL-COMMERC-DIST         A    5                                    
-                  2 GEO-WA2-1AL-COOP-NUM             A    4                                    
-                  2 FILLER-WA2-1AL-276               A    4                                    
-                  2 GEO-WA2-1AL-ACTUAL-NUM-STRUCTS   A    4                                    
-                  2 GEO-WA2-1AL-DOF-MAP-BORO         A    1                                    
-                  2 GEO-WA2-1AL-DOF-MAP-SECVOL       A    4                                    
-                  2 GEO-WA2-1AL-DOF-MAP-PAGE         A    4                                    
-                  2 GEO-WA2-1AL-X-COORD              A    7                                    
-                  2 GEO-WA2-1AL-Y-COORD              A    7                                    
-                  2 FILLER-WA2-1AL-280               A   16                                    
-                  2 GEO-WA2-1AL-NUM-OF-BINS-FOR-LOT  N    4                                    
-                  2 GEO-WA2-1AL-LIST-OF-BINS                (1:2500)                           
-                  3 GEO-WA2-1AL-BINS                 N    7
-
-

GEOLW23S COPY File

-
                   1 GEOLW23S                                                                   
-                \*  * THE FIELD W2NAT3S IS USED AS A      PARAMETER TO CALL GEOSUPPORT           
-                   2 W2NAT3S                          A         21                              
-                R  2 W2NAT3S                                                                    
-                   3 GEO-WA2-3S-ACCESS-KEY            A         21                              
-                   2 GEO-WA2-3S-NUM-OF-INTERSECTS     N          3                              
-                   2 GEO-WA2-3S-LIST-OF-INTERSECTS                 (1:350)                      
-                   3 GEO-WA2-3S-SMALLEST-PBSC         P          6                              
-                   3 GEO-WA2-3S-2ND-SMALLEST-PBSC     P          6                              
-                   3 GEO-WA2-3S-DISTANCE              P          5                              
-                   3 GEO-WA2-3S-GAP-FLAG              A          1
-
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix06/index.html b/site/appendices/appendix06/index.html deleted file mode 100644 index 7710b7ec..00000000 --- a/site/appendices/appendix06/index.html +++ /dev/null @@ -1,814 +0,0 @@ - - - - - - - - - - - - Appendix 6: User Feedback Procedures - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 6: User Feedback Procedures
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 6: USER FEEDBACK PROCEDURES

- -

This appendix describes the procedures for users to provide feedback to GSS of geographic data that have either been rejected by the Geosupport System or produced unexpected results. Only items that the user has reviewed and believes to be valid geographic data should be provided as feedback to GSS.

-

These feedback procedures should also be used for reporting software issues.

-

Feedback from users is a crucial resource in GSS’s efforts to maintain accurate and up-to-date Geosupport data files. The staff of GSS’s Geographic Research Unit researches the feedback received from users and corrects errors and omissions in Geosupport files as appropriate. Those corrections become accessible to users when the next release of Geosupport is installed on the computer where the user’s application is running.

-

The user should review all items and screen out those caused by obvious user data coding or data entry errors, such as an obvious street name misspelling, the specification of the intersection of two streets that are obviously parallel, etc.

-

The user should provide feedback on those items that the user considers to be valid data, or is uncertain about, to GSS’s Geographic Research Unit by submitting one or more completed Geosupport System User Feedback Forms. There are spaces to report up to three items on a single form. A sample form is included in this appendix and the user can replicate it as needed.

-

Printouts, sketch maps and/or any other material documenting the validity and location of the items should be attached to the form if possible. The user should provide any available information that would assist the GSS staff to research the issue. For example, if an address is rejected, the user should provide, if it is known, alternate addresses for the building, the names of the adjacent cross streets, the BBL (tax lot identifiers) etc.

-

In the case of large computer-generated reject reports, the user may submit the User Feedback Form as a transmittal form attached to the printout. In that case, it is not necessary for the user to transcribe all the reject information onto the form. If possible, the printout should display only the user input geographic data that Geosupport has rejected, not application-related data that is not passed to Geosupport. In addition, the printout should display the Geosupport Return Code, the Reason Code, and if there is space in the report, the Geosupport Message. When designing the reject report, it is advisable for the user to contact GSS Manager of Geographic Research to ascertain how the report should be sorted. Appropriate sorting of user reject reports greatly facilitates GSS’s research.

-

Feedback materials and inquiries about feedback procedures should be submitted to:

-

Email: GSS_Feedback@planning.nyc.gov

-

Email is the preferred mode of communication. If email is not feasible, feedback may be submitted to: Manager of Gegraphic Reserach, Department fo City Planning 120 Broadway, 31stFloor New York, New York 10271 Phone: (212)720-3441 FAX: (212)720-3488

-

Software issues may be directed to: Email: GSS_Software@planning.nyc.gov

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix07/index.html b/site/appendices/appendix07/index.html deleted file mode 100644 index f58509d6..00000000 --- a/site/appendices/appendix07/index.html +++ /dev/null @@ -1,863 +0,0 @@ - - - - - - - - - - - - Appendix 7: Mainframe Data Centers Where Geosupport Is Installed - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 7: Mainframe Data Centers Where Geosupport Is Installed
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 7: MAINFRAME DATA CENTERS WHERE GEOSUPPORT IS INSTALLED

- -
Current as of December, 2016
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NAME OF AGENCYLOCATIONLPARs at DOITT
DoITT/CSC - Department of Information Technology and Telecommunications / -Computer Service Center2 Metro Tech Center,
Brooklyn
See below
DEP - Department of Environment ProtectionDoITTMVSW
DOE - Department of EducationDoITTEDU*
DOF - Department of FinanceDoITTDOF*
FISA – Financial Information Services Agency450 West 33 Street, Manhattann/a
HHC - Health and Hospitals Corporation230 West 41 Street, Manhattann/a
HRA – Human Resources AdministrationDoITTHRAP
NYCHA - New York City Housing Authority250 Broadway, Manhattann/a
NYPD – New York Police Department1 Police Plaza, Manhattann/a
All other city agenciesDoITTMVSP
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix08/index.html b/site/appendices/appendix08/index.html deleted file mode 100644 index fb169dd9..00000000 --- a/site/appendices/appendix08/index.html +++ /dev/null @@ -1,7206 +0,0 @@ - - - - - - - - - - - - Appendix 8: Sample Application Programs And JCL - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 8: Sample Application Programs And JCL
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 8: SAMPLE APPLICATION PROGRAMS AND JCL

- -

This appendix exhibits sample batch user application programs written in COBOL, Assembler, PL/1, C and NATURAL. These programs exemplify how a user-written application program may be coded to interact with Geosupport via its Application Programming Interface (API).

-

For each sample program, this appendix contains a printout of the job-stream input for an MSW application, the job-stream input for a COW application, and a printout of the program execution output report. The job-stream input contains the JCL to compile, link-edit and execute the program and, embedded in the JCL, the program source code (except for NATURAL) and a few in-stream records of sample input data. The NATURAL program source code is not embedded in the job-stream, and is printed separately. The MSW and COW sample programs both generate the same output report.

-

Please note that the sample application programs are not guaranteed to run exactly as shown in this appendix. The samples are here as an aid in developing Geosupport application programs.

-

All of the sample programs use the Geosupport COPY facility. Since this appendix displays un-compiled source code rather than compilation output listings, the source code is shown without the COPY file expansions. Therefore, the source code as shown contains references to fields in Geosupport work areas but does not contain the definitions of those fields. To see those definitions, refer to the listings of the COPY file contents in Appendix 5 (for MSW) and Appendix 14 (for COW).

-

There are two sample programs in each programming language, referred to as Sample Programs #1 and #2. The processing performed in Sample Program #1 is similar for all of the programming languages, as is the processing performed in Sample Program #2. Note: there is an MSW and COW version of each of the sample programs.

-

In brief, Sample Program #1 reads a record containing an address from the in-stream input file; calls Functions 1 and D, checking the Geosupport Return Code (GRC) generated by each call; and writes a record into a formatted output report. The report displays the input address data and, as appropriate, selected output data obtained from Geosupport and/or the GRC, Reason Code and Message.

-

Sample Program #2 performs similar processing, but its input file contains street intersections instead of addresses, and accordingly it calls Function 2 instead of Function 1.

-

Both sample programs use the Compact Names feature to direct Geosupport to return street names in a format suitable for display in the output report. In addition, Sample Program #1, but not Sample Program #2, uses the Street Name Normalization Length Limit (SNL) feature to limit the lengths of normalized street names so they will fit into that program’s output report.

-

In both sample programs, Function D is called to generate the cross street names. Note, that Geosupport will generate all the cross street names automatically if the user specifies the Cross Street Names Flag in the initial Function 1 or Function 2 call or if the user calls Functions 1/1E Extended or Function 1B. (See Cross Street Names Flag in Appendix 3.) The Function D call, however, is used in the sample programs to demonstrate use of Function D and a one work-area-call.

-

In detail, the processing performed by Sample Program #1 is as follows:

-
    -
  • -

    Read a record from the in-stream input file.

    -
  • -
  • -

    Prime Work Area 1 with the function code, the Work Area Format Indicator (required for COW), the address information (Borough Code, House Number and Street Name) from the input record, the appropriate SNL value, and the code required to request street names in the compact format.

    -
  • -
  • -

    Call Function 1.

    -
  • -
  • -

    Examine the Geosupport Return Code (GRC).

    -
  • -
  • -

    If the GRC indicates a successful call or a warning, use the street codes of the cross streets retrieved in WA2 as input to a Function D call to obtain their street names for display in the output report 14. The Function D processing is performed as follows:

    -
  • -
  • -

    Prime Work Area 1 with the function code value, the Work Area Format Indicator (required for COW), and the street codes of the cross streets obtained from the Function 1 call.

    -
  • -
  • -

    Call Function D

    -
  • -
  • -

    Note: If the Cross Street Names Flag is used in the original call to Function 1 (or if Extended Mode of Function1 is used or if Function 1B is used), all the cross street names will be returned.

    -
  • -
  • -

    Examine the GRC.

    -
  • -
  • -

    If the GRC is zeros, include the street names obtained from Function D in the output report. Otherwise, include the GRC, the Reason Code and the warning/reject message in the output report.

    -
  • -
  • -

    Write an output report line containing the input information and, selected output information obtained from Work Area 2 (e.g., the ZIP code, Community District, and cross streets) and/or the Geosupport Return Code, Reason Code and Message

    -
  • -
-

___________________________

- -

14 Note: The sample programs have been written in a skeletal fashion to illustrate the use of the Geosupport API as clearly as possible. Thus, for example, Sample Program #1 assumes, when it gets a ’hit’ for an input address, that WA2 contains at least one cross street at each end of the block face containing the address. In reality, this is not necessarily the case; in a real application, the program would check for the presence of cross street codes before calling Function D.

-

COBOL SAMPLE PROGRAM #1

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

COBOL SAMPLE PROGRAM #1-JOB Stream-MSW

-
          //COBF1SRC JOB   YOUR-JOB-CARD-INFORMATION
-          //*
-          //********************************************************************
-          //***  COBOL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1  ****
-          //***                     MSW FORMAT                              ****
-          //********************************************************************
-          //STEP1 EXEC   IGYWCLG,PARM.COBOL=(NOWORD,OPTIMIZE)
-          //COBOL.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-          //             DD DSN=A030.GEO.COPYLIB,DISP=SHR
-          //COBOL.SYSIN  DD *
-                *****************************************************************
-                \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-                \* BORO, HOUSE NUMBER & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-                \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-                \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-                \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-                \*       NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE   *
-                \*             ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET *
-                \*             NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.     *
-                *****************************************************************
-                *
-                 IDENTIFICATION DIVISION.
-                   PROGRAM-ID. COBS1JOB.
-
-                ****************************************
-
-                 ENVIRONMENT DIVISION.
-                   INPUT-OUTPUT SECTION.
-                   FILE-CONTROL.
-                     SELECT IN-FILE ASSIGN TO INFILE.
-                     SELECT RPT-FILE ASSIGN TO RPTFILE.
-
-                ****************************************
-
-                 DATA DIVISION.
-                   FILE SECTION.
-
-                **** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DEFINTION *****
-                   FD  IN-FILE
-                       RECORDING MODE IS F
-                       RECORD CONTAINS 80 CHARACTERS
-                       LABEL RECORDS ARE OMITTED.
-
-                 01  INPUT-TO-GEOSUPPORT.
-                     05  IN-BORO-CODE        PIC X.
-                     05  FILLER              PIC X.
-                     05  IN-HOUSE-NUMBER     PIC X(12).
-                     05  FILLER              PIC X.
-                     05  IN-STREET           PIC X(32).
-                     05  FILLER              PIC X(33).
-
-                   FD  RPT-FILE
-                       RECORDING MODE IS F
-                       RECORD CONTAINS 132 CHARACTERS
-                       LABEL RECORDS ARE OMITTED.
-
-                 01  RPT-LINE                PIC X(132).
-                 WORKING-STORAGE SECTION.
-                 **************************************************************
-                *** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE ***
-                *** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                  ***
-                *****************************************************************
-                 01  WORK1.    COPY  W1COB.
-                 01  WORK2.    COPY  W2COB.
-
-                **** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT    *********
-
-                 01  RPT-DATA-LINE1.
-                     05  OUT-BOR             PIC X.
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  OUT-HN              PIC X(12).
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  OUT-ST              PIC X(32).
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  OUT-ZIP             PIC X(5).
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  OUT-CD              PIC X(2).
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  OUT-NYPD-PCT        PIC X(3).
-                     05  FILLER              PIC X(6)      VALUE ' '.
-                     05  OUT-SCHLDIST        PIC X(2).
-                     05  FILLER              PIC X(58)     VALUE ' '.
-
-                 01  RPT-DATA-LINE2.
-                     05  FILLER              PIC X(74)     VALUE ' '.
-                     05  OUT-LO-X-STREET     PIC X(25).
-                     05  FILLER              PIC X VALUE ' '.
-                     05  OUT-HI-X-STREET     PIC X(25).
-
-                 01  RPT-ERR-LINE-1.
-                     05  ERR-BOR             PIC X.
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  ERR-HN              PIC X(12).
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  ERR-ST              PIC X(32).
-                     05  FILLER              PIC X(14)
-                         VALUE ' *** FUNCTION '.
-                     05  ERR-FUNCTION        PIC X.
-                     05  FILLER              PIC X(7)
-                         VALUE ' GRC = '.
-                     05  ERR-GRC             PIC X(2).
-                     05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                     05  ERR-REASON          PIC X.
-                     05  FILLER              PIC X(45) VALUE ' '.
-
-                 01  RPT-ERR-LINE-2.
-                     05  FILLER              PIC X(48) VALUE ' '.
-                     05  FILLER              PIC X(4) VALUE '*** '.
-                     05  OUT-ERR-MSG         PIC X(80).
-
-                 01  RPT-WRN-LINE.
-                     05  WRN-BOR             PIC X.
-                     05  FILLER              PIC X         VALUE ' '.
-                     05  WRN-HN              PIC X(12).
-
-              05  FILLER             PIC X         VALUE ' '.
-                     05  WRN-ST              PIC X(32).
-                     05  FILLER              PIC X(14)
-                         VALUE ' *** FUNCTION '.
-                     05  WRN-FUNCTION        PIC X.
-                     05  FILLER              PIC X(16)
-                   VALUE ' WARNING, GRC = '.
-                     05  WRN-GRC             PIC X(2).
-                     05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                     05  WRN-REASON          PIC X(1).
-                     05  FILLER              PIC X(36) VALUE ' '.
-
-                 01  RPT-HEADER-1.
-                     05  FILLER              PIC X(40)  VALUE
-                     'SAMPLE COBOL PROGRAM \#1 EXECUTION OUTPUT'.
-                     05  FILLER              PIC X(72) VALUE ' '.
-
-                 01  RPT-HEADER-2.
-                     05  FILLER              PIC X(58)  VALUE
-                     '*****---------- INPUT ADDRESS ------------***** *****-----'.
-                     05  FILLER              PIC X(58)  VALUE
-                     '---------------- SELECTED OUTPUT ITEMS -------------------'.
-                     05  FILLER              PIC X(16)  VALUE
-                     '----*****       '.
-
-                 01  RPT-HEADER-3.
-                     05  FILLER              PIC X(58)  VALUE
-                     'B HOUSE NUMBER IN-STREET-NAME                     ZIP CD N'.
-                     05  FILLER              PIC X(58)  VALUE
-                     'YPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREE'.
-                     05  FILLER              PIC X(16)  VALUE
-                     'T               '.
-
-                 01  RPT-HEADER-4.
-                     05  FILLER              PIC X(58)  VALUE
-                     '_ ____________ ________________________________ _____ __ \_'.
-                     05  FILLER              PIC X(58)  VALUE
-                     '_______ _______ _________________________ ________________'.
-                     05  FILLER              PIC X(16)  VALUE
-                     '_________       '.
-
-                 01  FLAGS.
-                     05 DATA-FLAG    PIC XXX   VALUE 'YES'.
-                       88 MORE-DATA            VALUE 'YES'.
-                       88 NO-DATA              VALUE 'NO '.
-
-                ****************************************
-
-                 PROCEDURE DIVISION.
-
-                     OPEN INPUT IN-FILE, OUTPUT RPT-FILE.
-                     WRITE RPT-LINE FROM RPT-HEADER-1 AFTER ADVANCING 1 LINES.
-                     WRITE RPT-LINE FROM RPT-HEADER-2 AFTER ADVANCING 2 LINES.
-                     WRITE RPT-LINE FROM RPT-HEADER-3 AFTER ADVANCING 2 LINES.
-                     WRITE RPT-LINE FROM RPT-HEADER-4 AFTER ADVANCING 0 LINES.
-                     READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-                     PERFORM PROCESS THRU PROCESS-EX
-              UNTIL NO-DATA.
-                     CLOSE IN-FILE, RPT-FILE.
-                     MOVE 0 TO RETURN-CODE
-                     STOP RUN.
-
-          Process.
-                *****************************************************************
-                \* TO MAKE A FUNCTION 1 CALL:                                    *
-                \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-                \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-                \*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-                \*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-                \*       FIELD                                                   *
-                \*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-                \*   (6) CALL GBI WITH 2 WORKAREAS                               *
-                \*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-                *****************************************************************
-                *****************************************************************
-                \* AS OF GEOSUPPORT 10.1,                                        *
-                \* TO RECEIVE ROADBED-SPECIFIC INFORMATION,                      *
-                \* SET THE ROADBED REQUEST SWITCH TO 'R', AS FOLLOWS:            *
-                \* MOVE 'R' TO GEO-WA1-IN-ROADBED-REQ-SWITCH.                    *
-                *****************************************************************
-                     MOVE SPACES TO WORK1.
-                     MOVE '1 ' TO GEO-WA1-IN-FUNCTION-CODE.
-                     MOVE IN-BORO-CODE TO GEO-WA1-IN-BORO OUT-BOR ERR-BOR WRN-BOR.
-                     MOVE IN-HOUSE-NUMBER TO GEO-WA1-IN-HOUSENUM OUT-HN ERR-HN
-                                                                 WRN-HN.
-                     MOVE IN-STREET TO GEO-WA1-IN-STREET-1 OUT-ST ERR-ST WRN-ST.
-                     CALL 'GBI' USING WORK1 WORK2.
-
-                     IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                        MOVE '1' TO ERR-FUNCTION WRN-FUNCTION
-                        PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-                     IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                       (GEO-WA1-OUT-RETURN-CODE = 01)
-                        PERFORM SUCCESSFUL-FUNC1 THRU S-F1-EX.
-
-                     READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-
-                 PROCESS-EX.
-                     EXIT.
-
-                 SUCCESSFUL-FUNC1.
-
-                ***********************************************************
-                ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********
-                ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****
-                ***********************************************************
-                     MOVE GEO-WA2-FN1-ZIP            TO OUT-ZIP.
-                     MOVE GEO-WA2-FN1-COMDIST-NUMBER TO OUT-CD.
-                     MOVE GEO-WA2-FN1-POL-PRECINCT   TO OUT-NYPD-PCT.
-                     MOVE GEO-WA2-FN1-SCHOOLDIST     TO OUT-SCHLDIST.
-                     IF GEO-WA1-OUT-RETURN-CODE = 00
-                       WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 2 LINES
-                     ELSE
-                       MOVE SPACES TO OUT-BOR OUT-HN OUT-ST
-                       WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 1 LINES.
-
-                ************************************************************
-                \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND  *
-                \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE    *
-                \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS     *
-                \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D: *
-                \*   (1) INITIALIZE WORKAREA 1 TO SPACES                    *
-                \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                 *
-                \*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED      *
-                \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE     *
-                \*              HAS SPACE FOR ONLY 25 CHARACTERS)           *
-                \*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN      *
-                \*       STREET NAMES FORMATTED FOR DISPLAY                 *
-                \*   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET    *
-                \*       CODE 1 FIELD                                       *
-                \*   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET   *
-                \*       CODE 2 FIELD                                       *
-                \*   (7) CALL GBI WITH 1 WORKAREA                           *
-                \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS          *
-                ************************************************************
-                     MOVE SPACES TO WORK1.
-                     MOVE 'D ' TO GEO-WA1-IN-FUNCTION-CODE.
-                     MOVE 'C' TO GEO-WA1-IN-COMPACT-NAME-FLAG.
-                     MOVE '25' TO GEO-WA1-IN-SNL.
-                     MOVE GEO-WA2-FN1-LOW-PBSC (1) TO GEO-WA1-IN-STREETCODE-1.
-                     MOVE GEO-WA2-FN1-HI-PBSC  (1) TO GEO-WA1-IN-STREETCODE-2.
-                     CALL 'GBI' USING WORK1.
-
-                     IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                        MOVE 'D' TO ERR-FUNCTION WRN-FUNCTION
-                        PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-                     IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                        (GEO-WA1-OUT-RETURN-CODE = 01)
-                        PERFORM SUCCESSFUL-FUNCD THRU S-FD-EX.
-
-                 S-F1-EX.
-                     EXIT.
-
-                 SUCCESSFUL-FUNCD.
-
-                     MOVE GEO-WA1-OUT-STREET-1 TO OUT-LO-X-STREET
-                     MOVE GEO-WA1-OUT-STREET-2 TO OUT-HI-X-STREET
-                     WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 0 LINES.
-
-                 S-FD-EX.
-                     EXIT.
-
-
-                 PRINT-ERROR-LINE.
-                     MOVE GEO-WA1-OUT-RETURN-CODE TO ERR-GRC WRN-GRC.
-                     MOVE GEO-WA1-OUT-REASON-CODE TO ERR-REASON WRN-REASON.
-                     MOVE GEO-WA1-OUT-ERROR-MESSAGE TO OUT-ERR-MSG.
-
-                     IF GEO-WA1-OUT-RETURN-CODE = 01
-                **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-                       WRITE RPT-LINE FROM RPT-WRN-LINE AFTER ADVANCING 2 LINES
-                     ELSE
-                **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-
-
-             WRITE RPT-LINE FROM RPT-ERR-LINE-1 AFTER ADVANCING 2 LINES.
-
-                     WRITE RPT-LINE FROM RPT-ERR-LINE-2 AFTER ADVANCING 1 LINES.
-
-                 P-E-EX.
-                     EXIT.
-          /*
-          //LKED.SYSIN DD *
-            INCLUDE INCLIB(GBI)
-          //LKED.INCLIB   DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-
-          //******************************************************************//
-          //*                                                                \*//
-          //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-          //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP      \*//
-          //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:         \*//
-          //*       A030.GEO.SUPPORT.PDSE.LOADLIB                            \*//
-          //*       A030.GEO.SUPPORT.LOADLIB                                 \*//
-          //*                                                                \*//
-          //******************************************************************//
-          //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-          //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*
-          //******************************************************************//
-          //*                                                                \*//
-          //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-          //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD, ETC) \*//
-          //*  ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT IS TAILORED \*//
-          //*  TO USE STANDARD GEOSUPPORT DATA SET NAMES.                    \*//
-          //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.       \*//
-          //*                                                                \*//
-          //******************************************************************//
-          //*
-          //GO.SYSUDUMP DD SYSOUT=A,OUTLIM=3000
-          //GO.SYSOUT   DD SYSOUT=A
-          //GO.RPTFILE  DD SYSOUT=A
-          //GO.INFILE  DD *
-          1 22           READE ST
-          1 500          DUANE ST
-          1 82-84        BROADWAY
-          4 165-100      BAISLEY BLVD
-          4 165-1000     BAISLEY BLVD
-          /*
-          //
-
-

COBOL SAMPLE PROGRAM #1 – Job Stream - COW

-
      //COBC1SRC JOB   YOUR-JOB-CARD-INFORMATION
-      //*
-      //********************************************************************
-      //***  COBOL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM #1  ****
-      //***                     COW FORMAT                              ****
-      //********************************************************************
-      //STEP1 EXEC   IGYWCLG,PARM.COBOL=(NOWORD,OPTIMIZE)
-      //COBOL.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-      //             DD DSN=A030.GEO.COPYLIB,DISP=SHR
-      //COBOL.SYSIN  DD *
-            *****************************************************************
-            \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-            \* BORO, HOUSE NUMBER & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-            \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-            \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-            \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-            \*       NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE   *
-            \*             ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET *
-            \*             NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.     *
-            *****************************************************************
-            *
-             IDENTIFICATION DIVISION.
-               PROGRAM-ID. COBS1JOB.
-
-            ****************************************
-
-             ENVIRONMENT DIVISION.
-               INPUT-OUTPUT SECTION.
-
-       FILE-CONTROL.
-                 SELECT IN-FILE ASSIGN TO INFILE.
-                 SELECT RPT-FILE ASSIGN TO RPTFILE.
-
-            ****************************************
-
-             DATA DIVISION.
-               FILE SECTION.
-
-            **** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DEFINTION *****
-               FD  IN-FILE
-                   RECORDING MODE IS F
-                   RECORD CONTAINS 80 CHARACTERS
-                   LABEL RECORDS ARE OMITTED.
-
-             01  INPUT-TO-GEOSUPPORT.
-                 05  IN-BORO-CODE        PIC X.
-                 05  FILLER              PIC X.
-                 05  IN-HOUSE-NUMBER     PIC X(12).
-                 05  FILLER              PIC X.
-                 05  IN-STREET           PIC X(32).
-                 05  FILLER              PIC X(33).
-
-               FD  RPT-FILE
-                   RECORDING MODE IS F
-                   RECORD CONTAINS 132 CHARACTERS
-                   LABEL RECORDS ARE OMITTED.
-
-             01  RPT-LINE                PIC X(132).
-
-             WORKING-STORAGE SECTION.
-
-      *****************************************************************
-            *** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE ***
-            *** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                  ***
-            *****************************************************************
-             01  WORK1.    COPY  P1COB.
-             01  WORK2.    COPY  P2COB.
-
-            **** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT    *********
-
-             01  RPT-DATA-LINE1.
-                 05  OUT-BOR             PIC X.
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-HN              PIC X(12).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-ST              PIC X(32).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-ZIP             PIC X(5).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-CD              PIC X(2).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-NYPD-PCT        PIC X(3).
-                 05  FILLER              PIC X(6)      VALUE ' '.
-                 05  OUT-SCHLDIST        PIC X(2).
-                 05  FILLER              PIC X(58)     VALUE ' '.
-
-             01  RPT-DATA-LINE2.
-                 05  FILLER              PIC X(74)     VALUE ' '.
-                 05  OUT-LO-X-STREET     PIC X(25).
-                 05  FILLER              PIC X VALUE ' '.
-                 05  OUT-HI-X-STREET     PIC X(25).
-
-                 01  RPT-ERR-LINE-1.
-                 05  ERR-BOR             PIC X.
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  ERR-HN              PIC X(12).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  ERR-ST              PIC X(32).
-                 05  FILLER              PIC X(14)
-                     VALUE ' *** FUNCTION '.
-                 05  ERR-FUNCTION        PIC X.
-                 05  FILLER              PIC X(7)
-                     VALUE ' GRC = '.
-                 05  ERR-GRC             PIC X(2).
-                 05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                 05  ERR-REASON          PIC X.
-                 05  FILLER              PIC X(45) VALUE ' '.
-
-             01  RPT-ERR-LINE-2.
-                 05  FILLER              PIC X(48) VALUE ' '.
-                 05  FILLER              PIC X(4) VALUE '*** '.
-                 05  OUT-ERR-MSG         PIC X(80).
-
-             01  RPT-WRN-LINE.
-                 05  WRN-BOR             PIC X.
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  WRN-HN              PIC X(12).
-
-          05  FILLER              PIC X         VALUE ' '.
-                 05  WRN-ST              PIC X(32).
-                 05  FILLER              PIC X(14)
-
-        VALUE ' *** FUNCTION '.
-                 05  WRN-FUNCTION        PIC X.
-                 05  FILLER              PIC X(16)
-                     VALUE ' WARNING, GRC = '.
-                 05  WRN-GRC             PIC X(2).
-                 05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                 05  WRN-REASON          PIC X(1).
-                 05  FILLER              PIC X(36) VALUE ' '.
-
-             01  RPT-HEADER-1.
-                 05  FILLER              PIC X(40)  VALUE
-                 'SAMPLE COBOL PROGRAM \#1 EXECUTION OUTPUT'.
-                 05  FILLER              PIC X(72) VALUE ' '.
-
-             01  RPT-HEADER-2.
-                 05  FILLER              PIC X(58)  VALUE
-                 '*****---------- INPUT ADDRESS ------------***** *****-----'.
-                 05  FILLER              PIC X(58)  VALUE
-                 '---------------- SELECTED OUTPUT ITEMS -------------------'.
-                 05  FILLER              PIC X(16)  VALUE
-                 '----*****       '.
-
-             01  RPT-HEADER-3.
-                 05  FILLER              PIC X(58)  VALUE
-                 'B HOUSE NUMBER IN-STREET-NAME                     ZIP CD N'.
-                 05  FILLER              PIC X(58)  VALUE
-                 'YPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREE'.
-                 05  FILLER              PIC X(16)  VALUE
-                 'T               '.
-
-             01  RPT-HEADER-4.
-                 05  FILLER              PIC X(58)  VALUE
-                 '_ ____________ ________________________________ _____ __ \_'.
-
-                 05  FILLER              PIC X(58)  VALUE
-                 '_______ _______ _________________________ ________________'.
-                 05  FILLER              PIC X(16)  VALUE
-                 '_________       '.
-
-             01  FLAGS.
-                 05 DATA-FLAG    PIC XXX   VALUE 'YES'.
-                   88 MORE-DATA            VALUE 'YES'.
-                   88 NO-DATA              VALUE 'NO '.
-
-            ****************************************
-
-             PROCEDURE DIVISION.
-
-                 OPEN INPUT IN-FILE, OUTPUT RPT-FILE.
-                 WRITE RPT-LINE FROM RPT-HEADER-1 AFTER ADVANCING 1 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-2 AFTER ADVANCING 2 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-3 AFTER ADVANCING 2 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-4 AFTER ADVANCING 0 LINES.
-                 READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-
-
-                 PERFORM PROCESS THRU PROCESS-EX
-                 UNTIL NO-DATA.
-                 CLOSE IN-FILE, RPT-FILE.
-                 MOVE 0 TO RETURN-CODE
-                 STOP RUN.
-
-             PROCESS.
-
-            *****************************************************************
-            \* TO MAKE A FUNCTION 1 CALL:                                    *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-            \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-            \*   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)   *
-            \*       TO USE CHARACTER-ONLY WORK AREAS (COWS)                 *
-            \*   (4) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-            \*   (5) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-            \*       FIELD                                                   *
-            \*   (6) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-            \*   (7) CALL GBI WITH 2 WORKAREAS                               *
-            \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-            *****************************************************************
-            *****************************************************************
-            \* AS OF GEOSUPPORT 10.1,                                        *
-            \* TO RECEIVE ROADBED-SPECIFIC INFORMATION,                      *
-            \* SET THE ROADBED REQUEST SWITCH TO 'R', AS FOLLOWS:            *
-            \* MOVE 'R' TO PIWA1-IN-ROADBED-REQ-SWITCH.                      *
-            *****************************************************************
-                 MOVE SPACES TO WORK1.
-                 MOVE '1 ' TO PIWA1-IN-FUNC-CODE.
-                 MOVE 'C' TO GEO-WA1-IN-NON-IBM-MAIN-FRAME.
-                 MOVE IN-BORO-CODE TO GEO-WA1-IN-BORO OUT-BOR ERR-BOR WRN-BOR.
-                 MOVE IN-HOUSE-NUMBER TO PIWA1-IN-HOUSENUM-DISPLAY OUT-HN
-                                                     ERR-HN WRN-HN.
-                 MOVE IN-STREET TO GEO-WA1-IN-STREET-1 OUT-ST ERR-ST WRN-ST.
-                 CALL 'GBI' USING WORK1 WORK2.
-
-                 IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                    MOVE '1' TO ERR-FUNCTION WRN-FUNCTION
-                    PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-                 IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                   (GEO-WA1-OUT-RETURN-CODE = 01)
-                    PERFORM SUCCESSFUL-FUNC1 THRU S-F1-EX.
-
-             READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-
-             PROCESS-EX.
-                 EXIT.
-
-             SUCCESSFUL-FUNC1.
-
-            ***********************************************************
-            ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********
-            ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****
-            ***********************************************************
-                 MOVE GEO-WA2-FN1-ZIP            TO OUT-ZIP.
-                 MOVE GEO-WA2-FN1-COMDIST-NUMBER TO OUT-CD.
-
-
-          MOVE GEO-WA2-FN1-POL-PRECINCT   TO OUT-NYPD-PCT.
-                 MOVE GEO-WA2-FN1-SCHOOLDIST     TO OUT-SCHLDIST.
-                 IF GEO-WA1-OUT-RETURN-CODE = 00
-                   WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 2 LINES
-                 ELSE
-                   MOVE SPACES TO OUT-BOR OUT-HN OUT-ST
-                   WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 1 LINES.
-
-
-            ****************************************************************
-            \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND      *
-            \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE        *
-            \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS         *
-            \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:     *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                        *
-            \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                     *
-            \*   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)  *
-            \*       TO USE CHARACTER-ONLY WORK AREAS (COWS)                *
-            \*   (4) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED          *
-            \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE         *
-            \*              HAS SPACE FOR ONLY 25 CHARACTERS)               *
-            \*   (5) USE THE COMPACT STREET NAMES OPTION TO OBTAIN          *
-            \*       STREET NAMES FORMATTED FOR DISPLAY                     *
-            \*   (6) MOVE WA2'S LOW BSC FIELD TO WA1'S INPUT STREET         *
-            \*       CODE 1 FIELD                                           *
-            \*   (7) MOVE WA2'S HIGH BSC FIELD TO WA1'S INPUT STREET        *
-            \*       CODE 2 FIELD                                           *
-            \*   (8) CALL GBI WITH 1 WORKAREA                               *
-            \*   (9) CHECK RETURN CODES FOR ERRORS OR WARNINGS              *
-            ****************************************************************
-                 MOVE SPACES TO WORK1.
-                 MOVE 'D ' TO PIWA1-IN-FUNC-CODE.
-                 MOVE 'C' TO GEO-WA1-IN-NON-IBM-MAIN-FRAME.
-                 MOVE 'C' TO GEO-WA1-IN-COMPACT-NAME-FLAG.
-                 MOVE '25' TO GEO-WA1-IN-SNL.
-                 MOVE PIWA2-FN1-LOW-B5SC (1) TO GEO-WA1-IN-10SC-1.
-                 MOVE PIWA2-FN1-HI-B5SC  (1) TO GEO-WA1-IN-10SC-2.
-                 CALL 'GBI' USING WORK1.
-
-                 IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                    MOVE 'D' TO ERR-FUNCTION WRN-FUNCTION
-                    PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-                 IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                    (GEO-WA1-OUT-RETURN-CODE = 01)
-                    PERFORM SUCCESSFUL-FUNCD THRU S-FD-EX.
-
-             S-F1-EX.
-             EXIT.
-
-             SUCCESSFUL-FUNCD.
-
-                 MOVE GEO-WA1-OUT-STREET-1 TO OUT-LO-X-STREET
-                 MOVE GEO-WA1-OUT-STREET-2 TO OUT-HI-X-STREET
-                 WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 0 LINES.
-
-             S-FD-EX.
-
-                 EXIT.
-
-
-             PRINT-ERROR-LINE.
-                 MOVE GEO-WA1-OUT-RETURN-CODE TO ERR-GRC WRN-GRC.
-                 MOVE GEO-WA1-OUT-REASON-CODE TO ERR-REASON WRN-REASON.
-                 MOVE GEO-WA1-OUT-ERROR-MESSAGE TO OUT-ERR-MSG.
-
-                 IF GEO-WA1-OUT-RETURN-CODE = 01
-            **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-                   WRITE RPT-LINE FROM RPT-WRN-LINE AFTER ADVANCING 2 LINES
-                 ELSE
-            **** INSERT YOUR OWN ERROR ROUTINE HERE  ****
-                   WRITE RPT-LINE FROM RPT-ERR-LINE-1 AFTER ADVANCING 2 LINES.
-
-        WRITE RPT-LINE FROM RPT-ERR-LINE-2 AFTER ADVANCING 1 LINES.
-
-             P-E-EX.
-                 EXIT.
-      /*
-      //LKED.SYSIN DD *
-        INCLUDE INCLIB(GBI)
-      //LKED.INCLIB   DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //******************************************************************//
-      //*                                                                \*//
-      //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-      //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP      \*//
-      //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:         \*//
-      //*       A030.GEO.SUPPORT.PDSE.LOADLIB                            \*//
-      //*       A030.GEO.SUPPORT.LOADLIB                                 \*//
-      //*                                                                \*//
-      //******************************************************************//
-      //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-      //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //*
-      //******************************************************************//
-      //*                                                                \*//
-      //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-      //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD, ETC) \*//
-      //*  ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT IS TAILORED \*//
-      //*  TO USE STANDARD GEOSUPPORT DATA SET NAMES.                    \*//
-      //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.       \*//
-      //*                                                                \*//
-      //******************************************************************//
-      //*
-      //GO.SYSUDUMP DD SYSOUT=A,OUTLIM=3000
-      //GO.SYSOUT   DD SYSOUT=A
-      //GO.RPTFILE  DD SYSOUT=A
-      //GO.INFILE  DD *
-      1 22           READE ST
-      1 500          DUANE ST
-      1 82-84        BROADWAY
-      4 165-100      BAISLEY BLVD
-      4 165-1000     BAISLEY BLVD
-      /*
-      //
-
-

COBOL SAMPLE PROGRAM #1 – Output Report

-
          SAMPLE COBOL PROGRAM \#1 EXECUTION OUTPUT
-
-           *****---------- INPUT ADDRESS ------------***** *****--------------------- SELECTED OUTPUT ITEMS -----------------------*****
-
-           B HOUSE NUMBER IN-STREET-NAME                     ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREET
-           - ------------ -------------------------------- ----- -- -------- ------- ------------------------- -------------------------
-
-           1 22           READE ST                         10007 01 005      02      ELK STREET                BROADWAY
-
-           1 500          DUANE ST                         *** FUNCTION 1 GRC = 42 REASON CODE =
-                                                           *** ADDRESS NUMBER OUT OF RANGE
-
-           1 82-84        BROADWAY                         *** FUNCTION 1 WARNING, GRC = 01 REASON CODE = 1
-                                                           *** ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
-                                                           10005 01 001      02      RECTOR STREET             WALL GREEN
-
-           4 165-100      BAISLEY BLVD                     11434 12 113      28      SMITH STREET              166 STREET
-
-           4 165-1000     BAISLEY BLVD                     *** FUNCTION 1 GRC = 13 REASON CODE = 2
-                                                           *** ADDRESS NBR 165-1000  HAS MORE THAN 3 DIGITS AFTER THE DASH.
-
-

COBOL SAMPLE PROGRAM #2

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report - COW

-

COBOL SAMPLE PROGRAM #2- Job Stream - MSW

-
      //COBF2SRC JOB   YOUR-JOB-CARD-INFORMATION
-      //*
-      //********************************************************************
-      //***  COBOL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2  ****
-      //***                     MSW FORMAT                              ****
-      //********************************************************************
-      //STEP1 EXEC   IGYWCLG,PARM.COBOL=(NOWORD,OPTIMIZE)
-      //COBOL.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-      //             DD DSN=A030.GEO.COPYLIB,DISP=SHR
-      //COBOL.SYSIN  DD *
-            *****************************************************************
-            \* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING *
-            \* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.  *
-            \* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.*
-            \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-            \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-            \*       NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE   *
-            \*             ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET *
-            \*             NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 2.     *
-            *****************************************************************
-            *
-             IDENTIFICATION DIVISION.
-               PROGRAM-ID. COBS1JOB.
-
-            ****************************************
-
-             ENVIRONMENT DIVISION.
-               INPUT-OUTPUT SECTION.
-               FILE-CONTROL.
-                 SELECT IN-FILE ASSIGN TO INFILE.
-                 SELECT RPT-FILE ASSIGN TO RPTFILE.
-
-            ****************************************
-
-             DATA DIVISION.
-               FILE SECTION.
-
-            **** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DEFINTION *****
-               FD  IN-FILE
-                   RECORDING MODE IS F
-                   RECORD CONTAINS 80 CHARACTERS
-                   LABEL RECORDS ARE OMITTED.
-
-             01  INPUT-TO-GEOSUPPORT.
-                 05  IN-BOR1             PIC X.
-                 05  FILLER              PIC X.
-                 05  IN-STREET1          PIC X(32).
-                 05  FILLER              PIC X.
-                 05  IN-BOR2             PIC X.
-                 05  FILLER              PIC X.
-                 05  IN-STREET2          PIC X(32).
-                 05  FILLER              PIC X(11).
-
-               FD  RPT-FILE
-                   RECORDING MODE IS F
-                   RECORD CONTAINS 132 CHARACTERS
-                   LABEL RECORDS ARE OMITTED.
-
-             01  RPT-LINE                PIC X(132).
-
-             WORKING-STORAGE SECTION.
-
-      77  I                       PIC 9 VALUE 0.
-
-            *****************************************************************
-            *** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE ***
-            *** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                  ***
-            *****************************************************************
-             01  WORK1.    COPY  W1COB.
-             01  WORK2.    COPY  W2COB.
-
-            **** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT    *********
-
-             01  RPT-DATA-LINE1.
-                 05  OUT-BOR1            PIC X.
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-ST1             PIC X(32).
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-BOR2            PIC X.
-                 05  FILLER              PIC X         VALUE ' '.
-                 05  OUT-ST2             PIC X(32).
-                 05  OUT-DETAIL.
-                   10  FILLER            PIC X         VALUE ' '.
-                   10  OUT-ZIP           PIC X(5).
-                   10  FILLER            PIC X         VALUE ' '.
-                   10  OUT-CD            PIC X(2).
-                   10  FILLER            PIC X         VALUE ' '.
-                   10  OUT-NYPD-PCT      PIC X(3).
-                   10  FILLER            PIC X(6)      VALUE ' '.
-                   10  OUT-SCHLDIST      PIC X(2).
-                   10  FILLER            PIC X(42)     VALUE ' '.
-
-             01  RPT-DATA-LINE2.
-                 05  FILLER              PIC X(96)     VALUE ' '.
-                 05  OUT-ST              PIC X(32).
-                 05  FILLER              PIC X(4) VALUE ' '.
-
-             01  RPT-ERR-LINE.
-                 05  FILLER              PIC X(15) VALUE '***** FUNCTION '.
-                 05  ERR-FUNCTION        PIC X.
-                 05  FILLER              PIC X(7)  VALUE ' GRC = '.
-                 05  ERR-GRC             PIC X(2).
-                 05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                 05  ERR-REASON          PIC X.
-                 05  FILLER              PIC X(2)  VALUE '. '.
-                 05  OUT-ERR-MSG         PIC X(80).
-                 05  FILLER              PIC X(9) VALUE ' '.
-
-             01  RPT-WRN-LINE.
-                 05  FILLER              PIC X(15) VALUE '***** FUNCTION '.
-                 05  WRN-FUNCTION        PIC X.
-                 05  FILLER              PIC X(15) VALUE ' WARNING GRC = '.
-                 05  WRN-GRC             PIC X(2).
-                 05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-                 05  WRN-REASON          PIC X.
-                 05  FILLER              PIC X(2)  VALUE '. '.
-                 05  OUT-WRN-MSG         PIC X(80).
-                 05  FILLER              PIC X    VALUE ' '.
-
-             01  RPT-HEADER-1.
-                 05  FILLER              PIC X(40)  VALUE
-                 'SAMPLE COBOL PROGRAM \#2 EXECUTION OUTPUT'.
-                 05  FILLER              PIC X(72) VALUE ' '.
-
-           01  RPT-HEADER-2.
-                 05  FILLER              PIC X(58)  VALUE
-                 '*****----------------- INPUT INTERSECTION ----------------'.
-                 05  FILLER              PIC X(58)  VALUE
-                 '------***** *****------------ SELECTED OUTPUT ITEMS ------'.
-                 05  FILLER              PIC X(16)  VALUE
-                 '-------*****'.
-
-             01  RPT-HEADER-3.
-                 05  FILLER              PIC X(58)  VALUE
-                 'B IN-STREET-NAME-1                 B IN-STREET-NAME-2     '.
-                 05  FILLER              PIC X(58)  VALUE
-                 '              ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET '.
-                 05  FILLER              PIC X(16)  VALUE
-                 'NAMES           '.
-
-             01  RPT-HEADER-4.
-                 05  FILLER              PIC X(58)  VALUE
-                 '_ ________________________________ _ _____________________'.
-                 05  FILLER              PIC X(58)  VALUE
-                 '___________ _____ __ ________ _______ ____________________'.
-                 05  FILLER              PIC X(16)  VALUE
-                 '____________    '.
-
-             01  FLAGS.
-                 05 DATA-FLAG    PIC XXX   VALUE 'YES'.
-                   88 MORE-DATA            VALUE 'YES'.
-                   88 NO-DATA              VALUE 'NO '.
-
-            ****************************************
-
-             PROCEDURE DIVISION.
-
-                 OPEN INPUT IN-FILE, OUTPUT RPT-FILE.
-                 WRITE RPT-LINE FROM RPT-HEADER-1 AFTER ADVANCING 1 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-2 AFTER ADVANCING 2 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-3 AFTER ADVANCING 2 LINES.
-                 WRITE RPT-LINE FROM RPT-HEADER-4 AFTER ADVANCING 0 LINES.
-                 READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-                 PERFORM PROCESS THRU PROCESS-EX
-                     UNTIL NO-DATA.
-                 CLOSE IN-FILE, RPT-FILE.
-                 MOVE 0 TO RETURN-CODE
-                 STOP RUN.
-
-             PROCESS.
-
-
-
-
-            ******************************************************************
-            \* TO MAKE A FUNCTION 2 CALL:                                     *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                          *
-            \*   (2) SET WA1'S FUNCTION-CODE TO 2                             *
-            \*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   *
-            \*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     *
-            \*       FIELD                                                    *
-            \*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD *
-            \*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   *
-            \*       FIELD                                                    *
-            \*   (7) CALL GBI WITH 2 WORKAREAS                                *
-            \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                *
-            ******************************************************************
-                 MOVE SPACES TO WORK1.
-                 MOVE '2 ' TO GEO-WA1-IN-FUNCTION-CODE.
-               MOVE IN-BOR1 TO GEO-WA1-IN-BORO   OUT-BOR1.
-                 MOVE IN-BOR2 TO GEO-WA1-IN-BORO-2 OUT-BOR2.
-                 MOVE IN-STREET1 TO GEO-WA1-IN-STREET-1 OUT-ST1.
-              MOVE IN-STREET2 TO GEO-WA1-IN-STREET-2 OUT-ST2.
-                 CALL 'GBI' USING WORK1 WORK2.
-
-                 IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                    MOVE '2' TO ERR-FUNCTION WRN-FUNCTION
-                    PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-                 IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                   (GEO-WA1-OUT-RETURN-CODE = 01)
-                    PERFORM SUCCESSFUL-FUNC2 THRU S-F2-EX
-                 ELSE
-                   MOVE SPACES TO OUT-DETAIL
-                   WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 1 LINES.
-
-                 READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-
-             PROCESS-EX.
-                 EXIT.
-
-             SUCCESSFUL-FUNC2.
-
-            ***********************************************************
-            ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********
-            ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****
-            ***********************************************************
-                 MOVE GEO-WA2-FN2-ZIP            TO OUT-ZIP.
-                 MOVE GEO-WA2-FN2-COMDIST-NUMBER TO OUT-CD.
-                 MOVE GEO-WA2-FN2-POL-PRECINCT   TO OUT-NYPD-PCT.
-                 MOVE GEO-WA2-FN2-SCHOOLDIST     TO OUT-SCHLDIST.
-            \* PROCESS CROSS STREET** CHECK FOR AT LEAST 1.
-                 WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 2 LINES.
-
-                 PERFORM CALL-D THRU CALL-D-EX
-                    VARYING I FROM 1 BY 1 UNTIL
-                        (I > GEO-WA2-FN2-NUM-OF-INTERSECTS).
-
-             S-F2-EX.
-                 EXIT.
-
-             CALL-D.
-
-            *******************************************************
-            \* TO GET STREET NAMES FOR INTERSECTING STREET CODES   *
-            \* MAKE A FUNCTION D CALL:                             *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES               *
-            \*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D        *
-            \*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN *
-            \*       STREET NAMES FORMATTED FOR DISPLAY            *
-            \*   (4) MOVE THE PACKED BORO AND STREET CODE TO       *
-            \*       WA1'S INPUT STREET CODE 1 FIELD               *
-            \*   (5) CALL GBI WITH 1 WORKAREA                      *
-            \*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS     *
-            *******************************************************
-                 MOVE SPACES TO WORK1.
-                 MOVE 'D ' TO GEO-WA1-IN-FUNCTION-CODE.
-                 MOVE 'C' TO GEO-WA1-IN-COMPACT-NAME-FLAG.
-                 MOVE '25' TO GEO-WA1-IN-SNL.
-                 MOVE GEO-WA2-FN2-INTERSECT-PBSC (I)
-                     TO GEO-WA1-IN-STREETCODE-1
-
-           CALL 'GBI' USING WORK1.
-
-                 IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                    MOVE 'D' TO ERR-FUNCTION WRN-FUNCTION
-                    PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-          IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                    (GEO-WA1-OUT-RETURN-CODE = 01)
-                    PERFORM SUCCESSFUL-FUNCD THRU S-FD-EX.
-
-             CALL-D-EX.
-                 EXIT.
-
-             SUCCESSFUL-FUNCD.
-
-                   MOVE GEO-WA1-OUT-STREET-1 TO OUT-ST
-                   IF I = 1
-                   WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 0 LINES
-                   ELSE
-                   WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 1 LINES.
-
-             S-FD-EX.
-                 EXIT.
-
-
-             PRINT-ERROR-LINE.
-                 MOVE GEO-WA1-OUT-RETURN-CODE TO ERR-GRC WRN-GRC.
-                 MOVE GEO-WA1-OUT-REASON-CODE TO ERR-REASON WRN-REASON.
-                 MOVE GEO-WA1-OUT-ERROR-MESSAGE TO OUT-ERR-MSG OUT-WRN-MSG.
-
-                 IF GEO-WA1-OUT-RETURN-CODE = 01
-            **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-                   WRITE RPT-LINE FROM RPT-WRN-LINE AFTER ADVANCING 2 LINES
-                 ELSE
-            **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-                   WRITE RPT-LINE FROM RPT-ERR-LINE AFTER ADVANCING 2 LINES.
-
-             P-E-EX.
-                 EXIT.
-      /*
-      //LKED.SYSIN DD *
-        INCLUDE INCLIB(GBI)
-      //LKED.INCLIB   DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //******************************************************************//
-      //*                                                                \*//
-      //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-      //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP      \*//
-      //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:         \*//
-      //*       A030.GEO.SUPPORT.PDSE.LOADLIB                            \*//
-      //*       A030.GEO.SUPPORT.LOADLIB                                 \*//
-      //*                                                                \*//
-      //******************************************************************//
-      //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-      //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //*
-      //******************************************************************//
-      //*                                                                \*//
-      //*  AS OF GEOSUPPPORT VERSION 10.0,                               \*//
-      //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD, ETC) \*//
-      //*  ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT IS TAILORED \*//
-      //*  TO USE STANDARD GEOSUPPORT DATA SET NAMES.                    \*//
-      //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.       \*//
-      /*                                                                \*//
-      //******************************************************************//
-      //*
-      //GO.SYSUDUMP DD SYSOUT=A,OUTLIM=3000
-      //GO.SYSOUT   DD SYSOUT=A
-      //GO.RPTFILE  DD SYSOUT=A
-      //GO.INFILE  DD *
-      1 CHAMBERS ST                      1 HUDSON ST
-      1 SIXTH AVE                        1 W. 8 ST
-      1 DUANE ST                         1 READE ST
-      /*
-      //
-
-

COBOL SAMPLE PROGRAM #2- Job Stream- COW

-
  //COBC2SRC JOB   YOUR-JOB-CARD-INFORMATION
-  //*
-  //********************************************************************
-  //***  COBOL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM #2  ****
-  //***                     COW FORMAT                              ****
-  //********************************************************************
-  //STEP1 EXEC   IGYWCLG,PARM.COBOL=(NOWORD,OPTIMIZE)
-  //COBOL.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-  //             DD DSN=A030.GEO.COPYLIB,DISP=SHR
-  //COBOL.SYSIN  DD *
-        *****************************************************************
-        * THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING *
-        * TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.  *
-        * FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.*
-        * FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-        * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-        *       NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE   *
-        *             ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET *
-        *             NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 2.     *
-        *****************************************************************
-        *
-         IDENTIFICATION DIVISION.
-           PROGRAM-ID. COBS1JOB.
-
-        ****************************************
-
-         ENVIRONMENT DIVISION.
-           INPUT-OUTPUT SECTION.
-           FILE-CONTROL.
-             SELECT IN-FILE ASSIGN TO INFILE.
-             SELECT RPT-FILE ASSIGN TO RPTFILE.
-
-        ****************************************
-
-         DATA DIVISION.
-           FILE SECTION.
-
-        **** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DEFINTION *****
-           FD  IN-FILE
-               RECORDING MODE IS F
-               RECORD CONTAINS 80 CHARACTERS
-               LABEL RECORDS ARE OMITTED.
-
-         01  INPUT-TO-GEOSUPPORT.
-             05  IN-BOR1             PIC X.
-             05  FILLER              PIC X.
-             05  IN-STREET1          PIC X(32).
-             05  FILLER              PIC X.
-             05  IN-BOR2             PIC X.
-             05  FILLER              PIC X.
-             05  IN-STREET2          PIC X(32).
-             05  FILLER              PIC X(11).
-
-           FD  RPT-FILE
-               RECORDING MODE IS F
-               RECORD CONTAINS 132 CHARACTERS
-               LABEL RECORDS ARE OMITTED.
-
-         01  RPT-LINE                PIC X(132).
-
-         WORKING-STORAGE SECTION.
-
-         77  I                       PIC 9 VALUE 0.
-
-        *****************************************************************
-        *** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE ***
-        *** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                  ***
-        *****************************************************************
-         01  WORK1.    COPY  P1COB.
-         01  WORK2.    COPY  P2COB.
-
-        **** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT    *********
-
-         01  RPT-DATA-LINE1.
-             05  OUT-BOR1            PIC X.
-             05  FILLER              PIC X         VALUE ' '.
-             05  OUT-ST1             PIC X(32).
-             05  FILLER              PIC X         VALUE ' '.
-             05  OUT-BOR2            PIC X.
-             05  FILLER              PIC X         VALUE ' '.
-             05  OUT-ST2             PIC X(32).
-             05  OUT-DETAIL.
-               10  FILLER            PIC X         VALUE ' '.
-               10  OUT-ZIP           PIC X(5).
-               10  FILLER            PIC X         VALUE ' '.
-               10  OUT-CD            PIC X(2).
-               10  FILLER            PIC X         VALUE ' '.
-               10  OUT-NYPD-PCT      PIC X(3).
-               10  FILLER            PIC X(6)      VALUE ' '.
-               10  OUT-SCHLDIST      PIC X(2).
-               10  FILLER            PIC X(42)     VALUE ' '.
-
-         01  RPT-DATA-LINE2.
-             05  FILLER              PIC X(96)     VALUE ' '.
-             05  OUT-ST              PIC X(32).
-             05  FILLER              PIC X(4) VALUE ' '.
-
-         01  RPT-ERR-LINE.
-             05  FILLER              PIC X(15) VALUE '***** FUNCTION '.
-             05  ERR-FUNCTION        PIC X.
-             05  FILLER              PIC X(7)  VALUE ' GRC = '.
-             05  ERR-GRC             PIC X(2).
-             05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-             05  ERR-REASON          PIC X.
-             05  FILLER              PIC X(2)  VALUE '. '.
-             05  OUT-ERR-MSG         PIC X(80).
-             05  FILLER              PIC X(9) VALUE ' '.
-
-         01  RPT-WRN-LINE.
-             05  FILLER              PIC X(15) VALUE '***** FUNCTION '.
-             05  WRN-FUNCTION        PIC X.
-             05  FILLER              PIC X(15) VALUE ' WARNING GRC = '.
-             05  WRN-GRC             PIC X(2).
-             05  FILLER              PIC X(15) VALUE ' REASON CODE = '.
-             05  WRN-REASON          PIC X.
-             05  FILLER              PIC X(2)  VALUE '. '.
-             05  OUT-WRN-MSG         PIC X(80).
-             05  FILLER              PIC X    VALUE ' '.
-
-         01  RPT-HEADER-1.
-             05  FILLER              PIC X(40)  VALUE
-             'SAMPLE COBOL PROGRAM #2 EXECUTION OUTPUT'.
-             05  FILLER              PIC X(72) VALUE ' '.
-
-         01  RPT-HEADER-2.
-             05  FILLER              PIC X(58)  VALUE
-             '*****----------------- INPUT INTERSECTION ----------------'.
-             05  FILLER              PIC X(58)  VALUE
-             '------***** *****------------ SELECTED OUTPUT ITEMS ------'.
-             05  FILLER              PIC X(16)  VALUE
-             '-------*****'.
-
-         01  RPT-HEADER-3.
-             05  FILLER              PIC X(58)  VALUE
-             'B IN-STREET-NAME-1                 B IN-STREET-NAME-2     '.
-             05  FILLER              PIC X(58)  VALUE
-             '              ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET '.
-             05  FILLER              PIC X(16)  VALUE
-             'NAMES           '.
-
-         01  RPT-HEADER-4.
-             05  FILLER              PIC X(58)  VALUE
-             '_ ________________________________ _ _____________________'.
-             05  FILLER              PIC X(58)  VALUE
-             '___________ _____ __ ________ _______ ____________________'.
-             05  FILLER              PIC X(16)  VALUE
-             '____________    '.
-
-         01  FLAGS.
-             05 DATA-FLAG    PIC XXX   VALUE 'YES'.
-               88 MORE-DATA            VALUE 'YES'.
-               88 NO-DATA              VALUE 'NO '.
-
-        ****************************************
-
-         PROCEDURE DIVISION.
-
-             OPEN INPUT IN-FILE, OUTPUT RPT-FILE.
-             WRITE RPT-LINE FROM RPT-HEADER-1 AFTER ADVANCING 1 LINES.
-             WRITE RPT-LINE FROM RPT-HEADER-2 AFTER ADVANCING 2 LINES.
-             WRITE RPT-LINE FROM RPT-HEADER-3 AFTER ADVANCING 2 LINES.
-             WRITE RPT-LINE FROM RPT-HEADER-4 AFTER ADVANCING 0 LINES.
-             READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-             PERFORM PROCESS THRU PROCESS-EX
-                 UNTIL NO-DATA.
-             CLOSE IN-FILE, RPT-FILE.
-             MOVE 0 TO RETURN-CODE
-             STOP RUN.
-
-         PROCESS.
-
-
-
-
-        ******************************************************************
-        * TO MAKE A FUNCTION 2 CALL:                                     *
-        *   (1) INITIALIZE WORKAREA 1 TO SPACES                          *
-        *   (2) SET WA1'S FUNCTION-CODE TO 2                             *
-        *   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)    *
-        *       TO USE CHARACTER-ONLY WORK AREAS (COWS)                  *
-        *   (4) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   *
-        *   (5) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     *
-        *       FIELD                                                    *
-        *   (6) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD *
-        *   (7) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   *
-        *       FIELD                                                    *
-        *   (8) CALL GBI WITH 2 WORKAREAS                                *
-        *   (9) CHECK RETURN CODES FOR ERRORS OR WARNINGS                *
-        ******************************************************************
-             MOVE SPACES TO WORK1.
-             MOVE '2 ' TO PIWA1-IN-FUNC-CODE.
-             MOVE 'C' TO GEO-WA1-IN-NON-IBM-MAIN-FRAME.
-             MOVE IN-BOR1 TO GEO-WA1-IN-BORO   OUT-BOR1.
-             MOVE IN-BOR2 TO GEO-WA1-IN-BORO-2 OUT-BOR2.
-             MOVE IN-STREET1 TO GEO-WA1-IN-STREET-1 OUT-ST1.
-             MOVE IN-STREET2 TO GEO-WA1-IN-STREET-2 OUT-ST2.
-             CALL 'GBI' USING WORK1 WORK2.
-
-             IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                MOVE '2' TO ERR-FUNCTION WRN-FUNCTION
-                PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-             IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-               (GEO-WA1-OUT-RETURN-CODE = 01)
-                PERFORM SUCCESSFUL-FUNC2 THRU S-F2-EX
-             ELSE
-               MOVE SPACES TO OUT-DETAIL
-               WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 1 LINES.
-
-             READ IN-FILE AT END MOVE 'NO ' TO DATA-FLAG.
-
-         PROCESS-EX.
-             EXIT.
-
-         SUCCESSFUL-FUNC2.
-
-        ***********************************************************
-        ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********
-        ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****
-        ***********************************************************
-             MOVE GEO-WA2-FN2-ZIP            TO OUT-ZIP.
-             MOVE GEO-WA2-FN2-COMDIST-NUMBER TO OUT-CD.
-             MOVE GEO-WA2-FN2-POL-PRECINCT   TO OUT-NYPD-PCT.
-             MOVE GEO-WA2-FN2-SCHOOLDIST     TO OUT-SCHLDIST.
-        * PROCESS CROSS STREET** CHECK FOR AT LEAST 1.
-             WRITE RPT-LINE FROM RPT-DATA-LINE1 AFTER ADVANCING 2 LINES.
-
-             PERFORM CALL-D THRU CALL-D-EX
-                VARYING I FROM 1 BY 1 UNTIL
-                    (I > GEO-WA2-FN2-NUM-OF-INTERSECTS).
-
-         S-F2-EX.
-             EXIT.
-
-         CALL-D.
-
-        *****************************************************************
-        * TO GET STREET NAMES FOR INTERSECTING STREET CODES             *
-        * MAKE A FUNCTION D CALL:                                       *
-        *   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-        *   (2) SET THE WA1'S FUNCTION CODE FIELD TO D                  *
-        *   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)   *
-        *       TO USE CHARACTER-ONLY WORK AREAS (COWS)                 *
-        *   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN           *
-        *       STREET NAMES FORMATTED FOR DISPLAY                      *
-        *   (5) MOVE THE BORO AND STREET CODE                           *
-        *       WA1'S INPUT STREET CODE 1 FIELD                         *
-        *   (6) CALL GBI WITH 1 WORKAREA                                *
-        *   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-        *****************************************************************
-             MOVE SPACES TO WORK1.
-      MOVE 'D ' TO PIWA1-IN-FUNC-CODE.
-             MOVE 'C' TO GEO-WA1-IN-NON-IBM-MAIN-FRAME.
-             MOVE 'C' TO GEO-WA1-IN-COMPACT-NAME-FLAG.
-             MOVE '25' TO GEO-WA1-IN-SNL.
-             MOVE PIWA2-FN2-INTERSECT-B5SC (I)
-                 TO GEO-WA1-IN-10SC-1
-             CALL 'GBI' USING WORK1.
-
-             IF GEO-WA1-OUT-RETURN-CODE NOT = 00
-                MOVE 'D' TO ERR-FUNCTION WRN-FUNCTION
-                PERFORM PRINT-ERROR-LINE THRU P-E-EX.
-
-             IF (GEO-WA1-OUT-RETURN-CODE = 00) OR
-                (GEO-WA1-OUT-RETURN-CODE = 01)
-                PERFORM SUCCESSFUL-FUNCD THRU S-FD-EX.
-
-         CALL-D-EX.
-             EXIT.
-
-         SUCCESSFUL-FUNCD.
-
-               MOVE GEO-WA1-OUT-STREET-1 TO OUT-ST
-               IF I = 1
-               WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 0 LINES
-               ELSE
-               WRITE RPT-LINE FROM RPT-DATA-LINE2 AFTER ADVANCING 1 LINES.
-
-         S-FD-EX.
-             EXIT.
-
-
-         PRINT-ERROR-LINE.
-             MOVE GEO-WA1-OUT-RETURN-CODE TO ERR-GRC WRN-GRC.
-             MOVE GEO-WA1-OUT-REASON-CODE TO ERR-REASON WRN-REASON.
-             MOVE GEO-WA1-OUT-ERROR-MESSAGE TO OUT-ERR-MSG OUT-WRN-MSG.
-
-             IF GEO-WA1-OUT-RETURN-CODE = 01
-        **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-               WRITE RPT-LINE FROM RPT-WRN-LINE AFTER ADVANCING 2 LINES
-             ELSE
-        **** INSERT YOUR OWN WARNING ROUTINE HERE  ****
-               WRITE RPT-LINE FROM RPT-ERR-LINE AFTER ADVANCING 2 LINES.
-
-         P-E-EX.
-             EXIT.
-  /*
-  //LKED.SYSIN DD *
-    INCLUDE INCLIB(GBI)
-  //LKED.INCLIB   DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-  //******************************************************************//
-  //*                                                                *//
-  //*  AS OF GEOSUPPPORT VERSION 10.0,                               *//
-  //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP      *//
-  //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:         *//
-  //*       A030.GEO.SUPPORT.PDSE.LOADLIB                            *//
-  //*       A030.GEO.SUPPORT.LOADLIB                                 *//
-  //*                                                                *//
-  //******************************************************************//
-  //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-  //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-  //*
-  //******************************************************************//
-  //*                                                                *//
-  //*  AS OF GEOSUPPPORT VERSION 10.0,                               *//
-  //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD, ETC) *//
-  //*  ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT IS TAILORED *//
-  //*  TO USE STANDARD GEOSUPPORT DATA SET NAMES.                    *//
-  //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.       *//
-  //*                                                                *//
-  //******************************************************************//
-  //*
-  //GO.SYSUDUMP DD SYSOUT=A,OUTLIM=3000
-  //GO.SYSOUT   DD SYSOUT=A
-  //GO.RPTFILE  DD SYSOUT=A
-  //GO.INFILE  DD *
-  1 CHAMBERS ST                      1 HUDSON ST
-  1 SIXTH AVE                        1 W. 8 ST
-
-  1 DUANE ST                         1 READE ST
-  /*
-  //
-
-

SAMPLE COBOL PROGRAM #2 EXECUTION OUTPUT

-
        *****----------------- INPUT INTERSECTION ----------------------***** *****------------ SELECTED OUTPUT ITEMS ---*****
-
-         B IN-STREET-NAME-1                 B IN-STREET-NAME-2                   ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NM
-         - -------------------------------- - -------------------------------- ----- -- -------- ------- ----------------------
-
-         1 CHAMBERS ST                      1 HUDSON ST                        10007 01 001      02      CHAMBERS STREET
-                                                                                                         HUDSON STREET
-                                                                                                         WEST BROADWAY
-
-         1 SIXTH AVE                        1 W. 8 ST                          10014 02 006      02      6 AVENUE
-                                                                                                         GREENWICH AVENUE
-                                                                                                         WEST 8 STREET
-
-         ***** FUNCTION 2 GRC = 62 REASON CODE =  . READE STREET & DUANE STREET DO NOT INTERSECT
-         1 DUANE ST                         1 READE ST
-
-

ASSEMBLER SAMPLE PROGRAM #1

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

ASSEMBLER SAMPLE PROGRAM #1 –Job Stream-MSW

-
                //ASMF1SRC JOB   YOUR-JOB-CARD-INFORMATION
-                //*
-                //********************************************************************
-                //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1 **
-                //**                         MSW FORMAT                             **
-                //********************************************************************
-                //STEP1  EXEC  ASMACLG,
-                //         PARM.ASM='OBJECT,NODECK',
-                //         PARM.LKED='XREF,LET,LIST,NCAL'
-                //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-                //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-                //           DD DSN=SYS1.MACLIB,DISP=SHR
-                //ASM.SYSIN  DD *
-                ASMF1SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 1 - MSW FORMAT'
-                ASMF1SRC CSECT
-                *****************************************************************
-                \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-                \* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-                \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-                \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-                \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
-                \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         *
-                \*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET NAMES *
-                \*       WOULD HAVE BEEN RETURNED BY FUNCTION 1.                 *
-                *****************************************************************
-                *
-                ***********************************************************************
-                \*                                                                     *
-                \*  This program will do the following:                                *
-                \*                                                                     *
-                \*     * Read an instream record containing a house number,            *
-                \*       street name, and borough code                                 *
-                \*                                                                     *
-                \*     * Build Work Area 1 for a Function 1 call                       *
-                \*                                                                     *
-                \*     * Call Function 1                                               *
-                \*                                                                     *
-                \*     * Get ZIP code, community district, police precinct, school     *
-                \*       district, and lists of street codes of streets intersecting   *
-                \*       at the low and high ends of the input street address's block. *
-                \*       These will be displayed along with the input address which    *
-                \*       consists of borough code, house number, and street name.      *
-                \*                                                                     *
-                \*     * Call Function D to get the street names of the first          *
-                \*       intersecting street on both low and high ends.                *
-                \*                                                                     *
-                \*     * Print the information                                         *
-                \*                                                                     *
-                \* NOTE that after each Geosupport call, the Return Code is checked.   *
-                \*      If it is greater than 01, an error message is printed, and     *
-                \*      the next input record, if any, is read.                        *
-                \*      If it is 01, a warning message is printed, the input record is *
-                \*      processed, and the next record is read.                        *
-                \*      If it is zero, the input record is processed, and the next     *
-                \*      record is read.                                                *
-                \*                                                                     *
-                ***********************************************************************
-                         SPACE
-                  STM   R14,R12,12(R13)   Save caller's registers
-                         LR    R3,R15
-                         LA    R12,4095(,R3)     (second base register
-                         LA    R12,1(,R12)        to accomodate Work Areas 1 and 2)
-                   USING ASMF1SRC,R3,R12
-                \* Chain save areas
-                         LA    R4,MYSAVE
-                         ST    R13,4(,R4)    Save caller's savearea address
-                         ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                         LR    R13,R4        Ensure that R13 points to pgm's savearea
-                         SPACE 2
-                         XR    R15,R15                 (set OS return code to zero)
-                \* Open input and output files
-                         OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                         TM    INFILE+48,X'10'   Did input file open successfully?
-                         BNO   INOPNERR             (no..)
-                         TM    OUTFILE+48,X'10'  Did output file open successfully?
-                         BNO   OUTOPNER             (no..)
-                \* Print page and report header lines
-                         SPACE
-                         PUT   OUTFILE,HDR1
-                         PUT   OUTFILE,HDR2
-                         PUT   OUTFILE,HDR3
-                         PUT   OUTFILE,HDR4
-                         B     NEXTREC
-                         SPACE 2
-                         TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 1 CALL'
-                \* Read (next) input record
-                NEXTREC  DS    0H
-                         GET   INFILE,INREC
-                \* Move input data to output record for display
-                         MVC   DBORO,INBORO                   borough code
-                         MVC   DHSE(L'W1IHSE#),INHOUSE        house number
-                         MVC   DSTRT,INSTREET                 street name
-                         SPACE
-                *****************************************************************
-                \* TO MAKE A FUNCTION 1 CALL:                                    *
-                \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-                \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-                \*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-                \*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-                \*       FIELD                                                   *
-                \*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-                \*   (6) CALL GBI WITH 2 WORKAREAS                               *
-                \*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-                *****************************************************************
-                 \* Clear WA1 to blanks
-                         LA    R8,W1BAL    "To" address for MVCL
-                         LA    R9,W1LENGTH     "To" length
-                         XR    R11,R11       for blanking out std WA1,
-                         ICM   R11,B'1000',=C' '  rather than moving data
-                \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-                \* pad the target area with the pad character of the "from" register
-                \* and do nothing else (the "from" address register is not used).
-                         MVCL  R8,R10
-                         SPACE
-                \* Prime Work Area 1 for Function 1 call
-
-                         MVC   W1IFUNC,=CL2'1 '              Get function code
-                         MVC   W1IBORO1,INBORO                   borough code
-                         MVC   W1IHSE#(L'W1IHSE#),INHOUSE        house number
-                         MVC   W1ISTRT1,INSTREET                 street name
-                         MVC   W1ISNL(L'W1ISNL),=C'25'    Normalized street name length
-
-                ** * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-                \*                                                                     *
-                \*        As of Geosupport Version 10.1,                               *
-                \*        to receive roadbed-specific information,                     *
-                \*        set the Roadbed Request Switch to 'R', as follows:           *
-                \*        MVC   W1IRBRQS,C'R'                                          *
-                \*                                                                     *
-                \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-                *
-                \* Call Function 1 (2-Work-Area call)
-                         CALL  GBI,(W1BAL,W2BAL),VL
-                \* Check Return code
-                         CLC   W1ORC(2),=C'00'         Good return?
-                         BE    PROCESS                     Yes, process returned data
-                \* Handle errors and warnings
-                ERREXIT  DS    0H
-                         CLC   W1ORC(2),=C'01'         Warning condition?
-                         BE    PUTWARN                    Yes, process warning
-                \*                                              and then process input;
-                \*                                         otherwise, process error
-                         MVC   ERINPUT,DSPLYIN    Boro code, hse no., street name
-                         MVC   ERFUNC,W1IFUNC              function code
-                         MVC   ERRET(L'W1ORC),W1ORC        return code
-                         MVC   ERREAS(L'W1OREASN),W1OREASN reason code
-                         PUT   OUTFILE,ERR1            Print error messages 1
-                         B     PUTMSG                                   and 2
-                PUTWARN  DS    0H
-                         MVC   WRINPUT,DSPLYIN    Boro code, hse no., street name
-                         MVC   WRFUNC,W1IFUNC              function code
-                         MVC   WRRET(L'W1ORC),W1ORC        return code
-                         MVC   WRREAS(L'W1OREASN),W1OREASN reason code
-                         PUT   OUTFILE,WRN1            Print warning messages 1
-                PUTMSG   DS    0H                                         and 2
-                         MVC   ERRWRN(L'W1OERROR),W1OERROR
-                         PUT   OUTFILE,ERRWRN2         Print error/warning message 2
-                         CLC   W1ORC(2),=C'01'         Warning condition?
-                         BNE   NEXTREC                  No, get next record, if any
-                         MVI   OINPUT,C' '              Yes,
-                         MVC   OINPUT+1(L'OINPUT-1),OINPUT  ensure input NOT displayd
-                         MVI   OUTVALID,C' '     ensure single-spacing after warning
-                         B     GETZIP            and continue normal processing
-                         SPACE
-                \* Handle successful Geosupport calls (Return Code <= 01)
-                PROCESS  DS    0H
-                         MVC   OINPUT,DSPLYIN    Boro code, hse no., street name
-                         MVI   OUTVALID,C'0'     Ensure double-spacing
-                GETZIP   DS    0H
-                         MVC   OZIP,W2F1ZIP      ZIP code
-                         MVC   OCOMM,W2F1CDN     community district number
-                         MVC   OPCT,W2F1POP      police precinct
-                         MVC   OSCHL,W2F1SCH     school district
-                ASSEMBLER SAMPLE PROGRAM #1- Job stream- MSW (continue
-
-
-                ***** At this point, clear WA1 again, call Function D, and move ******
-                ***** its reported Low and High Instersecting Street Names to output *
-                         TITLE 'GET LOW, HIGH INTERSECTING STREETS, USING FUNCTION D'
-                         SPACE 2
-                *************************************************************
-                \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND   *
-                \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE     *
-                \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS      *
-                \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:  *
-                \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-                \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                  *
-                \*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED       *
-                \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE      *
-                \*              HAS SPACE FOR ONLY 25 CHARACTERS)            *
-                \*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-                \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-                \*   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET     *
-                \*       CODE 1 FIELD                                        *
-                \*   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET    *
-                \*       CODE 2 FIELD                                        *
-                \*   (7) CALL GBI WITH 1 WORKAREA                            *
-                \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-                *************************************************************
-                         SPACE
-                \* Clear WA1 to blanks
-                         LA    R8,W1BAL    "To" address for MVCL
-                         LA    R9,W1LENGTH     "To" length
-                         XR    R11,R11       for blanking out std WA1,
-                         ICM   R11,B'1000',=C' '  rather than moving data
-                \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-                \* pad the target area with the pad character of the "from" register
-                \* and do nothing else (the "from" address register is not used).
-                         MVCL  R8,R10
-                         MVC   W1ICDE1,W2F1CDEL
-                         MVC   W1ICDE2,W2F1CDEH
-                         MVC   W1IFUNC(2),=CL2'D '
-                   MVC   W1ISNL(L'W1ISNL),=C'25'    normalized street name length
-                         MVI   W1ICMPCT,C'C'              streets to be compacted
-                         CALL  GBI,W1BAL,VL   Call Function D
-                \* Check Return code
-                         CLC   W1ORC(2),=C'00'         Good return?
-                         BNE   ERREXIT                     No, error or warning
-                \*                                          Yes, complete the record
-                \*                                               and write it out
-                PUTREC   DS    0H
-                         MVC   OLOSTRT,W1OSTRT1
-                         MVC   OHISTRT,W1OSTRT2
-                \* Print an output record and get the next input record, if any
-                         PUT   OUTFILE,OUTVALID
-                         B     NEXTREC
-                EXIT     DS    0H
-                OUTOPNER DS    0H
-                         CLOSE (INFILE)
-                         TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                         BNO   INOPNERR              No, bypass closing it
-                         CLOSE (OUTFILE)
-                ASSEMBLER SAMPLE PROGRAM #1- Job stream- MSW (continue)
-
-                INOPNERR DS    0H
-                         L     R13,4(,R13)
-                         L     R14,12(,R13)
-                         LM    R0,R12,20(R13)
-                         BR    R14
-                         SPACE 2
-                PARAMERR DS    0H       parameter error, missing or invalid
-                         LA    R15,8    rc=8
-                         B     EXIT
-                         TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-                R0       EQU   0
-                R1       EQU   1
-                R2       EQU   2
-                R3       EQU   3
-                R4       EQU   4
-                R5       EQU   5
-                R6       EQU   6
-                R7       EQU   7
-                R8       EQU   8
-                R9       EQU   9
-                R10      EQU   10
-                R11      EQU   11
-                R12      EQU   12
-                R13      EQU   13
-                R14      EQU   14
-                R15      EQU   15
-                         TITLE 'FILE AND RECORD DEFINITIONS'
-                         PUSH  PRINT
-                         PRINT NOGEN
-                INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                               RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                         SPACE
-                OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                               RECFM=FBA,LRECL=133,BLKSIZE=1330
-                *
-                         POP PRINT
-                         SPACE
-                INREC    DS    0CL80              Input record
-                INBORO   DS    CL1                    Borough code
-                INHOUSE  DS    CL12                   House number
-                INSTREET DS    CL32                   Street name
-                         DC    35C' '                 filler
-                         SPACE
-                \* Output records: error, warning, and normal
-                ERR1     DS    0CL133
-                         DC    C'0'
-                ERINPUT  DS    CL48
-                         DC    C'*** FUNCTION '
-                ERFUNC   DS    CL2
-                         DC    C' GRC = '
-                ERRET    DS    CL2
-                         DC    C' REASON CODE = '
-                ERREAS   DS    CL1
-                         DC    CL(133-89)' '
-                         SPACE
-                WRN1     DS    0CL133
-                         DC    C'0'
-                WRINPUT  DS    CL48
-                         DC    C'*** FUNCTION '
-                WRFUNC   DS    CL2
-                         DC    C' WARNING, GRC = '
-                WRRET    DS    CL2
-                         DC    C' REASON CODE = '
-                WRREAS   DS    CL1
-                         DC    CL(133-98)' '
-                         SPACE
-                ERRWRN2  DS    0CL133
-                         DC    C' '
-                         DC    48C' '          Boro Code, House Number, Street Name
-                         DC    CL4'*** '
-                ERRWRN   DS    CL80            Error/Warning message
-                         SPACE
-                HDR1     DC    CL133'1SAMPLE ASSEMBLER \#1 EXECUTION OUTPUT             *
-                                  '
-                HDR2     DC    CL133'0*****---------- INPUT ADDRESS ------------***** \*C
-                               ****--------------------- SELECTED OUTPUT ITEMS --------C
-                        ----------------------*****'
-                HDR3     DC    CL133'0B HOUSE NUMBER IN-STREET-NAME                    *
-                                ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH *
-                               CROSS STREET               '
-                HDR4     DC    CL133' - ------------ -------------------------------- -*
-                               ---- -- -------- ------- ------------------------- -----*
-                               ---------------------------'
-                OUTVALID DS    0CL133
-                \* Borough code, house number, and street name are from input record
-                         DC    C'0'
-                OINPUT   DS    CL48
-                OZIP     DS    CL5
-                         DC    C' '
-                OCOMM    DS    CL2
-                         DC    C' '
-                OPCT     DS    CL3
-                         DC    6C' '
-                OSCHL    DS    CL2
-                         DC    6C' '
-                OLOSTRT  DS    CL25  Normalized name of intersecting street at low end
-                         DC    C' '
-                OHISTRT  DS    CL25  Normalized name of intersecting street at high end
-                         DC    7C' '
-                         TITLE 'WORKING VARIABLES, VALUES, ETC.'
-                MYSAVE   DC    18F'0'
-                ***********************************************************************
-                ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-                ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-                ***********************************************************************
-                         COPY  W1BAL              COPY WORK AREA 1
-                         EJECT
-                         COPY  W2BAL              COPY WORK AREA 2
-                         EJECT
-                         SPACE 2
-                DSPLYIN  DS    0CL48
-                DBORO    DS    CL1
-                         DC    C' '
-                DHSE     DS    CL12
-                         DC    C' '
-                DSTRT    DS    CL32
-                  DC    C' '
-                         SPACE 2
-                         TITLE 'CONSTANTS AND LITERAL POOL'
-                         SPACE 2
-                         LTORG
-                         END   ASMF1SRC
-                //LKED.SYSIN  DD  *
-                 INCLUDE INCLIB(GBI)
-                /*
-                //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-                //*                                                             \*//
-                //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-                //*                                                             \*//
-                //*  AS OF GEOSUPPORT VERSION 10.0,                             \*//
-                //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP   \*//
-                //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:      \*//
-                //*       A030.GEO.SUPPORT.PDSE.LOADLIB                         \*//
-                //*       A030.GEO.SUPPORT.LOADLIB                              \*//
-                //*                                                             \*//
-                //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-                //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-                //*           DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-                //*
-                //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-                //*                                                             \*//
-                //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-                //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-                //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-                //*   IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.    \*//
-                //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER    \*//
-                //*                                                             \*//
-                //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-                //*
-                //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-                //SYSPRINT DD  SYSOUT=*
-                //INFILE   DD  *
-                122          READE ST
-                1500         DUANE ST
-                12-4         BROADWAY
-                4165-100     BAISLEY BLVD
-                4165-1000    BAISLEY BLVD
-                /*
-                //
-
-

ASSEMBLER SAMPLE PROGRAM #1 –Job Stream-MSW

-
          //ASMC1SRC JOB   YOUR-JOB-CARD-INFORMATION
-          //*
-          //********************************************************************
-          //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1 **
-          //**                         COW FORMAT                             **
-          //********************************************************************
-          //STEP1  EXEC  ASMACLG,
-          //         PARM.ASM='OBJECT,NODECK',
-          //         PARM.LKED='XREF,LET,LIST,NCAL'
-          //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-          //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-          //           DD DSN=SYS1.MACLIB,DISP=SHR
-          //ASM.SYSIN  DD *
-          ASMC1SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 1 - COW FORMAT'
-          ASMC1SRC CSECT
-          *****************************************************************
-          \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-          \* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-          \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-          \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-          \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
-          \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         *
-          \*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET NAMES *
-          \*       WOULD HAVE BEEN RETURNED BY FUNCTION 1.                 *
-          *****************************************************************
-          *
-          ***********************************************************************
-          \*                                                                     *
-          \*  This program will do the following:                                *
-          \*                                                                     *
-          \*     * Read an instream record containing a house number,            *
-          \*       street name, and borough code                                 *
-          \*                                                                     *
-          \*     * Build Work Area 1 for a Function 1 call                       *
-          \*                                                                     *
-          \*     * Call Function 1                                               *
-          \*                                                                     *
-          \*     * Get ZIP code, community district, police precinct, school     *
-          \*       district, and lists of street codes of streets intersecting   *
-          \*       at the low and high ends of the input street address's block. *
-          \*       These will be displayed along with the input address which    *
-          \*       consists of borough code, house number, and street name.      *
-          \*                                                                     *
-          \*     * Call Function D to get the street names of the first          *
-          \*       intersecting street on both low and high ends.                *
-          \*                                                                     *
-          \*     * Print the information                                         *
-          \*                                                                     *
-          \* NOTE that after each Geosupport call, the Return Code is checked.   *
-          \*      If it is greater than 01, an error message is printed, and     *
-          \*      the next input record, if any, is read.                        *
-          \*      If it is 01, a warning message is printed, the input record is *
-          \*      processed, and the next record is read.                        *
-          \*      If it is zero, the input record is processed, and the next     *
-          \*      record is read.                                                *
-          \*                                                                     *
-          ***********************************************************************
-                   SPACE
-                   STM   R14,R12,12(R13)   Save caller's registers
-                   LR    R3,R15
-                   LA    R12,4095(,R3)     (second base register
-                   LA    R12,1(,R12)        to accomodate Work Areas 1 and 2)
-                   USING ASMC1SRC,R3,R12
-          \* Chain save areas
-                   LA    R4,MYSAVE
-                   ST    R13,4(,R4)    Save caller's savearea address
-                   ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                   LR    R13,R4        Ensure that R13 points to pgm's savearea
-                   SPACE 2
-                   XR    R15,R15                 (set OS return code to zero)
-          \* Open input and output files
-                   OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                   TM    INFILE+48,X'10'   Did input file open successfully?
-                   BNO   INOPNERR             (no..)
-                   TM    OUTFILE+48,X'10'  Did output file open successfully?
-                   BNO   OUTOPNER             (no..)
-          \* Print page and report header lines
-                   SPACE
-                   PUT   OUTFILE,HDR1
-                   PUT   OUTFILE,HDR2
-                   PUT   OUTFILE,HDR3
-                   PUT   OUTFILE,HDR4
-                   B     NEXTREC
-                   SPACE 2
-                   TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 1 CALL'
-          \* Read (next) input record
-          NEXTREC  DS    0H
-                   GET   INFILE,INREC
-          \* Move input data to output record for display
-                   MVC   DBORO,INBORO                   borough code
-                   MVC   DHSE(L'INHOUSE),INHOUSE        house number
-                   MVC   DSTRT,INSTREET                 street name
-                   SPACE
-          *****************************************************************
-          \* TO MAKE A FUNCTION 1 CALL:                                    *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-          \*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-          \*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-          \*       FIELD                                                   *
-          \*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-          \*   (6) CALL GBI WITH 2 WORKAREAS                               *
-          \*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-          *****************************************************************
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          \* and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   SPACE
-          \* Prime Work Area 1 for Function 1 call
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-                   MVC   P1IFUNC,=CL2'1 '              Get function code
-                   MVC   P1IBORO1,INBORO                   borough code
-          *
-          \* Note COW - MSW: Display House # - P1IHSE# is a 16-byte field
-          \*                                   W1IHSE# is a 12-byte field
-          *
-                   MVC   P1IHSE#(L'INHOUSE),INHOUSE        house number
-                   MVC   P1ISTRT1,INSTREET                 street name
-          *
-
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          \*                                                                     *
-          \*        As of Geosupport Version 10.1,                               *
-          \*        to receive roadbed-specific information,                     *
-          \*        set the Roadbed Request Switch to 'R', as follows:           *
-          \*        MVC   P1IRBRQS,C'R'                                          *
-          \*                                                                     *
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          *
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    Normalized street name length
-          \* Call Function 1 (2-Work-Area call)
-                   CALL  GBI,(P1BAL,P2BAL),VL
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BE    PROCESS                     Yes, process returned data
-          \* Handle errors and warnings
-          ERREXIT  DS    0H
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BE    PUTWARN                    Yes, process warning
-          \*                                              and then process input;
-          \*                                         otherwise, process error
-                   MVC   ERINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   ERFUNC,P1IFUNC              function code
-                   MVC   ERRET(L'P1ORC),P1ORC        return code
-                   MVC   ERREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,ERR1            Print error messages 1
-                   B     PUTMSG                                   and 2
-          PUTWARN  DS    0H
-                   MVC   WRINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   WRFUNC,P1IFUNC              function code
-                   MVC   WRRET(L'P1ORC),P1ORC        return code
-            MVC   WRREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,WRN1            Print warning messages 1
-          PUTMSG   DS    0H                                         and 2
-                   MVC   ERRWRN(L'P1OERROR),P1OERROR
-                   PUT   OUTFILE,ERRWRN2         Print error/warning message 2
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BNE   NEXTREC                  No, get next record, if any
-                   MVI   OINPUT,C' '              Yes,
-                   MVC   OINPUT+1(L'OINPUT-1),OINPUT  ensure input NOT displayd
-                   MVI   OUTVALID,C' '     ensure single-spacing after warning
-                   B     GETZIP            and continue normal processing
-                   SPACE
-          \* Handle successful Geosupport calls (Return Code <= 01)
-          PROCESS  DS    0H
-                   MVC   OINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVI   OUTVALID,C'0'     Ensure double-spacing
-          GETZIP   DS    0H
-                   MVC   OZIP,P2F1ZIP      ZIP code
-                   MVC   OCOMM,P2F1CDN     community district number
-                   MVC   OPCT,P2F1POP      police precinct
-                   MVC   OSCHL,P2F1SCH     school district
-          ***** At this point, clear WA1 again, call Function D, and move ******
-          ***** its reported Low and High Intersecting Street Names to output *
-                   TITLE 'GET LOW, HIGH INTERSECTING STREETS, USING FUNCTION D'
-                   SPACE 2
-          *************************************************************
-          \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND   *
-          \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE     *
-          \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS      *
-          \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:  *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                  *
-          \*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED       *
-          \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE      *
-          \*              HAS SPACE FOR ONLY 25 CHARACTERS)            *
-          \*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-          \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-          \*   (5) MOVE WA2'S LOW B5SC FIELD TO WA1'S INPUT STREET     *
-          \*       CODE 1 FIELD                                        *
-          \*   (6) MOVE WA2'S HIGH B5SC FIELD TO WA1'S INPUT STREET    *
-          \*       CODE 2 FIELD                                        *
-          \*   (7) CALL GBI WITH 1 WORKAREA                            *
-          \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-          *************************************************************
-                   SPACE
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-          *
-          \* Note  COW - MSW: P1ICDEx is the 10-digit street code (no boro)
-          \*                  P1IBCDx is the Boro and 10-digit street code
-          \*                  W1ICDEx is the packed Boro and 5-digit street code
-          \*                  P2F1CDEx is Boro and 5-digit street code list
-          \*                  W2F1CDEx is packed Boro and 5-digit street code list
-          *
-                   MVC   P1IBCD1(6),P2F1CDEL
-                   MVC   P1IBCD2(6),P2F1CDEH
-                   MVC   P1IFUNC(2),=CL2'D '
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    normalized street name length
-                   MVI   P1ICMPCT,C'C'              streets to be compacted
-                   CALL  GBI,P1BAL,VL   Call Function D
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BNE   ERREXIT                     No, error or warning
-          \*                                          Yes, complete the record
-          \*                                               and write it out
-          PUTREC   DS    0H
-                   MVC   OLOSTRT,P1OSTRT1
-                   MVC   OHISTRT,P1OSTRT2
-          \* Print an output record and get the next input record, if any
-                   PUT   OUTFILE,OUTVALID
-                   B     NEXTREC
-          EXIT     DS    0H
-          OUTOPNER DS    0H
-                   CLOSE (INFILE)
-                   TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                   BNO   INOPNERR              No, bypass closing it
-                   CLOSE (OUTFILE)
-          INOPNERR DS    0H
-                   L     R13,4(,R13)
-                   L     R14,12(,R13)
-                   LM    R0,R12,20(R13)
-                   BR    R14
-                   SPACE 2
-          PARAMERR DS    0H       parameter error, missing or invalid
-                   LA    R15,8    rc=8
-                   B     EXIT
-                   TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-          R0       EQU   0
-          R1       EQU   1
-          R2       EQU   2
-          R3       EQU   3
-          R4       EQU   4
-          R5       EQU   5
-          R6       EQU   6
-          R7       EQU   7
-          R8       EQU   8
-          R9       EQU   9
-          R10      EQU   10
-          R11      EQU   11
-          R12      EQU   12
-          R13      EQU   13
-          R14      EQU   14
-          R15      EQU   15
-                   TITLE 'FILE AND RECORD DEFINITIONS'
-                   PUSH  PRINT
-                   PRINT NOGEN
-          INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                         RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                   SPACE
-          OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                         RECFM=FBA,LRECL=133,BLKSIZE=1330
-          *
-                   POP PRINT
-                   SPACE
-          INREC    DS    0CL80              Input record
-          INBORO   DS    CL1                    Borough code
-          INHOUSE  DS    CL12                   House number
-          INSTREET DS    CL32                   Street name
-                   DC    35C' '                 filler
-                   SPACE
-          \* Output records: error, warning, and normal
-          ERR1     DS    0CL133
-                   DC    C'0'
-          ERINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          ERFUNC   DS    CL2
-                   DC    C' GRC = '
-          ERRET    DS    CL2
-                   DC    C' REASON CODE = '
-          ERREAS   DS    CL1
-                   DC    CL(133-89)' '
-                   SPACE
-          WRN1     DS    0CL133
-                   DC    C'0'
-          WRINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          WRFUNC   DS    CL2
-                   DC    C' WARNING, GRC = '
-          WRRET    DS    CL2
-                   DC    C' REASON CODE = '
-          WRREAS   DS    CL1
-                   DC    CL(133-98)' '
-                   SPACE
-          ERRWRN2  DS    0CL133
-                   DC    C' '
-                   DC    48C' '          Boro Code, House Number, Street Name
-                   DC    CL4'*** '
-          ERRWRN   DS    CL80            Error/Warning message
-                   SPACE
-          HDR1     DC    CL133'1SAMPLE ASSEMBLER \#1 EXECUTION OUTPUT             *
-                                                    '
-          HDR2     DC    CL133'0*****---------- INPUT ADDRESS ------------***** \*C
-                         ****--------------------- SELECTED OUTPUT ITEMS --------C
-                         ----------------------*****'
-          HDR3     DC    CL133'0B HOUSE NUMBER IN-STREET-NAME                    *
-                          ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH *
-                         CROSS STREET               '
-          HDR4     DC    CL133' - ------------ -------------------------------- -*
-                         ---- -- -------- ------- ------------------------- -----*
-                         ---------------------------'
-          OUTVALID DS    0CL133
-          \* Borough code, house number, and street name are from input record
-                   DC    C'0'
-          OINPUT   DS    CL48
-          OZIP     DS    CL5
-                   DC    C' '
-          OCOMM    DS    CL2
-                   DC    C' '
-          OPCT     DS    CL3
-                   DC    6C' '
-          OSCHL    DS    CL2
-                   DC    6C' '
-          OLOSTRT  DS    CL25  Normalized name of intersecting street at low end
-                   DC    C' '
-          OHISTRT  DS    CL25  Normalized name of intersecting street at high end
-                   DC    7C' '
-                   TITLE 'WORKING VARIABLES, VALUES, ETC.'
-          MYSAVE   DC    18F'0'
-          ***********************************************************************
-          ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-          ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-          ***********************************************************************
-                   COPY  P1BAL              COPY WORK AREA 1
-                   EJECT
-                   COPY  P2BAL              COPY WORK AREA 2
-                   EJECT
-                   SPACE 2
-          DSPLYIN  DS    0CL48
-          DBORO    DS    CL1
-                   DC    C' '
-          DHSE     DS    CL12
-                   DC    C' '
-          DSTRT    DS    CL32
-                   DC    C' '
-                   SPACE 2
-                   TITLE 'CONSTANTS AND LITERAL POOL'
-                   SPACE 2
-                   LTORG
-                   END   ASMC1SRC
-          //LKED.SYSIN  DD  *
-           INCLUDE INCLIB(GBI)
-          /*
-          //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*     AS OF GEOSUPPORT VERSION 10.0,                         \*//
-          //*     GEO.SUPPORT.PDSE.LOADLIB AND GEO.SUPPORT.LOADLIB       \*//
-          //*     ARE REQUIRED IN THE STEPLIB (OR JOBLIB) OF THE         \*//
-          //*     GEOSUPPORT EXECUTION STEP.                             \*//
-          //*                                                            \*//
-          //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-          //*           DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*   AS OF GEOSUPPORT VERSION 10.0,                           \*//
-          //*   DD STATEMENTS ARE NO LONGER USED TO DEFINE?              \*//
-          //*   GEOSUPPORT DATA FILES.                                   \*//
-          //*   DD STATEMENTS ARE NO LONGER INCLUDED FOR THE             \*//
-          //*   GEOSUPPORT FOREGROUND FILES.                             \*//
-          //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER   \*//
-          //*                                                            \*//
-          //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-          //SYSPRINT DD  SYSOUT=*
-          //INFILE   DD  *
-          122          READE ST
-          1500         DUANE ST
-          12-4         BROADWAY
-          4165-100     BAISLEY BLVD
-          4165-1000    BAISLEY BLVD
-          /*
-          //
-
-
-          <center><b>ASSEMBLER SAMPLE PROGRAM \#1 –Job Stream-COW</b></center>
-
-          //ASMC1SRC JOB   YOUR-JOB-CARD-INFORMATION
-          //*
-          //********************************************************************
-          //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1 **
-          //**                         COW FORMAT                             **
-          //********************************************************************
-          //STEP1  EXEC  ASMACLG,
-          //         PARM.ASM='OBJECT,NODECK',
-          //         PARM.LKED='XREF,LET,LIST,NCAL'
-          //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-          //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-          //           DD DSN=SYS1.MACLIB,DISP=SHR
-          //ASM.SYSIN  DD *
-          ASMC1SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 1 - COW FORMAT'
-          ASMC1SRC CSECT
-          *****************************************************************
-          \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-          \* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-          \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-          \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-          \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
-          \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         *
-          \*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET NAMES *
-          \*       WOULD HAVE BEEN RETURNED BY FUNCTION 1.                 *
-          *****************************************************************
-          *
-          ***********************************************************************
-          \*                                                                     *
-          \*  This program will do the following:                                *
-          \*                                                                     *
-          \*     * Read an instream record containing a house number,            *
-          \*       street name, and borough code                                 *
-          \*                                                                     *
-          \*     * Build Work Area 1 for a Function 1 call                       *
-          \*                                                                     *
-          \*     * Call Function 1                                               *
-          \*                                                                     *
-          \*     * Get ZIP code, community district, police precinct, school     *
-          \*       district, and lists of street codes of streets intersecting   *
-          \*       at the low and high ends of the input street address's block. *
-          \*       These will be displayed along with the input address which    *
-          \*       consists of borough code, house number, and street name.      *
-          \*                                                                     *
-          \*     * Call Function D to get the street names of the first          *
-          \*       intersecting street on both low and high ends.                *
-          \*                                                                     *
-          \*     * Print the information                                         *
-          \*                                                                     *
-          \* NOTE that after each Geosupport call, the Return Code is checked.   *
-          \*      If it is greater than 01, an error message is printed, and     *
-          \*      the next input record, if any, is read.                        *
-          \*      If it is 01, a warning message is printed, the input record is *
-          \*      processed, and the next record is read.                        *
-          \*      If it is zero, the input record is processed, and the next     *
-          \*      record is read.                                                *
-          \*                                                                     *
-          ***********************************************************************
-                   SPACE
-                   STM   R14,R12,12(R13)   Save caller's registers
-                   LR    R3,R15
-                   LA    R12,4095(,R3)     (second base register
-                   LA    R12,1(,R12)        to accomodate Work Areas 1 and 2)
-                   USING ASMC1SRC,R3,R12
-          \* Chain save areas
-                   LA    R4,MYSAVE
-                   ST    R13,4(,R4)    Save caller's savearea address
-                   ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                   LR    R13,R4        Ensure that R13 points to pgm's savearea
-                   SPACE 2
-                   XR    R15,R15                 (set OS return code to zero)
-          \* Open input and output files
-                   OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                   TM    INFILE+48,X'10'   Did input file open successfully?
-                   BNO   INOPNERR             (no..)
-                   TM    OUTFILE+48,X'10'  Did output file open successfully?
-                   BNO   OUTOPNER             (no..)
-          \* Print page and report header lines
-                   SPACE
-                   PUT   OUTFILE,HDR1
-                   PUT   OUTFILE,HDR2
-                   PUT   OUTFILE,HDR3
-                   PUT   OUTFILE,HDR4
-                   B     NEXTREC
-                   SPACE 2
-                   TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 1 CALL'
-          \* Read (next) input record
-          NEXTREC  DS    0H
-                   GET   INFILE,INREC
-          \* Move input data to output record for display
-                   MVC   DBORO,INBORO                   borough code
-                   MVC   DHSE(L'INHOUSE),INHOUSE        house number
-                   MVC   DSTRT,INSTREET                 street name
-                   SPACE
-          *****************************************************************
-          \* TO MAKE A FUNCTION 1 CALL:                                    *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-          \*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-          \*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-          \*       FIELD                                                   *
-          \*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-          \*   (6) CALL GBI WITH 2 WORKAREAS                               *
-          \*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-          *****************************************************************
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          \* and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   SPACE
-          \* Prime Work Area 1 for Function 1 call
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-                   MVC   P1IFUNC,=CL2'1 '              Get function code
-                   MVC   P1IBORO1,INBORO                   borough code
-          *
-          \* Note COW - MSW: Display House # - P1IHSE# is a 16-byte field
-          \*                                   W1IHSE# is a 12-byte field
-          *
-                   MVC   P1IHSE#(L'INHOUSE),INHOUSE        house number
-                   MVC   P1ISTRT1,INSTREET                 street name
-          *
-
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          \*                                                                     *
-          \*        As of Geosupport Version 10.1,                               *
-          \*        to receive roadbed-specific information,                     *
-          \*        set the Roadbed Request Switch to 'R', as follows:           *
-          \*        MVC   P1IRBRQS,C'R'                                          *
-          \*                                                                     *
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          *
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    Normalized street name length
-          \* Call Function 1 (2-Work-Area call)
-                   CALL  GBI,(P1BAL,P2BAL),VL
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BE    PROCESS                     Yes, process returned data
-          \* Handle errors and warnings
-          ERREXIT  DS    0H
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BE    PUTWARN                    Yes, process warning
-          \*                                              and then process input;
-          \*                                         otherwise, process error
-                   MVC   ERINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   ERFUNC,P1IFUNC              function code
-                   MVC   ERRET(L'P1ORC),P1ORC        return code
-                   MVC   ERREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,ERR1            Print error messages 1
-                   B     PUTMSG                                   and 2
-          PUTWARN  DS    0H
-                   MVC   WRINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   WRFUNC,P1IFUNC              function code
-                   MVC   WRRET(L'P1ORC),P1ORC        return code
-            MVC   WRREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,WRN1            Print warning messages 1
-          PUTMSG   DS    0H                                         and 2
-                   MVC   ERRWRN(L'P1OERROR),P1OERROR
-                   PUT   OUTFILE,ERRWRN2         Print error/warning message 2
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BNE   NEXTREC                  No, get next record, if any
-                   MVI   OINPUT,C' '              Yes,
-                   MVC   OINPUT+1(L'OINPUT-1),OINPUT  ensure input NOT displayd
-                   MVI   OUTVALID,C' '     ensure single-spacing after warning
-                   B     GETZIP            and continue normal processing
-                   SPACE
-          \* Handle successful Geosupport calls (Return Code <= 01)
-          PROCESS  DS    0H
-                   MVC   OINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVI   OUTVALID,C'0'     Ensure double-spacing
-          GETZIP   DS    0H
-                   MVC   OZIP,P2F1ZIP      ZIP code
-                   MVC   OCOMM,P2F1CDN     community district number
-                   MVC   OPCT,P2F1POP      police precinct
-                   MVC   OSCHL,P2F1SCH     school district
-          ***** At this point, clear WA1 again, call Function D, and move ******
-          ***** its reported Low and High Intersecting Street Names to output *
-                   TITLE 'GET LOW, HIGH INTERSECTING STREETS, USING FUNCTION D'
-                   SPACE 2
-          *************************************************************
-          \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND   *
-          \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE     *
-          \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS      *
-          \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:  *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                  *
-          \*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED       *
-          \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE      *
-          \*              HAS SPACE FOR ONLY 25 CHARACTERS)            *
-          \*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-          \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-          \*   (5) MOVE WA2'S LOW B5SC FIELD TO WA1'S INPUT STREET     *
-          \*       CODE 1 FIELD                                        *
-          \*   (6) MOVE WA2'S HIGH B5SC FIELD TO WA1'S INPUT STREET    *
-          \*       CODE 2 FIELD                                        *
-          \*   (7) CALL GBI WITH 1 WORKAREA                            *
-          \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-          *************************************************************
-                   SPACE
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-          *
-          \* Note  COW - MSW: P1ICDEx is the 10-digit street code (no boro)
-          \*                  P1IBCDx is the Boro and 10-digit street code
-          \*                  W1ICDEx is the packed Boro and 5-digit street code
-          \*                  P2F1CDEx is Boro and 5-digit street code list
-          \*                  W2F1CDEx is packed Boro and 5-digit street code list
-          *
-                   MVC   P1IBCD1(6),P2F1CDEL
-                   MVC   P1IBCD2(6),P2F1CDEH
-                   MVC   P1IFUNC(2),=CL2'D '
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    normalized street name length
-                   MVI   P1ICMPCT,C'C'              streets to be compacted
-                   CALL  GBI,P1BAL,VL   Call Function D
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BNE   ERREXIT                     No, error or warning
-          \*                                          Yes, complete the record
-          \*                                               and write it out
-          PUTREC   DS    0H
-                   MVC   OLOSTRT,P1OSTRT1
-                   MVC   OHISTRT,P1OSTRT2
-          \* Print an output record and get the next input record, if any
-                   PUT   OUTFILE,OUTVALID
-                   B     NEXTREC
-          EXIT     DS    0H
-          OUTOPNER DS    0H
-                   CLOSE (INFILE)
-                   TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                   BNO   INOPNERR              No, bypass closing it
-                   CLOSE (OUTFILE)
-          INOPNERR DS    0H
-                   L     R13,4(,R13)
-                   L     R14,12(,R13)
-                   LM    R0,R12,20(R13)
-                   BR    R14
-                   SPACE 2
-          PARAMERR DS    0H       parameter error, missing or invalid
-                   LA    R15,8    rc=8
-                   B     EXIT
-                   TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-          R0       EQU   0
-          R1       EQU   1
-          R2       EQU   2
-          R3       EQU   3
-          R4       EQU   4
-          R5       EQU   5
-          R6       EQU   6
-          R7       EQU   7
-          R8       EQU   8
-          R9       EQU   9
-          R10      EQU   10
-          R11      EQU   11
-          R12      EQU   12
-          R13      EQU   13
-          R14      EQU   14
-          R15      EQU   15
-                   TITLE 'FILE AND RECORD DEFINITIONS'
-                   PUSH  PRINT
-                   PRINT NOGEN
-          INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                         RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                   SPACE
-          OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                         RECFM=FBA,LRECL=133,BLKSIZE=1330
-          *
-                   POP PRINT
-                   SPACE
-          INREC    DS    0CL80              Input record
-          INBORO   DS    CL1                    Borough code
-          INHOUSE  DS    CL12                   House number
-          INSTREET DS    CL32                   Street name
-                   DC    35C' '                 filler
-                   SPACE
-          \* Output records: error, warning, and normal
-          ERR1     DS    0CL133
-                   DC    C'0'
-          ERINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          ERFUNC   DS    CL2
-                   DC    C' GRC = '
-          ERRET    DS    CL2
-                   DC    C' REASON CODE = '
-          ERREAS   DS    CL1
-                   DC    CL(133-89)' '
-                   SPACE
-          WRN1     DS    0CL133
-                   DC    C'0'
-          WRINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          WRFUNC   DS    CL2
-                   DC    C' WARNING, GRC = '
-          WRRET    DS    CL2
-                   DC    C' REASON CODE = '
-          WRREAS   DS    CL1
-                   DC    CL(133-98)' '
-                   SPACE
-          ERRWRN2  DS    0CL133
-                   DC    C' '
-                   DC    48C' '          Boro Code, House Number, Street Name
-                   DC    CL4'*** '
-          ERRWRN   DS    CL80            Error/Warning message
-                   SPACE
-          HDR1     DC    CL133'1SAMPLE ASSEMBLER \#1 EXECUTION OUTPUT             *
-                                                    '
-          HDR2     DC    CL133'0*****---------- INPUT ADDRESS ------------***** \*C
-                         ****--------------------- SELECTED OUTPUT ITEMS --------C
-                         ----------------------*****'
-          HDR3     DC    CL133'0B HOUSE NUMBER IN-STREET-NAME                    *
-                          ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH *
-                         CROSS STREET               '
-          HDR4     DC    CL133' - ------------ -------------------------------- -*
-                         ---- -- -------- ------- ------------------------- -----*
-                         ---------------------------'
-          OUTVALID DS    0CL133
-          \* Borough code, house number, and street name are from input record
-                   DC    C'0'
-          OINPUT   DS    CL48
-          OZIP     DS    CL5
-                   DC    C' '
-          OCOMM    DS    CL2
-                   DC    C' '
-          OPCT     DS    CL3
-                   DC    6C' '
-          OSCHL    DS    CL2
-                   DC    6C' '
-          OLOSTRT  DS    CL25  Normalized name of intersecting street at low end
-                   DC    C' '
-          OHISTRT  DS    CL25  Normalized name of intersecting street at high end
-                   DC    7C' '
-                   TITLE 'WORKING VARIABLES, VALUES, ETC.'
-          MYSAVE   DC    18F'0'
-          ***********************************************************************
-          ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-          ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-          ***********************************************************************
-                   COPY  P1BAL              COPY WORK AREA 1
-                   EJECT
-                   COPY  P2BAL              COPY WORK AREA 2
-                   EJECT
-                   SPACE 2
-          DSPLYIN  DS    0CL48
-          DBORO    DS    CL1
-                   DC    C' '
-          DHSE     DS    CL12
-                   DC    C' '
-          DSTRT    DS    CL32
-                   DC    C' '
-                   SPACE 2
-                   TITLE 'CONSTANTS AND LITERAL POOL'
-                   SPACE 2
-                   LTORG
-                   END   ASMC1SRC
-          //LKED.SYSIN  DD  *
-           INCLUDE INCLIB(GBI)
-          /*
-          //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*     AS OF GEOSUPPORT VERSION 10.0,                         \*//
-          //*     GEO.SUPPORT.PDSE.LOADLIB AND GEO.SUPPORT.LOADLIB       \*//
-          //*     ARE REQUIRED IN THE STEPLIB (OR JOBLIB) OF THE         \*//
-          //*     GEOSUPPORT EXECUTION STEP.                             \*//
-          //*                                                            \*//
-          //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-          //*           DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*   AS OF GEOSUPPORT VERSION 10.0,                           \*//
-          //*   DD STATEMENTS ARE NO LONGER USED TO DEFINE?              \*//
-          //*   GEOSUPPORT DATA FILES.                                   \*//
-          //*   DD STATEMENTS ARE NO LONGER INCLUDED FOR THE             \*//
-          //*   GEOSUPPORT FOREGROUND FILES.                             \*//
-          //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER   \*//
-          //*                                                            \*//
-          //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-          //SYSPRINT DD  SYSOUT=*
-          //INFILE   DD  *
-          122          READE ST
-          1500         DUANE ST
-          12-4         BROADWAY
-          4165-100     BAISLEY BLVD
-          4165-1000    BAISLEY BLVD
-          /*
-          //
-
-

ASSEMBLER SAMPLE PROGRAM #1 –Job Stream-COW

-
          //ASMC1SRC JOB   YOUR-JOB-CARD-INFORMATION
-          //*
-          //********************************************************************
-          //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1 **
-          //**                         COW FORMAT                             **
-          //********************************************************************
-          //STEP1  EXEC  ASMACLG,
-          //         PARM.ASM='OBJECT,NODECK',
-          //         PARM.LKED='XREF,LET,LIST,NCAL'
-          //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-          //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-          //           DD DSN=SYS1.MACLIB,DISP=SHR
-          //ASM.SYSIN  DD *
-          ASMC1SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 1 - COW FORMAT'
-          ASMC1SRC CSECT
-          *****************************************************************
-          \* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING *
-          \* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.*
-          \* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     *
-          \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  *
-          \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
-          \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         *
-          \*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET NAMES *
-          \*       WOULD HAVE BEEN RETURNED BY FUNCTION 1.                 *
-          *****************************************************************
-          *
-          ***********************************************************************
-          \*                                                                     *
-          \*  This program will do the following:                                *
-          \*                                                                     *
-          \*     * Read an instream record containing a house number,            *
-          \*       street name, and borough code                                 *
-          \*                                                                     *
-          \*     * Build Work Area 1 for a Function 1 call                       *
-          \*                                                                     *
-          \*     * Call Function 1                                               *
-          \*                                                                     *
-          \*     * Get ZIP code, community district, police precinct, school     *
-          \*       district, and lists of street codes of streets intersecting   *
-          \*       at the low and high ends of the input street address's block. *
-          \*       These will be displayed along with the input address which    *
-          \*       consists of borough code, house number, and street name.      *
-          \*                                                                     *
-          \*     * Call Function D to get the street names of the first          *
-          \*       intersecting street on both low and high ends.                *
-          \*                                                                     *
-          \*     * Print the information                                         *
-          \*                                                                     *
-          \* NOTE that after each Geosupport call, the Return Code is checked.   *
-          \*      If it is greater than 01, an error message is printed, and     *
-          \*      the next input record, if any, is read.                        *
-          \*      If it is 01, a warning message is printed, the input record is *
-          \*      processed, and the next record is read.                        *
-          \*      If it is zero, the input record is processed, and the next     *
-          \*      record is read.                                                *
-          \*                                                                     *
-          ***********************************************************************
-                   SPACE
-                   STM   R14,R12,12(R13)   Save caller's registers
-                   LR    R3,R15
-                   LA    R12,4095(,R3)     (second base register
-                   LA    R12,1(,R12)        to accomodate Work Areas 1 and 2)
-                   USING ASMC1SRC,R3,R12
-          \* Chain save areas
-                   LA    R4,MYSAVE
-                   ST    R13,4(,R4)    Save caller's savearea address
-                   ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                   LR    R13,R4        Ensure that R13 points to pgm's savearea
-                   SPACE 2
-                   XR    R15,R15                 (set OS return code to zero)
-          \* Open input and output files
-                   OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                   TM    INFILE+48,X'10'   Did input file open successfully?
-                   BNO   INOPNERR             (no..)
-                   TM    OUTFILE+48,X'10'  Did output file open successfully?
-                   BNO   OUTOPNER             (no..)
-          \* Print page and report header lines
-                   SPACE
-                   PUT   OUTFILE,HDR1
-                   PUT   OUTFILE,HDR2
-                   PUT   OUTFILE,HDR3
-                   PUT   OUTFILE,HDR4
-                   B     NEXTREC
-                   SPACE 2
-                   TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 1 CALL'
-          \* Read (next) input record
-          NEXTREC  DS    0H
-                   GET   INFILE,INREC
-          \* Move input data to output record for display
-                   MVC   DBORO,INBORO                   borough code
-                   MVC   DHSE(L'INHOUSE),INHOUSE        house number
-                   MVC   DSTRT,INSTREET                 street name
-                   SPACE
-          *****************************************************************
-          \* TO MAKE A FUNCTION 1 CALL:                                    *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                         *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      *
-          \*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      *
-          \*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER *
-          \*       FIELD                                                   *
-          \*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  *
-          \*   (6) CALL GBI WITH 2 WORKAREAS                               *
-          \*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               *
-          *****************************************************************
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          \* and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   SPACE
-          \* Prime Work Area 1 for Function 1 call
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-                   MVC   P1IFUNC,=CL2'1 '              Get function code
-                   MVC   P1IBORO1,INBORO                   borough code
-          *
-          \* Note COW - MSW: Display House # - P1IHSE# is a 16-byte field
-          \*                                   W1IHSE# is a 12-byte field
-          *
-                   MVC   P1IHSE#(L'INHOUSE),INHOUSE        house number
-                   MVC   P1ISTRT1,INSTREET                 street name
-          *
-
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          \*                                                                     *
-          \*        As of Geosupport Version 10.1,                               *
-          \*        to receive roadbed-specific information,                     *
-          \*        set the Roadbed Request Switch to 'R', as follows:           *
-          \*        MVC   P1IRBRQS,C'R'                                          *
-          \*                                                                     *
-          \* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-          *
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    Normalized street name length
-          \* Call Function 1 (2-Work-Area call)
-                   CALL  GBI,(P1BAL,P2BAL),VL
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BE    PROCESS                     Yes, process returned data
-          \* Handle errors and warnings
-          ERREXIT  DS    0H
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BE    PUTWARN                    Yes, process warning
-          \*                                              and then process input;
-          \*                                         otherwise, process error
-                   MVC   ERINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   ERFUNC,P1IFUNC              function code
-                   MVC   ERRET(L'P1ORC),P1ORC        return code
-                   MVC   ERREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,ERR1            Print error messages 1
-                   B     PUTMSG                                   and 2
-          PUTWARN  DS    0H
-                   MVC   WRINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVC   WRFUNC,P1IFUNC              function code
-                   MVC   WRRET(L'P1ORC),P1ORC        return code
-            MVC   WRREAS(L'P1OREASN),P1OREASN reason code
-                   PUT   OUTFILE,WRN1            Print warning messages 1
-          PUTMSG   DS    0H                                         and 2
-                   MVC   ERRWRN(L'P1OERROR),P1OERROR
-                   PUT   OUTFILE,ERRWRN2         Print error/warning message 2
-                   CLC   P1ORC(2),=C'01'         Warning condition?
-                   BNE   NEXTREC                  No, get next record, if any
-                   MVI   OINPUT,C' '              Yes,
-                   MVC   OINPUT+1(L'OINPUT-1),OINPUT  ensure input NOT displayd
-                   MVI   OUTVALID,C' '     ensure single-spacing after warning
-                   B     GETZIP            and continue normal processing
-                   SPACE
-          \* Handle successful Geosupport calls (Return Code <= 01)
-          PROCESS  DS    0H
-                   MVC   OINPUT,DSPLYIN    Boro code, hse no., street name
-                   MVI   OUTVALID,C'0'     Ensure double-spacing
-          GETZIP   DS    0H
-                   MVC   OZIP,P2F1ZIP      ZIP code
-                   MVC   OCOMM,P2F1CDN     community district number
-                   MVC   OPCT,P2F1POP      police precinct
-                   MVC   OSCHL,P2F1SCH     school district
-          ***** At this point, clear WA1 again, call Function D, and move ******
-          ***** its reported Low and High Intersecting Street Names to output *
-                   TITLE 'GET LOW, HIGH INTERSECTING STREETS, USING FUNCTION D'
-                   SPACE 2
-          *************************************************************
-          \* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND   *
-          \* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE     *
-          \* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS      *
-          \* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:  *
-          \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-          \*   (2) SET WA1'S FUNCTION CODE FIELD TO D                  *
-          \*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED       *
-          \*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE      *
-          \*              HAS SPACE FOR ONLY 25 CHARACTERS)            *
-          \*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-          \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-          \*   (5) MOVE WA2'S LOW B5SC FIELD TO WA1'S INPUT STREET     *
-          \*       CODE 1 FIELD                                        *
-          \*   (6) MOVE WA2'S HIGH B5SC FIELD TO WA1'S INPUT STREET    *
-          \*       CODE 2 FIELD                                        *
-          \*   (7) CALL GBI WITH 1 WORKAREA                            *
-          \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-          *************************************************************
-                   SPACE
-          \* Clear WA1 to blanks
-                   LA    R8,P1BAL    "To" address for MVCL
-                   LA    R9,P1LENGTH     "To" length
-                   XR    R11,R11       for blanking out std WA1,
-                   ICM   R11,B'1000',=C' '  rather than moving data
-          \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-          \* pad the target area with the pad character of the "from" register
-          and do nothing else (the "from" address register is not used).
-                   MVCL  R8,R10
-                   MVI   P1IPLIND,C'C'                Set Work Area Format to COW
-          *
-          \* Note  COW - MSW: P1ICDEx is the 10-digit street code (no boro)
-          \*                  P1IBCDx is the Boro and 10-digit street code
-          \*                  W1ICDEx is the packed Boro and 5-digit street code
-          \*                  P2F1CDEx is Boro and 5-digit street code list
-          \*                  W2F1CDEx is packed Boro and 5-digit street code list
-          *
-                   MVC   P1IBCD1(6),P2F1CDEL
-                   MVC   P1IBCD2(6),P2F1CDEH
-                   MVC   P1IFUNC(2),=CL2'D '
-                   MVC   P1ISNL(L'P1ISNL),=C'25'    normalized street name length
-                   MVI   P1ICMPCT,C'C'              streets to be compacted
-                   CALL  GBI,P1BAL,VL   Call Function D
-          \* Check Return code
-                   CLC   P1ORC(2),=C'00'         Good return?
-                   BNE   ERREXIT                     No, error or warning
-          \*                                          Yes, complete the record
-          \*                                               and write it out
-          PUTREC   DS    0H
-                   MVC   OLOSTRT,P1OSTRT1
-                   MVC   OHISTRT,P1OSTRT2
-          \* Print an output record and get the next input record, if any
-                   PUT   OUTFILE,OUTVALID
-                   B     NEXTREC
-          EXIT     DS    0H
-          OUTOPNER DS    0H
-                   CLOSE (INFILE)
-                   TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                   BNO   INOPNERR              No, bypass closing it
-                   CLOSE (OUTFILE)
-          INOPNERR DS    0H
-                   L     R13,4(,R13)
-                   L     R14,12(,R13)
-                   LM    R0,R12,20(R13)
-                   BR    R14
-                   SPACE 2
-          PARAMERR DS    0H       parameter error, missing or invalid
-                   LA    R15,8    rc=8
-                   B     EXIT
-                   TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-          R0       EQU   0
-          R1       EQU   1
-          R2       EQU   2
-          R3       EQU   3
-          R4       EQU   4
-          R5       EQU   5
-          R6       EQU   6
-          R7       EQU   7
-          R8       EQU   8
-          R9       EQU   9
-          R10      EQU   10
-          R11      EQU   11
-          R12      EQU   12
-          R13      EQU   13
-          R14      EQU   14
-          R15      EQU   15
-                   TITLE 'FILE AND RECORD DEFINITIONS'
-                   PUSH  PRINT
-                   PRINT NOGEN
-          INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                         RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                   SPACE
-          OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                         RECFM=FBA,LRECL=133,BLKSIZE=1330
-          *
-                   POP PRINT
-                   SPACE
-          INREC    DS    0CL80              Input record
-          INBORO   DS    CL1                    Borough code
-          INHOUSE  DS    CL12                   House number
-          INSTREET DS    CL32                   Street name
-                   DC    35C' '                 filler
-                   SPACE
-          \* Output records: error, warning, and normal
-          ERR1     DS    0CL133
-                   DC    C'0'
-          ERINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          ERFUNC   DS    CL2
-                   DC    C' GRC = '
-          ERRET    DS    CL2
-                   DC    C' REASON CODE = '
-          ERREAS   DS    CL1
-                   DC    CL(133-89)' '
-                   SPACE
-          WRN1     DS    0CL133
-                   DC    C'0'
-          WRINPUT  DS    CL48
-                   DC    C'*** FUNCTION '
-          WRFUNC   DS    CL2
-                   DC    C' WARNING, GRC = '
-          WRRET    DS    CL2
-                   DC    C' REASON CODE = '
-          WRREAS   DS    CL1
-                   DC    CL(133-98)' '
-                   SPACE
-          ERRWRN2  DS    0CL133
-                   DC    C' '
-                   DC    48C' '          Boro Code, House Number, Street Name
-                   DC    CL4'*** '
-          ERRWRN   DS    CL80            Error/Warning message
-                   SPACE
-          HDR1     DC    CL133'1SAMPLE ASSEMBLER \#1 EXECUTION OUTPUT             *
-                                                    '
-          HDR2     DC    CL133'0*****---------- INPUT ADDRESS ------------***** \*C
-                         ****--------------------- SELECTED OUTPUT ITEMS --------C
-                         ----------------------*****'
-          HDR3     DC    CL133'0B HOUSE NUMBER IN-STREET-NAME                    *
-                          ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH *
-                         CROSS STREET               '
-          HDR4     DC    CL133' - ------------ -------------------------------- -*
-                         ---- -- -------- ------- ------------------------- -----*
-                         ---------------------------'
-          OUTVALID DS    0CL133
-          \* Borough code, house number, and street name are from input record
-                   DC    C'0'
-          OINPUT   DS    CL48
-          OZIP     DS    CL5
-                   DC    C' '
-          OCOMM    DS    CL2
-                   DC    C' '
-          OPCT     DS    CL3
-                   DC    6C' '
-          OSCHL    DS    CL2
-                   DC    6C' '
-          OLOSTRT  DS    CL25  Normalized name of intersecting street at low end
-                   DC    C' '
-          OHISTRT  DS    CL25  Normalized name of intersecting street at high end
-                   DC    7C' '
-                   TITLE 'WORKING VARIABLES, VALUES, ETC.'
-          MYSAVE   DC    18F'0'
-          ***********************************************************************
-          ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-          ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-          ***********************************************************************
-                   COPY  P1BAL              COPY WORK AREA 1
-                   EJECT
-                   COPY  P2BAL              COPY WORK AREA 2
-                   EJECT
-                   SPACE 2
-          DSPLYIN  DS    0CL48
-          DBORO    DS    CL1
-                   DC    C' '
-          DHSE     DS    CL12
-                   DC    C' '
-          DSTRT    DS    CL32
-                   DC    C' '
-                   SPACE 2
-                   TITLE 'CONSTANTS AND LITERAL POOL'
-                   SPACE 2
-                   LTORG
-                   END   ASMC1SRC
-          //LKED.SYSIN  DD  *
-           INCLUDE INCLIB(GBI)
-          /*
-          //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*     AS OF GEOSUPPORT VERSION 10.0,                         \*//
-          //*     GEO.SUPPORT.PDSE.LOADLIB AND GEO.SUPPORT.LOADLIB       \*//
-          //*     ARE REQUIRED IN THE STEPLIB (OR JOBLIB) OF THE         \*//
-          //*     GEOSUPPORT EXECUTION STEP.                             \*//
-          //*                                                            \*//
-          //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-          //*           DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*                                                            \*//
-          //*   AS OF GEOSUPPORT VERSION 10.0,                           \*//
-          //*   DD STATEMENTS ARE NO LONGER USED TO DEFINE?              \*//
-          //*   GEOSUPPORT DATA FILES.                                   \*//
-          //*   DD STATEMENTS ARE NO LONGER INCLUDED FOR THE             \*//
-          //*   GEOSUPPORT FOREGROUND FILES.                             \*//
-          //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER   \*//
-          //*                                                            \*//
-          //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-          //SYSPRINT DD  SYSOUT=*
-          //INFILE   DD  *
-          122          READE ST
-          1500         DUANE ST
-          12-4         BROADWAY
-          4165-100     BAISLEY BLVD
-          4165-1000    BAISLEY BLVD
-          /*
-          //
-
-

SAMPLE ASSEMBLER #1 EXECUTION OUTPUT

-
          *****---------- INPUT ADDRESS ------------***** *****--------------------- SELECTED OUTPUT ITEMS ----------------*****
-
-           B HOUSE NUMBER IN-STREET-NAME                     ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREET
-           - ------------ -------------------------------- ----- -- -------- ------- ------------------------- ------------------
-
-           1 22           READE ST                         10007 01 005      02      ELK STREET                BROADWAY
-
-           1 500          DUANE ST                         *** FUNCTION 1  GRC = 42 REASON CODE =
-                                                           *** ADDRESS NUMBER OUT OF RANGE
-
-           1 2-4          BROADWAY                         *** FUNCTION 1  WARNING, GRC = 01 REASON CODE = 1
-                                                           *** ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
-                                                           10004 01 001      02      STONE STREET              BOWLING GREEN
-
-           4 165-100      BAISLEY BLVD                     11434 12 113      28      GUY R BREWER BOULEVARD    BEDELL STREET
-
-           4 165-1000     BAISLEY BLVD                     *** FUNCTION 1  GRC = 13 REASON CODE = 2
-                                                           *** ADDRESS NBR 165-1000  HAS MORE THAN 3 DIGITS AFTER THE DASH.
-
-

ASSEMBLER SAMPLE PROGRAM #1

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

ASSEMBLER SAMPLE PROGRAM #2- Job Stream -MSW

-
            //ASMF2SRC JOB   YOUR-JOB-CARD-INFORMATION
-            //*
-            //********************************************************************
-            //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2 **
-            //**                           MSW FORMAT                           **
-            //********************************************************************
-            //STEP1  EXEC  ASMACLG,
-            //         PARM.ASM='OBJECT,NODECK',
-            //         PARM.LKED='XREF,LET,LIST,NCAL'
-            //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-            //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-            //           DD DSN=SYS1.MACLIB,DISP=SHR
-            //ASM.SYSIN  DD *
-            ASMF2SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 2 - MSW FORMAT'
-            ASMF2SRC CSECT
-            ******************************************************************
-            \* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING  *
-            \* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.   *
-            \* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION. *
-            \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.   *
-            \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  *
-            \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE          *
-            \*       ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET NAMES  *
-            \*       WOULD HAVE BEEN RETURNED BY FUNCTION 2.                  *
-            ******************************************************************
-            *
-            ***********************************************************************
-            \*                                                                     *
-            \*  This program will do the following:                                *
-            \*     * Read an instream record containing 2 borough codes            *
-            \*       and two street names                                          *
-            \*                                                                     *
-            \*     * Build Work Area 1 for a Function 2 call                       *
-            \*                                                                     *
-            \*     * Call Function 2                                               *
-            \*                                                                     *
-            \*     * Get ZIP code, community district, police precinct, school     *
-            \*       district, and lists of intersecting street codes.             *
-            \*       These will be displayed along with the input intersection     *
-            \*       which consists of 2 borough codes, and 2 street names.        *
-            \*                                                                     *
-            \*     * Call Function D to get the street names of all intersecting   *
-            \*       streets.                                                      *
-            \*                                                                     *
-            \*      If it is greater than 01, an error message is printed, and     *
-            \*      the next input record, if any, is read.                        *
-            \*      If it is 01, a warning message is printed, the input record is *
-            \*      processed, and the next record is read.                        *
-            \*      If it is zero, the input record is processed, and the next     *
-            \*      record is read.                                                *
-            \*                                                                     *
-            ***********************************************************************
-             SPACE
-                     STM   R14,R12,12(R13)   Save caller's registers
-                     LR    R3,R15
-                     LA    R12,4095(,R3)     (second base register
-                     LA    R12,1(,R12)        to accommodate Work Areas 1 and 2)
-                     USING ASMF2SRC,R3,R12
-            \* Chain save areas
-                     LA    R4,MYSAVE
-                     ST    R13,4(,R4)    Save caller's savearea address
-                     ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                     LR    R13,R4        Ensure that R13 points to pgm's savearea
-                     SPACE 2
-                     XR    R15,R15                 (set OS return code to zero)
-            \* Open input and output files
-                     OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                     TM    INFILE+48,X'10'   Did input file open successfully?
-                     BNO   INOPNERR             (no..)
-                     TM    OUTFILE+48,X'10'  Did output file open successfully?
-                     BNO   OUTOPNER             (no..)
-            \* Print report header lines
-                     SPACE
-                     PUT   OUTFILE,HDR1
-                     PUT   OUTFILE,HDR2
-                     PUT   OUTFILE,HDR3
-                     PUT   OUTFILE,HDR4
-                     B     NEXTREC
-                     SPACE 2
-                     TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 2 CALL'
-            \* Read (next) input record
-            NEXTREC  DS    0H
-                     GET   INFILE,INREC
-            \* Move input data to output record for display
-                     MVC   DBORO1,INBORO1          First borough code
-                     MVC   DSTRT1,INSTRT1          First street name
-                     MVC   DBORO2,INBORO2          Second borough code
-                     MVC   DSTRT2,INSTRT2          Second street name
-                     SPACE
-            ******************************************************************
-            \* TO MAKE A FUNCTION 2 CALL:                                     *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                          *
-            \*   (2) SET WA1'S FUNCTION CODE FIELD TO 2                       *
-            \*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   *
-            \*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     *
-            \*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD *
-            \*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   *
-            \*   (7) CALL GBI WITH 2 WORKAREAS                                *
-            \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                *
-            ******************************************************************
-            \* Clear WA1 to blanks
-                     LA    R8,W1BAL    "To" address for MVCL
-                     LA    R9,W1LENGTH     "To" length
-                     XR    R11,R11       for blanking out std WA1,
-                     ICM   R11,B'1000',=C' '  rather than moving data
-            \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-            \* pad the target area with the pad character of the "from" register
-            \* and do nothing else (the "from" address register is not used).
-                     MVCL  R8,R10
-                     SPACE
-            \* Prime Work Area 1 for Function 2 call
-                     MVC   W1IFUNC,=CL2'2 '              Get function code
-                     MVC   W1IBORO1,INBORO1                  borough code 1
-                     MVC   W1ISTRT1,INSTRT1                  street name  1
-                     MVC   W1IBORO2,INBORO2                  borough code 2
-                     MVC   W1ISTRT2,INSTRT2                  street name  2
-                     MVC   W1ISNL(L'W1ISNL),=C'25'    Normalized street name length
-            \* Call Function 2 (2-Work-Area call)
-                     CALL  GBI,(W1BAL,W2BAL),VL
-            \* Check Return code
-                     CLC   W1ORC(2),=C'00'         Good return?
-                     BE    PROCESS                     Yes, process returned data
-            \* Handle errors and warnings
-            ERREXIT  DS    0H
-                     CLC   W1ORC(2),=C'01'         Warning condition?
-                     BE    PUTWARN                    Yes, process warning
-            \*                                              and then process input;
-            \*                                         otherwise, process error
-                     MVC   ERFUNC,W1IFUNC              function code
-                     MVC   ERRET(L'W1ORC),W1ORC        return code
-                     MVC   ERREAS(L'W1OREASN),W1OREASN reason code
-                     MVC   ERRMSG(L'W1OERROR),W1OERROR Geosupport error message
-                     PUT   OUTFILE,ERR1            Print error message 1
-                     MVC   ERINPUT,DSPLYIN    2 boro codes and 2 street names
-                     PUT   OUTFILE,ERR2            Print error message 2
-                     B     NEXTREC
-            PUTWARN  DS    0H
-                     MVC   WRFUNC,W1IFUNC              function code
-                     MVC   WRRET(L'W1ORC),W1ORC        return code
-                     MVC   WRREAS(L'W1OREASN),W1OREASN reason code
-                     MVC   WRNMSG(L'W1OERROR),W1OERROR Geosupport warning message
-                     PUT   OUTFILE,WARN            Print warning message
-                     SPACE
-            \* Handle successful Geosupport calls (Return Code <= 01)
-            PROCESS  DS    0H
-                     MVI   OUTFIXED,C'0'      Init. carriage control to dbl-space
-                     CLC   W1ORC(2),=C'01'    Was a warning issued?
-                     BNE   MOVEOUT               No..
-                     MVI   OUTFIXED,C' '         Yes, single-space output instead
-            MOVEOUT  DS    0H
-                     MVC   OINPUT,DSPLYIN    Pair of boro codes and street names
-                     MVC   OZIP,W2F2ZIP      ZIP code
-                     MVC   OCOMM,W2F2CDN     community district number
-                     MVC   OPCT,W2F2POP      police precinct
-                     MVC   OSCHL,W2F2SCH     school district
-            ***** At this point, clear WA1 again, call Function D, and move ******
-            ***** all reported Intersecting Street Names to output          ******
-                     TITLE 'GET INTERSECTING STREET NAMES, USING FUNCTION D'
-                     SPACE 2
-            *************************************************************
-            \* TO GET THE STREET NAMES FOR INTERSECTING STREET CODES     *
-            \* MAKE A FUNCTION D CALL:                                   *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-            \*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D              *
-            \*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-            \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-            \*   (4) MOVE THE PACKED BORO AND STREET CODE TO             *
-            \*       WA1'S INPUT STREET CODE 1 FIELD                     *
-            \*   (5) CALL GBI WITH 1 WORKAREA                            *
-            \*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-            *************************************************************
-                     SPACE
-            \* For each street code of intersecting streets, including those input,
-            \* call Function D to get the corresponding street name
-                     XR    R4,R4
-                     MVC   INTWK,W2F2#INT   get count of intersecting streets.
-                     NI    INTWK,X'0F'      remove zone, leaving numeric
-                     IC    R4,INTWK         count of intersecting streets.
-                     LA    R5,W2F2CODE      point to street code(s).
-                     SPACE
-            INTRLOOP DS    0H
-            \* Clear WA1 to blanks
-                     LA    R8,W1BAL    "To" address for MVCL
-                     LA    R9,W1LENGTH     "To" length
-                     XR    R11,R11       for blanking out std WA1,
-                     ICM   R11,B'1000',=C' '  rather than moving data
-            \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-            \* pad the target area with the pad character of the "from" register
-            \* and do nothing else (the "from" address register is not used).
-                     MVCL  R8,R10
-                     SPACE
-                     MVC   W1IFUNC(2),=CL2'D '
-                     MVC   W1ISNL(L'W1ISNL),=C'25'    normalized street name length
-                     MVI   W1ICMPCT,C'C'              streets to be compacted
-                     MVC   W1ICDE1(L'W1ICDE1),0(R5)   Intersecting street code
-                     CALL  GBI,W1BAL,VL   Call Function D
-            \* Check Return code
-                     CLC   W1ORC(2),=C'00'         Good return?
-                     BNE   ERREXIT                     No, error or warning
-            \*                                          Yes, complete the record
-            \*                                               and write it out
-            PFIX     NOP   PVAR
-                     OI    PFIX+1,X'F0'
-                     MVC   OINTRSC1,W1OSTRT1
-            \*  put out the initial output including the first intersecting street
-                     PUT   OUTFILE,OUTFIXED
-                     B     NEXTSC     Now get the rest of the street codes, if any
-            PVAR     DS    0H
-                    MVC   OINTRSCN,W1OSTRT1
-            \* Print an output record and get the next intersecting street, if any
-                     PUT   OUTFILE,OUTVAR
-            NEXTSC   DS    0H
-                     LA    R5,4(,R5)    point to next intersecting street code
-                     BCT   R4,INTRLOOP  if any, and process it;
-                     NI    PFIX+1,X'0F'    reset 1st-time (fixed/variable) switch
-                     B     NEXTREC      then, process next input record, if any
-                     SPACE
-            EXIT     DS    0H
-            OUTOPNER DS    0H
-                     CLOSE (INFILE)
-                     TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                     BNO   INOPNERR              No, bypass closing it
-                     CLOSE (OUTFILE)
-            INOPNERR DS    0H
-                     L     R13,4(,R13)
-                     L     R14,12(,R13)
-                     LM    R0,R12,20(R13)
-                     BR    R14
-            SPACE 2
-            PARAMERR DS    0H       parameter error, missing or invalid
-                     LA    R15,8    rc=8
-                     B     EXIT
-                     TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-            R0       EQU   0
-            R1       EQU   1
-            R2       EQU   2
-            R3       EQU   3
-            R4       EQU   4
-            R5       EQU   5
-            R6       EQU   6
-            R7       EQU   7
-            R8       EQU   8
-            R9       EQU   9
-            R10      EQU   10
-            R11      EQU   11
-            R12      EQU   12
-            R13      EQU   13
-            R14      EQU   14
-            R15      EQU   15
-                     TITLE 'FILE AND RECORD DEFINITIONS'
-                     PUSH  PRINT
-                     PRINT NOGEN
-            INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                           RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                     SPACE
-            OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                           RECFM=FBA,LRECL=133,BLKSIZE=1330
-            *
-                     POP PRINT
-                     SPACE
-            INREC    DS    0CL80              Input record
-            INBORO1  DS    CL1                    First borough code
-            INSTRT1  DS    CL32                   First street name
-            INBORO2  DS    CL1                    Second borough code
-            INSTRT2  DS    CL32                   Second street name
-                     DC    14C' '                 filler
-                     SPACE
-            \* Output records: header, normal, warning, and error
-
-                     SPACE
-            \* header records
-            HDR1     DC    CL133'1SAMPLE ASSEMBLER \#2 EXECUTION OUTPUT             *
-                                                                                   *
-                                                      '
-            HDR2     DC    CL133'0*****----------------- INPUT INTERSECTION -------C
-                           --------------***** *****--------------- SELECTED OUTPUT*
-                            ITEMS ---------------*****'
-            HDR3     DC    CL133'0B IN-STREET-NAME-1                 B IN-STREET-NA*
-                           ME-2                  ZIP CD NYPD-PCT SCHLDST INTERSECTI*
-                           NG STREET NAMES            '
-            HDR4     DC    CL133' - -------------------------------- - ------------*
-                           ------------------- ----- -- -------- ------- ----------*
-                           ---------------------------'
-                     SPACE
-            \* normal records, i.e., output for valid data
-            OUTFIXED DS    0CL133                Fixed output
-            \* Borough codes and street names for each of 2 streets are from input
-                     DC    C'0'
-            OINPUT   DS    CL69
-            OZIP     DS    CL5
-                     DC    C' '
-            OCOMM    DS    CL2
-                     DC    C' '
-            OPCT     DS    CL3
-                     DC    6C' '
-            OSCHL    DS    CL2
-                     DC    6C' '
-            OINTRSC1 DS    CL25  Normalized name of first intersecting street
-                     SPACE
-            OUTVAR   DS    0CL133 Output line repeated per No. of Intersecting Sts.
-                     DC    C' '
-                     DC    95C' '
-            OINTRSCN DS    CL25  Normalized name of additional intersecting street
-                     DC    (133-121)C' '
-                     SPACE
-            \* warning record
-            WARN     DS    0CL133
-                     DC    C'0'
-                     DC    C'**** FUNCTION '
-            WRFUNC   DS    CL2
-                     DC    C' WARNING, GRC = '
-            WRRET    DS    CL2
-                     DC    C' REASON CODE = '
-            WRREAS   DS    CL1
-                     DC    C'. '
-            WRNMSG   DS    CL80            Warning message
-                     SPACE
-            \* error records
-            ERR1     DS    0CL133
-                     DC    C'0'
-                     DC    C'***** FUNCTION '
-            ERFUNC   DS    CL2
-                     DC    C' GRC = '
-            ERRET    DS    CL2
-                     DC    C' REASON = '
-            ERREAS   DS    CL1
-                     DC    C'. '
-            ERRMSG   DS    CL80            Error message
-                     DC    CL(133-120)' '
-                     SPACE
-            ERR2     DS    0CL133
-                     DC    C' '
-            ERINPUT  DS    CL69
-                     DC    CL(133-70)' '
-                     TITLE 'WORKING VARIABLES, VALUES, ETC.'
-            #INTER   DS    D        Working field for no. of intersecting streets
-            MYSAVE   DC    18F'0'
-            ***********************************************************************
-            ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-            ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-            ***********************************************************************
-                     COPY  W1BAL              COPY WORK AREA 1
-                     EJECT
-                     COPY  W2BAL              COPY WORK AREA 2
-                     EJECT
-                     SPACE 2
-            DSPLYIN  DS    0CL69
-            DBORO1   DS    CL1
-                     DC    C' '
-            DSTRT1   DS    CL32
-                     DC    C' '
-            DBORO2   DS    CL1
-                     DC    C' '
-            DSTRT2   DS    CL32
-                     SPACE 2
-            INTWK    DS    XL1      work field for number of intersecting streets
-                     TITLE 'CONSTANTS AND LITERAL POOL'
-                     SPACE 2
-                     LTORG
-                     END   ASMF2SRC
-            //LKED.SYSIN  DD  *
-             INCLUDE INCLIB(GBI)
-            /*
-            //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //*                                                             \*//
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                             \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                             \*//
-            //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP   \*//
-            //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:      \*//
-            //*       A030.GEO.SUPPORT.PDSE.LOADLIB                         \*//
-            //*       A030.GEO.SUPPORT.LOADLIB                              \*//
-            //*                                                             \*//
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-            //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //*
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                             \*//
-            //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-            //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-            //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-            //*   IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.    \*//
-            //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.   \*//
-            //*                                                             \*//
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*
-            //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-            //SYSPRINT DD  SYSOUT=*
-            //INFILE   DD  *
-            1CHAMBERS ST                     1HUDSON ST
-            1SIXTH AVE                       1W. 8 ST
-            1DUANE ST                        1READE ST
-            /*
-            //
-
-

ASSEMBLER SAMPLE PROGRAM #2- Job Stream - COW

-
            //ASMC2SRC JOB   YOUR-JOB-CARD-INFORMATION
-            //*
-            //********************************************************************
-            //**  ASSEMBLER SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2 **
-            //**                           COW FORMAT                           **
-            //********************************************************************
-            //STEP1  EXEC  ASMACLG,
-            //         PARM.ASM='OBJECT,NODECK',
-            //         PARM.LKED='XREF,LET,LIST,NCAL'
-            //ASM.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-            //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-            //           DD DSN=SYS1.MACLIB,DISP=SHR
-            //ASM.SYSIN  DD *
-            ASMC2SRC TITLE 'SAMPLE GEOSUPPORT ASSEMBLER PROGRAM 2 - COW FORMAT'
-            ASMC2SRC CSECT
-            ******************************************************************
-            \* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING  *
-            \* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.   *
-            \* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION. *
-            \* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.   *
-            \* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -  *
-            \* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE          *
-            \*       ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET NAMES  *
-            \*       WOULD HAVE BEEN RETURNED BY FUNCTION 2.                  *
-            ******************************************************************
-            *
-            ***********************************************************************
-            \*                                                                     *
-            \*  This program will do the following:                                *
-            \*     * Read an instream record containing 2 borough codes            *
-            \*       and two street names                                          *
-            \*                                                                     *
-            \*     * Build Work Area 1 for a Function 2 call                       *
-            \*                                                                     *
-            \*     * Call Function 2                                               *
-            \*                                                                     *
-            \*     * Get ZIP code, community district, police precinct, school     *
-            \*       district, and lists of intersecting street codes.             *
-            \*       These will be displayed along with the input intersection     *
-            \*       which consists of 2 borough codes, and 2 street names.        *
-            \*                                                                     *
-            \*     * Call Function D to get the street names of all intersecting   *
-            \*       streets.                                                      *
-            \*                                                                     *
-            \*      If it is greater than 01, an error message is printed, and     *
-            \*      the next input record, if any, is read.                        *
-            \*      If it is 01, a warning message is printed, the input record is *
-            \*      processed, and the next record is read.                        *
-            \*      If it is zero, the input record is processed, and the next     *
-            \*      record is read.                                                *
-            \*                                                                     *
-            ***********************************************************************
-            SPACE
-                     STM   R14,R12,12(R13)   Save caller's registers
-                     LR    R3,R15
-                     LA    R12,4095(,R3)     (second base register
-                     LA    R12,1(,R12)        to accommodate Work Areas 1 and 2)
-                     USING ASMC2SRC,R3,R12
-            \* Chain save areas
-                     LA    R4,MYSAVE
-                     ST    R13,4(,R4)    Save caller's savearea address
-                     ST    R4,8(,R13)    Save pgm's savearea adr in caller savearea
-                     LR    R13,R4        Ensure that R13 points to pgm's savearea
-                     SPACE 2
-                     XR    R15,R15                 (set OS return code to zero)
-            \* Open input and output files
-                     OPEN  (INFILE,,OUTFILE,(OUTPUT))
-                     TM    INFILE+48,X'10'   Did input file open successfully?
-                     BNO   INOPNERR             (no..)
-                     TM    OUTFILE+48,X'10'  Did output file open successfully?
-                     BNO   OUTOPNER             (no..)
-            \* Print report header lines
-                     SPACE
-                     PUT   OUTFILE,HDR1
-                     PUT   OUTFILE,HDR2
-                     PUT   OUTFILE,HDR3
-                     PUT   OUTFILE,HDR4
-                     B     NEXTREC
-                     SPACE 2
-                     TITLE 'READ IN-STREAM INPUT AND PREPARE FUNCTION 2 CALL'
-            \* Read (next) input record
-            NEXTREC  DS    0H
-                     GET   INFILE,INREC
-            \* Move input data to output record for display
-                     MVC   DBORO1,INBORO1          First borough code
-                     MVC   DSTRT1,INSTRT1          First street name
-                     MVC   DBORO2,INBORO2          Second borough code
-                     MVC   DSTRT2,INSTRT2          Second street name
-                     SPACE
-            ******************************************************************
-            \* TO MAKE A COW FORMAT FUNCTION 2 CALL:                          *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                          *
-            \*       AND SET WORK AREA FORMAT FLAG TO 'C'                     *
-            \*   (2) SET WA1'S FUNCTION CODE FIELD TO 2                       *
-            \*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   *
-            \*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     *
-            \*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD *
-            \*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   *
-            \*   (7) CALL GBI WITH 2 WORKAREAS                                *
-            \*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                *
-            ******************************************************************
-            \* Clear WA1 to blanks
-                     LA    R8,P1BAL    "To" address for MVCL
-                     LA    R9,P1LENGTH     "To" length
-                     XR    R11,R11       for blanking out std WA1,
-                     ICM   R11,B'1000',=C' '  rather than moving data
-            \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-            \* pad the target area with the pad character of the "from" register
-            \* and do nothing else (the "from" address register is not used).
-                     MVCL  R8,R10
-            *
-                     MVI   P1IPLIND,C'C'  set work area format indicator to COW
-            *
-                     SPACE
-            \* Prime Work Area 1 for Function 2 call
-                     MVC   P1IFUNC,=CL2'2 '              Get function code
-                     MVC   P1IBORO1,INBORO1                  borough code 1
-                     MVC   P1ISTRT1,INSTRT1                  street name  1
-                     MVC   P1IBORO2,INBORO2                  borough code 2
-                     MVC   P1ISTRT2,INSTRT2                  street name  2
-                     MVC   P1ISNL(L'P1ISNL),=C'25'    Normalized street name length
-            \* Call Function 2 (2-Work-Area call)
-                     CALL  GBI,(P1BAL,P2BAL),VL
-            \* Check Return code
-                     CLC   P1ORC(2),=C'00'         Good return?
-                     BE    PROCESS                     Yes, process returned data
-            \* Handle errors and warnings
-            ERREXIT  DS    0H
-                     CLC   P1ORC(2),=C'01'         Warning condition?
-                     BE    PUTWARN                    Yes, process warning
-            \*                                              and then process input;
-            \*                                         otherwise, process error
-                     MVC   ERFUNC,P1IFUNC              function code
-                     MVC   ERRET(L'P1ORC),P1ORC        return code
-                     MVC   ERREAS(L'P1OREASN),P1OREASN reason code
-                     MVC   ERRMSG(L'P1OERROR),P1OERROR Geosupport error message
-                     PUT   OUTFILE,ERR1            Print error message 1
-                     MVC   ERINPUT,DSPLYIN    2 boro codes and 2 street names
-                     PUT   OUTFILE,ERR2            Print error message 2
-                     B     NEXTREC
-            PUTWARN  DS    0H
-                     MVC   WRFUNC,P1IFUNC              function code
-                     MVC   WRRET(L'P1ORC),P1ORC        return code
-                     MVC   WRREAS(L'P1OREASN),P1OREASN reason code
-                     MVC   WRNMSG(L'P1OERROR),P1OERROR Geosupport warning message
-                     PUT   OUTFILE,WARN            Print warning message
-                     SPACE
-            \* Handle successful Geosupport calls (Return Code <= 01)
-            PROCESS  DS    0H
-                     MVI   OUTFIXED,C'0'      Init. carriage control to dbl-space
-                     CLC   P1ORC(2),=C'01'    Was a warning issued?
-                     BNE   MOVEOUT               No..
-                     MVI   OUTFIXED,C' '         Yes, single-space output instead
-            MOVEOUT  DS    0H
-                     MVC   OINPUT,DSPLYIN    Pair of boro codes and street names
-                     MVC   OZIP,P2F2ZIP      ZIP code
-             MVC   OCOMM,P2F2CDN     community district number
-                     MVC   OPCT,P2F2POP      police precinct
-                     MVC   OSCHL,P2F2SCH     school district
-            ***** At this point, clear WA1 again, call Function D, and move ******
-            ***** all reported Intersecting Street Names to output          ******
-                     TITLE 'GET INTERSECTING STREET NAMES, USING FUNCTION D'
-                     SPACE 2
-            *************************************************************
-            \* TO GET THE STREET NAMES FOR INTERSECTING STREET CODES     *
-            \* MAKE A FUNCTION D CALL:                                   *
-            \*   (1) INITIALIZE WORKAREA 1 TO SPACES                     *
-            \*       AND SET WORK AREA FORMAT FLAG TO 'C'                *
-            \*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D              *
-            \*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN       *
-            \*       STREET NAMES FORMATTED FOR DISPLAY                  *
-            \*   (4) MOVE THE PACKED BORO AND STREET CODE TO             *
-            \*       WA1'S INPUT STREET CODE 1 FIELD                     *
-            \*   (5) CALL GBI WITH 1 WORKAREA                            *
-            \*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS           *
-            *************************************************************
-                     SPACE
-            \* For each street code of intersecting streets, including those input,
-            \* call Function D to get the corresponding street name
-                     XR    R4,R4
-                     MVC   INTWK,P2F2#INT   get count of intersecting streets.
-                     NI    INTWK,X'0F'      remove zone, leaving numeric
-                     IC    R4,INTWK         count of intersecting streets.
-                     LA    R5,P2F2CODE      point to street code(s).
-                     SPACE
-            INTRLOOP DS    0H
-            \* Clear WA1 to blanks
-                     LA    R8,P1BAL    "To" address for MVCL
-                     LA    R9,P1LENGTH     "To" length
-                     XR    R11,R11       for blanking out std WA1,
-                     ICM   R11,B'1000',=C' '  rather than moving data
-            \* ...since if the "from" length reg. has lo-order zeroes, MVCL will
-            \* pad the target area with the pad character of the "from" register
-            \* and do nothing else (the "from" address register is not used).
-                     MVCL  R8,R10
-            *
-                     MVI   P1IPLIND,C'C'  set work area format indicator to COW
-            *
-                     SPACE
-                     MVC   P1IFUNC(2),=CL2'D '
-                     MVC   P1ISNL(L'P1ISNL),=C'25'    normalized street name length
-                     MVI   P1ICMPCT,C'C'              streets to be compacted
-            *
-            \* Note  COW - MSW: P1ICDEx is the 10-digit street code (no boro)
-            \*                  P1IBCDx is the Boro and 10-digit street code
-            \*                  W1ICDEx is the packed Boro and 5-digit street code
-            \*                  P2F2CODE is Boro and 5-digit street code list
-            \*                  W2F2CODE is packed Boro and 5-digit street code list
-            *
-                     MVC   P1IBCD1(LB5SC),0(R5)   Intersecting boro and street code
-                     CALL  GBI,P1BAL,VL   Call Function D
-            \* Check Return code
-                     CLC   P1ORC(2),=C'00'         Good return?
-                     BNE   ERREXIT                     No, error or warning
-            \*                                          Yes, complete the record
-            \*                                               and write it out
-            PFIX     NOP   PVAR
-                     OI    PFIX+1,X'F0'
-                     MVC   OINTRSC1,P1OSTRT1
-            \*  put out the initial output including the first intersecting street
-                     PUT   OUTFILE,OUTFIXED
-                     B     NEXTSC     Now get the rest of the street codes, if any
-            PVAR     DS    0H
-                     MVC   OINTRSCN,P1OSTRT1
-            \* Print an output record and get the next intersecting street, if any
-                     PUT   OUTFILE,OUTVAR
-            NEXTSC   DS    0H
-                     LA    R5,LB5SC(,R5) point to next intersecting street code
-                     BCT   R4,INTRLOOP  if any, and process it;
-                     NI    PFIX+1,X'0F'    reset 1st-time (fixed/variable) switch
-                     B     NEXTREC      then, process next input record, if any
-                     SPACE
-            EXIT     DS    0H
-            OUTOPNER DS    0H
-                     CLOSE (INFILE)
-                     TM    OUTFILE+48,X'10'   Did OUTFILE open successfully?
-                     BNO   INOPNERR              No, bypass closing it
-                     CLOSE (OUTFILE)
-            INOPNERR DS    0H
-                     L     R13,4(,R13)
-                     L     R14,12(,R13)
-                     LM    R0,R12,20(R13)
-                     BR    R14
-                     SPACE 2
-            PARAMERR DS    0H       parameter error, missing or invalid
-                     LA    R15,8    rc=8
-                     B     EXIT
-                     TITLE 'DATA SECTION - REGISTER ASSIGNMENTS'
-            R0       EQU   0
-            R1       EQU   1
-            R2       EQU   2
-            R3       EQU   3
-            R4       EQU   4
-            R5       EQU   5
-            R6       EQU   6
-            R7       EQU   7
-            R8       EQU   8
-            R9       EQU   9
-            R10      EQU   10
-            R11      EQU   11
-            R12      EQU   12
-            R13      EQU   13
-            R14      EQU   14
-            R15      EQU   15
-                     TITLE 'FILE AND RECORD DEFINITIONS'
-                     PUSH  PRINT
-                     PRINT NOGEN
-            INFILE   DCB   DSORG=PS,MACRF=(GM),DDNAME=INFILE,                      *
-                           RECFM=FB,LRECL=80,BLKSIZE=400,EODAD=EXIT
-                     SPACE
-            OUTFILE  DCB   DSORG=PS,MACRF=(PM),DDNAME=SYSPRINT,                    *
-                           RECFM=FBA,LRECL=133,BLKSIZE=1330
-            *
-                     POP PRINT
-                     SPACE
-            INREC    DS    0CL80              Input record
-            INBORO1  DS    CL1                    First borough code
-            INSTRT1  DS    CL32                   First street name
-            INBORO2  DS    CL1                    Second borough code
-            INSTRT2  DS    CL32                   Second street name
-                     DC    14C' '                 filler
-                     SPACE
-            \* Output records: header, normal, warning, and error
-                     SPACE
-            \* header records
-            HDR1     DC    CL133'1SAMPLE ASSEMBLER \#2 EXECUTION OUTPUT             *
-                                                                                   *
-                                                      '
-            HDR2     DC    CL133'0*****----------------- INPUT INTERSECTION -------C
-                           --------------***** *****--------------- SELECTED OUTPUT*
-                            ITEMS ---------------*****'
-            HDR3     DC    CL133'0B IN-STREET-NAME-1                 B IN-STREET-NA*
-                           ME-2                  ZIP CD NYPD-PCT SCHLDST INTERSECTI*
-                           NG STREET NAMES            '
-            HDR4     DC    CL133' - -------------------------------- - ------------*
-                           ------------------- ----- -- -------- ------- ----------*
-                           ---------------------------'
-                     SPACE
-            \* normal records, i.e., output for valid data
-            OUTFIXED DS    0CL133                Fixed output
-            \* Borough codes and street names for each of 2 streets are from input
-                     DC    C'0'
-            OINPUT   DS    CL69
-            OZIP     DS    CL5
-                     DC    C' '
-            OCOMM    DS    CL2
-                     DC    C' '
-            OPCT     DS    CL3
-                     DC    6C' '
-            OSCHL    DS    CL2
-                               DC    6C' '
-            OINTRSC1 DS    CL25  Normalized name of first intersecting street
-                     SPACE
-            OUTVAR   DS    0CL133 Output line repeated per No. of Intersecting Sts.
-                     DC    C' '
-                     DC    95C' '
-            OINTRSCN DS    CL25  Normalized name of additional intersecting street
-                     DC    (133-121)C' '
-                     SPACE
-            \* warning record
-            WARN     DS    0CL133
-                     DC    C'0'
-                     DC    C'**** FUNCTION '
-            WRFUNC   DS    CL2
-                     DC    C' WARNING, GRC = '
-            WRRET    DS    CL2
-                     DC    C' REASON CODE = '
-            WRREAS   DS    CL1
-                     DC    C'. '
-            WRNMSG   DS    CL80            Warning message
-                     SPACE
-            \* error records
-            ERR1     DS    0CL133
-                     DC    C'0'
-                     DC    C'***** FUNCTION '
-            ERFUNC   DS    CL2
-                     DC    C' GRC = '
-            ERRET    DS    CL2
-                     DC    C' REASON = '
-            ERREAS   DS    CL1
-                     DC    C'. '
-            ERRMSG   DS    CL80            Error message
-                     DC    CL(133-120)' '
-                     SPACE
-            ERR2     DS    0CL133
-                     DC    C' '
-            ERINPUT  DS    CL69
-                     DC    CL(133-70)' '
-                     TITLE 'WORKING VARIABLES, VALUES, ETC.'
-            #INTER   DS    D        Working field for no. of intersecting streets
-            MYSAVE   DC    18F'0'
-            ***********************************************************************
-            ***** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     ***
-            ***** COPY STATEMENTS) IS STRONGLY ENCOURAGED.                      ***
-            ***********************************************************************
-                     COPY  P1BAL              COPY WORK AREA 1
-                     EJECT
-                     COPY  P2BAL              COPY WORK AREA 2
-                     EJECT
-                     SPACE 2
-            DSPLYIN  DS    0CL69
-            DBORO1   DS    CL1
-                     DC    C' '
-            DSTRT1   DS    CL32
-                     DC    C' '
-            DBORO2   DS    CL1
-                     DC    C' '
-            DSTRT2   DS    CL32
-                     SPACE 2
-            INTWK    DS    XL1      work field for number of intersecting streets
-            LB5SC    EQU   6        length of Boro and 5-digit street code
-                     TITLE 'CONSTANTS AND LITERAL POOL'
-                     SPACE 2
-                     LTORG
-                     END   ASMC2SRC
-            //LKED.SYSIN  DD  *
-             INCLUDE INCLIB(GBI)
-            /*
-            //LKED.INCLIB   DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //*                                                             \*//
-
-
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                             \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                             \*//
-            //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP   \*//
-            //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:      \*//
-            //*       A030.GEO.SUPPORT.PDSE.LOADLIB                         \*//
-            //*       A030.GEO.SUPPORT.LOADLIB                              \*//
-            //*                                                             \*//
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //GO.STEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-            //           DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //*
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                             \*//
-            //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-            //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-            //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-            //*   IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.    \*//
-            //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.   \*//
-            //*                                                             \*//
-            //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*
-            //SYSUDUMP DD  SYSOUT=\*,OUTLIM=2000
-            //SYSPRINT DD  SYSOUT=*
-            //INFILE   DD  *
-            1CHAMBERS ST                     1HUDSON ST
-            1SIXTH AVE                       1W. 8 ST
-            1DUANE ST                        1READE ST
-            /*
-            //
-
-

SAMPLE ASSEMBLER #2 EXECUTION OUTPUT

-
           *****----------------- INPUT INTERSECTION ---------------------***** *****--------------- SELECTED OUTPUT ITEMS ---------------*****
-
-           B IN-STREET-NAME-1                 B IN-STREET-NAME-2                  ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES
-           \- -------------------------------- - ------------------------------- ----- -- -------- ------- -------------------------------------
-
-           1 CHAMBERS ST                      1 HUDSON ST                       10007 01 001      02      CHAMBERS STREET
-                                                                                                          HUDSON STREET
-                                                                                                          WEST BROADWAY
-
-           1 SIXTH AVE                        1 W. 8 ST                         10014 02 006      02      6 AVENUE
-                                                                                                          GREENWICH AVENUE
-                                                                                                          WEST 8 STREET
-
-           ***** FUNCTION 2  GRC = 62 REASON =  . READE STREET & DUANE STREET DO NOT INTERSECT
-           1 DUANE ST                         1 READE ST
-
-

PL/1 SAMPLE PROGRAM #1

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

PL/1 SAMPLE PROGRAM #1 – Job Stream - MSW

-
        //PL1F1BAT  JOB YOUR-JOB-CARD-INFORMATION
-        //*
-        //********************************************************************
-        //***  PL1 SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1. ******
-        //***                   (MSW FORMAT)                            ******
-        //********************************************************************
-        //STEP1      EXEC IBMZCPLG,REGION=0M,GOPGM='PL1F1SC',
-        //           PARM.PLI='S,GS,INCLUDE',
-        //           PARM.LKED='AMODE(31)'
-        //PLI.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-        //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-        //SYSIN      DD *
-         PL1F1SC:    PROC OPTIONS(MAIN);
-           /*****************************************************************/
-           /* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING \*/
-           /* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.\*/
-           /* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     \*/
-           /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-           /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-           /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-           /*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET       \*/
-           /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.           \*/
-           /*****************************************************************/
-
-         DCL EOF                      BIT(1)  INIT('0'B),
-             YES                      BIT(1)  INIT('1'B),
-             NO                       BIT(1)  INIT('0'B),
-             ADDR                     BUILTIN,
-             (I,J)                    FIXED BIN(15) INIT(0);
-
-         /*******************************************************************/
-         /**************   GBI DECLARATION BELOW IS REQUIRED   **************/
-         /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE *****/
-         /*** %INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.            *******/
-         /*******************************************************************/
-         DCL GBI                      ENTRY OPTIONS(ASM,INTER);
-         %INCLUDE W1PL1;
-         %INCLUDE W2PL1;
-
-         /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-         DCL INFILE FILE STREAM INPUT;
-         DCL IN_BORO                  CHAR(01),
-             IN_HOUSENUM              CHAR(12),
-             IN_STREET_NAME           CHAR(32);
-
-         /******** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT *********/
-         DCL SYSPRINT FILE STREAM OUTPUT PRINT;
-         ON ENDPAGE(SYSPRINT)
-           PUT EDIT('SAMPLE PL1 PROGRAM \#1 EXECUTION OUTPUT',
-              '*****---------- INPUT ADDRESS ------------***** '||
-              '*****---------------------'||
-              ' SELECTED OUTPUT ITEMS -----------------------*****',
-              'B HOUSE NUMBER IN-STREET-NAME                   '||
-              '  ZIP CD NYPD-PCT SCHLDST '||
-              'LOW CROSS STREET          HIGH CROSS STREET        ',
-              '_ ____________ '||(32)'_'||' '||
-              '_____ __ ________ _______ '||
-              (25)'_'||' '||(25)'_')
-             (PAGE,COL(1),A,SKIP(2),COL(1),A,COL(1),A,SKIP(0),COL(1),A);
-         OPEN FILE(SYSPRINT) LINESIZE(133);
-         SIGNAL ENDPAGE(SYSPRINT);
-         /*****************************************************************/
-
-
-        ON ENDFILE(INFILE)  BEGIN; EOF=YES; GOTO ENDLOOP;  END;
-         OPEN FILE(INFILE);
-
-         DO WHILE (EOF = NO);
-
-           /********** REPLACE CODE BELOW WITH YOUR OWN INPUT *************/
-           GET FILE(INFILE) EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME)
-                                (COL(1),A(1),X(1),A(12),X(1),A(32));
-
-           /*****************************************************************/
-           /* TO MAKE A FUNCTION 1 CALL:                                    \*/
-           /*   (1) INITIALIZE WORKAREA 1 TO SPACES                         \*/
-           /*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      \*/
-           /*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      \*/
-           /*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER \*/
-           /*       FIELD                                                   \*/
-           /*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  \*/
-           /*   (6) CALL GBI WITH 2 WORKAREAS                               \*/
-           /*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               \*/
-           /*****************************************************************/
-           WORK1PL1 = ' ';
-           GEO_WA1_IN_FUNCTION_1 = '1';
-           GEO_WA1_IN_BORO       = IN_BORO;
-           GEO_WA1_IN_HOUSENUM   = IN_HOUSENUM;
-           GEO_WA1_IN_STREET_1   = IN_STREET_NAME;
-
-           CALL GBI(W1PL1,W2PL1);
-
-           IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 ¬= '00' &
-              GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 ¬= '01'
-           THEN DO;
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-                  PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME,
-                           '*** FUNCTION 1 GRC =',
-                           GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2,
-                           'REASON CODE =',GEO_WA1_OUT_REASON_CODE,
-                           '*** ',GEO_WA1_OUT_ERROR_MESSAGE)
-                          (SKIP(2),COL(1),(7)(A,X(1)),SKIP(1),COL(49),A,A);
-                END;
-           ELSE DO;
-                  PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME)
-                          (SKIP(2),COL(1),(3)(A,X(1)));
-                  IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '01'
-                  THEN DO;
-                         /** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE \**/
-                         PUT EDIT('*** FUNCTION 1 WARNING, GRC =',
-                                  GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2,
-                                  'REASON CODE =',GEO_WA1_OUT_REASON_CODE,
-                                  '*** ',GEO_WA1_OUT_ERROR_MESSAGE)
-                                 (COL(49),(4)(A,X(1)),SKIP(1),COL(49),A,A);
-                       END;
-                  /****************************************************/
-                  /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ****/
-                  /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS    ****/
-                  /****************************************************/
-                  PUT EDIT(GEO_WA2_FN1_ZIP,GEO_WA2_FN1_COMDIST_NUMBER,
-                           GEO_WA2_FN1_POL_PRECINCT,GEO_WA2_FN1_SCHOOLDIST)
-                          (COL(49),(3)(A,X(1)),X(5),A);
-                  /***********************************************************/
-                  /* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND \*/
-
-
-           /* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE   \*/
-                  /* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS    \*/
-                  /* FROM THE HIGH AND LOW STREET CODE LISTS CALL            \*/
-                  /* FUNCTION D:                                             \*/
-                  /*   (1) INITIALIZE WORKAREA 1 TO SPACES                   \*/
-                  /*   (2) SET WA1'S FUNCTION CODE FIELD TO D                \*/
-                  /*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED     \*/
-                  /*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE    \*/
-                  /*              HAS SPACE FOR ONLY 25 CHARACTERS)          \*/
-                  /*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN     \*/
-                  /*       STREET NAMES FORMATTED FOR DISPLAY                \*/
-                  /*   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET   \*/
-                  /*       CODE 1 FIELD                                      \*/
-                  /*   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET  \*/
-                  /*       CODE 2 FIELD                                      \*/
-                  /*   (7) CALL GBI WITH 1 WORKAREA                          \*/
-                  /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS         \*/
-                  /***********************************************************/
-                  WORK1PL1 = ' ';
-                  GEO_WA1_IN_FUNCTION_1        = 'D';
-                  GEO_WA1_IN_SNL               = '25';
-                  GEO_WA1_IN_COMPACT_NAME_FLAG = 'C';
-                  GEO_WA1_IN_STREETCODE_1      = GEO_WA2_FN1_LOW_PBSC(1);
-                  GEO_WA1_IN_STREETCODE_2      = GEO_WA2_FN1_HI_PBSC(1);
-                  CALL GBI(W1PL1);
-                  IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '00'
-                  THEN DO;
-                         /******** INSERT YOUR OWN CODE HERE *******/
-                         PUT EDIT(GEO_WA1_OUT_STREET_1,GEO_WA1_OUT_STREET_2)
-                                 (COL(75),A(25),X(1),A(25));
-                       END;
-                  ELSE DO;
-                         /*** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE \***/
-                         PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME,
-                                  '*** FUNCTION D GRC =',
-                                  GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2,
-                                  'REASON CODE =',GEO_WA1_OUT_REASON_CODE,',',
-                                  '*** ',GEO_WA1_OUT_ERROR_MESSAGE)
-                                 (SKIP(2),COL(1),(8)(A,X(1)),
-                                  SKIP(1),COL(49),A,A);
-                       END;
-                END;
-         ENDLOOP:  END;
-         CLOSE FILE(INFILE);
-         END PL1F1SC;
-        /*
-        //LKED.SYSIN  DD *
-          INCLUDE INCLIB(GBI)
-        /*
-        //INCLIB      DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //*
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-        //*   THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP  \*//
-        //*   MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:     \*//
-        //*        A030.GEO.SUPPORT.PDSE.LOADLIB                        \*//
-        //*        A030.GEO.SUPPORT.LOADLIB                             \*//
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //GO.STEPLIB  DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-        //            DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //GO.SYSLMOD  DD DSN=&&GOSET,DISP=(OLD,DELETE)
-
-
-        //*
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-        //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-        //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-        //*   IS TAILORD TO USE STANDARD GEOSUPPORT DATA SET NAMES.     \*//
-        //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.   \*//
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*
-        //GO.SYSPRINT DD SYSOUT=A
-        //GO.INFILE   DD *
-        1 22           READE ST
-        1 500          DUANE ST
-        1 2-4          BROADWAY
-        4 165-100      BAISLEY BLVD
-        4 165-1000     BAISLEY BLVD
-        /*
-        //
-
-

PL/1 SAMPLE PROGRAM #1 – Job Stream - COW

-
        //PL1C1SRC  JOB YOUR-JOB-CARD-INFORMATION
-        //*
-        //********************************************************************
-        //***  PL1 SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1. ******
-        //***                   (COW FORMAT)                            ******
-        //********************************************************************
-        //STEP1      EXEC IBMZCPLG,REGION=0M,GOPGM='PL1C1SC',
-        //           PARM.PLI='S,GS,INCLUDE',
-        //           PARM.LKED='AMODE(31),LIST'
-        //PLI.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-        //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-        //SYSIN      DD *
-         PL1C1SC:   PROC OPTIONS(MAIN);
-           /*****************************************************************/
-           /* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING \*/
-           /* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.\*/
-           /* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     \*/
-           /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-           /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-           /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-           /*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET       \*/
-           /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.           \*/
-           /*****************************************************************/
-
-         DCL EOF                      BIT(1)  INIT('0'B),
-             YES                      BIT(1)  INIT('1'B),
-             NO                       BIT(1)  INIT('0'B),
-             ADDR                     BUILTIN,
-             (I,J)                    FIXED BIN(15) INIT(0);
-
-         /*******************************************************************/
-         /**************   GBI DECLARATION BELOW IS REQUIRED   **************/
-         /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE *****/
-         /*** %INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.            *******/
-         /*******************************************************************/
-         DCL GBI                      ENTRY OPTIONS(ASM,INTER);
-         %INCLUDE P1PL1;
-         %INCLUDE P2PL1;
-
-         /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-         DCL INFILE FILE STREAM INPUT;
-         DCL IN_BORO                  CHAR(01),
-             IN_HOUSENUM              CHAR(12),
-             IN_STREET_NAME           CHAR(32);
-
-         /******** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT *********/
-         DCL SYSPRINT FILE STREAM OUTPUT PRINT;
-         ON ENDPAGE(SYSPRINT)
-           PUT EDIT('SAMPLE PL1 PROGRAM \#1 EXECUTION OUTPUT',
-              '*****---------- INPUT ADDRESS ------------***** '||
-              '*****---------------------'||
-              ' SELECTED OUTPUT ITEMS -----------------------*****',
-              'B HOUSE NUMBER IN-STREET-NAME                   '||
-              '  ZIP CD NYPD-PCT SCHLDST '||
-              'LOW CROSS STREET          HIGH CROSS STREET        ',
-              '_ ____________ '||(32)'_'||' '||
-              '_____ __ ________ _______ '||
-              (25)'_'||' '||(25)'_')
-             (PAGE,COL(1),A,SKIP(2),COL(1),A,COL(1),A,SKIP(0),COL(1),A);
-         OPEN FILE(SYSPRINT) LINESIZE(133);
-         SIGNAL ENDPAGE(SYSPRINT);
-
-
-        *****************************************************************/
-
-         ON ENDFILE(INFILE)  BEGIN; EOF=YES; GOTO ENDLOOP;  END;
-         OPEN FILE(INFILE);
-
-         DO WHILE (EOF = NO);
-
-           /********** REPLACE CODE BELOW WITH YOUR OWN INPUT *************/
-           GET FILE(INFILE) EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME)
-                                (COL(1),A(1),X(1),A(12),X(1),A(32));
-
-           /*****************************************************************/
-           /* TO MAKE A FUNCTION 1 CALL:                                    \*/
-           /*   (1) INITIALIZE WORKAREA 1 TO SPACES                         \*/
-           /*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      \*/
-           /*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      \*/
-           /*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER \*/
-           /*       FIELD                                                   \*/
-           /*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  \*/
-           /*   (6) CALL GBI WITH 2 WORKAREAS                               \*/
-           /*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               \*/
-           /*****************************************************************/
-           WORK1PL1 = ' ';
-           PIWA1_IN_FUNCTION_1 = '1';
-           PIWA1_IN_BORO_1     = IN_BORO;
-            /* for cow format the field house_number has length=16 \*/
-           PIWA1_IN_HOUSENUM_DISPLAY  = IN_HOUSENUM;
-           PIWA1_IN_STREET_1   = IN_STREET_NAME;
-           PIWA1_IN_PLATFORM_INDICATOR = 'C';
-           /***************************************************************/
-           /***************************************************************/
-           /* AS OF GEOSUPPORT 10.1,                                      \*/
-           /* TO RECEIVE ROADBED-SPECIFIC INFORMATION,                    \*/
-           /* SET THE ROADBED REQUEST SWITCH TO 'R', AS FOLLOWS:          \*/
-           /* PIWA1_IN_ROADBED_REQ_SWITCH = 'R';                          \*/
-           /***************************************************************/
-
-           CALL GBI(P1PL1,P2PL1);
-
-           IF PIWA1_OUT_RETURN_CODE ¬= '00' & PIWA1_OUT_RETURN_CODE ¬= '01'
-           THEN DO;
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-                  PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME,
-                           '*** FUNCTION 1 GRC =',PIWA1_OUT_RETURN_CODE,
-                           'REASON CODE =',PIWA1_OUT_REASON_CODE,
-                           '*** ',PIWA1_OUT_ERROR_MESSAGE)
-                          (SKIP(2),COL(1),(7)(A,X(1)),SKIP(1),COL(49),A,A);
-                END;
-           ELSE DO;
-                  PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME)
-                          (SKIP(2),COL(1),(3)(A,X(1)));
-                  IF PIWA1_OUT_RETURN_CODE = '01'
-                  THEN DO;
-                         /** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE \**/
-                         PUT EDIT('*** FUNCTION 1 WARNING, GRC =',
-                                  PIWA1_OUT_RETURN_CODE,
-                                  'REASON CODE =',PIWA1_OUT_REASON_CODE,
-                                  '*** ',PIWA1_OUT_ERROR_MESSAGE)
-                                 (COL(49),(4)(A,X(1)),SKIP(1),COL(49),A,A);
-                       END;
-
-                  /****************************************************/
-                  /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ****/
-                  /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS    ****/
-                  /****************************************************/
-                  PUT EDIT(PIWA2_FN1_ZIP,PIWA2_FN1_COM_DIST_NUM,
-                           PIWA2_FN1_POL_PRECINCT,PIWA2_FN1_SCHL_DIST)
-                          (COL(49),(3)(A,X(1)),X(5),A);
-                  /***********************************************************/
-                  /* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND \*/
-                  /* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE   \*/
-                  /* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS    \*/
-                  /* FROM THE HIGH AND LOW STREET CODE LISTS CALL            \*/
-                  /* FUNCTION D:                                             \*/
-                  /*   (1) INITIALIZE WORKAREA 1 TO SPACES                   \*/
-                  /*   (2) SET WA1'S FUNCTION CODE FIELD TO D                \*/
-                  /*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED     \*/
-                  /*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE    \*/
-                  /*              HAS SPACE FOR ONLY 25 CHARACTERS)          \*/
-                  /*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN     \*/
-                  /*       STREET NAMES FORMATTED FOR DISPLAY                \*/
-                  /*   (5) MOVE WA2'S LOW B5SC FIELD TO WA1'S INPUT STREET   \*/
-                  /*       CODE 1 FIELD                                      \*/
-                  /*   (6) MOVE WA2'S HIGH B5SC FIELD TO WA1'S INPUT STREET  \*/
-                  /*       CODE 2 FIELD                                      \*/
-                  /*   (7) CALL GBI WITH 1 WORKAREA                          \*/
-                  /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS         \*/
-                  /***********************************************************/
-                  WORK1PL1 = ' ';
-                  PIWA1_IN_PLATFORM_INDICATOR = 'C';
-                  PIWA1_IN_FUNCTION_1        = 'D';
-                  PIWA1_IN_SNL               = '25';
-                  PIWA1_IN_SN_NORM_FORMAT    = 'C';
-
-                  PIWA1_IN_BORO_1  = SUBSTR(PIWA2_FN1_LOW_B5SC(1),1,1);
-                  PIWA1_IN_10SC_1  = SUBSTR(PIWA2_FN1_LOW_B5SC(1),2,5);
-                  PIWA1_IN_BORO_2  = SUBSTR(PIWA2_FN1_HI_B5SC(1),1,1);
-                  PIWA1_IN_10SC_2  = SUBSTR(PIWA2_FN1_HI_B5SC(1),2,5);
-
-
-                  CALL GBI(P1PL1);
-                  IF PIWA1_OUT_RETURN_CODE = '00'
-                  THEN DO;
-                         /******** INSERT YOUR OWN CODE HERE *******/
-                         PUT EDIT(PIWA1_OUT_STREET_1,PIWA1_OUT_STREET_2)
-                                 (COL(75),A(25),X(1),A(25));
-                       END;
-                  ELSE DO;
-                         /*** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE \***/
-                         PUT EDIT(IN_BORO,IN_HOUSENUM,IN_STREET_NAME,
-                                  '*** FUNCTION D GRC =',
-                                  PIWA1_OUT_RETURN_CODE,
-                                  'REASON CODE =',PIWA1_OUT_REASON_CODE,',',
-                                  '*** ',PIWA1_OUT_ERROR_MESSAGE)
-                                 (SKIP(2),COL(1),(8)(A,X(1)),
-                                  SKIP(1),COL(49),A,A);
-                       END;
-                END;
-         ENDLOOP:  END;
-         CLOSE FILE(INFILE);
-         END PL1C1SC;
-        /*
-        //LKED.SYSIN  DD *
-        INCLUDE INCLIB(GBI)
-        /*
-        //INCLIB      DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //*
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-        //*   THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP  \*//
-        //*   MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:     \*//
-        //*        A030.GEO.SUPPORT.PDSE.LOADLIB                        \*//
-        //*        A030.GEO.SUPPORT.LOADLIB                             \*//
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //GO.STEPLIB  DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-        //            DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //GO.SYSLMOD  DD DSN=&&GOSET,DISP=(OLD,DELETE)
-        //*
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-        //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-        //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-        //*   IS TAILORD TO USE STANDARD GEOSUPPORT DATA SET NAMES.     \*//
-        //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.   \*//
-        //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-        //*
-        //GO.SYSPRINT DD SYSOUT=A
-        //GO.INFILE   DD *
-        1 22           READE ST
-        1 500          DUANE ST
-        1 2-4          BROADWAY
-        4 165-100      BAISLEY BLVD
-        4 165-1000     BAISLEY BLVD
-        /*
-        //
-
-

SAMPLE PL/1 PROGRAM #1 EXECUTION OUTPUT

-
        *****---------- INPUT ADDRESS ------------***** *****--------------------- SELECTED OUTPUT ITEMS -----------------------*****
-
-         B HOUSE NUMBER IN-STREET-NAME                     ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREET
-         - ------------ -------------------------------- ----- -- -------- ------- ------------------------- -------------------------
-
-         1 22           READE ST                         10007 01 005      02      ELK STREET                BROADWAY
-
-         1 500          DUANE ST                         *** FUNCTION 1 GRC = 42 REASON CODE =
-                                                         *** ADDRESS NUMBER OUT OF RANGE
-
-         1 2-4          BROADWAY                         *** FUNCTION 1 WARNING, GRC = 01 REASON CODE = 1
-                                                         *** ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
-                                                         10004 01 001      02      STONE STREET              BOWLING GREEN
-
-         4 165-100      BAISLEY BLVD                     11434 12 113      28      GUY R BREWER BOULEVARD    BEDELL STREET
-
-         4 165-1000     BAISLEY BLVD                     *** FUNCTION 1 GRC = 13 REASON CODE = 2
-                                                         *** ADDRESS NBR 165-1000  HAS MORE THAN 3 DIGITS AFTER THE DASH.
-
-

PL/1 SAMPLE PROGRAM #2

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

PL/1 SAMPLE PROGRAM #2 –Job Stream - MSW

-
          //PL1F2SRC  JOB YOUR-JOB-CARD-INFORMATION
-          //*
-          //********************************************************************
-          //***  PL1 SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2. ******
-          //***                   (MSW FORMAT)                            ******
-          //********************************************************************
-          //STEP1      EXEC IBMZCPLG,REGION=0M,GOPGM='PL1F2SR',
-          //           PARM.PLI='S,GS,INCLUDE',
-          //           PARM.LKED='AMODE(31)'
-          //PLI.SYSLIB DD DSN=A030.GEO.COPYLIB2,DISP=SHR
-          //           DD DSN=A030.GEO.COPYLIB,DISP=SHR
-          //SYSIN      DD *
-           PL1F2SR:    PROC OPTIONS(MAIN);
-             /******************************************************************/
-             /* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING  \*/
-             /* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.   \*/
-             /* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION. \*/
-             /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.   \*/
-             /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  \*/
-             /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE          \*/
-             /*       ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET        \*/
-             /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 2.            \*/
-             /******************************************************************/
-
-           DCL EOF                      BIT(1)  INIT('0'B),
-               YES                      BIT(1)  INIT('1'B),
-               NO                       BIT(1)  INIT('0'B),
-               ADDR                     BUILTIN,
-               (I,J)                    FIXED BIN(15) INIT(0);
-
-           /**************** GBI DECLARATION BELOW IS REQUIRED ****************/
-           DCL GBI                      ENTRY OPTIONS(ASM,INTER);
-
-           /*******************************************************************/
-           /** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BY THE %INCLUDE  \**/
-           /** STATEMENTS) IS STRONGLY ENCOURAGED                            \**/
-           /*******************************************************************/
-           %INCLUDE W1PL1;
-           %INCLUDE W2PL1;
-
-           /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-           DCL INFILE FILE STREAM INPUT;
-           DCL IN_BORO1                 CHAR(01),
-               IN_STREET_NAME1          CHAR(32),
-               IN_BORO2                 CHAR(01),
-               IN_STREET_NAME2          CHAR(32);
-
-           /******** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT *********/
-           DCL SYSPRINT FILE STREAM OUTPUT PRINT;
-           ON ENDPAGE(SYSPRINT)
-             PUT EDIT('SAMPLE PL1 PROGRAM \#2 EXECUTION OUTPUT',
-                '*****----------------- INPUT INTERSECTION '||(22)'-'||'***** '||
-                '*****------------ SELECTED OUTPUT ITEMS -------------*****',
-                'B IN-STREET-NAME-1'||(17)' '||'B IN-STREET-NAME-2'||(17)' '||
-                '  ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES        ',
-                '_ '||(32)'\_'||' _ '||(32)'\_'||' '||
-                '_____ __ ________ _______ '||(32)'\_')
-               (PAGE,COL(1),A,SKIP(2),COL(1),A,COL(1),A,SKIP(0),COL(1),A);
-           OPEN FILE(SYSPRINT) LINESIZE(133);
-           SIGNAL ENDPAGE(SYSPRINT);
-           /*****************************************************************/
-           ON ENDFILE(INFILE)  BEGIN; EOF=YES; GOTO ENDLOOP;  END;
-           OPEN FILE(INFILE);
-
-           DO WHILE (EOF = NO);
-
-             /********** REPLACE CODE BELOW WITH YOUR OWN INPUT *************/
-             GET FILE(INFILE) EDIT(IN_BORO1,IN_STREET_NAME1,
-                                   IN_BORO2,IN_STREET_NAME2)
-                                  (COL(1),A(1),X(1),A(32),X(1),A(1),X(1),A(32));
-
-             /******************************************************************/
-             /* TO MAKE A FUNCTION 2 CALL:                                     \*/
-             /*   (1) INITIALIZE WORKAREA 1 TO SPACES                          \*/
-             /*   (2) SET WA1'S FUNCTION-CODE TO 2                             \*/
-             /*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   \*/
-             /*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     \*/
-             /*       FIELD                                                    \*/
-             /*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD \*/
-             /*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   \*/
-             /*       FIELD                                                    \*/
-             /*   (7) CALL GBI WITH 2 WORKAREAS                                \*/
-             /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                \*/
-             /******************************************************************/
-             WORK1PL1 = ' ';
-             GEO_WA1_IN_FUNCTION_1 = '2';
-             GEO_WA1_IN_BORO       = IN_BORO1;
-             GEO_WA1_IN_STREET_1   = IN_STREET_NAME1;
-             GEO_WA1_IN_BORO_2     = IN_BORO2;
-             GEO_WA1_IN_STREET_2   = IN_STREET_NAME2;
-
-             CALL GBI(W1PL1,W2PL1);
-
-             IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 ¬= '00' &
-                GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 ¬= '01'
-             THEN DO;
-                    /****** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *******/
-                    PUT EDIT('***** FUNCTION 2 GRC =',
-                             GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2,
-                             'REASON =',GEO_WA1_OUT_REASON_CODE,',',
-                             GEO_WA1_OUT_ERROR_MESSAGE,
-                             IN_BORO1,IN_STREET_NAME1,IN_BORO2,IN_STREET_NAME2)
-                            (SKIP(2),COL(1),(3)(A,X(1)),A,A,X(1),A,
-                             SKIP(1),(4)(A,X(1)));
-                  END;
-             ELSE
-                 IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '01'
-                 THEN DO;
-                        /*** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE ****/
-                        PUT EDIT('***** FUNCTION 2 WARNING, GRC = '||
-                                 GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2||', '||
-                                 'REASON CODE = '||GEO_WA1_OUT_REASON_CODE||
-                                 ', '||GEO_WA1_OUT_ERROR_MESSAGE,
-                                 IN_BORO1,IN_STREET_NAME1,
-                                 IN_BORO2,IN_STREET_NAME2)
-                                (SKIP(2),COL(1),A,SKIP(1),(4)(A,X(1)));
-                      END;
-
-             IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '00'|
-                GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '01'
-             THEN DO;
-                    /***********************************************************/
-            /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********/
-                    /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS.         *****/
-                    /***********************************************************/
-                    PUT EDIT(IN_BORO1,IN_STREET_NAME1,IN_BORO2,IN_STREET_NAME2,
-                             GEO_WA2_FN2_ZIP,GEO_WA2_FN2_COMDIST_NUMBER,
-                             GEO_WA2_FN2_POL_PRECINCT,GEO_WA2_FN2_SCHOOLDIST)
-                            (SKIP(2),COL(1),(7)(A,X(1)),X(5),A);
-                    DO J = 1 TO GEO_WA2_FN2_NUM_OF_INTERSECTS;
-                      /*******************************************************/
-                      /* TO GET STREET NAMES FOR INTERSECTING STREET CODES   \*/
-                      /* MAKE A FUNCTION D CALL:                             \*/
-                      /*   (1) INITIALIZE WORKAREA 1 TO SPACES               \*/
-                      /*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D        \*/
-                      /*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN \*/
-                      /*       STREET NAMES FORMATTED FOR DISPLAY            \*/
-                      /*   (4) MOVE THE PACKED BORO AND STREET CODE TO       \*/
-                      /*       WA1'S INPUT STREET CODE 1 FIELD               \*/
-                      /*   (5) CALL GBI WITH 1 WORKAREA                      \*/
-                      /*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS     \*/
-                      /*******************************************************/
-                      WORK1PL1 = ' ';
-                      GEO_WA1_IN_FUNCTION_1        = 'D';
-                      GEO_WA1_IN_COMPACT_NAME_FLAG = 'C';
-                      GEO_WA1_IN_STREETCODE_1 = GEO_WA2_FN2_INTERSECT_PBSC(J);
-                      CALL GBI(W1PL1);
-                      IF GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2 = '00'
-                      THEN DO;
-                             /******** INSERT YOUR OWN CODE HERE *******/
-                             PUT EDIT(GEO_WA1_OUT_STREET_1)  (COL(97),A);
-                           END;
-                      ELSE DO;
-                             /** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE \**/
-                             PUT EDIT('***** FUNCTION D GRC =',
-                                      GEO_WA1_OUT_RC_1||GEO_WA1_OUT_RC_2,
-                                      'REASON =',GEO_WA1_OUT_REASON_CODE,',',
-                                      GEO_WA1_OUT_ERROR_MESSAGE)
-                                     (SKIP(2),COL(1),(6)(A,X(1)));
-                           END;
-                    END;
-                  END;
-           ENDLOOP:  END;
-           CLOSE FILE(INFILE);
-           END PL1F2SR;
-          /*
-          //LKED.SYSIN  DD *
-            INCLUDE INCLIB(GBI)
-          /*
-          //INCLIB      DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //*
-          //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-          //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-          //*   THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP  \*//
-          //*   MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:     \*//
-          //*        A030.GEO.SUPPORT.PDSE.LOADLIB                        \*//
-          //*        A030.GEO.SUPPORT.LOADLIB                             \*//
-          //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-          //GO.STEPLIB  DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-          //            DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-          //GO.SYSLMOD  DD DSN=&&GOSET,DISP=(OLD,DELETE)
-          //*
-          //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-          //*   AS OF GEOSUPPORT VERSION 10.0,                            \*//
-          //*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,  \*//
-          //*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT     \*//
-          //*   IS TAILORD TO USE STANDARD GEOSUPPORT DATA SET NAMES.     \*//
-          //*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.   \*//
-          //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-          //*
-          //GO.SYSPRINT DD SYSOUT=A
-          //GO.INFILE   DD *
-          1 CHAMBERS ST                      1 HUDSON ST
-          1 SIXTH AVE                        1 W. 8 ST
-          1 DUANE ST                         1 READE ST
-          /*
-          //
-
-

SAMPLE PL1 PROGRAM #2 EXECUTION OUTPUT

-
          *****----------------- INPUT INTERSECTION ----------------------***** *****------------ SELECTED OUTPUT ITEMS -------------*****
-
-           B IN-STREET-NAME-1                 B IN-STREET-NAME-2                   ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES
-           \- -------------------------------- - -------------------------------- ----- -- -------- -------- --------------------------------
-
-           1 CHAMBERS ST                      1 HUDSON ST                        10007 01 001      02       CHAMBERS STREET
-                                                                                                            HUDSON STREET
-                                                                                                            WEST BROADWAY
-
-           1 SIXTH AVE                        1 W. 8 ST                          10014 02 006      02       6 AVENUE
-                                                                                                            GREENWICH AVENUE
-                                                                                                            WEST 8 STREET
-
-           ***** FUNCTION 2 GRC = 62 REASON =  , READE STREET & DUANE STREET DO NOT INTERSECT
-           1 DUANE ST                         1 READE ST
-
-

C SAMPLE PROGRAM #1

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

C SAMPLE PROGRAM #1 – Job Stream -MSW

-
        //CCCF1SRC JOB YOUR-JOB-CARD-INFORMATION
-        //*
-        //********************************************************************
-        //***  C SAMPLE MSW BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1  ****
-        //********************************************************************
-        //STEP1 EXEC EDCCLG,
-        //      CPARM='SS,OPT,OFFSET,SOURCE,XREF,LIST'
-        //COMPILE.SYSPRINT DD SYSOUT=A
-        //COMPILE.SYSLIB   DD
-        //                 DD
-        //                 DD  DSNAME=A030.GEO.COPYLIB,DISP=SHR
-        //COMPILE.SYSIN    DD *
-           /*****************************************************************/
-           /* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING \*/
-           /* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.\*/
-           /* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     \*/
-           /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-           /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-           /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-           /*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET       \*/
-           /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.           \*/
-           /*****************************************************************/
-
-        #include <stdio.h>
-        #include <string.h>
-
-         /*********************************************************************/
-         /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     \***/
-         /*** #INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.                  \***/
-         /*********************************************************************/
-        #include <wac.h>
-
-         /**************   GBI OS LINKAGE BELOW IS REQUIRED   **************/
-           #pragma linkage (GBI,OS)
-           long GBI(void \*, ...);
-
-         /***** THE WORK AREA LAYOUTS MUST BE DECLARED USING THE TYPEDEFS \***/
-         /***** IN THE GEOSUPPORT COPY FILE.                              \***/
-           C_WA1 wa1;
-           C_WA2_F1 wa2_f1;
-
-        void main ()
-         {
-        /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-            FILE \*inpdat;
-            struct tag
-              {
-               char in_boro;
-               char filler1;
-               char in_housenum         [12];
-               char filler2;
-               char in_street_name      [32];
-               char filler3             [33];
-              } recin ;
-
-            inpdat = fopen("DD:INPDAT","rb");
-            if (inpdat ==  NULL)
-                {printf("INPDAT Data Set did not open.\n");
-                 return;}
-         /***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT  *****/
-              printf("\fSAMPLE C PROGRAM \#1 EXECUTION OUTPUT  ");
-              printf("\n\n*****---------- INPUT ADDRESS ------------***** \***");
-              printf("\**--------------------- SELECTED OUTPUT ITEMS ---------");
-              printf("--------------*****");
-              printf("\n\nB HOUSE NUMBER IN-STREET-NAME              ");
-              printf("       ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET ");
-              printf("         HIGH CROSS STREET       ");
-              printf("\r_ ____________ ____________________________");
-              printf("____ _____ __ ________ _______ _________________");
-              printf("________ _________________________");
-
-          /*** REPLACE CODE BELOW WITH YOUR OWN INPUT \***/
-          while (fread(&recin,1,sizeof(recin),inpdat))
-           {
-
-           /*****************************************************************/
-           /* TO MAKE A FUNCTION 1 CALL:                                    \*/
-           /*   (1) INITIALIZE WORKAREA 1 TO SPACES                         \*/
-           /*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      \*/
-           /*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      \*/
-           /*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER \*/
-           /*       FIELD                                                   \*/
-           /*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  \*/
-           /*   (6) CALL GBI WITH 2 WORKAREAS                               \*/
-           /*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               \*/
-           /*****************************************************************/
-             memset(&wa1,' ',sizeof(wa1));
-             memcpy(wa1.input.func_code,"1 ",2);
-             wa1.input.boro_1 = recin.in_boro ;
-             memcpy(wa1.input.street_name_1,recin.in_street_name,32);
-             memcpy(wa1.input.hse_nbr_disp,recin.in_housenum,12);
-         /*
-         /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-         /*     As of Geosupport Version 10.1,                              \*/
-         /*     to receive roadbed-specific information,                    \*/
-         /*     set the Roadbed Request Switch to 'R', as follows:          \*/
-         /*     wa1.input.roadbedreq = 'R';                                 \*/
-         /*                                                                 \*/
-         /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-         /*                                                                 \*/
-             GBI(&wa1,&wa2_f1);
-
-             if ( (memcmp(wa1.output.ret_code,"01",2)) > 0
-             ||   (memcmp(wa1.output.ret_code,"00",2)) < 0 )
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-              {
-                printf("\n\n%c %.12s %.32s *** FUNCTION 1 GRC = %.2s"
-                       " REASON CODE = %c",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-                    wa1.output.ret_code,wa1.output.reject_reason_code) ;
-                printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-              }
-
-             if ( (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-                  /******** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE *****/
-              {
-                printf("\n\n%c %.12s %.32s *** FUNCTION 1 WARNING, GRC = %.2s"
-                       " REASON CODE = %c",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-
-                wa1.output.ret_code,wa1.output.reject_reason_code) ;
-                printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-                printf("\n%47.1s %.5s %.2s %.3s      %.2s",
-                    " ",wa2_f1.zip_code,
-                    wa2_f1.com_dist+1,wa2_f1.police_pre,wa2_f1.com_schl_dist) ;
-              }
-
-             if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-                  /***********************************************************/
-                  /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********/
-                  /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****/
-                  /***********************************************************/
-                  printf("\n\n%c %.12s %.31s  %.5s %.2s %.3s      %.2s",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-                    wa2_f1.zip_code,
-                    wa2_f1.com_dist+1,wa2_f1.police_pre,wa2_f1.com_schl_dist) ;
-
-                /************************************************************/
-                /* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND  \*/
-                /* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE    \*/
-                /* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS     \*/
-                /* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D: \*/
-                /*   (1) INITIALIZE WORKAREA 1 TO SPACES                    \*/
-                /*   (2) SET WA1'S FUNCTION CODE FIELD TO D                 \*/
-                /*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED      \*/
-                /*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE     \*/
-                /*              HAS SPACE FOR ONLY 25 CHARACTERS)           \*/
-                /*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN      \*/
-                /*       STREET NAMES FORMATTED FOR DISPLAY                 \*/
-                /*   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET    \*/
-                /*       CODE 1 FIELD                                       \*/
-                /*   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET   \*/
-                /*       CODE 2 FIELD                                       \*/
-                /*   (7) CALL GBI WITH 1 WORKAREA                           \*/
-                /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS          \*/
-                /************************************************************/
-             if ( (memcmp(wa1.output.ret_code,"00",2)) == 0
-             ||   (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-              {
-                memset(&wa1,' ',sizeof(wa1));  /* Clear Work area 1 \*/
-                wa1.input.func_code[0] = 'D' ;
-                wa1.input.compact_flag = 'C' ;
-                memcpy(wa1.input.snl,"25",2) ;
-                memcpy(wa1.input.PB5SC_1,wa2_f1.l_x_sts[0],4) ;
-                memcpy(wa1.input.PB5SC_2,wa2_f1.h_x_sts[0],4) ;
-                GBI(&wa1);
-                if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-                  /***** INSERT YOUR OWN CODE HERE ***********/
-                  printf("      %.25s %.25s",wa1.output.street_name_1,
-                         wa1.output.street_name_2) ;
-                else
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-                 {
-                  printf("\n\n%c %.12s %.32s *** FUNCTION D GRC = %.2s"
-                         " REASON CODE = %c",
-                      recin.in_boro,recin.in_housenum,recin.in_street_name,
-                      wa1.output.ret_code,wa1.output.reject_reason_code) ;
-                  printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-                 }
-
-              }
-          }
-
-         }
-        /*
-        //LKED.SYSIN   DD *
-            INCLUDE DD1(GBI)
-        /*
-        //LKED.DD1  DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //***************************************************************
-        //*
-        //*  AS OF GEOSUPPORT VERSION 10.0, THE STEPLIB OR JOBLIB
-        //*  STATEMENTS OF THE GEOSUPPORT EXECUTION STEP MUST INCLUDE
-        //*  THE FOLLOWING TWO CONCATENATED DATA SETS IN THE SPECIFIED
-        //*  ORDER:
-        //*                A030.GEO.SUPPORT.PDSE.LOADLIB
-        //*                A030.GEO.SUPPORT.LOADLIB
-        //*
-        //***************************************************************
-        //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-        //            DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //***************************************************************
-        //*
-        //*  AS OF GEOSUPPORT VERSION 10.0, DD STATEMENTS FOR GEOSUPPORT
-        //*  DATA FILES (E.G. GRID, PAD, ETC) ARE NO LONGER NEEDED AND
-        //*  ARE IGNORED.  GEOSUPPORT IS TAILORED TO USE STANDARD
-        //*  GEOSUPPORT DATA SETS.  TO USE NON-STANDARD FILES, SEE YOUR
-        //*  SYSTEMS PROGRAMMER.
-        //*
-        //***************************************************************
-        //GO.SYSPRINT DD SYSOUT=A
-        //GO.INPDAT DD \*,DCB=LRECL=80
-        1 22           READE ST
-        1 500          DUANE ST
-        1 2-4          BROADWAY
-        4 165-100      BAISLEY BLVD
-        4 165-1000     BAISLEY BLVD
-        /*
-        //
-
-

C SAMPLE PROGRAM #1 –Job Stream - COW

-
        //CCCC1SRC JOB YOUR-JOB-CARD-INFORMATION
-        //*
-        //********************************************************************
-        //***  C SAMPLE COW BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1  ****
-        //********************************************************************
-        //*
-        //STEP1 EXEC EDCCLG,
-        //      CPARM='SS,OPT,OFFSET,SOURCE,XREF,LIST'
-        //COMPILE.SYSPRINT DD SYSOUT=A
-        //COMPILE.SYSLIB   DD
-        //                 DD
-        //                 DD  DSNAME=A030.GEO.COPYLIB,DISP=SHR
-        //COMPILE.SYSIN    DD *
-           /*****************************************************************/
-           /* THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING \*/
-           /* BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.\*/
-           /* FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.     \*/
-           /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-           /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-           /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-           /*       ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET       \*/
-           /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.           \*/
-           /*****************************************************************/
-
-        #include <stdio.h>
-        #include <string.h>
-
-         /*********************************************************************/
-         /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     \***/
-         /*** #INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.                  \***/
-         /*********************************************************************/
-        #include <pac.h>
-
-         /**************   GBI OS LINKAGE BELOW IS REQUIRED   **************/
-        #pragma linkage (GBI,OS)
-        long GBI(void \*, ...);
-
-         /***** THE WORK AREA LAYOUTS MUST BE DECLARED USING THE TYPEDEFS \***/
-         /***** IN THE GEOSUPPORT COPY FILE.                              \***/
-           C_WA1 wa1;
-           C_WA2_F1 wa2_f1;
-
-        void main ()
-
-         /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-            FILE \*inpdat;
-            struct tag
-              {
-               char in_boro;
-               char filler1;
-               char in_housenum         [12];
-               char filler2;
-               char in_street_name      [32];
-               char filler3             [33];
-              } recin ;
-
-            inpdat = fopen("DD:INPDAT","rb");
-            if (inpdat ==  NULL)
-                {printf("INPDAT Data Set did not open.\n");
-                 return;}
-         /***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT  *****/
-              printf("\fSAMPLE C PROGRAM \#1 EXECUTION OUTPUT  ");
-              printf("\n\n*****---------- INPUT ADDRESS ------------***** \***");
-              printf("\**--------------------- SELECTED OUTPUT ITEMS ---------");
-              printf("--------------*****");
-              printf("\n\nB HOUSE NUMBER IN-STREET-NAME              ");
-              printf("       ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET ");
-              printf("         HIGH CROSS STREET       ");
-              printf("\r_ ____________ ____________________________");
-              printf("____ _____ __ ________ _______ _________________");
-              printf("________ _________________________");
-
-          /*** REPLACE CODE BELOW WITH YOUR OWN INPUT \***/
-          while (fread(&recin,1,sizeof(recin),inpdat))
-           {
-
-           /*****************************************************************/
-           /* TO MAKE A FUNCTION 1 CALL:                                    \*/
-           /*   (1) INITIALIZE WORKAREA 1 TO SPACES                         \*/
-           /*   (2) SET WA1'S FUNCTION CODE FIELD TO 1                      \*/
-           /*   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD      \*/
-           /*   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER \*/
-           /*       FIELD                                                   \*/
-           /*   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD  \*/
-           /*   (6) CALL GBI WITH 2 WORKAREAS                               \*/
-           /*   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS               \*/
-           /*****************************************************************/
-
-             memset(&wa1,' ',sizeof(wa1));
-             memcpy(wa1.input.func_code,"1 ",2);
-             wa1.input.sti??(0??).boro = recin.in_boro ;
-             memcpy(wa1.input.sti??(0??).Street_name,recin.in_street_name,32);
-                    /* Please note that the house number field is actually \*/
-                    /* 16 bytes.  If you are only using 12 bytes, it is    \*/
-                    /* critical that you blank out the work area before    \*/
-                    /* you move in the house number                        \*/
-             memcpy(wa1.input.hse_nbr_disp,recin.in_housenum,12);
-             wa1.input.platform_ind = 'C';    /* Tells Geosupport that you \*/
-                                              /* are using the character   \*/
-         /*
-         /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-         /*     As of Geosupport Version 10.1,                              \*/
-         /*     to receive roadbed-specific information,                    \*/
-         /*     set the Roadbed Request Switch to 'R', as follows:          \*/
-         /*     wa1.input.roadbedrequest = 'R';                             \*/
-         /*                                                                 \*/
-         /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-         /*  \*/
-
-
-             GBI(&wa1,&wa2_f1);
-
-             if ( (memcmp(wa1.output.ret_code,"01",2)) > 0
-             ||   (memcmp(wa1.output.ret_code,"00",2)) < 0 )
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-              {
-                printf("\n\n%c %.12s %.32s *** FUNCTION 1 GRC = %.2s"
-                       " REASON CODE = %c",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-                    wa1.output.ret_code,wa1.output.reason_code) ;
-                printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-              }
-             if ( (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-                  /******** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE *****/
-              {
-                printf("\n\n%c %.12s %.32s *** FUNCTION 1 WARNING, GRC = %.2s"
-                       " REASON CODE = %c",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-        wa1.output.ret_code,wa1.output.reason_code) ;
-                printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-                printf("\n%47.1s %.5s %.2s %.3s      %.2s",
-                    " ",wa2_f1.zip_code,
-                    wa2_f1.com_dist+1,wa2_f1.police_pre,wa2_f1.com_schl_dist) ;
-              }
-
-             if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-                  /***********************************************************/
-                  /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********/
-                  /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****/
-                  /***********************************************************/
-                printf("\n\n%c %.12s %.31s  %.5s %.2s %.3s      %.2s",
-                    recin.in_boro,recin.in_housenum,recin.in_street_name,
-                    wa2_f1.zip_code,
-                    wa2_f1.com_dist+1,wa2_f1.police_pre,wa2_f1.com_schl_dist) ;
-
-                /************************************************************/
-                /* THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND  \*/
-                /* ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE    \*/
-                /* FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS     \*/
-                /* FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D: \*/
-                /*   (1) INITIALIZE WORKAREA 1 TO SPACES                    \*/
-                /*   (2) SET WA1'S FUNCTION CODE FIELD TO D                 \*/
-                /*   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED      \*/
-                /*       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE     \*/
-                /*              HAS SPACE FOR ONLY 25 CHARACTERS)           \*/
-                /*   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN      \*/
-                /*       STREET NAMES FORMATTED FOR DISPLAY                 \*/
-                /*   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET    \*/
-                /*       CODE 1 FIELD                                       \*/
-                /*   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET   \*/
-                /*       CODE 2 FIELD                                       \*/
-                /*   (7) CALL GBI WITH 1 WORKAREA                           \*/
-                /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS          \*/
-                /************************************************************/
-             if ( (memcmp(wa1.output.ret_code,"00",2)) == 0
-             ||   (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-              {
-                memset(&wa1,' ',sizeof(wa1));  /* Clear Work area 1 \*/
-                wa1.input.func_code[0] = 'D' ;
-                wa1.input.st_name_norm = 'C' ;
-                memcpy(wa1.input.snl,"25",2) ;
-         wa1.input.platform_ind = 'C';
-                wa1.input.sti??(0??).boro=wa2_f1.st??(0??).B5SC??(0??)??(0??);
-                memcpy(wa1.input.sti??(0??).SC10,
-                       wa2_f1.st??(0??).B5SC??(0??)+1,5);
-                wa1.input.sti??(1??).boro=wa2_f1.st??(1??).B5SC??(0??)??(0??);
-                memcpy(wa1.input.sti??(1??).SC10,
-                       wa2_f1.st??(1??).B5SC??(0??)+1,5);
-                GBI(&wa1);
-                if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-                  /***** INSERT YOUR OWN CODE HERE ***********/
-                    printf("      %.25s %.25s",wa1.output.sto??(0??).Street_name,
-                         wa1.output.sto??(1??).Street_name) ;
-                else
-                  /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-                 {
-                  printf("\n\n%c %.12s %.32s *** FUNCTION D GRC = %.2s"
-                         " REASON CODE = %c",
-                      recin.in_boro,recin.in_housenum,recin.in_street_name,
-                      wa1.output.ret_code,wa1.output.reason_code) ;
-                  printf ("\n%51.5s %.80s", "\***", wa1.output.msg) ;
-                 }
-
-              }
-
-           }
-
-         }
-        /*
-        //LKED.SYSIN   DD *
-            INCLUDE DD1(GBI)
-        /*
-        //LKED.DD1  DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //***************************************************************
-        //*
-        //*  AS OF GEOSUPPORT VERSION 10.0, THE STEPLIB OR JOBLIB
-        //*  STATEMENTS OF THE GEOSUPPORT EXECUTION STEP MUST INCLUDE
-        //*  THE FOLLOWING TWO CONCATENATED DATA SETS IN THE SPECIFIED
-        //*  ORDER:
-        //*                A030.GEO.SUPPORT.PDSE.LOADLIB
-        //*                A030.GEO.SUPPORT.LOADLIB
-        //*
-        //***************************************************************
-        //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-        //            DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-        //***************************************************************
-        //*
-        //*  AS OF GEOSUPPORT VERSION 10.0, DD STATEMENTS FOR GEOSUPPORT
-        //*  DATA FILES (E.G. GRID, PAD, ETC) ARE NO LONGER NEEDED AND
-        //*  ARE IGNORED.  GEOSUPPORT IS TAILORED TO USE STANDARD
-        //*  GEOSUPPORT DATA SETS.  TO USE NON-STANDARD FILES, SEE YOUR
-        //*  SYSTEMS PROGRAMMER.
-        //*
-        //***************************************************************
-        //GO.SYSPRINT DD SYSOUT=A
-        //GO.INPDAT DD \*,DCB=LRECL=80
-        1 22           READE ST
-        1 500          DUANE ST
-        1 2-4          BROADWAY
-        4 165-100      BAISLEY BLVD
-        4 165-1000     BAISLEY BLVD
-        /*
-        //
-
-

C SAMPLE PROGRAM #1 – Output Report

-
     *****---------- INPUT ADDRESS ------------***** *****--------------------- SELECTED OUTPUT ITEMS -----------------------*****
-
-     B HOUSE NUMBER IN-STREET-NAME                     ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREET
-     \- ------------ -------------------------------- ----- -- -------- ------- ------------------------- -------------------------
-
-     1 22           READE ST                         10007 01 005      02      ELK STREET                BROADWAY
-
-     1 500          DUANE ST                         *** FUNCTION 1 GRC = 42 REASON CODE =
-                                                     *** ADDRESS NUMBER OUT OF RANGE
-
-     1 2-4          BROADWAY                         *** FUNCTION 1 WARNING, GRC = 01 REASON CODE = 1
-                                                     *** ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
-                                                     10004 01 001      02      STONE STREET              BOWLING GREEN
-
-     4 165-100      BAISLEY BLVD                     11434 12 113      28      GUY R BREWER BOULEVARD    BEDELL STREET
-
-     4 165-1000     BAISLEY BLVD                     *** FUNCTION 1 GRC = 13 REASON CODE = 2
-                                                     *** ADDRESS NBR 165-1000  HAS MORE THAN 3 DIGITS AFTER THE DASH.
-
-

C SAMPLE PROGRAM #2

-

- Input Job Stream - MSW
-
- Input Job Stream - COW
-
- Output Report

-

C SAMPLE PROGRAM #2 – Job Stream - MSW

-
    //CCCF2SRC JOB YOUR-JOB-CARD-INFORMATION
-    //*
-    //********************************************************************
-    //***  C SAMPLE MSW BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2  ****
-    //********************************************************************
-    //*
-    //STEP1 EXEC EDCCLG,
-    //      CPARM='SS,OPT,OFFSET,SOURCE,XREF,LIST'
-    //COMPILE.SYSPRINT DD SYSOUT=A
-    //COMPILE.SYSLIB   DD
-    //                 DD
-    //                 DD  DSNAME=A030.GEO.COPYLIB,DISP=SHR
-    //COMPILE.SYSIN    DD *
-       /*****************************************************************/
-       /* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING \*/
-       /* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.  \*/
-       /* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.\*/
-       /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-       /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-       /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-       /*       ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET       \*/
-       /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 2.           \*/
-       /*****************************************************************/
-
-    #include <stdio.h>
-    #include <stdlib.h>
-    #include <string.h>
-
-     /*********************************************************************/
-     /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     \***/
-     /*** #INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.                  \***/
-     /*********************************************************************/
-    #include <wac.h>
-
-     /**************   GBI DECLARATION BELOW IS REQUIRED   **************/
-       #pragma linkage (GBI,OS)
-       long GBI(void \*, ...);
-
-     /***** THE WORK AREA LAYOUTS MUST BE DECLARED USING THE TYPEDEFS \***/
-     /***** IN THE GEOSUPPORT COPY FILE.                              \***/
-       C_WA1 wa1;
-       C_WA2_F2 wa2_f2;
-
-    void main ()
-     {
-
-     /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-        FILE \*infile;
-        struct tag
-          {
-           char in_boro1;
-           char filler1;
-           char in_street_name1     [32];
-           char filler2;
-           char in_boro2;
-           char filler3;
-           char in_street_name2     [32];
-           char filler4             [11];
-          } recin ;
-       short int j, i;
-       char temp [2];
-        if ((infile = fopen("DD:INFILE","rb")) ==  NULL)
-
-    {printf("INFILE Data Set did not open.\n");
-             return;}
-
-     /***** REPLACE CODE BELOW WITH YOUR OWN REPRORT LAYOUT  *****/
-          printf("\fSAMPLE C PROGRAM \#2 EXECUTION OUTPUT  ");
-          printf("\n\n*****----------------- INPUT INTERSECTION ---------");
-          printf("-------------***** *****------------ SELECTED OUTPUT ");
-          printf("ITEMS -------------*****");
-          printf("\n\nB IN-STREET-NAME-1            ");
-          printf("     B IN-STREET-NAME-2                   ZIP CD");
-          printf(" NYPD-PCT SCHLDST INTERSECTING STREET NAMES");
-          printf(  "\r_ ____________________________");
-          printf("____ _ ________________________________ _____ \__");
-          printf(" ________ _______ _________________________________");
-
-      /*** REPLACE CODE BELOW WITH YOUR OWN INPUT \***/
-      while (fread(&recin,1,sizeof(recin),infile))
-       {
-
-       /******************************************************************/
-       /* TO MAKE A FUNCTION 2 CALL:                                     \*/
-       /*   (1) INITIALIZE WORKAREA 1 TO SPACES                          \*/
-       /*   (2) SET WA1'S FUNCTION-CODE TO 2                             \*/
-       /*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   \*/
-       /*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     \*/
-       /*       FIELD                                                    \*/
-       /*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD \*/
-       /*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   \*/
-       /*       FIELD                                                    \*/
-       /*   (7) CALL GBI WITH 2 WORKAREAS                                \*/
-       /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                \*/
-       /******************************************************************/
-
-         memset(&wa1,' ',sizeof(wa1));
-         memcpy(wa1.input.func_code,"2 ",2);
-         wa1.input.boro_1 = recin.in_boro1 ;
-         memcpy(wa1.input.street_name_1,recin.in_street_name1,32);
-         wa1.input.boro_2 = recin.in_boro2 ;
-         memcpy(wa1.input.street_name_2,recin.in_street_name2,32);
-         GBI(&wa1,&wa2_f2);
-
-         if ( (memcmp(wa1.output.ret_code,"01",2)) > 0
-         ||   (memcmp(wa1.output.ret_code,"00",2)) < 0 )
-              /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-          {
-            printf("\n\n***** FUNCTION 2 GRC = %.2s"
-                   " REASON CODE = %c. %.80s",
-                wa1.output.ret_code,wa1.output.reject_reason_code,
-                wa1.output.msg) ;
-            printf
-            ("\n%c %.32s %c %.32s ",
-                recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                recin.in_street_name2) ;
-          }
-
-         if ( (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-              /******** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE *****/
-          {
-            printf("\n\n***** FUNCTION 2 WARNING GRC = %.2s"
-                   " REASON CODE = %c. %.80s",
-                wa1.output.ret_code,wa1.output.reject_reason_code,
-
-     wa1.output.msg) ;
-            printf
-            ("\n%c %.32s %c %.32s ",
-                recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                recin.in_street_name2) ;
-          }
-
-         if ( (memcmp(wa1.output.ret_code,"00",2)) == 0
-         ||   (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-              /***********************************************************/
-              /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********/
-              /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****/
-              /***********************************************************/
-          {
-           printf("\n\n%c %.32s %c %.32s %.5s %.2s %.3s      %.2s     ",
-                recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                recin.in_street_name2,wa2_f2.zip_code,
-                wa2_f2.com_dist+1,wa2_f2.police_pre,wa2_f2.com_schl_dist) ;
-
-           temp [0] = wa2_f2.nbr_x_sts ;
-           temp [1] = 0;
-           i = atoi(temp) ;
-           for (j=0; j<i; j++)
-           {
-                /*******************************************************/
-                /* TO GET STREET NAMES FOR INTERSECTING STREET CODES   \*/
-                /* MAKE A FUNCTION D CALL:                             \*/
-                /*   (1) INITIALIZE WORKAREA 1 TO SPACES               \*/
-                /*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D        \*/
-                /*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN \*/
-                /*       STREET NAMES FORMATTED FOR DISPLAY            \*/
-                /*   (4) MOVE THE PACKED BORO AND STREET CODE TO       \*/
-                /*       WA1'S INPUT STREET CODE 1 FIELD               \*/
-                /*   (5) CALL GBI WITH 1 WORKAREA                      \*/
-                /*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS     \*/
-                /*******************************************************/
-            memset(&wa1,' ',sizeof(wa1));
-            wa1.input.func_code[0] = 'D' ;
-            wa1.input.compact_flag = 'C' ;
-            memcpy(wa1.input.PB5SC_1,wa2_f2.x_sts[j],4) ;
-            GBI(&wa1);
-            if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-             {
-              /***** INSERT YOUR OWN CODE HERE ***********/
-              if (j==0)
-                printf(" %.32s",wa1.output.street_name_1);
-              else
-                printf("\n%128.32s",wa1.output.street_name_1);
-             }
-            else
-              /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-              printf("\n\n***** FUNCTION D GRC = %.2s"
-                   " REASON CODE = %c. %.80s",
-                wa1.output.ret_code,wa1.output.reject_reason_code,
-                wa1.output.msg) ;
-           }
-
-          }
-
-       }
-
-     }
-
-    /*
-    //LKED.SYSIN   DD *
-        INCLUDE DD1(GBI)
-    /*
-    //LKED.DD1  DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-    //***************************************************************
-    //*
-    //*  AS OF GEOSUPPORT VERSION 10.0, THE STEPLIB OR JOBLIB
-    //*  STATEMENTS OF THE GEOSUPPORT EXECUTION STEP MUST INCLUDE
-    //*  THE FOLLOWING TWO CONCATENATED DATA SETS IN THE SPECIFIED
-    //*  ORDER:
-    //*                A030.GEO.SUPPORT.PDSE.LOADLIB
-    //*                A030.GEO.SUPPORT.LOADLIB
-    //*
-    //***************************************************************
-    //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-    //            DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-    //***************************************************************
-    //*
-    //*  AS OF GEOSUPPORT VERSION 10.0, DD STATEMENTS FOR GEOSUPPORT
-    //*  DATA FILES (E.G. GRID, PAD, ETC) ARE NO LONGER NEEDED AND
-    //*  ARE IGNORED.  GEOSUPPORT IS TAILORED TO USE STANDARD
-    //*  GEOSUPPORT DATA SETS.  TO USE NON-STANDARD FILES, SEE YOUR
-    //*  SYSTEMS PROGRAMMER.
-    //*
-    //***************************************************************
-    //GO.SYSPRINT DD SYSOUT=A
-    //GO.INFILE DD *
-    1 CHAMBERS ST                      1 HUDSON ST
-    1 SIXTH AVE                        1 W. 8 ST
-    1 DUANE ST                         1 READE ST
-    /*
-    //
-
-

C SAMPLE PROGRAM #2 – Job Stream - COW

-
      //CCCC2SRC JOB   YOUR-JOB-CARD-INFORMATION
-      //*
-      //********************************************************************
-      //***  C SAMPLE COW BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2  ****
-      //********************************************************************
-      //*
-      //STEP1 EXEC EDCCLG,
-      //      CPARM='SS,OPT,OFFSET,SOURCE,XREF,LIST'
-      //COMPILE.SYSPRINT DD SYSOUT=A
-      //COMPILE.SYSLIB   DD
-      //                 DD
-      //                 DD  DSNAME=A030.GEO.COPYLIB,DISP=SHR
-      //COMPILE.SYSIN    DD *
-         /*****************************************************************/
-         /* THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING \*/
-         /* TWO BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.  \*/
-         /* FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.\*/
-         /* FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.  \*/
-         /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \*/
-         /* NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE         \*/
-         /*       ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET       \*/
-         /*       NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 2.           \*/
-         /*****************************************************************/
-
-      #include <stdio.h>
-      #include <stdlib.h>
-      #include <string.h>
-
-       /*********************************************************************/
-       /*** USE OF GEOSUPPORT COPY LIBRARIES (REFERENCED BELOW BY THE     \***/
-       /*** #INCLUDE STATEMENTS) IS STRONGLY ENCOURAGED.                  \***/
-       /*********************************************************************/
-      #include <pac.h>
-
-       /**************   GBI DECLARATION BELOW IS REQUIRED   **************/
-         #pragma linkage (GBI,OS)
-         long GBI(void \*, ...);
-
-       /***** THE WORK AREA LAYOUTS MUST BE DECLARED USING THE TYPEDEFS \***/
-       /***** IN THE GEOSUPPORT COPY FILE.                              \***/
-         C_WA1 wa1;
-         C_WA2_F2 wa2_f2;
-
-      void main ()
-       {
-
-       /***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION *****/
-          FILE \*infile;
-          struct tag
-            {
-             char in_boro1;
-             char filler1;
-             char in_street_name1     [32];
-             char filler2;
-             char in_boro2;
-             char filler3;
-             char in_street_name2     [32];
-             char filler4             [11];
-            } recin ;
-         short int j, i;
-         char temp [2];
-          if ((infile = fopen("DD:INFILE","rb")) ==  NULL)
-      {printf("INFILE Data Set did not open.\n");
-               return;}
-
-       /***** REPLACE CODE BELOW WITH YOUR OWN REPRORT LAYOUT  *****/
-            printf("\fSAMPLE C PROGRAM \#2 EXECUTION OUTPUT  ");
-            printf("\n\n*****----------------- INPUT INTERSECTION ---------");
-            printf("-------------***** *****------------ SELECTED OUTPUT ");
-            printf("ITEMS -------------*****");
-            printf("\n\nB IN-STREET-NAME-1            ");
-            printf("     B IN-STREET-NAME-2                   ZIP CD");
-            printf(" NYPD-PCT SCHLDST INTERSECTING STREET NAMES");
-            printf(  "\r_ ____________________________");
-            printf("____ _ ________________________________ _____ \__");
-            printf(" ________ _______ _________________________________");
-
-        /*** REPLACE CODE BELOW WITH YOUR OWN INPUT \***/
-        while (fread(&recin,1,sizeof(recin),infile))
-         {
-
-         /******************************************************************/
-         /* TO MAKE A FUNCTION 2 CALL:                                     \*/
-         /*   (1) INITIALIZE WORKAREA 1 TO SPACES                          \*/
-         /*   (2) SET WA1'S FUNCTION-CODE TO 2                             \*/
-         /*   (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD   \*/
-         /*   (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME     \*/
-         /*       FIELD                                                    \*/
-         /*   (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD \*/
-         /*   (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2   \*/
-         /*       FIELD                                                    \*/
-         /*   (7) CALL GBI WITH 2 WORKAREAS                                \*/
-         /*   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                \*/
-         /******************************************************************/
-
-           memset(&wa1,' ',sizeof(wa1));
-           memcpy(wa1.input.func_code,"2 ",2);
-           wa1.input.sti??(0??).boro = recin.in_boro1 ;
-           memcpy(wa1.input.sti??(0??).Street_name,recin.in_street_name1,32);
-           wa1.input.sti??(1??).boro = recin.in_boro2 ;
-           memcpy(wa1.input.sti??(1??).Street_name,recin.in_street_name2,32);
-           wa1.input.platform_ind = 'C';    /* Tells Geosupport that you \*/
-                                            /* are using the character   \*/
-                                            /* only work areas           \*/
-           GBI(&wa1,&wa2_f2);
-
-           if ( (memcmp(wa1.output.ret_code,"01",2)) > 0
-           ||   (memcmp(wa1.output.ret_code,"00",2)) < 0 )
-                /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-            {
-              printf("\n\n***** FUNCTION 2 GRC = %.2s"
-                     " REASON CODE = %c. %.80s",
-                  wa1.output.ret_code,wa1.output.reason_code,
-                  wa1.output.msg) ;
-              printf
-              ("\n%c %.32s %c %.32s ",
-                  recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                  recin.in_street_name2) ;
-            }
-
-           if ( (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-                /******** INSERT YOUR OWN WARNING HANDLING ROUTINE HERE *****/
-            {
-              printf("\n\n***** FUNCTION 2 WARNING GRC = %.2s"
-
-
-                " REASON CODE = %c. %.80s",
-                  wa1.output.ret_code,wa1.output.reason_code,
-                  wa1.output.msg) ;
-              printf
-              ("\n%c %.32s %c %.32s ",
-                  recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                  recin.in_street_name2) ;
-            }
-
-           if ( (memcmp(wa1.output.ret_code,"00",2)) == 0
-           ||   (memcmp(wa1.output.ret_code,"01",2)) == 0 )
-                /***********************************************************/
-                /***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR ***********/
-                /***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS          *****/
-                /***********************************************************/
-            {
-             printf("\n\n%c %.32s %c %.32s %.5s %.2s %.3s      %.2s     ",
-                  recin.in_boro1,recin.in_street_name1,recin.in_boro2,
-                  recin.in_street_name2,wa2_f2.zip_code,
-                  wa2_f2.com_dist+1,wa2_f2.police_pre,wa2_f2.com_schl_dist) ;
-
-             temp [0] = wa2_f2.inter.nbr_sts ;
-             temp [1] = 0;
-             i = atoi(temp) ;
-             for (j=0; j<i; j++)
-             {
-                  /*******************************************************/
-                  /* TO GET STREET NAMES FOR INTERSECTING STREET CODES   \*/
-                  /* MAKE A FUNCTION D CALL:                             \*/
-                  /*   (1) INITIALIZE WORKAREA 1 TO SPACES               \*/
-                  /*   (2) SET THE WA1'S FUNCTION CODE FIELD TO D        \*/
-                  /*   (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN \*/
-                  /*       STREET NAMES FORMATTED FOR DISPLAY            \*/
-                  /*   (4) MOVE THE PACKED BORO AND STREET CODE TO       \*/
-                  /*       WA1'S INPUT STREET CODE 1 FIELD               \*/
-                  /*   (5) CALL GBI WITH 1 WORKAREA                      \*/
-                  /*   (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS     \*/
-                  /*******************************************************/
-              memset(&wa1,' ',sizeof(wa1));
-              wa1.input.func_code[0] = 'D' ;
-              wa1.input.st_name_norm = 'C' ;
-              wa1.input.platform_ind = 'C';
-              wa1.input.sti??(0??).boro = wa2_f2.inter.B5SC??(j??)??(0??);
-              memcpy(wa1.input.sti??(0??).SC10,wa2_f2.inter.B5SC??(j??)+1,5);
-              GBI(&wa1);
-              if ( (memcmp(wa1.output.ret_code,"00",2)) == 0 )
-               {
-                /***** INSERT YOUR OWN CODE HERE ***********/
-                if (j==0)
-                  printf(" %.32s",wa1.output.sto??(0??).Street_name);
-                else
-                  printf("\n%128.32s",wa1.output.sto??(0??).Street_name);
-               }
-              else
-                /******** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE *****/
-                printf("\n\n***** FUNCTION D GRC = %.2s"
-                     " REASON CODE = %c. %.80s",
-                  wa1.output.ret_code,wa1.output.reason_code,
-                  wa1.output.msg) ;
-             }
-
-
-           }
-
-         }
-
-       }
-      /*
-      //LKED.SYSIN   DD *
-          INCLUDE DD1(GBI)
-      /*
-      //LKED.DD1  DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //***************************************************************
-      //*
-      //*  AS OF GEOSUPPORT VERSION 10.0, THE STEPLIB OR JOBLIB
-      //*  STATEMENTS OF THE GEOSUPPORT EXECUTION STEP MUST INCLUDE
-      //*  THE FOLLOWING TWO CONCATENATED DATA SETS IN THE SPECIFIED
-      //*  ORDER:
-      //*                A030.GEO.SUPPORT.PDSE.LOADLIB
-      //*                A030.GEO.SUPPORT.LOADLIB
-      //*
-      //***************************************************************
-      //GO.STEPLIB  DD  DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-      //            DD  DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-      //***************************************************************
-      //*
-      //*  AS OF GEOSUPPORT VERSION 10.0, DD STATEMENTS FOR GEOSUPPORT
-      //*  DATA FILES (E.G. GRID, PAD, ETC) ARE NO LONGER NEEDED AND
-      //*  ARE IGNORED.  GEOSUPPORT IS TAILORED TO USE STANDARD
-      //*  GEOSUPPORT DATA SETS.  TO USE NON-STANDARD FILES, SEE YOUR
-      //*  SYSTEMS PROGRAMMER.
-      //*
-      //***************************************************************
-      //GO.SYSPRINT DD SYSOUT=A
-      //GO.INFILE DD *
-      1 CHAMBERS ST                      1 HUDSON ST
-      1 SIXTH AVE                        1 W. 8 ST
-      1 DUANE ST                         1 READE ST
-      /*
-      //
-
-

SAMPLE C PROGRAM #2 EXECUTION OUTPUT

-
       *****----------------- INPUT INTERSECTION ----------------------***** *****------------ SELECTED OUTPUT ITEMS -------------*****
-
-       B IN-STREET-NAME-1                 B IN-STREET-NAME-2                   ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES
-       \- -------------------------------- - -------------------------------- ----- -- -------- ------- ---------------------------------
-
-       1 CHAMBERS ST                      1 HUDSON ST                        10007 01 001      02      CHAMBERS STREET
-                                                                                                       HUDSON STREET
-                                                                                                       WEST BROADWAY
-
-       1 SIXTH AVE                        1 W. 8 ST                          10014 02 006      02      6 AVENUE
-                                                                                                       GREENWICH AVENUE
-                                                                                                       WEST 8 STREET
-
-       ***** FUNCTION 2 GRC = 62 REASON CODE =  . READE STREET & DUANE STREET DO NOT INTERSECT
-       1 DUANE ST                         1 READE ST
-
-

NATURAL SAMPLE PROGRAM #1

-

‑ Program Source Code - MSW
-
- Program Source Code - COW
-
- Input Job Stream
-
- Output Report

-

NATURAL SAMPLE PROGRAM #1 – Program Source- MSW

-
          0010 ************************************************************************
-           0020 * PGM NAME: GEOBUPG1    DATE: 08-18-98                                 *
-           0030 *                                                                      *
-           0040 * THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING        *
-           0050 * BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.       *
-           0060 * FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.            *
-           0070 * FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.         *
-           0080 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  *
-           0090 *          NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE       *
-           0100 *                ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET     *
-           0110 *                NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.         *
-           0120 ************************************************************************
-           0130 *                                                                      *
-           0140 ************************************************************************
-           0150 * USE OF GEOSUPPORT LDA (REFERENCED BELOW BY THE LOCAL USING STATEMENT)*
-           0160 * IS STRONGLY ENCOURAGED.                                              *
-           0170 ************************************************************************
-           0180 DEFINE DATA
-           0190  LOCAL USING GEOLW1
-           0200  LOCAL USING GEOLW2
-           0210 *
-           0220 ***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION      *****
-           0230  LOCAL
-           0240   01 #USER-INPUT
-           0250      02 #USER-BORO                    (A1)
-           0260      02 #FILLER1                      (A1)
-           0270      02 #USER-HSE-NUM                 (A12)
-           0280      02 #FILLER2                      (A1)
-           0290      02 #USER-STRT-NAME               (A32)
-           0300      02 #FILLER3                      (A33)
-           0310 *
-           0320   01 #SAVE-RET-CODE                   (A2)
-           0330   01 #OUT-STREET-1-SNL25              (A25)
-           0340   01 #OUT-STREET-2-SNL25              (A25)
-           0350   01 #OUT-ERROR-MESSAGE-77            (A77)
-           0360 *
-           0370 END-DEFINE
-           0380 *
-           0390 FORMAT LS=133 PS=65
-           0400 *
-           0410 ***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT               *****
-           0420 WRITE NOTITLE
-           0430  1T'SAMPLE NATURAL PROGRAM #1 EXECUTION OUTPUT'//
-           0440  1T'*****---------- INPUT ADDRESS ------------*****'
-           0450  49T'*****--------------------- SELECTED OUTPUT'
-           0460  92T'ITEMS -----------------------*****'//
-           0470  1T'B HOUSE NUMBER IN-STREET-NAME                     ZIP CD'
-           0480  58T'NYPD-PCT SCHLDST LOW CROSS STREET         '
-           0490  101T'HIGH CROSS STREET        '/
-           0500  1T'- ------------ -------------------------------- ----- --'
-           0510  58T'-------- ------- -------------------------'
-           0520  101T'-------------------------'/
-           0530 *
-           0540 READ WORK FILE 01 #USER-INPUT
-           0550  PERFORM FN1-PROCESS
-           0560 END-WORK
-           0570 *
-           0580 DEFINE SUBROUTINE FN1-PROCESS
-           0590 ************************************************************************
-           0600 * TO MAKE A FUNCTION 1 CALL:                                           *
-           0610 *   (1) INITIALIZE WORKAREA 1 TO SPACES                                *
-           0620 *   (2) SET WA1'S FUNCTION CODE FIELD TO 1                             *
-           0630 *   (3) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD             *
-           0640 *   (4) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER FIELD  *
-           0650 *   (5) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD         *
-           0660 *   (6) CALL GBI WITH 2 WORKAREAS                                      *
-           0670 *   (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS                      *
-           0680 ************************************************************************
-           0690 ************************************************************************
-           0700 * AS OF GEOSUPPORT 10.1,                                               *
-           0710 *    TO RECEIVE ROADBED-SPECIFIC INFORMATION,                          *
-           0720 *    SET THE ROADBED REQUEST SWITCH TO 'R', AS FOLLOWS:                *
-           0730 *        MOVE 'R' TO GEO-WA1-IN-ROADBED-REQ-SWITCH.                    *
-           0740 ************************************************************************
-           0750  RESET GEOLW1
-           0760  MOVE '1 ' TO GEO-WA1-IN-FUNCTION-CODE
-           0770  MOVE #USER-BORO TO GEO-WA1-IN-BORO
-           0780  MOVE #USER-HSE-NUM TO GEO-WA1-IN-HOUSENUM
-           0790  MOVE #USER-STRT-NAME TO GEO-WA1-IN-STREET-1
-           0800 *
-           0810  CALL 'GBI' W1NAT W2NAT
-           0820 *
-           0830  IF GEO-WA1-OUT-RETURN-CODE NOT = '00' AND
-           0840     GEO-WA1-OUT-RETURN-CODE NOT = '01'
-           0850 *
-           0860 ***** REPLACE YOUR OWN ERROR HANDLING ROUTINE HERE                 *****
-           0870 *
-           0880   MOVE GEO-WA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           0890   WRITE NOTITLE
-           0900    1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           0910    49T '*** FUNCTION 1 GRC =' GEO-WA1-OUT-RETURN-CODE
-           0920    73T 'REASON CODE =' GEO-WA1-OUT-REASON-CODE /
-           0930    49T '\***' #OUT-ERROR-MESSAGE-77 /
-           0940  ELSE
-           0950   IF GEO-WA1-OUT-RETURN-CODE = '01'
-           0960 *
-           0970 ***** REPLACE YOUR OWN WARNING HANDLING ROUTINE HERE               *****
-           0980 *
-           0990    MOVE GEO-WA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           1000    WRITE NOTITLE
-           1010     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1020     49T '*** FUNCTION 1 WARNING, GRC =' GEO-WA1-OUT-RETURN-CODE
-           1030     82T 'REASON CODE =' GEO-WA1-OUT-REASON-CODE /
-           1040     49T '\***' #OUT-ERROR-MESSAGE-77
-           1050   END-IF
-           1060  END-IF
-           1070 *
-           1080  IF GEO-WA1-OUT-RETURN-CODE = '00' OR
-           1090     GEO-WA1-OUT-RETURN-CODE = '01'
-           1100   MOVE GEO-WA1-OUT-RETURN-CODE TO #SAVE-RET-CODE
-           1110 *
-           1120 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                    *****
-           1130 ***** PROCESSING SUCCESSFUL GEOSUPPORT FUNCTION 1 CALL             *****
-           1140 *
-           1150 ************************************************************************
-           1160 * THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND              *
-           1170 * ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE                *
-           1180 * FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS                 *
-           1190 * FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:             *
-           1200 *   (1) INITIALIZE WORKAREA 1 TO SPACES                                *
-           1210 *   (2) SET WA1'S FUNCTION CODE FIELD TO D                             *
-           1220 *   (3) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED                  *
-           1230 *       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE                 *
-           1240 *              HAS SPACE FOR ONLY 25 CHARACTERS)                       *
-           1250 *   (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN                  *
-           1260 *       STREET NAMES FORMATTED FOR DISPLAY                             *
-           1270 *   (5) MOVE WA2'S LOW PBSC FIELD TO WA1'S INPUT STREET CODE 1 FIELD   *
-           1280 *   (6) MOVE WA2'S HIGH PBSC FIELD TO WA1'S INPUT STREET CODE 2 FIELD  *
-           1290 *   (7) CALL GBI WITH 1 WORKAREA                                       *
-           1300 *   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                      *
-           1310 ************************************************************************
-           1320   RESET GEOLW1
-           1330   MOVE 'D ' TO GEO-WA1-IN-FUNCTION-CODE
-           1340   MOVE 'C' TO GEO-WA1-IN-COMPACT-NAME-FLAG
-           1350   MOVE '25' TO GEO-WA1-IN-SNL
-           1360   MOVE GEO-WA2-FN1-LOW-PBSC(1) TO GEO-WA1-IN-STREETCODE-1
-           1370   MOVE GEO-WA2-FN1-HI-PBSC(1) TO GEO-WA1-IN-STREETCODE-2
-           1380 *
-           1390   CALL 'GBI' W1NAT
-           1400 *
-           1410   IF GEO-WA1-OUT-RETURN-CODE = '00'
-           1420    MOVE GEO-WA1-OUT-STREET-1 TO #OUT-STREET-1-SNL25
-           1430    MOVE GEO-WA1-OUT-STREET-2 TO #OUT-STREET-2-SNL25
-           1440 *
-           1450 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                    *****
-           1460 ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS                       *****
-           1470 *
-           1480    IF #SAVE-RET-CODE = '01' RESET #USER-BORO
-           1490     #USER-HSE-NUM #USER-STRT-NAME
-           1500    END-IF
-           1510    WRITE NOTITLE
-           1520     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1530     49T GEO-WA2-FN1-ZIP 55T GEO-WA2-FN1-COMDIST-NUM
-           1540     58T GEO-WA2-FN1-POL-PRECINCT 67T GEO-WA2-FN1-SCHOOLDIST
-           1550     75T #OUT-STREET-1-SNL25 101T #OUT-STREET-2-SNL25 /
-           1560   ELSE
-           1570 *
-           1580 ***** REPLACE YOUR OWN ERROR HANDLING ROUTINE HERE                 *****
-           1590 *
-           1600    MOVE GEO-WA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           1610    WRITE NOTITLE
-           1620     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1630     49T '*** FUNCTION D GRC =' GEO-WA1-OUT-RETURN-CODE
-           1640     73T 'REASON CODE =' GEO-WA1-OUT-REASON-CODE /
-           1650     49T '\***' #OUT-ERROR-MESSAGE-77 /
-           1660   END-IF
-           1670  END-IF
-           1680 *
-           1690  END-SUBROUTINE
-           1700  END
-
-

NATURAL SAMPLE PROGRAM #1 – Program Source code - COW

-
           0010 ************************************************************************
-           0020 * PGM NAME: GEOBUPGA    DATE: 08-18-98         MODIFIED : 08-28-06     *
-           0030 *                                                                      *
-           0040 * THIS PROGRAM MAKES FUNCTION 1 AND D CALLS TO GEOSUPPORT USING        *
-           0050 * BORO, HOUSENUMBER, & STREET NAME SUPPLIED BY AN INSTREAM FILE.       *
-           0060 * FUNCTION 1 RETURNS GEOGRAPHIC INFORMATION FOR AN ADDRESS.            *
-           0070 * FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.         *
-           0080 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  *
-           0090 *          NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE       *
-           0100 *                ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET     *
-           0110 *                NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.         *
-           0120 ************************************************************************
-           0130 *                                                                      *
-           0140 ************************************************************************
-           0150 * USE OF GEOSUPPORT LDA (REFERENCED BELOW BY THE LOCAL USING STATEMENT)*
-           0160 * IS STRONGLY ENCOURAGED.                                              *
-           0170 ************************************************************************
-           0180 DEFINE DATA
-           0190  LOCAL USING GEOLP1
-           0200  LOCAL USING GEOLP2
-           0210 *
-           0220 ***** REPLACE CODE BELOW WITH YOUR OWN INPUT FILE DECLARATION      *****
-           0230  LOCAL
-           0240   01 #USER-INPUT
-           0250      02 #USER-BORO                    (A1)
-           0260      02 #FILLER1                      (A1)
-           0270      02 #USER-HSE-NUM                 (A12)
-           0280      02 #FILLER2                      (A1)
-           0290      02 #USER-STRT-NAME               (A32)
-           0300      02 #FILLER3                      (A33)
-           0310 *
-           0320   01 #SAVE-RET-CODE                   (A2)
-           0330   01 #OUT-STREET-1-SNL25              (A25)
-           0340   01 #OUT-STREET-2-SNL25              (A25)
-           0350   01 #OUT-ERROR-MESSAGE-77            (A77)
-           0360 *
-           0370   01 #B5SC (A6)
-           0380   01 REDEFINE #B5SC
-           0390      02 #B5SC-BORO (A1)
-           0400      02 #B5SC-5SC (A5)
-           0410 *
-           0420 END-DEFINE
-           0430 *
-           0440 FORMAT LS=133 PS=65
-           0450 *
-           0460 ***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT               *****
-           0470 WRITE NOTITLE
-           0480  1T'SAMPLE NATURAL PROGRAM \#1 EXECUTION OUTPUT'//
-           0490  1T'*****---------- INPUT ADDRESS ------------*****'
-           0500  49T'*****--------------------- SELECTED OUTPUT'
-           0510  92T'ITEMS -----------------------*****'//
-           0520  1T'B HOUSE NUMBER IN-STREET-NAME                     ZIP CD'
-           0530  58T'NYPD-PCT SCHLDST LOW CROSS STREET         '
-           0540  101T'HIGH CROSS STREET        '/
-           0550  1T'- ------------ -------------------------------- ----- --'
-           0560  58T'-------- ------- -------------------------'
-           0570  101T'-------------------------'/
-           0580 *
-           0590 READ WORK FILE 01 #USER-INPUT 0600  PERFORM FN1-PROCESS
-           0610 END-WORK
-           0620 *
-           0630 DEFINE SUBROUTINE FN1-PROCESS
-           0640 ************************************************************************
-           0650 * TO MAKE A FUNCTION 1 CALL:                                           *
-           0660 *   (1) INITIALIZE WORKAREA 1 TO SPACES                                *
-           0670 *   (2) SET WA1'S FUNCTION CODE FIELD TO 1                             *
-           0680 *   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)          *
-           0690 *       TO USE CHARACTER-ONLY WORK AREA (COWS)                         *
-           0700 *   (4) MOVE THE INPUT BORO TO WA1'S INPUT BORO CODE FIELD             *
-           0710 *   (5) MOVE THE INPUT HOUSE NUMBER TO WA1'S INPUT HOUSE NUMBER FIELD  *
-           0720 *   (6) MOVE THE INPUT STREET TO WA1'S INPUT STREET NAME FIELD         *
-           0730 *   (7) CALL GBI WITH 2 WORKAREAS                                      *
-           0740 *   (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                      *
-           0750 ************************************************************************
-           0760 ************************************************************************
-           0770 * AS OF GEOSUPPORT 10.1,                                               *
-           0780 *    TO RECEIVE ROADBED-SPECIFIC INFORMATION,                          *
-           0790 *    SET THE ROADBED REQUEST SWITCH TO 'R', AS FOLLOWS:                *
-           0800 *        MOVE 'R' TO PIWA1-IN-ROADBED-REQ-SWITCH.                      *
-           0810 ************************************************************************
-           0820  RESET GEOLP1
-           0830  MOVE '1 ' TO PIWA1-IN-FUNCTION-CODE
-           0840  MOVE 'C' TO PIWA1-IN-PLATFORM-INDICATOR
-           0850  MOVE #USER-BORO TO PIWA1-IN-BORO-1
-           0860  MOVE #USER-HSE-NUM TO PIWA1-IN-HOUSENUM-DISPLAY
-           0870  MOVE #USER-STRT-NAME TO PIWA1-IN-STREET-1
-           0880 *
-           0890  CALL 'GBI' P1NAT P2NAT
-           0900 *
-           0910  IF PIWA1-OUT-RETURN-CODE NOT = '00' AND
-           0920     PIWA1-OUT-RETURN-CODE NOT = '01'
-           0930 *
-           0940 ***** REPLACE YOUR OWN ERROR HANDLING ROUTINE HERE                 *****
-           0950 *
-           0960   MOVE PIWA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           0970   WRITE NOTITLE
-           0980    1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           0990    49T '*** FUNCTION 1 GRC =' PIWA1-OUT-RETURN-CODE
-           1000    73T 'REASON CODE =' PIWA1-OUT-REASON-CODE /
-           1010    49T '\***' #OUT-ERROR-MESSAGE-77 /
-           1020  ELSE
-           1030   IF PIWA1-OUT-RETURN-CODE = '01'
-           1040 *
-           1050 ***** REPLACE YOUR OWN WARNING HANDLING ROUTINE HERE               *****
-           1060 *
-           1070    MOVE PIWA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           1080    WRITE NOTITLE
-           1090     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1100     49T '*** FUNCTION 1 WARNING, GRC =' PIWA1-OUT-RETURN-CODE
-           1110     82T 'REASON CODE =' PIWA1-OUT-REASON-CODE /
-           1120     49T '\***' #OUT-ERROR-MESSAGE-77
-           1130   END-IF
-           1140  END-IF
-           1150 *
-
-           1160  IF PIWA1-OUT-RETURN-CODE = '00' OR
-           1170     PIWA1-OUT-RETURN-CODE = '01'
-           1180   MOVE PIWA1-OUT-RETURN-CODE TO #SAVE-RET-CODE
-           1190 *
-           1200 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                    *****
-           1210 ***** PROCESSING SUCCESSFUL GEOSUPPORT FUNCTION 1 CALL             *****
-           1220 *
-           1230 ************************************************************************
-           1240 * THIS PROGRAM ASSUMES THERE EXISTS AT LEAST ONE HIGH AND              *
-           1250 * ONE LOW CROSS STREET.  TO GET THE STREET NAMES OF THE                *
-           1260 * FIRST-LISTED HIGH AND FIRST-LISTED LOW CROSS STREETS                 *
-           1270 * FROM THE HIGH AND LOW STREET CODE LISTS CALL FUNCTION D:             *
-           1280 *   (1) INITIALIZE WORKAREA 1 TO SPACES                                *
-           1290 *   (2) SET WA1'S FUNCTION CODE FIELD TO D                             *
-           1300 *   (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAINFRAME)          *
-           1310 *       TO USE CHARACTER-ONLY WORK AREA (COWS)                         *
-           1320 *   (4) SET WA1'S STREET NAME LENGTH FIELD TO DESIRED                  *
-           1330 *       VALUE (IN THIS CASE 25 BECAUSE THE REPORT LINE                 *
-           1340 *              HAS SPACE FOR ONLY 25 CHARACTERS)                       *
-           1350 *   (5) USE THE COMPACT STREET NAMES OPTION TO OBTAIN                  *
-           1360 *       STREET NAMES FORMATTED FOR DISPLAY                             *
-           1370 *   (6) MOVE WA2'S LOW B5SC FIELD TO WA1'S INPUT STREET CODE 1 FIELD   *
-           1380 *   (7) MOVE WA2'S HIGH B5SC FIELD TO WA1'S INPUT STREET CODE 2 FIELD  *
-           1390 *   (8) CALL GBI WITH 1 WORKAREA                                       *
-           1400 *   (9) CHECK RETURN CODES FOR ERRORS OR WARNINGS                      *
-           1410 ************************************************************************
-           1420   RESET GEOLP1
-           1430   MOVE 'C' TO PIWA1-IN-PLATFORM-INDICATOR
-           1440   MOVE 'D ' TO PIWA1-IN-FUNCTION-CODE
-           1450   MOVE '25' TO PIWA1-IN-SNL
-           1460   MOVE 'C' TO PIWA1-IN-SN-NORM-FORMAT
-           1470   MOVE PIWA2-FN1-LOW-B5SC(1) TO #B5SC
-           1480   MOVE #B5SC-BORO TO PIWA1-IN-BORO-1
-           1490   MOVE #B5SC-5SC TO PIWA1-IN-10SC-1
-           1500   MOVE PIWA2-FN1-HI-B5SC(1) TO #B5SC
-           1510   MOVE #B5SC-BORO TO PIWA1-IN-BORO-2
-           1520   MOVE #B5SC-5SC TO PIWA1-IN-10SC-2
-           1530 *
-           1540   CALL 'GBI' P1NAT
-           1550 *
-           1560   IF PIWA1-OUT-RETURN-CODE = '00'
-           1570    MOVE PIWA1-OUT-STREET-1 TO #OUT-STREET-1-SNL25
-           1580    MOVE PIWA1-OUT-STREET-2 TO #OUT-STREET-2-SNL25
-           1590 *
-           1600 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                    *****
-           1610 ***** PROCESSING SUCCESSFUL GEOSUPPORT CALLS                       *****
-           1620 *
-           1630    IF #SAVE-RET-CODE = '01' RESET #USER-BORO
-           1640     #USER-HSE-NUM #USER-STRT-NAME
-           1650    END-IF
-           1660    WRITE NOTITLE
-           1670     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1680     49T PIWA2-FN1-ZIP 55T PIWA2-FN1-COM-DIST-NUM
-           1690     58T PIWA2-FN1-POL-PRECINCT 67T PIWA2-FN1-SCHL-DIST
-           1700     75T #OUT-STREET-1-SNL25 101T #OUT-STREET-2-SNL25 /
-           1710   ELSE
-           1720 *
-           1730 ***** REPLACE YOUR OWN ERROR HANDLING ROUTINE HERE                 *****
-           1740 *
-           1750    MOVE PIWA1-OUT-ERROR-MESSAGE TO #OUT-ERROR-MESSAGE-77
-           1760    WRITE NOTITLE
-           1770     1T #USER-BORO 3T #USER-HSE-NUM 16T #USER-STRT-NAME
-           1780     49T '*** FUNCTION D GRC =' PIWA1-OUT-RETURN-CODE
-           1790     73T 'REASON CODE =' PIWA1-OUT-REASON-CODE /
-           1800     49T '\***' #OUT-ERROR-MESSAGE-77 /
-           1810   END-IF
-           1820  END-IF
-           1830 *
-           1840  END-SUBROUTINE
-           1850  END
-
-

NATURAL SAMPLE PROGRAM #1- Job Stream

-
            //GEOBUPG1 JOB    YOUR-JOB-CARD-INFORMATION
-            //*      
-            //**********************************************************************
-            //***  NATURAL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#1   ***
-            //***                       MSW FORMAT                               ***
-            //**********************************************************************
-            //S1  EXEC NT3MPM1M,REGION=7000K
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                                  \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                                  \*//
-            //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP        \*//
-            //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATSETS:            \*//
-            //*       A030.GEO.SUPPORT.PDSE.LOADLIB                              \*//
-            //*       A030.GEO.SUPPORT.LOADLIB                                   \*//
-            //*                                                                  \*//
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //NAT.STEPLIB DD
-            //            DD
-            //            DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-            //            DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //SYSPRINT    DD SYSOUT=A
-            //SYSOUT      DD SYSOUT=A,DCB=(LRECL=132)
-            //CMPRINT     DD SYSOUT=A,DCB=(LRECL=132)
-            //CMWKF01     DD *
-            1,22          ,READE ST
-            1,500         ,DUANE ST
-            1,2-4         ,BROADWAY
-            4,165-100     ,BAISLEY BLVD
-            4,165-1000    ,BAISLEY BLVD
-            //CMSYNIN     DD *
-            Your_Application_ID,Your-User_ID
-            %*
-            Your-Password
-            L L GEOLW1     [For COW: GEOLP1]
-            L L GEOLW2     [For COW: GEOLP2]
-            L P GEOBUPG1   [For COW Sample:  GEOBUPGA]
-            GEOBUPG1       [For COW Sample:  GEOBUPGA}    
-            FIN
-            //INCLIB      DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                                  \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                                  \*//
-            //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,        \*//
-            //*  ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT           \*//
-            //*  IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.          \*//
-            //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.         \*//
-            //*                                                                  \*//
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //SYSUDUMP    DD DUMMY
-            //
-
-

SAMPLE NATURAL PROGRAM #1 EXECUTION OUTPUT

-
             *****---------- INPUT ADDRESS ------------***** *****--------------------- SELECTED OUTPUT ITEMS -----------------------*****
-
-             B HOUSE NUMBER IN-STREET-NAME                     ZIP CD NYPD-PCT SCHLDST LOW CROSS STREET          HIGH CROSS STREET
-             \- ------------ -------------------------------- ----- -- -------- ------- ------------------------- -------------------------
-
-             1 22           READE ST                         10007 01 005      02      ELK STREET                BROADWAY
-
-             1 500          DUANE ST                         *** FUNCTION 1 GRC = 42 REASON CODE =
-                                                             *** ADDRESS NUMBER OUT OF RANGE
-
-             1 2-4          BROADWAY                         *** FUNCTION 1 WARNING, GRC = 01 REASON CODE = 1
-                                                             *** ADDR NUMBER ALTERED: RANGE ASSUMED. USING DIGITS BEFORE DASH ONLY
-                                                             10004 01 001      02      STONE STREET              BOWLING GREEN
-
-             4 165-100      BAISLEY BLVD                     11434 12 113      28      GUY R BREWER BOULEVARD    BEDELL STREET
-
-             4 165-1000     BAISLEY BLVD                     *** FUNCTION 1 GRC = 13 REASON CODE = 2
-                                                             *** ADDRESS NBR 165-1000  HAS MORE THAN 3 DIGITS AFTER THE DASH.
-
-

NATURAL SAMPLE PROGRAM #2

-

‑ Program Source Code - MSW
-
- Program Source Code - COW
-
- Input Job Stream
-
- Output Report

-

NATURAL SAMPLE PROGRAM #2 – Program Source Code - MSW

-
             0010************************************************************************
-             0020 * PGM NAME: GEOBUPG2    DATE: 08-18-98                                 *
-             0030 *                                                                      *
-             0040 * THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING TWO    *
-             0050 * BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.             *
-             0060 * FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.       *
-             0070 * FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.         *
-             0080 ************************************************************************
-             0090 *          NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE       *
-             0100 *                ORIGINAL CALL TO FUNCTION 1, ALL THE CROSS STREET     *
-             0110 *                NAMES WOULD HAVE BEEN RETURNED BY FUNCTION 1.         *
-             0120 ************************************************************************
-             0130 *
-             0140 ************************************************************************
-             0150 * USE OF GEOSUPPORT LDA (REFERENCED BELOW BY THE LOCAL USING STATEMENT)*
-             0160 * IS STRONGLY ENCOURAGED.                                              *
-             0170 ************************************************************************
-             0180 *
-             0190 DEFINE DATA
-             0200  LOCAL USING GEOLW1
-             0210  LOCAL USING GEOLW2
-             0220 *
-             0230 ***** REPLACE CODE BELOW WITH YOUR OWN INPUT DATA DECLARATION      *****
-             0240 *
-             0250  LOCAL
-             0260   01 #USER-INPUT
-             0270      02 #USER-BORO1                   (A1)
-             0280      02 #FILLER1                      (A1)
-             0290      02 #USER-STRT-NAME1              (A32)
-             0300      02 #FILLER2                      (A1)
-             0310      02 #USER-BORO2                   (A1)
-             0320      02 #FILLER3                      (A1)
-             0330      02 #USER-STRT-NAME2              (A32)
-             0340      02 #FILLER4                      (A11)
-             0350 *
-             0360   01 #INDEX                           (I1)
-             0370 *
-             0380 END-DEFINE
-             0390 *
-             0400 FORMAT LS=133 PS=65
-             0410 *
-             0420 ***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT               *****
-             0430 *
-             0440 WRITE NOTITLE
-             0450  1T'SAMPLE NATURAL PROGRAM \#2 EXECUTION OUTPUT'//
-             0460  1T'*****----------------- INPUT INTERSECTION'
-             0470  43T'----------------------*****'
-             0480  71T'*****------------ SELECTED OUTPUT ITEMS -------------*****'//
-             0490  1T 'B IN-STREET-NAME-1                '
-             0500  36T'B IN-STREET-NAME-2                '
-             0510  71T'  ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES'/
-             0520  1T '- --------------------------------'
-             0530  36T'- --------------------------------'
-             0540  71T'----- -- -------- ------- --------------------------------'
-             0550 *
-             0560 READ WORK FILE 01 #USER-INPUT
-             0570  PERFORM FN2-PROCESS
-             0580 END-WORK
-             0590 *
-             0600 DEFINE SUBROUTINE FN2-PROCESS
-             0610 ************************************************************************
-             0620 * TO MAKE A FUNCTION 2 CALL:                                           *
-             0630 *    (1) INITIALIZE WORKAREA 1 TO SPACES                               *
-             0640 *    (2) SET WA1'S FUNCTION-CODE TO 2                                  *
-             0650 *    (3) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD        *
-             0660 *    (4) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME FIELD    *
-             0670 *    (5) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD      *
-             0680 *    (6) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2 FIELD  *
-             0690 *    (7) CALL GBI WITH 2 WORKAREAS                                     *
-             0700 *    (8) CHECK RETURN CODES FOR ERRORS OR WARNINGS                     *
-             0710 ************************************************************************
-             0720  RESET GEOLW1
-             0730  MOVE '2 ' TO GEO-WA1-IN-FUNCTION-CODE
-             0740  MOVE #USER-BORO1 TO GEO-WA1-IN-BORO
-             0750  MOVE #USER-STRT-NAME1 TO GEO-WA1-IN-STREET-1
-             0760  MOVE #USER-BORO2 TO GEO-WA1-IN-BORO-2
-             0770  MOVE #USER-STRT-NAME2 TO GEO-WA1-IN-STREET-2
-             0780 *
-             0790  CALL 'GBI' W1NAT W2NAT
-             0800 *
-             0810  IF GEO-WA1-OUT-RETURN-CODE NOT = '00' AND
-             0820     GEO-WA1-OUT-RETURN-CODE NOT = '01'
-             0830 *
-             0840 ***** REPLACE CODE BELOW WITH YOUR OWN ERROR HANDLING ROUTINE HERE *****
-             0850 *
-             0860   WRITE NOTITLE /
-             0870    1T '***** FUNCTION 2 GRC =' GEO-WA1-OUT-RETURN-CODE
-             0880    27T 'REASON CODE ='GEO-WA1-OUT-REASON-CODE
-             0890    43T ','GEO-WA1-OUT-ERROR-MESSAGE /
-             0900    1T #USER-BORO1 3T #USER-STRT-NAME1
-             0910    36T #USER-BORO2 38T #USER-STRT-NAME2
-             0920  ELSE
-             0930   IF GEO-WA1-OUT-RETURN-CODE = '01'
-             0940 *
-             0950 *** REPLACE CODE BELOW WITH YOUR OWN WARNING HANDLING ROUTINE HERE   ***
-             0960 *
-             0970    WRITE NOTITLE /
-             0980     1T '***** FUNCTION 2 WARNING, GRC =' GEO-WA1-OUT-RETURN-CODE
-             0990     37T 'REASON CODE =' GEO-WA1-OUT-REASON-CODE
-             1000     53T ','GEO-WA1-OUT-ERROR-MESSAGE /
-             1010     1T #USER-BORO1 3T #USER-STRT-NAME1
-             1020     36T #USER-BORO2 38T #USER-STRT-NAME2
-             1030   END-IF
-             1040  END-IF
-             1050 *
-             1060   IF GEO-WA1-OUT-RETURN-CODE = '00' OR
-             1070      GEO-WA1-OUT-RETURN-CODE = '01'
-             1080 *
-             1090 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                   *****
-             1100 ***** PROCESSING SUCCESSFUL GEOSUPPORT FUNCTION 2 CALL            *****
-             1110 *
-             1120    FOR #INDEX 1 TO GEO-WA2-FN2-NUM-OF-INTERSECTS
-             1130 ***********************************************************************
-             1140 * TO GET STREET NAMES FOR INTERSECTING STREET CODES                   *
-             1150 * MAKE A FUNCTION D CALL:                                             *
-             1160 *    (1) INITIALIZE WORKAREA 1 TO SPACES                              *
-             1170 *    (2) SET THE WA1'S FUNCTION CODE FIELD TO D                       *
-             1180 *    (3) USE THE COMPACT STREET NAMES OPTION TO OBTAIN                *
-             1190 *        STREET NAMES FORMATTED FOR DISPLAY                           *
-             1200 *    (4) MOVE THE PACKED BORO AND STREET CODE TO                      *
-             1210 *        WA1'S INPUT STREET CODE 1 FIELD                              *
-             1220 *    (5) CALL GBI WITH 1 WORKAREA                                     *
-             1230 *    (6) CHECK RETURN CODES FOR ERRORS OR WARNINGS                    *
-             1240 ***********************************************************************
-             1250     RESET GEOLW1
-             1260     MOVE 'D ' TO GEO-WA1-IN-FUNCTION-CODE
-             1270     MOVE 'C ' TO GEO-WA1-IN-COMPACT-NAME-FLAG
-             1280     MOVE '25' TO GEO-WA1-IN-SNL
-             1290     MOVE GEO-WA2-FN2-INTERSECT-PBSC(#INDEX) TO GEO-WA1-IN-STREETCODE-1
-             1300 *
-             1310     CALL 'GBI' W1NAT
-             1320 *
-             1330     IF GEO-WA1-OUT-RETURN-CODE = '00'
-             1340 *
-             1350 ***** INSERT YOUR OWN CODE HERE FOR                               *****
-             1360 ***** PROCESSING SUCCESSFUL FUNCTION D CALLS                      *****
-             1370 *
-             1380      IF #INDEX = 1
-             1390       WRITE NOTITLE /
-             1400        1T #USER-BORO1 3T #USER-STRT-NAME1
-             1410        36T #USER-BORO2 38T #USER-STRT-NAME2
-             1420        71T GEO-WA2-FN2-ZIP 77T GEO-WA2-FN2-COMDIST-NUM
-             1430        80T GEO-WA2-FN2-POL-PRECINCT 89T GEO-WA2-FN2-SCHOOLDIST
-             1440        97T GEO-WA1-OUT-STREET-1
-             1450      ELSE
-             1460       WRITE NOTITLE
-             1470        97T GEO-WA1-OUT-STREET-1
-             1480      END-IF
-             1490     ELSE IF GEO-WA1-OUT-RETURN-CODE NOT = '00'
-             1500 *
-             1510 ***** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE                 *****
-             1520 *
-             1530      WRITE NOTITLE /
-             1540       1T '***** FUNCTION D GRC =' GEO-WA1-OUT-RETURN-CODE
-             1550       27T 'REASON CODE =' GEO-WA1-OUT-REASON-CODE
-             1560       43T ','GEO-WA1-OUT-ERROR-MESSAGE /
-             1570       1T #USER-BORO1 3T #USER-STRT-NAME1
-             1580       36T #USER-BORO2 38T #USER-STRT-NAME2
-             1590     END-IF
-             1600     END-IF
-             1610    END-FOR
-             1620  END-IF
-             1630 *
-             1640 END-SUBROUTINE
-             1650 END
-
-

NATURAL SAMPLE PROGRAM #2 – Program Source Code - COW

-
             0010 ************************************************************************
-             0020 * PGM NAME: GEOBUPGB    DATE: 08-18-98     MODIFIED : 08-28-06         *
-             0030 *                                                                      *
-             0040 * THIS PROGRAM MAKES FUNCTION 2 AND D CALLS TO GEOSUPPORT USING TWO    *
-             0050 * BOROS AND TWO STREET NAMES SUPPLIED BY AN INSTREAM FILE.             *
-             0060 * FUNCTION 2 RETURNS GEOGRAPHIC INFORMATION FOR AN INTERSECTION.       *
-             0070 * FUNCTION D TRANSLATES AN INPUT STREET CODE TO A STREET NAME.         *
-             0080 ************************************************************************
-             0090 *          NOTE: IF THE CROSS STREET NAMES FLAG WERE USED IN THE       *
-             0100 *                ORIGINAL CALL TO FUNCTION 2, ALL THE CROSS STREET     *
-             0110 *                NAMES WOULD HAVE BEEN REUTRNED BY FUNCTION 2.         *
-             0120 ************************************************************************
-             0130 *                                                                      *
-             0140 ************************************************************************
-             0150 * USE OF GEOSUPPORT LDA (REFERENCED BELOW BY THE LOCAL USING STATEMENT)*
-             0160 * IS STRONGLY ENCOURAGED.                                              *
-             0170 ************************************************************************
-             0180 *                                                                        
-             0190 DEFINE DATA                                                              
-             0200  LOCAL USING GEOLP1                                                      
-             0210  LOCAL USING GEOLP2                                                      
-             0220 *                                                                        
-             0230 ***** REPLACE CODE BELOW WITH YOUR OWN INPUT DATA DECLARATION      *****
-             0240 *                                                                        
-             0250  LOCAL                                                                   
-             0260   01 #USER-INPUT                                                         
-             0270      02 #USER-BORO1                   (A1)                               
-             0280      02 #FILLER1                      (A1)                               
-             0290      02 #USER-STRT-NAME1              (A32)                              
-             0300      02 #FILLER2                      (A1)                               
-             0310      02 #USER-BORO2                   (A1)                               
-             0320      02 #FILLER3                      (A1)                               
-             0330      02 #USER-STRT-NAME2              (A32)                              
-             0340      02 #FILLER4                      (A11)                              
-             0350 *                                                                        
-             0360   01 #INDEX                           (I1)                               
-             0370 *                                                                        
-             0380   01 #B5SC (A6)                                                          
-             0390   01 REDEFINE #B5SC                                                      
-             0400      02 #B5SC-BORO (A1)                                                  
-             0410      02 #B5SC-5SC (A5)                                                   
-             0420 *                                                                        
-             0430   01 #NUM-INTERSECT-A (A1)                                               
-             0440   01 REDEFINE #NUM-INTERSECT-A                                           
-             0450      02 #NUM-INTERSECT-N (N1)                                            
-             0460 *                                                                        
-             0470 END-DEFINE                                                               
-             0480 *                                                                        
-             0490 FORMAT LS=133 PS=60                                                      
-             0500 *                                                                        
-             0510 ***** REPLACE CODE BELOW WITH YOUR OWN REPORT LAYOUT               *****
-             0520 *                                                                        
-             0530 WRITE NOTITLE                                                            
-             0540  1T'SAMPLE NATURAL PROGRAM \#2 EXECUTION OUTPUT'//                        
-             0550  1T'*****----------------- INPUT INTERSECTION'                           
-             0560  43T'----------------------*****'                                        
-             0570  71T'*****------------ SELECTED OUTPUT ITEMS -------------*****'//       
-             0580  1T 'B IN-STREET-NAME-1                '                                 
-             0590  36T'B IN-STREET-NAME-2                '                                 
-             0600  71T'  ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES'/               
-             0610  1T '- --------------------------------'                                 
-             0620  36T'- --------------------------------'                                 
-             0630  71T'----- -- -------- ------- --------------------------------'         
-             0640 *                                                                        
-             0650 READ WORK FILE 01 #USER-INPUT                                            
-             0660  PERFORM FN2-PROCESS                                                     
-             0670 END-WORK                                                                 
-             0680 *                                                                        
-             0690 DEFINE SUBROUTINE FN2-PROCESS                                            
-             0700 ************************************************************************
-             0710 * TO MAKE A FUNCTION 2 CALL:                                           *
-             0720 *    (1) INITIALIZE WORKAREA 1 TO SPACES                               *
-             0730 *    (2) SET WA1'S FUNCTION-CODE TO 2                                  *
-             0740 *    (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAIN-FRAME)        *
-             0750 *        TO USE CHARACTER ONLY WORK AREAS (COWS)                         
-             0760 *    (4) MOVE THE 1ST INPUT BORO TO WA1'S INPUT BORO CODE FIELD        *
-             0770 *    (5) MOVE THE 1ST INPUT STREET TO WA1'S INPUT STREET NAME FIELD    *
-             0780 *    (6) MOVE THE 2ND INPUT BORO TO WA1'S INPUT BORO CODE 2 FIELD      *
-             0790 *    (7) MOVE THE 2ND INPUT STREET TO WA1'S INPUT STREET NAME 2 FIELD  *
-             0800 *    (8) CALL GBI WITH 2 WORKAREAS                                     *
-             0810 *    (9) CHECK RETURN CODES FOR ERRORS OR WARNINGS                     *
-             0820 ************************************************************************
-             0830  RESET GEOLP1                                                            
-             0840  MOVE '2 ' TO PIWA1-IN-FUNCTION-CODE                                     
-             0850  MOVE 'C' TO PIWA1-IN-PLATFORM-INDICATOR                                 
-             0860  MOVE #USER-BORO1 TO PIWA1-IN-BORO-1                                     
-             0870  MOVE #USER-STRT-NAME1 TO PIWA1-IN-STREET-1                              
-             0880  MOVE #USER-BORO2 TO PIWA1-IN-BORO-2                                     
-             0890  MOVE #USER-STRT-NAME2 TO PIWA1-IN-STREET-2                              
-             0900 *                                                                        
-             0910  CALL 'GBI' P1NAT P2NAT                                                  
-             0920 *                                                                        
-             0930  IF PIWA1-OUT-RETURN-CODE NOT = '00' AND                                 
-             0940     PIWA1-OUT-RETURN-CODE NOT = '01'                                     
-             0950 *                                                                        
-             0960 ***** REPLACE CODE BELOW WITH YOUR OWN ERROR HANDLING ROUTINE HERE *****
-             0970 *                                                                        
-             0980   WRITE NOTITLE /                                                        
-             0990    1T '***** FUNCTION 2 GRC =' PIWA1-OUT-RETURN-CODE                     
-             1000    27T 'REASON CODE ='PIWA1-OUT-REASON-CODE                              
-             1010    43T ','PIWA1-OUT-ERROR-MESSAGE /                                      
-             1020    1T #USER-BORO1 3T #USER-STRT-NAME1                                    
-             1030    36T #USER-BORO2 38T #USER-STRT-NAME2                                  
-             1040  ELSE                                                                    
-             1050   IF PIWA1-OUT-RETURN-CODE = '01'                                        
-             1060 *                                                                        
-             1070 *** REPLACE CODE BELOW WITH YOUR OWN WARNING HANDLING ROUTINE HERE   ***
-             1080 *                                                                        
-             1090    WRITE NOTITLE /                                                       
-             1100     1T '***** FUNCTION 2 WARNING, GRC =' PIWA1-OUT-RETURN-CODE           
-             1110     37T 'REASON CODE =' PIWA1-OUT-REASON-CODE                            
-             1120     53T ','PIWA1-OUT-ERROR-MESSAGE /                                     
-             1130     1T #USER-BORO1 3T #USER-STRT-NAME1                                   
-             1140     36T #USER-BORO2 38T #USER-STRT-NAME2                                 
-             1150   END-IF                                                                 
-             1160  END-IF                                                                  
-             1170 *                                                                        
-             1180   IF PIWA1-OUT-RETURN-CODE = '00' OR                                     
-             1190      PIWA1-OUT-RETURN-CODE = '01'                                        
-             1200 *                                                                        
-             1210 ***** REPLACE CODE BELOW WITH YOUR OWN CODE FOR                   *****  
-             1220 ***** PROCESSING SUCCESSFUL GEOSUPPORT FUNCTION 2 CALL            *****  
-             1230 *                                                                        
-             1240   MOVE PIWA2-FN2-NUM-OF-INTERSECTS TO #NUM-INTERSECT-A                   
-             1250   FOR #INDEX 1 TO #NUM-INTERSECT-N                                       
-             1260 ***********************************************************************  
-             1270 * TO GET STREET NAMES FOR INTERSECTING STREET CODES                   *  
-             1280 * MAKE A FUNCTION D CALL:                                             *  
-             1290 *    (1) INITIALIZE WORKAREA 1 TO SPACES                              *  
-             1300 *    (2) SET THE WA1'S FUNCTION CODE FIELD TO D                       *  
-             1310 *    (3) SET THE PLATFORM INDICATOR SWITCH (NON-IBM-MAIN-FRAME)       *  
-             1320 *        TO USE CHARACTER ONLY WORK AREAS (COWS)                      *  
-             1330 *    (4) USE THE COMPACT STREET NAMES OPTION TO OBTAIN                *  
-             1340 *        STREET NAMES FORMATTED FOR DISPLAY                           *  
-             1350 *    (5) MOVE THE PACKED BORO AND STREET CODE TO                      *  
-             1360 *        WA1'S INPUT STREET CODE 1 FIELD                              *  
-             1370 *    (6) CALL GBI WITH 1 WORKAREA                                     *  
-             1380 *    (7) CHECK RETURN CODES FOR ERRORS OR WARNINGS                    *  
-             1390 ***********************************************************************  
-             1400     RESET GEOLP1                                                         
-             1410     MOVE 'D ' TO PIWA1-IN-FUNCTION-CODE                                  
-             1420     MOVE 'C' TO PIWA1-IN-PLATFORM-INDICATOR                              
-             1430     MOVE 'C' TO PIWA1-IN-SN-NORM-FORMAT                                  
-             1440 *   MOVE PIWA2-FN2-INTERSECT-B5SC(#INDEX) TO PIWA1-IN-10SC-1             
-             1450     MOVE PIWA2-FN2-INTERSECT-B5SC(#INDEX) TO #B5SC                       
-             1460     MOVE #B5SC-BORO TO PIWA1-IN-BORO-1                                   
-             1470     MOVE #B5SC-5SC TO PIWA1-IN-10SC-1                                    
-             1480 *                                                                        
-             1490     CALL 'GBI' P1NAT                                                     
-             1500 *                                                                        
-             1510     IF PIWA1-OUT-RETURN-CODE = '00'                                      
-             1520 *                                                                        
-             1530 ***** INSERT YOUR OWN CODE HERE FOR                               *****  
-             1540 ***** PROCESSING SUCCESSFUL FUNCTION D CALLS                      *****  
-             1550 *                                                                        
-             1560      IF #INDEX = 1                                                       
-             1570       WRITE NOTITLE /                                                    
-             1580        1T #USER-BORO1 3T #USER-STRT-NAME1                                
-             1590        36T #USER-BORO2 38T #USER-STRT-NAME2                              
-             1600        71T PIWA2-FN2-ZIP 77T PIWA2-FN2-COM-DIST-NUM                      
-             1610        80T PIWA2-FN2-POL-PRECINCT 89T PIWA2-FN2-SCHL-DIST                
-             1620        97T PIWA1-OUT-STREET-1                                            
-             1630      ELSE                                                                
-             1640       WRITE NOTITLE                                                      
-             1650        97T PIWA1-OUT-STREET-1                                            
-             1660      END-IF                                                              
-             1670     ELSE IF PIWA1-OUT-RETURN-CODE NOT = '00'                             
-             1680 *                                                                        
-             1690 ***** INSERT YOUR OWN ERROR HANDLING ROUTINE HERE                 *****  
-             1700 *                                                                        
-             1710      WRITE NOTITLE /                                                     
-             1720       1T '***** FUNCTION D GRC =' PIWA1-OUT-RETURN-CODE                  
-             1730       27T 'REASON CODE =' PIWA1-OUT-REASON-CODE                          
-             1740       43T ','PIWA1-OUT-ERROR-MESSAGE /                                   
-             1750       1T #USER-BORO1 3T #USER-STRT-NAME1                                 
-             1760       36T #USER-BORO2 38T #USER-STRT-NAME2                               
-             1770     END-IF                                                               
-             1780     END-IF                                                               
-             1790    END-FOR                                                               
-             1800  END-IF                                                                  
-             1810 *                                                                        
-             1820 END-SUBROUTINE                                                           
-             1830 END
-
-

NATURAL SAMPLE PROGRAM #2 – Job stream

-
            //GEOBUPG2 JOB    YOUR-JOB-CARD-INFORMATION
-            //*              
-            //**********************************************************************
-            //***  NATURAL SAMPLE BATCH GEOSUPPORT USER APPLICATION PROGRAM \#2   ***
-            //***                       MSW FORMAT                               ***
-            //**********************************************************************
-            //S1  EXEC NT3MPM1M,REGION=7000K
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                                  \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                                  \*//
-            //*  THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP        \*//
-            //*  MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATSETS:            \*//
-            //*       A030.GEO.SUPPORT.PDSE.LOADLIB                              \*//
-            //*       A030.GEO.SUPPORT.LOADLIB                                   \*//
-            //*                                                                  \*//
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //NAT.STEPLIB DD
-            //            DD
-            //            DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
-            //            DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //SYSPRINT    DD SYSOUT=A
-            //SYSOUT      DD SYSOUT=A,DCB=(LRECL=132)
-            //CMPRINT     DD SYSOUT=A,DCB=(LRECL=132)
-            //CMWKF01     DD *
-            1,CHAMBERS ST                     ,1,HUDSON ST
-            1,SIXTH AV                        ,1,W. 8 ST
-            1,DUANE ST                        ,1,READE ST
-            //CMSYNIN     DD *
-            Your-Application-ID,Your-User-ID
-            %*
-            Your-Password
-            L L GEOLW1         [For COW: GEOLP1]
-            L L GEOLW2         [For COW: GEOLP2]  
-            L P GEOBUPG2       [For COW Sample:  GEOBUPGB]
-            GEOBUPG2           [For COW Sample:  GEOBUPGB]
-            FIN
-            //INCLIB      DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //*                                                                  \*//
-            //*  AS OF GEOSUPPORT VERSION 10.0,                                  \*//
-            //*  DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD,        \*//
-            //*  ETC) ARE NO LONGER NEEDED AND ARE IGNORED. GEOSUPPORT           \*//
-            //*  IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.          \*//
-            //*  TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.         \*//
-            //*                                                                  \*//
-            //* * * * * * *  * * * * * * * * * * * * * * * * * * * * * * * * * * \*//
-            //SYSUDUMP    DD DUMMY
-
-

SAMPLE NATURAL PROGRAM #2 EXECUTION OUTPUT

-
             *****----------------- INPUT INTERSECTION ----------------------***** *****------------ SELECTED OUTPUT ITEMS -------------*****
-
-             B IN-STREET-NAME-1                 B IN-STREET-NAME-2                   ZIP CD NYPD-PCT SCHLDST INTERSECTING STREET NAMES
-             - -------------------------------- - -------------------------------- ----- -- -------- ------- --------------------------------
-
-             1 CHAMBERS ST                      1 HUDSON ST                        10007 01 001      02      CHAMBERS STREET
-                                                                                                             HUDSON STREET
-                                                                                                             WEST BROADWAY
-
-             1 SIXTH AV                         1 W. 8 ST                          10014 02 006      02      6 AVENUE
-                                                                                                             GREENWICH AVENUE
-                                                                                                             WEST 8 STREET
-
-             ***** FUNCTION 2 GRC = 62 REASON CODE =   , READE STREET & DUANE STREET DO NOT INTERSECT
-             1 DUANE ST                         1 READE ST
-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix09/index.html b/site/appendices/appendix09/index.html deleted file mode 100644 index 7bc7c613..00000000 --- a/site/appendices/appendix09/index.html +++ /dev/null @@ -1,2036 +0,0 @@ - - - - - - - - - - - - Appendix 9: GBAT Reference Tables - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 9: GBAT Reference Tables
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 9: GBAT REFERENCE TABLES

- -

Table A9-1: GBAT Control Entry Descriptions by Keyword

-

This table lists all of the control entries alphabetically by keyword. Each control entry’s coding format is indicated, and its purpose and usage are described. Control entry variables are indicated using ‘S’ and ‘L’ to represent the starting position and length, respectively, of a field in the input data records, and ‘V’ to represent other types of variables. Certain control entries do not have full table entries of their own but are cross-referenced to closely related control entries.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-

- - -

-

Control EntryDescription
ALIASES=VSpecifies whether an input alias file is to be used during this GBAT run. If so, during the processing of the input data file, the user-defined street name aliases in the alias file supplement the set of street names that Geosupport recognizes ([see ChapterIX.6](/chapters/chapterIX/section06/)). This control entry is optional; if it is not coded, the default value is NO. The valid variable values are NO, YES and VAL. - -ALIASES=NO directs GBAT not to perform any alias processing. If there is -an ALIASES DD statement in the JCL, it is ignored. - -ALIASES=YES directs GBAT to validate the ALIASES file, and then to process the input data file whether or not there are any invalid records in the alias file. An ALIASES DD statement referring to the alias file is required to be in the JCL. - -ALIASES=VAL directs GBAT to validate the alias file, and then to process the input data file only if there are no invalid records in the alias file. An ALIASES DD statement referring to the alias file is required to be in the JCL.
AUXSEG=VSpecifies whether the Work Area 2 to be used to form the records written into the output file of accepted data (OUTFILE) is the regular WA2 or the auxiliary segment WA2 ([see Chapter II.6](/chapters/chapterII/section06/)). The valid variable values are YES and NO and are self-explanatory. Currently, the Auxiliary Segment WA2 option is only available for COW format Functions 3 and 3C; this control entry is invalid for all other functions. For the functions that have the Auxiliary Segment WA2 option, this control entry is invalid when GEOCODE=NO or VAL; it is optional when GEOCODE=YES or ALL, and the default value is NO.
BBL=S,10Specifies the starting position and length of the input BBL field in the input data records. This control entry is valid only for Function BL. This control entry can be used in place of the three control entries BORO, BLOCK and LOT whenever the input data records contain those three items in adjacent positions so that they can be treated collectively as a BBL field. The length value must be explicitly coded as ‘10’.
BIN=S or BIN=S,7Specifies the starting position and length of the input Building Identification Number (BIN) field in the input data records. This control entry is valid only for Function BN. An input BIN field must always have a length of seven bytes, which may be coded explicitly as ‘7’ in this control entry or it may be left uncoded, in which case it defaults to that value.
BLOCK=S or BLOCK=S,5Specifies the starting position and length of the input tax block field in the input data - records. This control entry is valid only for Function BL. Either all three control entries BORO, BLOCK and LOT must be specified, or the control entry BBL must be specified. An input tax block field must always have a length of five bytes, which may be coded explicitly as ‘5’ in this control entry, or it may be left uncoded, in which case it defaults to that value.
BORO=S,LSpecifies the starting position and length of the input borough code field in the input data records.  This control entry is valid for all functions except Function BN. It is mandatory for functions that require an input borough code field. BORO is optional if ZIPCODE is specified for Function 1, 1A, 1B or 1E. For Functions 2, 3, 3C, 3S and D, which accept multiple input street fields, the field specified by BORO serves as the input borough code field for the input street field specified by the control entry ONSTREET or STRTCODE; in addition, if the control entries CROSSBORO1 and CROSSBORO2 are not coded, it also serves as the input borough code field for the other input street fields. The maximum permissible length value of BORO is L=12. Note: The input borough code field specified by BORO may contain user-defined, non-standard borough code values - see discussion at table entry for BRONX.
BRONX=V
BROOKLYN=V
MANHATTAN=V
QUEENS=V
STATEN=V
GBAT can accept non-standard, user-defined borough code values in the input - borough code fields specified by the control entries BORO, CROSSBORO1 and - CROSSBORO2. (If there is more than one input borough code field, the same - borough code values must be used in all of them.) The five control entries - BRONX, BROOKLYN, MANHATTAN, QUEENS and STATEN are used to specify the character strings that represent each borough in those input borough code fields. (Note: these control entries do not pertain to the borough code sub-fields that are embedded within larger data items such as BBL, BIN and B7SC, which must always contain the standard Geosupport borough code values.) The five borough code values may be specified as any strings of non-blank characters the lengths of which do not exceed the length value specified in the BORO control entry (which has a maximum permissible length value of 12). Embedded blanks should not be included in user-defined borough code values, since the first blank that GBAT encounters when scanning a borough code value terminates the scan. For example, coding STATEN=STATEN ISLAND would cause GBAT to interpret the control entry as STATEN=STATEN and to interpret ISLAND as the next keyword in the control file. Since ISLAND is an invalid control keyword, GBAT would terminate abnormally. However, coding STATEN=STATENISLAND (without the embedded blank) is acceptable. - - - These five control entries are optional, but if any of them is coded, all five must be coded. If these control entries are not coded, the default values are the standard Geosupport borough codes, as follows: - -MANHATTAN=1
-BRONX=2
-BROOKLYN=3
-QUEENS=4
-STATEN=5 - -
BROOKLYNSee BRONX.
BROWSEFLAG=VSpecifies whether the Browse Flag request (described in [Chapter III.7](/chapters/chapterIII/section07/) and [III.8](/chapters/chapterIII/section08/)) is in effect. This control entry is valid only for COW functions that return normalized street name output. For such functions, this control entry is optional. - -BROWSEFLAG=P specifies that the Browse Flag is set to ‘P’. Only the primary name and street code of the input street names will be returned to the user. - -BROWSEFLAG=F specifies that the Browse Flag is set to ‘F’. Only principal street name and street code of the input street names will be returned to the user. - -BROWSEFLAG=R specifies that the Browse Flag is set to ‘R’. Only the DCP or BOE preferred street name and street code of the input street names will be returned to the user. The value of ‘R’ is valid only for ‘GEOCODE=YES’ or ‘GEOCODE=ALL’. -
B7SC1=S
or B7SC1=S,8
B7SC1=S,8
B7SC1=S,8
B7SC3=S or
B7SC3=S,8
Specify the starting positions of up to three input Borough-and-7-digit Street Code - (B7SC) fields for input to Function DG. An input B7SC field must always have a - length of 8, which may be coded explicitly in these control entries, or it may be - left uncoded, in which case it defaults to 8. -
B10SC1=S or
B10SC1=S or
B10SC2=S or
B10SC2=S,11
B10SC3=S or
B10SC3=S,11
Specify the starting positions of up to three input Borough-and-10-digit Street - Code (B10SC) fields for input to Function DN. An input B10SC field must always - have a length of 11, which may be coded explicitly in these control entries, or it - may be left uncoded, in which case it defaults to 11. -
COMPACT=VSpecifies whether the Compact Names option (described in [Chapter III.3](/chapters/chapterIII/section03/)) is in effect. This control entry is valid only for functions that return normalized street name output. For such functions, this control entry is optional, and NO is the default value. - -COMPACT=YES specifies that the Compact Names option is in effect. Street names with numeric components are normalized into the compact format. - -COMPACT=NO specifies that the Compact Names option is not in effect. Street names with numeric components are normalized into the sort format. -
COMPASS=SSpecifies the position of an input compass direction field in the input data records. This control entry is never coded with a length variable; GBAT always assumes an input compass direction field to be one byte long. This control entry is valid only for Functions 2, 3C and 3S. - -For Function 2: this control entry is required only if the input data file contains at least one input street intersection defined by a pair of streets that intersect at two distinct locations ([see Chapter VII.2](/chapters/chapterVII/section02/)). In such input data records, the input compass direction field must contain a valid non-blank compass direction value, ‘N’, ‘S’, ‘E’ or ‘W’, which serves to designate which of the two intersections of the given pair of streets is to be processed. In other input data records, the input compass direction field should be blank. - -For Function 3C: this control entry is mandatory. The input data field that this control entry specifies contains the compass direction designating the side of the street. This field must contain a valid non-blank compass direction value, ‘N’, ‘S’, ‘E’ or ‘W’, in every input data record. - -For Function 3S: this control entry corresponds to the ‘first input intersection’, that is, the input intersection defined either by ONSTREET and CROSS1 or by STRTCODE and CRSCOD1. (The control entry COMPASS2 corresponds to the second input intersection.) The COMPASS control entry is required only if the input data file contains at least one first input intersection that is defined by a pair of streets that intersect in two locations ([see Chapter VII.2](/chapters/chapterVII/section02/)). In such input data records, the input data field that this control entry specifies must contain a valid compass direction value identifying which of the two locations is the intended first input intersection. In other input data records, this field should contain a blank.
COMPASS2=SSpecifies the position of the input compass direction field in the input data records that corresponds to the second input intersection, that is, the input intersection defined either by ONSTREET and CROSS2 or by STRTCODE and CRSCOD2. The COMPASS2 control entry is never coded with a length variable; GBAT always assumes an input compass direction field to be one byte long. The COMPASS2 control entry is valid only for Function 3S. It is required only if the input data file contains at least one second input intersection that is defined by a pair of streets that intersect at two distinct locations ([see Chapter VII.2](/chapters/chapterVII/section02/)). In such input data records, the input data field that this control entry specifies must contain a valid compass direction value identifying which of the two locations is the intended second input intersection. In other input data records, this field should contain a blank.
CROSSBORO1=S,LSpecifies the starting position and length of the input borough code field corresponding to the input street field specified by the control entry CROSS1 or CRSCOD1. - -CROSSBORO1 is coded only if the input data records have separate borough code fields corresponding to each of the input street fields. Such separate input borough code fields enable GBAT to process input data files containing borough boundary locations that are defined by streets in different boroughs (see discussion of Geosupports borough boundary processing feature in [Chapter VII.7](/chapters/chapterVII/section07/)). - -CROSSBORO1 is valid for Functions 2, 3, 3C, 3S and D, and is optional for those functions. If CROSSBORO1 is not coded, then the field specified by BORO is used as the input borough code field for the input street field specified by CROSS1 or CRSCOD1. If CROSSBORO1 is coded, then whenever the field it specifies contains a blank, the contents of the field specified by BORO is used as the input borough code for the input street field specified by CROSS1 or CRSCOD1. If CROSSBORO1 is coded, and the input street field it applies to is specified by CRSCOD1 rather than CROSS1 (i.e., if that field contains street codes rather than street names), and the length of CRSCOD1 is specified as 4 or 6 (i.e., the input street code field is in one of the formats that contain their own borough code), then CROSSBORO1 is ignored, and the input borough code field it specifies is not used. Note: The input borough code field specified by CROSSBORO1 may contain user-defined, non-standard borough code values - see discussion at table entry for BRONX.
CROSSBORO2=S,LSpecifies the starting position and length of the input borough code field corresponding to the input street field specified by the control entry CROSS2 or CRSCOD2. - -CROSSBORO2 is coded only if the input data records have separate borough code fields corresponding to each of the input street fields. Such separate input borough code fields enable GBAT to process input data files containing borough boundary locations that are defined by streets in different boroughs (see discussion of Geosupport’s borough boundary processing feature in [Chapter VII.7](/chapters/chapterVII/section07/). CROSSBORO2 is valid for Functions 3, 3C, 3S and D, and is optional for those functions. If CROSSBORO2 is not coded, then the field specified by BORO is used as the input borough code field for the input street field specified by CROSS2 or CRSCOD2. If CROSSBORO2 is coded, then whenever the field it specifies contains a blank, the contents of the field specified by BORO is used as the input borough code for the input street field specified by CROSS2 or CRSCOD2. If CROSSBORO2 is coded, and the input street field it applies to is specified by CRSCOD2 rather than CROSS2 (i.e., if that field contains street codes rather than street names), and the length of CRSCOD2 is specified as 4 or 6 (i.e., the input street code field is in one of the formats that contain their own borough code), then CROSSBORO2 is ignored, and the input borough code field it specifies is not used. Note: The input borough code field specified by CROSSBORO2 may contain user-defined, non-standard borough code values - see discussion at table entry for BRONX. -
CROSSSTNAMES=VSpecifies whether a list of street names of the cross streets or intersecting streets is to be included in the appended output data. Note: the CROSSSTNAMES feature incurs processing overhead, and should only be used when necessary. - -Note that CROSSSTNAMES may no longer be necessary with certain COW functions since MODE=X (Extended Mode) and Function 1B Work Areas are now supported, and they contain the cross street B7SCs and the corresponding Principal cross street names. - -CROSSSTNAMES=YES specifies that the street names of the cross streets (RECTYPE=1, 1E, 2, 3 or 3C) or intersecting streets (RECTYTPE=2) are to be appended. This causes a 320-byte block of data to be included in the appended data containing those street names, laid out as described in the [Appendix 3](/appendices/appendix03/) entry for the List of Street Names (see paragraph on List of Cross Street Names). CROSSSTNAMES=YES is valid only when GEOCODE=ALL and RECTYPE=1, 1E, 2, 3 or 3C have been specified. - -CROSSSTNAMES=NO specifies that the street names of cross streets or intersecting streets are not to be appended. The default value is NO. - -This control entry is optional; if it is not coded, the default value is NO.
CROSS1, CROSS2See ONSTREET.
CRSCOD1, CRSCOD2See STRTCODE.
GEOCODE=VSpecifies whether GBAT will issue one-work-area or two-work-area calls (see Chapter II.4; whether OUTFILE will be produced; and if so, what information GBAT will append to the user input records in forming the OUTFILE records (see Chapter XI.7. The valid variable values for this control entry are NO, YES, ALL and VAL. For COW Functions 1, 1E, 1A and 1B, see also keyword GEOUNIT. - -GEOCODE=NO specifies a one-work-area call. Only selected information from Work Area 1 is appended. For Function BL, the BBL is appended; for Function BN, the BIN is appended; for the other functions, normalized house numbers, normalized street names and street codes are appended. For a detailed layout of the appended information for GEOCODE=NO, see Table A9-4 for MSW format, and see Table A12-2 for COW format. In addition, for COW Functions 1, 1E, 1A and 1B, if GEOUNIT=YES is specified, the Normalized Display Format Unit output field is also appended, in the form of a 70-byte block of data, the first 14 bytes of which are the Unit output field. For a description of the Unit fields, see Chapter V.15. OUTFILE is produced. - -GEOCODE=YES specifies a two‑work‑area call. Only a copy of Work Area 2 for the given function is appended. OUTFILE is produced. - -GEOCODE=ALL specifies a two‑work‑area call. Both the GEOCODE=NO information (including the GEOUNIT=YES information, as described above with GEOCODE=NO) and the GEOCODE=YES information are appended. In addition, if CROSSSTNAMES=YES is specified, a list of street names of the cross streets or intersecting streets is also appended, in the form of a 320-byte block of data, between the GEOCODE=NO data and the GEOCODE=YES data. OUTFILE is produced. - -GEOCODE=VAL specifies a two‑work‑area call. OUTFILE is not produced. - -This control entry is optional. The default value depends on the function: it is NO for Functions 1, 1N, 2, 3, D, DG and DN, and it is YES for all other functions. The values YES, ALL and VAL are invalid for functions that can only be called using one work area (currently, Functions 1N, D, DG and DN).
GEOUNIT=VSpecifies whether GBAT will append the Normalized Display Format Unit Output field. This control entry is valid only for COW Functions 1, 1E, 1A and 1B and only when GEOCODE=NO or GEOCODE=ALL is specified. The Normalized Display Format Unit output field is appended, in the form of a 70-byte block of data, the first 14 bytes of which are the Unit output field. See the description of GEOCODE=V above. The GEOUNIT control entry is optional. The valid values are YES and NO. The default is GEOUNIT=NO. For a description of the Unit fields, see Chapter V.15.
HNI=VSpecifies whether the input house number fields specified by the HOUSENUM and HOUSENUM2 control entries are House Numbers in Internal format (HNIs) (see Chapter V.2) or are in character format, indicated by the variable values YES and NO respectively. The HNI control entry is optional only for MSW Functions 1, 1A, 1E, D, DG and DN, and is invalid for other functions and for the COW format. The default value depends on the function. For MSW Functions 1, 1A and 1E, NO is the default, and YES is also valid. For MSW Functions D, DG and DN, YES is the default and is the only valid value.
HNS=VSpecifies whether the input house number field specified by the HOUSENUM and HOUSENUM2 control entries are House Numbers in Sort format (HNSs) (see Chapter V.2) or are in character format, indicated by the variable values YES and NO respectively. The HNS control entry is optional for COW Functions 1, 1A, 1E, D, DG and DN, and is invalid for other functions and for the MSW format. The default value depends on the function. For COW Functions 1, 1A and 1E, NO is the default, and YES is also valid. For COW Functions D, DG and DN, YES is the default and is the only valid value.
HOUSENUM=S or HOUSENUM=S,LSpecifies the starting position and length of an input house number field. This control entry is optional. It is valid for Functions 1, 1A, 1B, 1E, D, DG and DN. - -For Functions 1, 1A, 1B and 1E, if HOUSENUM is not coded, Geosupport assumes that the input street name field (specified by the control entry ONSTREET) contains a free‑form address (see ChapterV.3). If HOUSENUM is coded, the input data field it specifies may contain either a House Number in Internal format (HNI - for MSW format only - see ChapterV.2), a House Number in Sort Format (HNS - for COW format only - see ChapterV.2), or a house number in character format. If it contains an HNI, then the control entry HNI=YES must be in effect (either by explicitly coding it or by default), and HOUSENUM’s length variable must either be coded with the value ‘6’ or not coded (in which case it defaults to ‘6’ by virtue of HNI=YES). If it contains an HNS, then the control entry HNS=YES must be in effect (either by explicitly coding it or by default), and HOUSENUM’s length variable must either be coded with the value ‘11’ or not coded (in which case it defaults to ‘11’ by virtue of HNS=YES). If HOUSENUM is not an HNI or an HNS, its length variable must be a number between 5 and 12. - -For Functions D, DG and DN, if HOUSENUM is coded, for MSW format, the input data field it specifies must contain an HNI, and the length variable must either be coded with the value ‘6’ or not coded (in which case it defaults to ‘6’). For COW format, the input data field it specifies must contain an HNS, and the length variable must either be coded with the value ‘11’ or not coded (in which case it defaults to ‘11’). -
HOUSENUM2=S or HOUSENUM2=S,LSpecifies the starting position and length of an input house number field containing an HNI for the MSW format, or an HNS for the COW format. HOUSENUM2 is valid for Functions D, DG and DN, for which it is optional. Those functions can accept two input HNI or HNS fields per call. Coding both HOUSENUM and HOUSENUM2 enables two input HNI or HNS fields to be processed through Functions D, DG or DN in a single GBAT pass. For the MSW format, when HOUSENUM2 is coded, the OUTFILE records include a corresponding 12-byte field (identified as HND-2 in Table A9-4) in the appended data for a House Number in Display format (HND), and the total length of the appended data is 120 bytes. When HOUSENUM2 is not coded using the MSW format, no corresponding HND-2 field is included in the OUTFILE records, and the total length of the appended data is 108 bytes. For the COW format, the OUTFILE record length is always 128 bytes, and has space for two 16-byte output House Numbers in Display format (HNDs), each of which would either have data or be blank, dependent on the input..
LONGWA2=VSpecifies whether the Work Area 2 to be used to form the records written into the output file of accepted data (OUTFILE) is the regular WA2 or the long WA2 (see ChapterII.5). The valid variable values are YES and NO and are self-explanatory. Currently, the long WA2 option is only available for MSW format Functions 1, 1E, and 3, and for both MSW and COW formats for Functions 1A and BL; this control entry is invalid for all other functions. For the functions that have the long WA2 option, this control entry is invalid when GEOCODE=NO or VAL; it is optional when GEOCODE=YES or ALL, and the default value is NO.
LOT=S,LSpecifies the starting position and length of the input tax lot field. This control entry is valid only for Function BL. The Function BL user must specify either all three control entries BORO, BLOCK and LOT, or the control entry BBL. The length value of LOT must be explicitly coded as ‘4’. There is no default.
MANHATTANSee BRONX.
MAXREJECTS=VSpecifies how many rejects (including warnings, if REJECTWARNINGS=YES has been specified) occurring at the beginning of the input data file, other than any records rejected for an invalid borough code, are to cause a ‘MAXREJECTS termination’, that is, would cause GBAT to terminate execution abnormally and exit with Condition Code 20 (see ChapterXI.3). The variable value must be either a positive integer specifying the number of such rejects that are to cause a MAXREJECTS termination, or the value NOMAX. If MAXREJECTS=NOMAX is coded, the entire input data file is processed, regardless of the number of rejects occurring at the beginning of the file. The MAXREJECTS control entry is optional, and the default value is MAXREJECTS=200.
MODE=VSpecifies whether the Work Area 2 to be used to form the records written into the output file of accepted data (OUTFILE) is the regular WA2 or the Extended WA2 (see ChapterII.7). The valid variable values are X or NO. X requests the Extended Work Area 2. Currently, the extended WA2 option is available only for COW format (WORKAREA=COW) Functions 1, 1E, 1A, 3, 3C, BL, and BN; this control entry is invalid for all other functions. When MODE=X, LONGWA2 cannot be set to YES for Function 1A or BL. All other control cards are the same for each of the Functions 1, 1E, 1A, 3, 3C, BL or BN. For the functions that have the extended WA2 option, this control entry (MODE=X) is invalid when GEOCODE=NO or VAL; it is optional when GEOCODE=YES or ALL, and the default value of MODE is NO. -
NODE=S or NODE=S,7Specifies the starting position and length of the input node ID field. This -NODE=S,7 control entry is valid only for COW Functions 2 and 2W. An input node ID field must always have a length of seven bytes, which may be coded explicitly as ‘7’ in this control entry or it may be left uncoded, in which case it defaults to that value. - -This entry must be coded if you have node input instead of two intersecting streets or an intersection name. Since node input stands on its own and does not require a borough code, the GBAT statistical report will not include groupings by borough. It is therefore recommended that the user not mix street name/street code input with node input. -
ONSTREET=S,L
CROSS1=S,L
CROSS2=S,L
Specify the starting positions and lengths of input street name fields for Functions - 1, 1A, 1B, 1E, 1N, 2, 3, 3C, 3S. (For functions 1, 1A, 1B, 1E, those fields may - contain free-form addresses.) The appropriate combination of these control entries - for the function being called must be coded, as follows: -
- - - - - - - - - - - - - - - - - - - - -
FunctionsField(s) SpecifiedControl Entries Used to Specify These Fields
1, 1A, 1B, 1E, 1N‘On’ StreetONSTREET
2Two Intersecting Streets in Either OrderONSTREET and CROSS1
3, 3C, 3S‘On’ Street and , Two Cross Streets in Either OrderONSTREET, CROSS1 and CROSS2 (Note: For Function 3S, input cross street fields are optional.)
- -

Whenever input street name fields are specified by coding any of the three control entries ONSTREET, CROSS1 and CROSS2, an input borough code field (or fields) must also be specified, by coding the control entry BORO (and optionally CROSSBORO1 and CROSSBORO2, as appropriate).

-


-Note: for Functions 1, 1A, 1B, 1E, 2, 3, 3C and 3S, but not function 1N, input street data may be provided either in the form of street name fields, specified using the control entries ONSTREET, CROSS1 and CROSS2, or alternatively, in the form of five-digit street code fields (see ChapterIV.8), specified using the control entries STRTCODE, CRSCOD1 and CRSCOD2. For those of the aforementioned functions that accept multiple input streets, either all of those input streets must take the form of street names or all must take the form of street codes; a mixture of names and codes is not permitted. For Function 1N, street name input fields are mandatory. -

QUEENSSee BRONX.
REALSTREETONLY=VSpecifies whether the Real Street Only request (described in Chapter VII.6) is in effect. This control entry is valid only for COW function 3S. This control entry is optional.

-

REALSTREETONLY=YES specifies that the Real Street Only flag is set to ‘R’. Only real streets (not bends or non-street features) will be returned to the user.

-

REALSTREETONLY=NO specifies that the Real Street Only flag is set to blank. All intersections, including bends and non-street features, will be returned to the user.

-

If this control entry is not coded, the default value is NO.

RECTYPE=VSpecifies the Geosupport function to be executed.  This control entry is mandatory. The valid variable values are the valid Geosupport function codes. As of this writing, these are 1, 1A, 1B, 1E, 1N, 2, 3, 3C, 3S, AP, BL, BN, D, DG, DN.
REJECTWARNINGS=VSpecifies whether input data records that result in warnings are to be treated as accepted records or as rejects (see discussion of REJECTWARNINGS in Section XI.7). The valid variable values are YES and NO. This control entry is optional, and the default value is NO.

-

If REJECTWARNINGS=YES is coded, records resulting in warnings (GRC=01) are treated as rejects; that is, they are written into ERRFILE (or ERRFIL2) rather than OUTFILE, they are counted as rejects in the report of run statistics, and they are considered to be rejects for the purpose of determining whether a MAXREJECTS termination is to be triggered.

-

If REJECTWARNINGS=NO is coded or is in effect by default, warnings are treated as accepted records; that is, they are written into OUTFILE rather than ERRFILE (or ERRFIL2), they are counted as accepted records in the report of run statistics, and they are considered to be accepted records for the purpose of determining whether a MAXREJECTS termination is to be triggered.

RELATEDNODES=VIf COW Function 2 results in a ‘many-node case’ (GRC 03 with Reason Code A), this control entry specifies if GBAT should return the Nodes and B7SCs for the streets at those nodes (up to 20 nodes). This control entry is valid only with WORKAREA=COW, RECTYPE=2 and GEOCODE=YES or ALL. ERRFIL3 will contain this output. The variable values are YES and NO and are self-explanatory. If these If this control entry is not coded, the default value is NO.
ROADBED=VSpecifies whether the output of a multi-Roadbed street should contain Roadbed information or information based on the center line of the street. This control entry is valid only for Functions 1, 1E, 1B and 3S for which it is optional. The variable values are YES and NO and are self-explanatory. If this control entry is not coded, the default value is NO.
SNL=VSpecifies a value for the Street Name Normalization Length Limit (SNL) parameter (see ChapterIII.2). The variable value must be a number between 4 and 32, inclusive. This control entry is valid only for functions that return normalized street names, for which it is optional. The default value is 32.
STATENSee BRONX.
STRTCODE=S,L
CRSCOD1=S,L
CRSCOD2=S,L
Specify the starting positions and lengths of input five-digit street code fields for - Functions 1, 1A, 1B, 1E, 2, 3, 3C, 3S and D. The appropriate combination of these - control entries for the function being called must be coded, as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionsStreet Input Fields RequiredControl Entries Used to Specify These Fields
1, 1A, 1B, 1E ‘On’ StreetSTRTCODE
2Two Intersecting Streets in Either OrderSTRTCODE and CRSCOD1
3, 3C, 3S‘On’ Street and Two Cross Streets in Either OrderSTRTCODE, CRSCOD1 and CRSCOD2 (Note: For Function 3S, input cross street fields are optional.)
D Up to Three 5-Digit Street CodesCRSCOD1 if necessary, CRSCOD2 if necessary
- -

Each of the input street code fields specified by STRTCODE, CRSCOD1 and CRSCOD2 must contain a five-digit street code in one of four formats: P5SC (which has a length of 3 bytes, valid only with MSW format), PB5SC (length = 4, valid only with MSW format), 5SC (length = 5) or B5SC (length = 6). For Functions 2, 3, 3C, 3S and D, which can have multiple input five-digit street code fields, it is allowable for those fields to have different formats; for example, for MSW Function 3, it is permissible for the input ‘on’ street field to contain a PB5SC while one input cross street field contains a 5SC and the other input cross street field contains a B5SC. The user must code the length variable value in each of these control entries so that it accords with the street code format of the corresponding input street code field. GBAT uses that length value to determine which five-digit street code format to expect in that input field.

-

If any input street code fields are in the form of P5SCs or 5SCs, which do not contain their own borough code sub-field, the input data file must also have a separate input borough code field or fields, which must be specified by coding the control entry BORO, and if needed, the control entries CROSSBORO1 and CROSSBORO2.

-

Note: for Functions 1, 1A, 1B, 1E, 2, 3, 3C and 3S, but not Function D, input street data may be provided either in the form of five-digit street code fields, specified using the control entries STRTCODE, CRSCOD1 and CRSCOD2, or alternatively, in the form of street name fields, specified using the control entries ONSTREET, CROSS1 and CROSS2. For those of the aforementioned functions that accept multiple input streets, either all of those input streets must take the form of street codes or all must take the form of street names; a mixture of codes and names is not permitted. For Function D, input street data must be in the form of street codes.

-

TITLE=VSpecifies a title to appear on the top of the SYSPRINT output report of summary run statistics. A valid variable value is any character string of up to 73 bytes ending in a semicolon. This control entry is optional. If it is not coded, the report is generated without a title. If it is coded, it is mandatory to terminate the title character string with a semicolon, which does not appear in the actual report.
TPADDATA=VSpecifies whether TPAD processing should be performed for functions 1A, 1B, BL, and BN Work Area 2 giving more up-to-date property-level information. (see ChapterVI.11).The valid variable values are YES and NO. Y requests the TPAD processing. The TPADDATA option is available only for COW format (WORKAREA=COW) Functions 1A, 1B, BL, and BN; this control entry is invalid for all other functions. All other control cards are the same for each of the Functions 1A, 1B, BL or BN. For the functions that have the TPAD option, this control entry (TPADDATA=YES) is invalid/ignored when GEOCODE=NO or VAL; it is optional when GEOCODE=YES or ALL, and the default value of TPADDATA= NO.
UNIT=S,LSpecify the starting position and length for the input Unit field. This control entry is valid only for COW Functions 1, 1E, 1A and 1B. This control entry is optional and there is no default. To have GBAT append the Normalized Display Format Unit Output field (in OUTFILE) also specify GEOUNIT=YES and either GEOCODE=NO or GEOCODE=ALL. See the description of those control entries. For a description of the Unit fields, see ChapterV.15.
VSAM=VSpecifies whether the input data file is a VSAM file or a sequential file. The valid variable values are YES and NO, specifying that the file is a VSAM file or a sequential file, respectively. This control entry is optional, and NO is the default value. If NO is specified or is in effect by default, then in the JCL, the DD statement for the input data file must contain the DDname INFILE. If YES is specified, the DDname must be coded as INVSAM.
WORKAREA=VSpecifies whether the work areas should be in MSW or COW format. The WORKAREA control entry is valid for all functions. The valid variable values are COW (Character Only Work Area) and MSW (Mainframe Specific Work Area), and are self-explanatory. If this control entry is not coded, the default value is MSW.
ZIPCODE=S or ZIPCODE=S,5Specifies the starting position and length of the input ZIP code field. This control - entry is valid only for Functions 1, 1A, 1B and 1E. An input ZIP code field must always have a length of five bytes, which may be coded explicitly as ‘5’ in this control entry or it may be left uncoded, in which case it defaults to that value.
1ABLVERSION=VSpecifies that standard processing is to be performed for Functions 1A and BL (see ChapterVI.8). The 1ABLVERSION control entry is valid only for Functions 1A and BL, and is required for the MSW format. The only valid variable value for this control entry is STANDARD or S, and is self-explanatory. Note: Legacy has been discontinued..

-

Table A9-2: Summary of GBAT Control Entries by Keyword

-

This table lists all of the control entries alphabetically by keyword, indicates their coding formats, their allowable and default variable values, and the Geosupport functions for which each control entry or combination of control entry and variable value is valid. Control entry variables are indicated using ‘S’ and ‘L’ to represent the starting position and length of a field in the input data records, respectively, and ‘V’ to represent variables of other types.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A9-2: Summary of GBAT Control Entries by Keyword
Control EntryValid Variable ValuesDefaultFunctions
ALIASES=VNO, YES, VALNO1, 1A, 1B, 1E, 1N, 2, 3, 3C, 3S, AP
AUXSEG=VYES, NONOCOW only: 3, 3C
BBL=S,101 - <=S <=( LRECL-1)-10NoneBL
BIN=S or BIN=S,71 - <=S <=( LRECL+1)-7L=7BN
BLOCK=S or BLOCK=S,51 - <=S <=( LRECL+1)-5L=5BL
BORO=S,L1 - <=S <=( LRECL+1)-L
1 - <=L <=1 2
NoneAll but BN, DG, DN
BRONX=VAny character string that fits BORO2All but BN, DG, DN
BROOKLYN=VAny character string that fits BORO3All but BN, DG, DN
BROWSEFLAG=VP, F, RNone1, 1A, 1B, 1E,1N, 2, 3, 3C, AP
B7SC1=S or B7SC1=S,81 - <=S <=( LRECL+1)-8L=8DG
B7SC2=S or B7SC2=S,81 - <=S <=( LRECL+1)-8L=8DG
B7SC3=S or B7SC3=S,81 - <=S <=( LRECL+1)-8L=8DG
B10SC1=S or B10SC1=S,111 - <=S <=( LRECL+1)-11L=11DN
B10SC2=S or B10SC2=S,111 - <=S <=( LRECL+1)-11L=11DN
B10SC3=S or B10SC3=S,111 - <=S <=( LRECL+1)-11L=11DN
COMPACT=VYES, NONOAll but BL, BN
COMPASS=S1 - <=S <=L RECLNone2, 3C, 3S
COMPASS2=S1 - <=S <=L RECLNone3S
CROSSBORO1=S,L1 - <=S <=( LRECL+1)-L
1 - <=L <=1 2
None2, 3, 3C, 3S, D
CROSSBORO2=S,L1 - <=S <=( LRECL+1)-L
1 - <=L <=1 2
None3, 3C, 3S, D
CROSSSTNAMES=VYES, NO (YES is valid only for GEOCODE=ALL)NO1, 1B, 1E, 2, 3, 3C
CROSS1=S,L1 - <=S <=( LRECL+1)-L
4 - <=L <=3 2
None2, 3, 3C, 3S
CROSS2=S,L1 - <=S <=( LRECL+1)-L
4 - <=L <=3 2
None3, 3C, 3S
CRSCOD1=S,L1 - <=S <=( LRECL+1)-L
1 - <=L <=1 2
None 3, 3C, 3S, D
CROSS1=S,L 1 - <=S <=( LRECL+1)-L
4 - <=L <=3 2
None 2, 3, 3C, 3S
CROSS2=S,L 1 - <=S <=( LRECL+1)-L
4 - <=L <=3 2
None 3, 3C, 3S
CRSCOD1=S,L 1 - <=S <=( LRECL+1)-L
L=3 if field contains P5SC (MSW)
L=4 if field contains PB5SC (MSW)
L=5 if field contains 5SC
L=6 if field contains B5SC
None2, 3, 3C, 3S, D
CRSCOD2=S,L 1 - <=S <=( LRECL+1)-L
L=3 if field contains P5SC (MSW)
L=4 if field contains PB5SC (MSW)
L=5 if field contains 5SC
L=6 if field contains B5SC
None 3, 3C, 3S, D
GEOCODE=VNO, YES, ALL, VAL
YES and ALL are invalid for Functions 1N, D, DG, DN)
NO1, 1N, 2, 3, D, DG, DN
YES1A, 1B, 1E, 3C, 3S, AP, BL, BN
GEOUNIT=V YES, NO
(YES is valid only for GEOCODE=NO or
GEOCODE=ALL)
NO COW only: 1, 1E, 1A, 1B
HNI=VYES, NO (MSW format only)
(NO is invalid for MSW Fns D, DG, DN)
YESD, DG, DN
NO1, 1A, 1E
HNS=VYES, NO (COW format only)
(NO is invalid for COW Fns D, DG, DN)
YESD, DG, DN
NO1, 1A, 1B, 1E, AP
HOUSENUM=S or HOUSENUM=S,L 1 - <=S <=( LRECL+1)-L
5 - <=L <=1 2 if field contains house number in character format
L= 6 if field contains HNI
L=11 if field contains HNS
L=6 when HNI=YES;L=11 when HNS= YES else no length default 1, 1A, 1B, 1E, AP, D, DG, DN
HOUSENUM2=S or HOUSENUM2=S,L 1 - <=S <=( LRECL+1)-L
L= 6 if field contains HNI
L=11 if field contains HNS
L=6 when HNI=YES;
L=11 when HNS=YES
D, DG, DN
LONGWA2=V YES, NO NO MSW and COW: 1A, BL
MSW only:
1, 1E, 3
LOT=S,4 1 - <=S <=( LRECL+1)-4 NoneBL
MANHATTAN=V Any character string that fits BORO1All but BN, DG, DN
MAXREJECTS=VAny positive integer or NOMAX200All
MODE=VX, NONOCOW and GEOCODE=ALL or YES:
1,1E,1A,3,3C,
BL,BN
ONSTREET=S,L1 - <=S <=( LRECL+1)-L
4 - <=L <=3 2
None1, 1A, 1B, 1E, 1N, AP, 2, 3, 3C, 3S
QUEENS=VAny character string that fits BORO4All but BN, DG, DN
RECTYPE=V1, 1A, 1B, 1E, 1N, 2, 3, 3C, 3S, AP, BL, BN, D, DG, DNNoneAll (Note 1B and AP are COW only
REALSTREETONLY=VYES, NONOCOW only: 3S
REJECTWARNINGS=VYES, NONOAll
ROADBEDYES, NONO1, 1B, 1E, 3S
SNL=V4 - <=V <=3 232All but BL, BN
STATEN=VAny character string that fits BORO5All but BN, DG, DN
STRTCODE=S,L1 - <=S <=( LRECL+1)-L
L=3 if contains P5SC (MSW
L=4 if contains PB5SC (MSW)
L=5 if contains 5SC
L=6 if contains B5SC
None1, 1A, 1B, 1E, 2, 3, 3C, 3S, AP, D
TITLE=VAny character string of up to 73 bytes ending in a semicolonNo titleAll
TPADDATA=VYES, NONO1A, 1B, BL, BN
UNIT=S,L1 - <=S <=( LRECL+1)-L
1 - <=L <=1 4
NoneCOW only: 1, 1E, 1A, 1B
VSAM=VYES, NONOAll
WORKAREA=VCOW, MSWMSWAll
ZIPCODE=S or ZIPCODE=S,51 - <=S <=( LRECL+1)-5L=51, 1A, 1B, 1E, AP
1ABLVERSION=VSTANDARD, SNone1A, BL
- -

Table A9-3: Summary of GBAT Control Entry Usage by Function

-

This table lists, by Geosupport function, which control entries are allowable and which of those are mandatory. Control entries are represented in this table by their keywords. Some combinations of control entries are mandatory or prohibited; such conditions are indicated in this table by using the logical connectors “and”, “or” (inclusive or) and “xor” (exclusive or) and by using underlining, as follows:

-
    - -
  • A table entry of the form “A and B” signifies that if either A or B is coded, then both must be coded. Similarly, “A and B and C” signifies that if any of A, B or C is coded, then all three must be coded.
  • - -
  • A table entry of the form “A or B” signifies that A may be coded without B, B may be coded without A, and A and B may both be coded. Similarly, “A or B or C” signifies that any combination of these three items may be coded.”
  • - -
  • A table entry of the form “A xor B” signifies that if either A or B is coded, then the other one must not be coded.
  • - -
  • If a table entry is underlined, that control entry or combination of control entries is mandatory for the given function. All table entries not underlined are optional.
  • - -
  • Square brackets (“ [.....]”) are sometimes used for logical grouping to increase clarity.
  • - - Thus, a table entry of the form “A or B” signifies that it is mandatory to code A or B; that is, it is mandatory to code at least one of A and B and it is permissible to code both A and B. “A xor B” signifies that it is mandatory to code A xor B; that is, it is mandatory to code either A or B but prohibited (because of the exclusive or) to code both A and B. A table entry of the form “ [A and B] xor [C and D]” signifies that it is mandatory to code either both A and B or both C and D but prohibited to code all four of them. - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionControl Entries
1ALIASES, BORO or ZIPCODE, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW),COMPACT, CROSSSTNAMES, GEOCODE, GEOUNIT (requires WORKAREA=COW and [GEOCODE=NO or GEOCODE=ALL]), HNI xor HNS (see Note 1), HOUSENUM (see Note 2), LONGWA2 xor WORKAREA=COW, MAXREJECTS, MODE=X (valid only if WORKAREA=COW and GEOCODE=ALL or YES), ONSTREET xor STRTCODE, RECTYPE, REJECTWARNINGS, ROADBED, SNL, TITLE, UNIT (requires WORKAREA=COW), WORKAREA, VSAM
Note 1: HNI is a valid entry only if WORKAREA defaults to MSW or is set to MSW. HNS is a valid entry only if WORKAREA=COW
Note 2: For Functions 1, 1A 1B and 1E, HOUSENUM is optional in the sense that coding it is either mandatory or prohibited, depending, respectively, on whether the input data file contains free-form addresses (in which a single field contains the house number followed by the street name in non-fixed positions; see ChapterV.3) or parsed-form addresses (in which the house number and street name are in separate fields). When HOUSENUM is not coded, the input street must be in the form of street names rather than street codes, the input street name field must be specified by the control entry ONSTREET, and in every input data record, that field must contain either a free-form address or a Non-Addressable Place name (NAP). When HOUSENUM is coded, and the input street is in the form of street names, GBAT assumes that the input street name field contains street names and NAPs only, not free-form addresses.
1 ExtendedSame as Function 1, except [GEOCODE=ALL] xor [GEOCODE=YES], MODE=X, WORKAREA=COW
1AALIASES, BORO or ZIPCODE, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, GEOCODE, GEOUNIT (requires WORKAREA=COW and [GEOCODE=NO or GEOCODE=ALL]), HNI xor HNS (see Note 1 following Function 1 entry), HOUSENUM (see Note 2 following Function 1 entry), LONGWA2, MAXREJECTS, ONSTREET xor STRTCODE, RECTYPE, REJECTWARNINGS, ROADBED, SNL, TITLE, TPADDATA (requires WORKAREA=COW), UNIT (requires WORKAREA=COW), WORKAREA, VSAM, 1ABLVERSION
1A ExtendedSame as Function 1A, except [GEOCODE=ALL] xor [GEOCODE=YES], LONGWA2=NO (specified or by default), MODE=X, WORKAREA=COW
1BALIASES, BORO or ZIPCODE , BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG , COMPACT, CROSSSTNAMES, [GEOCODE=ALL] xor [GEOCODE=YES], GEOUNIT (requires GEOCODE=ALL), HNS, HOUSENUM (see Note 2 following Function 1 entry), MAXREJECTS, ONSTREET xor STRTCODE, RECTYPE, REJECTWARNINGS, ROADBED, SNL, TITLE, TPADDATA, UNIT, WORKAREA=COW, VSAM
1EALIASES, BORO or ZIPCODE , BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, CROSSSTNAMES, GEOCODE, GEOUNIT (requires WORKAREA=COW and [GEOCODE=NO or GEOCODE=ALL]), HNI xor HNS (see Note 1 following Function 1 entry), HOUSENUM (see Note 2 following Function 1 entry), LONGWA2 xor WORKAREA=COW, MAXREJECTS, ONSTREET xor STRTCODE, RECTYPE, REJECTWARNINGS, ROADBED, SNL, TITLE, UNIT (requires WORKAREA=COW), WORKAREA, VSAM
1E ExtendedSame as Function 1E, except [GEOCODE=ALL] xor [GEOCODE=YES], MODE=X, WORKAREA=COW
1NALIASES, BORO, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, GEOCODE, MAXREJECTS, ONSTREET, RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
2ALIASES, BORO, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, COMPASS, CROSSBORO1, CROSSSTNAMES, GEOCODE, MAXREJECTS, [ONSTREET and CROSS1] xor [STRTCODE and CRSCOD1], RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
3ALIASES, AUXSEG (see Note 3), BORO, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, CROSSBORO1, CROSSBORO2, CROSSSTNAMES, GEOCODE, LONGWA2 xor WORKAREA=COW, MAXREJECTS, [ONSTREET and CROSS1 and CROSS2] xor [STRTCODE and CRSCOD1 and CRSCOD2], RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
Note 3: AUXSEG is a valid entry only if WORKAREA=COW
3CALIASES, AUXSEG (see Note 3 following Function 3 entry), BORO, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG (valid only if WORKAREA=COW), COMPACT, COMPASS, CROSSBORO1, CROSSBORO2, CROSSSTNAMES, GEOCODE, MAXREJECTS, [ONSTREET and CROSS1 and CROSS2] xor [STRTCODE and CRSCOD1 and CRSCOD2], RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
3/3C (extended)
3SALIASES, BORO, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, COMPACT, COMPASS, COMPASS2, CROSSBORO1, CROSSBORO2, [CROSS1 and CROSS2] xor STRTCODE, [CRSCOD1 and CRSCOD2] xor ONSTREET, GEOCODE, MAXREJECTS, ONSTREET xor STRTCODE, REALSTREETONLY (see Note 4), RECTYPE, REJECTWARNINGS, ROADBED, SNL, TITLE, WORKAREA, VSAM
Note 4: REALSTREETONLY is a valid entry only if WORKAREA=COW
APALIASES, BORO or ZIPCODE, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, BROWSEFLAG , COMPACT, GEOCODE, HNS, HOUSENUM (see Note 2 following Function 1 entry), MAXREJECTS, ONSTREET xor STRTCODE, RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA=COW, VSAM
AP ExtendedSame as Function AP, except [GEOCODE=ALL] xor [GEOCODE=YES], MODE=X
BLBORO and BLOCK and LOT xor BBL, BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, LONGWA2, MAXREJECTS, RECTYPE, REJECTWARNINGS, TITLE, TPADDATA (requires WORKAREA=COW), VSAM, WORKAREA, 1ABLVERSION
BL ExtendedSame as Function BL, except [GEOCODE=ALL] xor [GEOCODE=YES], LONGWA2=NO (specified or by default), MODE=X, WORKAREA=COW
BNBIN, GEOCODE, MAXREJECTS, RECTYPE, REJECTWARNINGS, TITLE, TPADDATA (requires WORKAREA=COW), WORKAREA, VSAM
BN ExtendedSame as Function BN, except [GEOCODE=ALL] xor [GEOCODE=YES], MODE=X, WORKAREA=COW
D/td> - BRONX and BROOKLYN and MANHATTAN and QUEENS and STATEN, COMPACT, CROSSBORO1, CROSSBORO2, GEOCODE, HNI xor HNS, HOUSENUM or HOUSENUM2 or [BORO and STRTCODE] or [BORO and STRTCODE and CRSCOD1] or [BORO and STRTCODE and CRSCOD1 and CRSCOD2], MAXREJECTS, RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
DG/td> - COMPACT, GEOCODE, HNI xor HNS, HOUSENUM or HOUSENUM2 or B7SC1 or [B7SC1 and B7SC2] or [B7SC1 and B7SC2 and B7SC3], MAXREJECTS, RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
DN/td> - COMPACT, GEOCODE, HNI xor HNS, HOUSENUM or HOUSENUM2 or B10SC1 or [B10SC1 and B10SC2] or [B10SC1 and B10SC2 and B10SC3], MAXREJECTS, RECTYPE, REJECTWARNINGS, SNL, TITLE, WORKAREA, VSAM
- -

Table A9-4: MSW Appended Items for GEOCODE=NO

-

NOTE: For COW Appended Items for GEOCODE=NO see TABLE 12.2 -This table contains, by function or combination of function and option, a layout of the data that GBAT appends to the input data record to form the OUTFILE record for the MSW format when GEOCODE=NO has been specified.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Function(s)OptionAppended ItemsLength
1, 1A, 1E HND HNHPD Normalized Street Name 10SC12 8 32 10
Total Length:62
1NNormalized Street Name 10SC32 10
Total Length:42
2Normalized Street Name-1 10SC-1 Normalized Street Name-2 10SC-232 10 32 10
Total Length:84
3, 3C, 3SNormalized Street Name-1 10SC-1 Normalized Street Name-2 10SC-2 Normalized Street Name-3 10SC-332 10 32 10 32 10
Total Length:126
BL1ABLVERSION=STANDARDBBL (Standard Format): Borough Code Tax Block Tax Lot1 5 4
Total Length:10
1ABLVERSION=LEGACYNo longer supported
BNBIN Filler73
Total Length:10
D, DG, DN - HOUSENUM2 control entry not codedHND Normalized Street Name-1 Normalized Street Name-2 Normalized Street Name-312 32 32 32
Total Length:108
D, DG,DN (cont.)HOUSENUM2 control entry codedHND-1 Normalized Street Name-1 Normalized Street Name-2 Normalized Street Name-3 HND-212 32 32 32 12
Total Length:120
- -

Table A9-5: MSW Format- Length of GBAT‑Appended Data

-

This table lists, by function and GEOCODE value, the length in bytes of the data that GBAT appends to an input data record that has been accepted by Geosupport to form the corresponding OUTFILE record. The LRECL value that the user must specify in the OUTFILE DD statement in the JCL is computed by adding the length of the appended data as indicated in this table to the LRECL of the input data file.

-

Note: For Functions 1, 1E, 2, 3 and 3C, when GEOCODE=ALL and CROSSSTNAMES=YES, the appended data consist of the concatenation of the GEOCODE=NO data, followed by a 320-byte block of data containing cross street names, followed by the GEOCODE=YES data. For further information about the layout of the appended CROSSSTNAMES data, refer to the Appendix 3 entry for the List of Street Names (see paragraph on List of Cross Street Names).

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
MSW FunctionsOptionsGEOCODE Value
NOYESALL
62
LONGWA2=NO, CROSSSTNAMES=NO200262
1, 1ELONGWA2=YES, CROSSSTNAMES=NO300362
LONGWA2=NO, CROSSSTNAMES=YES582
LONGWA2=YES, CROSSSTNAMES=YES682
1ABLVERSION=STANDARD62
1A1ABLVERSION=STANDARD, LONGWA2=NO9391001
1ABLVERSION=STANDARD,LONGWA2=YES1768317745
1N42InvalidInvalid
2CROSSSTNAMES=NO84200284
CROSSSTNAMES=YES604
126
LONGWA2=NO, CROSSSTNAMES=NO200326
3LONGWA2=YES, CROSSSTNAMES=NO300426
LONGWA2=NO, CROSSSTNAMES=YES646
LONGWA2=YES, CROSSSTNAMES=YES746
3CCROSSSTNAMES=NO126200326
CROSSSTNAMES=YES646
3S12642244350
BL1ABLVERSION=STANDARD10
1ABLVERSION=STANDARD, LONGWA2=NO939949
1ABLVERSION=STANDARD, LONGWA2=YES1768317693
BN10939949
D, DG, DNHOUSENUM2 not coded108InvalidInvalid
HOUSENUM2 coded120InvalidInvalid
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix10/index.html b/site/appendices/appendix10/index.html deleted file mode 100644 index acdad49d..00000000 --- a/site/appendices/appendix10/index.html +++ /dev/null @@ -1,1617 +0,0 @@ - - - - - - - - - - - - Appendix 10: Sample GBAT Jobs - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 10: Sample GBAT Jobs
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 10: SAMPLE GBAT JOBS

- -

This appendix contains printouts of two sample GBAT jobs, referred to as Sample Job 1 and Sample Job 2. Sample Job 1 executes Function 1A. Sample Job 2 executes Function 2.

-

For each sample job, this appendix contains a description of the control file, followed by listings of the job-stream input and the job output. The job-stream input listing contains the JCL, the in-stream control file, the in-stream data input file, and for Sample Job 2 only, the in-stream ALIASES input file. An ALIASES file is not used in Sample Job 1. The job output listing contains the system job-stream output, the GBAT output report of messages and run statistics, and the output file of GBAT rejects.

-

GSS developed and ran the sample jobs on the DoITT/Computer Service Center mainframe. Some variations from the JCL shown herein may be necessary for users running on other computers. In addition, the JCL shown has been modified to remove account-specific references.

-

Please note that the GBAT samples are not guaranteed to run exactly as shown in this appendix. The samples are here as an aid in developing GBAT runs.

-

Note: The GBAT samples are MSW format samples. To run using the COW format, add the GBAT control entry WORKAREA=COW to the in-stream control files and update the LRECL of the OUTFILE DD card appropriately.

-

SAMPLE GBAT JOB #1

-

SAMPLE GBAT JOB 1: DESCRIPTION

- -

The control file for Sample GBAT Job 1 is as follows:

-
  BORO=9,1   RECTYPE=1A    ONSTREET=15,20    1ABLVERSION=S
-   TITLE=THIS IS GBAT CONTROL FILE EXAMPLE 1;
-
-

In this example, the user has chosen to code several control entries in a single control record, followed by a second control record containing a heading for the SYSPRINT output file.  In the first control record, the order in which the control entries are coded, their precise positioning within the control record and the amount of spacing between them are immaterial.

-

The control file in this example contains the following control entries. (See Table A9-1 for Control Entry Descriptions)

-
    -
  • -

    BORO specifies that the input borough code field is in position 9 of the INFILE records and is one byte long.

    -
  • -
  • -

    RECTYPE specifies Function 1A.

    -
  • -
  • -

    ONSTREET specifies that the input street name field starts in position 15 of the INFILE records and is 20 bytes long.

    -
  • -
  • -

    1ABLVERSION specifies that the standard version of Function 1A is to be executed. This control entry is required with the MSW format. The Legacy version of Function 1A is no longer supported.

    -
  • -
  • -

    TITLE specifies a title for the SYSPRINT output report. Notice that the text of the title is terminated with a semicolon character, as required. (The semicolon does not appear in the actual report.)

    -
  • -
-

The user has chosen not to code the following control entries, the default values for which are therefore in effect: (See Table A9-2 for Control Entry default values.)

-
    -
  • -

    Since the control entry VSAM has not been coded, GBAT will assume that the user input data file is a sequential file. Consequently, GBAT will access the input data file via the DDname INFILE, and the corresponding DD statement in the JCL must be coded accordingly.

    -
      -
    • Since the control entry GEOCODE has not been coded, and Function 1A is being executed, the default value of YES is in effect. This causes GBAT to issue a two‑work‑area call and to append Work Area 2 for Function 1A to the successfully processed INFILE records in forming the OUTFILE records.
    • -
    -
  • -
  • -

    Since the control entry ALIASES has not been coded, the default value of NO is in effect. Therefore, GBAT will not use temporary user-defined aliases when processing input street names; if an ALIASES DD statement has been included in the JCL, it will be ignored.

    -
  • -
  • -

    Since the control entries MANHATTAN, BRONX etc. have not been coded, GBAT will assume that the input borough code field contains the default borough code values, which are the standard Geosupport borough codes (‘1’ for Manhattan, ‘2’ for the Bronx, etc.).

    -
  • -
  • -

    Since HNI (or HNS for COW) has not been coded, GBAT will assume that input house numbers are not necessarily normalized and are in display format rather than in the HNI (or HNS for COW) format.

    -
  • -
  • -

    Since HOUSENUM has not been coded, GBAT will assume that the input street name field specified by ONSTREET contains a free‑form address (a house number followed by a street name). Note that since in this GBAT run input addresses are free-form, partial street names (see Chapter III.4) will be rejected.

    -
  • -
  • -

    Since COMPACT has not been coded, GBAT will return normalized street names in a format suitable for sorting, rather than in the compact format.

    -
  • -
  • -

    Since REJECTWARNINGS has not been coded, the default value of NO is in effect, so warnings will be treated as successfully processed records: they will be written to OUTFILE, they will be counted as successfully processed records in the SYSPRINT report, and they will not be counted as rejects towards the MAXREJECTS termination limit.

    -
  • -
  • -

    Since MAXREJECTS has not been coded, the default value of ‘200’ is in effect, so that GBAT will terminate with an MVS Return Code of ‘20’ if the first 200 INFILE records all result in rejects for any reason other than an invalid borough code.

    -
  • -
  • -

    Since the SNL control entry has not been coded, GBAT will assume the default value of SNL=32 when normalizing street names.

    -
  • -
  • -

    Since LONGWA2=YES has not been coded, GBAT will return the regular WA2 for Function 1A.

    -
  • -
  • -

    Since the WORKAREA control entry has not been coded, GBAT will assume the default value of MSW (Mainframe Specific Work Area).

    -
  • -
-

SAMPLE GBAT JOB 1: JOB-STREAM INPUT

- -
        //EXAMPLE1 JOB YOUR-JOB-CARD-INFORMATION
-        //*
-        //*
-        //*******************************************************************
-        //************     THIS JOB IS GBAT MSW EXAMPLE 1     ***************
-        //*******************************************************************
-        //*********   THIS STEP INVOKES THE STANDARD CATALOGUED      ********
-        //*********   PROCEDURE FOR GBAT EXECUTION, CALLED GBAT2     ********
-        //*******************************************************************
-        //S1 EXEC GBAT2
-        //*******************************************************************
-        //*********   CARDIN IS THE USER-PROVIDED CONTROL FILE       ********
-        //*******************************************************************
-        //CARDIN DD *
-        BORO=9,1  RECTYPE=1A ONSTREET=15,20 1ABLVERSION=S
-        TITLE=THIS IS GBAT CONTROL FILE MSW EXAMPLE 1;
-        /*
-        //*******************************************************************
-        //*********   INFILE IS THE USER-PROVIDED INPUT DATA.          ******
-        //*********   IN THIS EXAMPLE, IT IS PROVIDED AS INSTREAM DATA.******
-        //*******************************************************************
-        //INFILE DD *
-              1     100 GARAGE CENTRE ST
-              1     22  READE ST
-              1     36  READE ST
-              1     60  READE             ** PARTIAL STREET NAMES NOT ALLOWED
-              1     12  ELK               ** IN FREE-FORM ADDRESSES
-              1     12  ELK ST
-              1     310   BWY
-              1     99 W 3 ST
-              2     709 E 165 ST
-              2     187C  EDGEWATER PK
-              4     229-16 87 AVE
-              2     1475  LONGFELLOW AV
-              1     2053 ADAM POWELL BL
-              1     310   1 AVE
-              /*
-        //*******************************************************************
-        //*********   OUTFILE IS THE UT FILE OF SUCCESSFULLY     ********
-        //*********   PROCESSED INFILE RECORDS.                      ********
-        //*******************************************************************
-        //OUTFILE DD DSN=&&OUT1A,DISP=(NEW,PASS),
-        //        UNIT=SYSDA,SPACE=(TRK,(80,20),RLSE),
-        //        DCB=(RECFM=FB,LRECL=1019)
-        //*******************************************************************
-        //*** ERRFILE IS THE OUTPUT FILE OF REJECTED INFILE RECORDS.      ***
-        //*********   INFILE RECORDS.                                ********
-        //ERRFILE DD SYSOUT=A,DCB=(RECFM=FB,LRECL=84)
-        //*******************************************************************
-        //*** AS OF GEOSUPPORT VERSION 10.0, DD STATEMENTS FOR GEOSUPPORT ***
-        //*** DATA FILES (E.G. GRID, PAD, ETC) ARE NO LONGER NEEDED       ***
-        //*** AND ARE IGNORED.  GEOSUPPORT IS TAILORED TO USE STANDARD    ***
-        //*** GEOSUPPORT DATA SET NAMES.                                  ***
-        //*** TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.     ***
-        //*******************************************************************
-        //
-
-

SAMPLE GBAT JOB 1: OUTPUT

- -
        J E S 2  J O B  L O G  --  S Y S T E M  M V S P  --  N O D E  C S C B A T C H
-        10.29.19 JOB17476 ---- FRIDAY,    DD MMMM YYYY ----
-        10.29.19 JOB17476  IRR010I  USERID YOURUID  IS ASSIGNED TO THIS JOB.
-        10.29.19 JOB17476  ICH70001I YOURUID  LAST ACCESS AT 10:27:49 ON FRIDAY, MMMM DD, YYYY
-        10.29.19 JOB17476  $HASP373 EXAMPLE1 STARTED - INIT 84   - CLASS X - SYS MVSP
-        10.29.19 JOB17476  IEF403I EXAMPLE1 - STARTED - TIME=10.29.19
-        10.29.19 JOB17476  +GBI SUCCESSFULLY LOADED GBIDRV
-        10.29.20 JOB17476  +GBIDRV (VERSION VV.V) INVOKED
-        10.29.20 JOB17476  +GEO (VERSION VV.V) INVOKED
-        10.29.20 JOB17476  +snd NNN  OPENED SUCCESSFULLY
-        10.29.20 JOB17476  +PAD NNN  'B030.GEO.COW.BLDGS.CITY' OPENED SUCCESSFULLY
-        10.29.20 JOB17476  -                                                --TIMINGS (MINS.)--            ----PAGING COUNTS---
-        10.29.20 JOB17476  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  PG  PAGE  SWAP   VIO
-        10.29.20 JOB17476  -EXAMPLE1 S1       GBAT2       00    787    142    .00    .00     .0   1198   0     0     0     0     
-        10.29.20 JOB17476  IEF404I EXAMPLE1 - ENDED - TIME=10.29.20
-        10.29.20 JOB17476  -EXAMPLE1 ENDED.  NAME-YOURUID              TOTAL TCB CPU TIME=   .00  TOTAL ELAPSED TIME=    .0
-        10.29.20 JOB17476  $HASP395 EXAMPLE1 ENDED
-
-        ------ JES2 JOB STATISTICS ------
-
-        DD MMMM YYYY JOB EXECUTION DATE
-
-               60 CARDS READ
-
-              208 SYSOUT PRINT RECORDS
-
-                0 SYSOUT PUNCH RECORDS
-
-               15 SYSOUT SPOOL KBYTES
-
-
-             0.01 MINUTES EXECUTION TIME
-    
-             1 //EXAMPLE1 JOB YOUR-JOB-CARD-INFORMATION
-               //*
-               //*
-               //*******************************************************************
-               //************     THIS JOB IS GBAT MSW EXAMPLE 1     ***************
-               //*******************************************************************
-               //*******************************************************************
-               //*********   THIS STEP INVOKES THE STANDARD CATALOGUED      ********
-               //*********   PROCEDURE FOR GBAT EXECUTION, CALLED GBAT2     ********
-               //*******************************************************************
-             3 //S1 EXEC GBAT2
-             4 XXGBAT2 PROC                                                            00000100
-               XX**                          /* IN CSC.TEST.PROCLIB * /                 00000200
-               XX**                          /* MODIFIED 06/30/06  BY MEB   * /         00000315
-               XX**                          /* ADDED SUPPORT.PDSE.LOADLIB  * /         00000415
-               XX**                          /* REMOVED DD CARDS            * /         00000515
-               XX**                          /* MODIFIED 05/11/06  BY MEB   * /         00000615
-               XX**                          /* ADDED GRID1R FILE           * /         00000715
-               XX**                          /* MODIFIED 07/25/05  BY MEB   * /         00000815
-               XX**                          /* PEDFILE BECOMES DUMMY FILE  * /         00000915
-               XX**                          /* MODIFIED 03/26/02  BY MEB   * /         00001015
-               XX**                                                                    00001115
-               XX**** WARNING: DO NOT OVERRIDE THE REGION PARAMETER  **************    00001215
-               XX**                                                                    00001315
-             5 XXGBAT2 EXEC PGM=GBATIO2,REGION=9M,PARM='ISASIZE(40K)'                  00001415
-               XX*                                                                     00001516
-               XX****************************************************************/     00001616
-               XX*                                                              * /     00001716
-               XX*   AS OF GEOSUPPORT VERSION 10.0,                             * /     00001816
-               XX*   THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP   * /     00001916
-               XX*   MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:      * /     00002016
-               XX*               A030.GEO.SUPPORT.PDSE.LOADLIB                  * /     00002116
-               XX*               A030.GEO.SUPPORT.LOADLIB                       * /     00002216
-               XX*                                                              * /     00002316
-               XX****************************************************************/     00002416
-               XX*                                                                     00002516
-               XX*                                                                     00002616
-             6 XXSTEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR                 00002716
-             7 XX        DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR                      00002816
-               XX*                                                                     00002916
-               XX*                                                                     00003016
-               XX****************************************************************/     00003116
-               XX*                                                              * /     00003216
-               XX*   AS OF GEOSUPPORT VERSION 10.0,                             * /     00003316
-               XX*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD    * /     00003416
-               XX*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT     * /     00003516
-               XX*   IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.     * /     00003616
-               XX*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.    * /     00003716
-               XX*                                                              * /     00003816
-               XX****************************************************************/     00003916
-               XX*                                                              * /     00004016
-               XX*                                                              * /     00004116
-             8 XXSYSPRINT DD SYSOUT=A,DCB=(LRECL=133,RECFM=FBA,BLKSIZE=1330)           00004216
-               XX** SYSPRINT FILE CONTAINS RUN STATISTICS AND MESSAGES                 00004316
-             9 XXSYSTERM  DD SYSOUT=A,DCB=(LRECL=133,RECFM=FBA,BLKSIZE=1330)           00004416
-               XX** SYSTERM FILE CONTAINS SYSTEM WARNINGS AND ERRORS                   00004516
-            10 //CARDIN DD *
-               X/CARDIN DD DDNAME=CARDIN                                               00004616
-               XX** CARDIN IS THE FILE OF GBAT CONTROL RECORDS                         00004716
-            11 //INFILE DD *
-               X/INFILE DD DDNAME=INFILE                                               00004816
-               XX** INFILE CONTAINS THE USERS DATA INPUT RECORDS                       00004916
-            12 //OUTFILE DD DSN=&&OUT1A,DISP=(NEW,PASS),
-               //        UNIT=SYSDA,SPACE=(TRK,(80,20),RLSE),
-               //        DCB=(RECFM=FB,LRECL=1019)
-               X/OUTFILE DD DDNAME=OUTFILE                                             00005016
-               XX** OUTFILE CONTAINS THE VALID OUTPUT RECORDS                          00005116
-            13 //ERRFILE DD SYSOUT=A,DCB=(RECFM=FB,LRECL=84)
-               X/ERRFILE DD DDNAME=ERRFILE                                             00005216
-               XX** ERRFILE CONTAINS THE REJECTS                                       00005316
-            14 XXALIASES  DD DUMMY                                                     00005416
-               XX** ALIASES IS THE OPTIONAL INPUT FILE OF USER-DEFINED ST NAME ALIASES 00006015
-               //*******************************************************************
-               //*********   CARDIN IS THE USER-PROVIDED CONTROL FILE       ********
-               //*******************************************************************
-               //*******************************************************************
-               //*********   INFILE IS THE USER-PROVIDED INPUT DATA.          ******
-               //*********   IN THIS EXAMPLE, IT IS PROVIDED AS INSTREAM DATA.******
-               //*******************************************************************
-               //*******************************************************************
-               //*********   OUTFILE IS THE OUTPUT FILE OF SUCCESSFULLY     ********
-               //*********   PROCESSED INFILE RECORDS.                      ********
-               //*******************************************************************
-               //*******************************************************************
-               //*********   ERRFILE IS THE OUTPUT FILE OF REJECTED         ********
-               //*********   INFILE RECORDS.                                ********
-               //*******************************************************************
-              //*******************************************************************
-               //*********   AS OF GEOSUPPORT VERSION 10.0,                 ********
-               //*********   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G.  ********
-               //*********   GRID, PAD, TABFILE ETC) ARE NO LONGER NEEDED   ********
-               //*********   AND ARE IGNORED.  GEOSUPPORT IS TAILORED TO    ********
-               //*********   USE STANDARD GEOSUPPORT DATA SET NAMES.        ********
-               //*********   TO USE NON-STANDARD FILES, PLEASE SEE YOUR     ********
-               //*********   SYSTEMS PROGRAMMER.                            ********
-               //*******************************************************************
-               //*******************************************************************
-               STMT NO. MESSAGE
-            3 IEFC001I PROCEDURE GBAT2 WAS EXPANDED USING PRIVATE LIBRARY CSC.TEST.PROCLIB
-            ICH70001I YOURUID  LAST ACCESS AT 10:27:49 ON FRIDAY, MMMM DD, YYYY
-            IEF236I ALLOC. FOR EXAMPLE1 GBAT2 S1
-            IGD103I SMS ALLOCATED TO DDNAME STEPLIB
-            IGD103I SMS ALLOCATED TO DDNAME
-            IEF237I JES2 ALLOCATED TO SYSPRINT
-            IEF237I JES2 ALLOCATED TO SYSTERM
-            IEF237I JES2 ALLOCATED TO CARDIN
-            IEF237I JES2 ALLOCATED TO INFILE
-            IGD101I SMS ALLOCATED TO DDNAME (OUTFILE )
-              DSN (SYS06195.T102919.RA000.EXAMPLE1.OUT1A.H01   )
-              STORCLAS (PRIMARY) MGMTCLAS (        ) DATACLAS (        )
-              VOL SER NOS= SMST01
-            IEF237I JES2 ALLOCATED TO ERRFILE
-            IEF237I DMY  ALLOCATED TO ALIASES
-            GBI SUCCESSFULLY LOADED GBIDRV
-            GBIDRV (VERSION VV.V) INVOKED
-            GEO (VERSION VV.V) INVOKED
-            snd NNN  OPENED SUCCESSFULLY
-            IGD103I SMS ALLOCATED TO DDNAME SYS00001
-            PAD NNN  'B030.GEO.COW.BLDGS.CITY' OPENED SUCCESSFULLY
-            IEF142I EXAMPLE1 GBAT2 S1 - STEP WAS EXECUTED - COND CODE 0000
-            IGD104I A030.GEO.SUPPORT.PDSE.LOADLIB                RETAINED,  DDNAME=STEPLIB
-            IGD104I A030.GEO.SUPPORT.LOADLIB                     RETAINED,  DDNAME=
-            IEF285I   YOURUID.EXAMPLE1.JOB17476.D0000103.?         SYSOUT
-            IEF285I   YOURUID.EXAMPLE1.JOB17476.D0000104.?         SYSOUT
-            IEF285I   YOURUID.EXAMPLE1.JOB17476.D0000101.?         SYSIN
-            IEF285I   YOURUID.EXAMPLE1.JOB17476.D0000102.?         SYSIN
-            IEF285I   YOURUID.EXAMPLE1.JOB17476.D0000105.?         SYSOUT
-            IGD104I B030.GEO.COW.BLDGS.CITY                      RETAINED,  DDNAME=SYS00001
-            IEF373I STEP/GBAT2   /START 2006195.1029
-            IEF374I STEP/GBAT2   /STOP  2006195.1029 CPU    0MIN 00.06SEC SRB    0MIN 00.00SEC VIRT   928K SYS   308K EXT    8768K SYS   11284K
-            IEF237I E001 ALLOCATED TO SYS00002
-            IEF285I   SYS06195.T102920.RA000.EXAMPLE1.R0170302     KEPT
-            IEF285I   VOL SER NOS= SMST01.
-            IGD105I SYS06195.T102919.RA000.EXAMPLE1.OUT1A.H01    DELETED,   DDNAME=OUTFILE
-            IEF375I  JOB/EXAMPLE1/START 2006195.1029
-            IEF376I  JOB/EXAMPLE1/STOP  2006195.1029 CPU    0MIN 00.06SEC SRB    0MIN 00.00SEC
-    
-            ************************************************************************
-            *****  NOTE:  THIS IS PART OF THE SYSPRINT OUTPUT
-            ************************************************************************
-            0USER CONTROL CARDS:
-
-            BORO=9,1  RECTYPE=1A ONSTREET=15,20 1ABLVERSION=S
-            TITLE=THIS IS GBAT CONTROL FILE MSW EXAMPLE 1;
-
-            WARNING: CONTROL ENTRIES FOR BOROUGH CODES ARE MISSING - ASSUMED VALUES FOLLOW.
-            WARNING: GEOCODE IS MISSING. A DEFAULT VALUE OF YES IS IN EFFECT.
-            WARNING: HNI IS MISSING OR UNDEFINED. A DEFAULT VALUE OF NO  IS IN EFFECT.
-            WARNING: SNL IS MISSING. A DEFAULT VALUE OF 32 IS IN EFFECT.
-            WARNING: MAXREJECTS IS MISSING. A DEFAULT VALUE OF 200 IS IN EFFECT.
-            WARNING: REJECTWARNINGS IS MISSING. A DEFAULT VALUE OF NO IS IN EFFECT.
-            WARNING: ALIASES IS MISSING. A DEFAULT VALUE OF NO IS IN EFFECT.
-
-            PARAMETERS BEING USED:
-            BOROUGH STARTS IN               9               FOR A LENGTH OF                 1
-            STREET 1 STARTS IN             15               FOR A LENGTH OF                20
-            NORMALIZED STREET LENGTH:                              32
-            THE VALUE OF 1ABLVERSION IS:                    S
-            RECORD TYPE SPECIFIED: FUNCTION 1A
-            THE VALUE OF GEOCODE IS:                        YES
-            THE VALUE OF ALIASES IS:                        NO
-            THE VALUE OF HNI IS:    NO
-            BOROUGH CODE FOR MANHATTAN IS:                  1
-            BOROUGH CODE FOR THE BRONX IS:                  2
-            BOROUGH CODE FOR BROOKLYN IS:                   3
-            BOROUGH CODE FOR QUEENS IS:                     4
-            BOROUGH CODE FOR STATEN ISLAND IS:              5
-    
-            ************************************************************************
-            *****  NOTE:  THIS IS PART OF THE SYSPRINT OUTPUT
-            ************************************************************************
-
-            ***********************    STATISTICS  *********************************
-
-            THIS IS GBAT CONTROL FILE MSW EXAMPLE 1                                                                         MM/DD/YY
-
-                                                GEOSUPPORT BATCH ADDRESS TRANSLATOR
-
-                                       MANHATTAN          BRONX       BROOKLYN         QUEENS     STATEN IS.           TOTAL
-
-            INPUT RECORDS               10                  3              0              1            0               14(* )
-
-            ACCEPTED RECORDS            8                   2              0              1            0               11
-
-            REJECTED RECORDS:
-
-            28 - A PARTIAL STREET NAME MAY NOT BE USED IN A
-            FREE-FORM ADDRESS:          2                   0              0              0            0                 2
-
-            42 - ADDRESS NUMBER OUT OF RANGE         
-                                        0                   1              0              0            0                 1
-
-            TOTAL REJECTED RECORDS EXCEPT CODES 17 AND 99:
-                                        2                   1              0              0            0                 3
-
-            17+99 - BLANK AND INVALID BOROUGH CODES                                                                      0
-
-            TOTAL REJECTED RECORDS                                                                                       3
-
-            (* ) NOTE  - THIS TOTAL INCLUDES RECORDS WITH INVALID BOROUGH CODES
-    
-            ***********************************************************************************************************
-            *****  NOTE:  THIS IS A PRINTOUT OF ERRFILE.  THE FIRST FOUR BYTES CONSIST OF THE TWO-BYTE GEOSUPPORT RETURN CODE (GRC)
-            *****      FOLLOWED BY A DASH ('-'), FOLLOWED BY A ONE-BYTE REASON CODE, IF ANY.  IN THIS EXAMPLE, THERE ARE 3 REJECTED
-            *****      RECORDS. TWO HAVE A GRC VALUE OF '28' AND NO REASON CODE VALUE. THE THIRD REJECT HAS A GRC VALUE OF '42' AND
-            *****      NO REASON CODE VALUE. REFER TO THE GBAT STATISTICS REPORT OR TO [APPENDIX 4](/appendices/appendix04) FOR THE MESSAGES CORRESPONDING TO
-            *****      THE OCCURRING GRC'S.  AFTER THE FIRST FOUR BYTES, THE REST OF THE ERRFILE RECORD CONSISTS OF A COPY OF THE
-            *****      REJECTED INFILE RECORD.
-            ***********************************************************************************************************
-
-            28-         1     60  READE             ** PARTIAL STREET NAMES NOT ALLOWED
-            28-         1     12  ELK               ** IN FREE-FORM ADDRESSES
-            42-         2     709 E 165 ST
-
-

SAMPLE GBAT JOB #2

-

SAMPLE GBAT JOB 2: DESCRIPTION

-

The control file for Sample GBAT Job 2 is as follows:

-

ALIASES=YES
- TITLE=THIS IS GBAT CONTROL FILE EXAMPLE 2;
- RECTYPE=2
- BORO=5,2
- MANHATTAN=MN
- BRONX=BX
- BROOKLYN=BK
- QUEENS=QN
- STATEN=SI
- ONSTREET=8,25
- CROSS1=33,25
- GEOCODE=ALL
- COMPASS=65,1
- COMPACT=YES
- REJECTWARNINGS=YES
- MAXREJECTS=75

-

In this example, the user has chosen to code each control entry in a separate control record.  The user has chosen to align the control entries vertically for aesthetic reasons, although the positioning of each control entry within its control record and the order in which the control entries is codes are immaterial.

-

The control file in this example contains the following control entries. (See Table A9-1 for Control Entry Descriptions.)

-
    -
  • -

    Since ALIASES=YES has been coded, the user must provide an ALIASES file in the required format (described in Chapter XI .6), and must provide a DD statement in the JCL referring to that file. GBAT will validate the user’s ALIASES file, and will then use the valid street name aliases it contains when processing INFILE. Any invalid aliases will be ignored when processing INFILE, but will be reported in SYSPRINT.

    -
  • -
  • -

    The TITLE control entry specifies a title for the SYSPRINT output report. Notice that the text of the title is terminated with a semicolon character, as required. (The semicolon does not appear in the actual report.)

    -
  • -
  • -

    The control entry RECTYPE specifies Function 2.

    -
  • -
  • -

    The control entry BORO specifies that the input borough code field is in position 5 of the INFILE records and is two bytes long. The input borough code values in this example are not the standard Geosupport borough codes, but are specified as user-defined two-character alphabetic borough codes, ‘MN’, ‘BX’, etc., as shown.

    -
  • -
  • -

    Function 2 requires two input street fields, which in this example are in the form of street names rather than street codes. These fields are specified using the control entries ONSTREET and CROSS1, which state that these fields begin in positions 8 and 33 of the INFILE records, and that each field is 25 bytes long.

    -
  • -
  • -

    GEOCODE=ALL has been specified, so GBAT will issue a two‑work‑area call to Function 2 and will form the OUTFILE records by appending the normalized street names and street codes, as well as Work Area 2, to the successfully processed INFILE records.

    -
  • -
  • -

    The control entry COMPASS specifies an INFILE field for an input compass direction. (Function 2 requires an input compass direction for intersections that are specified in terms of a pair of streets that intersect twice (see Chapter VII.2). If INFILE contains no such intersections, the control entry COMPASS is not required.)

    -
  • -
  • -

    COMPACT=YES has been specified, directing GBAT to return all normalized street names in the compact format, which is suitable for display but not for use in sorting.

    -
  • -
  • -

    REJECTWARNINGS=YES directs GBAT to treat warnings as rejects: they will be written to ERRFILE instead of OUTFILE, they will be counted as errors in the SYSPRINT report, and they will count towards the MAXREJECTS termination limit.

    -
  • -
  • -

    Since MAXREJECTS=75 has been coded, GBAT will terminate with an MVS Return Code of ‘20’ if the first 75 INFILE records all result in rejects or warnings for any reason other than an invalid borough code.

    -
  • -
-

The user has chosen not to code the following control entries, the default values for which are therefore in effect: (See Table A9-2 for Control Entry default values.)

-
    -
  • -

    Since the control entry VSAM has not been coded, GBAT will assume that the user input data file is a sequential file. Consequently, GBAT will access the input data file via the DDname INFILE, and the corresponding DD statement in the JCL must be coded accordingly.

    -
  • -
  • -

    Since the SNL control entry has not been coded, GBAT will assume the default value of SNL=32 when normalizing street names.

    -
  • -
  • -

    Since the WORKAREA control entry has not been coded, GBAT will assume the default value of MSW (Mainframe Specific Work Area).

    -
  • -
-

SAMPLE GBAT JOB 2: JOB-STREAM INPUT

- -
//EXAMPLE2 JOB YOUR-JOB-CARD-INFORMATION
-//*
-//*
-//*******************************************************************
-//************     THIS JOB IS GBAT MSW EXAMPLE 2     ***************
-//*******************************************************************
-//*******************************************************************
-//*********   THIS STEP INVOKES THE STANDARD CATALOGUED     *********
-//*********   PROCEDURE FOR GBAT EXECUTION, CALLED GBAT2    *********
-//*******************************************************************
-//S1 EXEC GBAT2
-//*******************************************************************
-//*********   CARDIN IS THE USER-PROVIDED CONTROL FILE       ********
-//*******************************************************************
-//CARDIN DD *
-ALIASES=YES
-TITLE=THIS IS GBAT CONTROL FILE MSW EXAMPLE 2;
-BORO=5,2
-RECTYPE=2
-MANHATTAN=MN
-BRONX=BX
-BROOKLYN=BK
-QUEENS=QN
-STATEN=SI
-ONSTREET=8,25
-CROSS1=33,25
-GEOCODE=ALL
-COMPASS=65,1
-COMPACT=YES
-REJECTWARNINGS=YES
-MAXREJECTS=75
-/*
-//*******************************************************************
-//*********   INFILE IS THE USER-PROVIDED INPUT DATA.          ******
-//*********   IN THIS EXAMPLE, IT IS PROVIDED AS INSTREAM DATA.******
-//*******************************************************************
-//INFILE DD *
-  MN READE ST                 BROADWAY
-  MN REED ST                  BROADWAY
-  MN CANAL ST                 ALLEN ST                        E
-  MN CANEL ST                 ALLEN ST                        E
-  MN CANAL ST                 ALEN ST                         E
-  MN CANEL ST                 ALEN ST                         S
-  BK ASSEMBLY RD              GEE AV
-  BK ASEMBLY RD               GEE AV
-  BK ASSEMBLY RD              GE AV
-  BK ASEMBLY RD               GE AV
-  MN MAIN ST                  RIVER RD                        S
-  MN MAN ST                   RIVER RD                        S
-  MN MAIN ST                  RIVE RD                         S
-  MN MAN ST                   RIVE RD
-  SI HAVEN ESPLN              SILVER LAKE RD
-  SI HAVEN ESPLN              SILVER LAKE RD                  N
-  QN 116 ST                   CURZON RD                       S
-  BX MARINE ST                CITY ISLAND AV                  N
-  BX MARINE ST                CITY ISLAND AV
-  BX PAULDING AV              SACKET AV                       N
-  BK FLATBUSH AV              BEVERLEY RD                     S
-  QN QUEENS BL                64 ST                           S
-  QN ALDERTON ST              CROMWELL CR                     E
-  QN BURDEN CR                84 DR                           N
-  BX SHERIF S BYRD PL         JESUP AV
-  BX FR MARTIN DOLAN PL       GLEBE AV
-/*
-//*******************************************************************
-//*********   OUTFILE IS THE OUTPUT FILE OF SUCCESSFULLY     ********
-//*********   PROCESSED INFILE RECORDS.                      ********
-//*******************************************************************
-//OUTFILE DD DSN=&&OUT,DISP=(NEW,PASS),UNIT=SYSDA,
-//        SPACE=(TRK,(80,20),RLSE),
-//        DCB=(RECFM=FM,LRECL=364)
-//*******************************************************************
-//*********   ERRFILE IS THE OUTPUT FILE OF REJECTED         ********
-//*********   INFILE RECORDS.                                ********
-//*******************************************************************
-//ERRFILE DD SYSOUT=A,DCB=(RECFM=FB,LRECL=84)
-//*******************************************************************
-//*********   ALIASES IS THE OPTIONAL FILE OF USER-PROVIDED  ********
-//*********   TEMPORARY STREET NAME ALIASES.                 ********
-//*******************************************************************
-//ALIASES DD *
-  1REED ST                         READE ST
-  1E ST                            ELK ST
-  1CANEL ST                        CANAL ST
-  1ALEN ST                         ALLEN ST
-  3ASEMBLY RD                      ASSEMBLY RD
-  3GE AV                           GEE AV
-  1MAN ST                          MAIN ST
-  1DUANE ST                        DUANE ST
-  1RIVE RD                         RIVER RD
-  1RIV RD                          RIVAR RD
-  1FASHION AVE                     7 AVE
-/*
-//*******************************************************************
-//*********   AS OF GEOSUPPORT VERSION 10.0,                 ********
-//*********   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G.  ********
-//*********   GRID, PAD, TABFILE ETC) ARE NO LONGER NEEDED   ********
-//*********   AND ARE IGNORED.  GEOSUPPORT IS TAILORED TO    ********
-//*********   USE STANDARD GEOSUPPORT DATA SET NAMES.        ********
-//*********   TO USE NON-STANDARD FILES, PLEASE SEE YOUR     ********
-//*********   SYSTEMS PROGRAMMER.                            ********
-//*******************************************************************
-//
-
-

SAMPLE GBAT JOB 2: OUTPUT

- -
J E S 2  J O B  L O G  --  S Y S T E M  M V S P  --  N O D E  C S C B A T C H       0
-10.31.18 JOB17538 ---- FRIDAY,    DD MMMM YYYY ----
-10.31.18 JOB17538  IRR010I  USERID YOURUID  IS ASSIGNED TO THIS JOB.
-10.31.18 JOB17538  ICH70001I YOURUID  LAST ACCESS AT 10:30:31 ON FRIDAY, MMMM DD, YYYY
-10.31.18 JOB17538  $HASP373 EXAMPLE2 STARTED - INIT 84   - CLASS X - SYS MVSP
-10.31.18 JOB17538  IEF403I EXAMPLE2 - STARTED - TIME=10.31.18
-10.31.18 JOB17538  +GBI SUCCESSFULLY LOADED GBIDRV
-10.31.18 JOB17538  +GBIDRV (VERSION VV.V) INVOKED
-10.31.18 JOB17538  +GEO (VERSION VV.V) INVOKED
-10.31.18 JOB17538  +snd NNN  OPENED SUCCESSFULLY
-10.31.19 JOB17538  +GRID2 NNN  'B030.GEO.COW.GRID2' OPENED SUCCESSFULLY
-10.31.19 JOB17538  -                                                --TIMINGS (MINS.)--            ----PAGING COUNTS---
-10.31.19 JOB17538  -JOBNAME  STEPNAME PROCSTEP    RC   EXCP   CONN    TCB    SRB  CLOCK   SERV  PG  PAGE  SWAP   VIO SWAPS
-10.31.19 JOB17538  -EXAMPLE2 S1       GBAT2       00   1142    180    .00    .00     .0   1264   0     0     0     0     0
-10.31.19 JOB17538  IEF404I EXAMPLE2 - ENDED - TIME=10.31.19
-10.31.19 JOB17538  -EXAMPLE2 ENDED.  NAME-YOURUID              TOTAL TCB CPU TIME=   .00  TOTAL ELAPSED TIME=    .0
-10.31.19 JOB17538  $HASP395 EXAMPLE2 ENDED
-0------ JES2 JOB STATISTICS ------
--  DD MMMM YYYY JOB EXECUTION DATE
--          102 CARDS READ
--          242 SYSOUT PRINT RECORDS
--            0 SYSOUT PUNCH RECORDS
--           17 SYSOUT SPOOL KBYTES
--         0.01 MINUTES EXECUTION TIME
-     1 //EXAMPLE2 JOB YOUR-JOB-CARD-INFORMATION
-       //*
-       //*
-       //*******************************************************************
-       //************     THIS JOB IS MSW GBAT EXAMPLE 2     ***************
-       //*******************************************************************
-       //*******************************************************************
-       //*********   THIS STEP INVOKES THE STANDARD CATALOGUED     *********
-       //*********   PROCEDURE FOR GBAT EXECUTION, CALLED GBAT2    *********
-       //*******************************************************************
-     3 //S1 EXEC GBAT2
-     4 XXGBAT2 PROC                                                            00000100
-       XX**                          /* IN CSC.TEST.PROCLIB * /                 00000200
-       XX**                          /* MODIFIED 06/30/06  BY MEB   * /         00000315
-       XX**                          /* ADDED SUPPORT.PDSE.LOADLIB  * /         00000415
-       XX**                          /* REMOVED DD CARDS            * /         00000515
-       XX**                          /* MODIFIED 05/11/06  BY MEB   * /         00000615
-       XX**                          /* ADDED GRID1R FILE           * /         00000715
-       XX**                          /* MODIFIED 07/25/05  BY MEB   * /         00000815
-       XX**                          /* PEDFILE BECOMES DUMMY FILE  * /         00000915
-       XX**                          /* MODIFIED 03/26/02  BY MEB   * /         00001015
-       XX**                                                                    00001115
-       XX**** WARNING: DO NOT OVERRIDE THE REGION PARAMETER  **************    00001215
-       XX**                                                                    00001315
-     5 XXGBAT2 EXEC PGM=GBATIO2,REGION=9M,PARM='ISASIZE(40K)'                  00001415
-       XX*                                                                     00001516
-       XX****************************************************************/     00001616
-       XX*                                                              * /     00001716
-       XX*   AS OF GEOSUPPORT VERSION 10.0,                             * /     00001816
-       XX*   THE STEPLIB (OR JOBLIB) OF THE GEOSUPPORT EXECUTION STEP   * /     00001916
-       XX*   MUST INCLUDE THE FOLLOWING TWO CONCATENATED DATASETS:      * /     00002016
-       XX*               A030.GEO.SUPPORT.PDSE.LOADLIB                  * /     00002116
-       XX*               A030.GEO.SUPPORT.LOADLIB                       * /     00002216
-       XX*                                                              * /     00002316
-       XX****************************************************************/     00002416
-       XX*                                                                     00002516
-       XX*                                                                     00002616
-     6 XXSTEPLIB DD DSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR                 00002716
-     7 XX        DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR                      00002816
-       XX*                                                                     00002916
-       XX*                                                                     00003016
-       XX****************************************************************/     00003116
-       XX*                                                              * /     00003216
-       XX*   AS OF GEOSUPPORT VERSION 10.0,                             * /     00003316
-       XX*   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G. GRID, PAD    * /     00003416
-       XX*   ETC) ARE NO LONGER NEEDED AND ARE IGNORED.  GEOSUPPORT     * /     00003516
-       XX*   IS TAILORED TO USE STANDARD GEOSUPPORT DATA SET NAMES.     * /     00003616
-       XX*   TO USE NON-STANDARD FILES, SEE YOUR SYSTEMS PROGRAMMER.    * /     00003716
-       XX*                                                              * /     00003816
-       XX****************************************************************/     00003916
-       XX*                                                              * /     00004016
-       XX*                                                              * /     00004116
-     8 XXSYSPRINT DD SYSOUT=A,DCB=(LRECL=133,RECFM=FBA,BLKSIZE=1330)           00004216
-       XX** SYSPRINT FILE CONTAINS RUN STATISTICS AND MESSAGES                 00004316
-     9 XXSYSTERM  DD SYSOUT=A,DCB=(LRECL=133,RECFM=FBA,BLKSIZE=1330)           00004416
-       XX** SYSTERM FILE CONTAINS SYSTEM WARNINGS AND ERRORS                   00004516
-    10 //CARDIN DD *
-       X/CARDIN DD DDNAME=CARDIN                                               00004616
-       XX** CARDIN IS THE FILE OF GBAT CONTROL RECORDS                         00004716
-    11 //INFILE DD *
-       X/INFILE DD DDNAME=INFILE                                               00004816
-       XX** INFILE CONTAINS THE USERS DATA INPUT RECORDS                       00004916
-    12 //OUTFILE DD DSN=&&OUT,DISP=(NEW,PASS),UNIT=SYSDA,
-       //        SPACE=(TRK,(80,20),RLSE),
-       //        DCB=(RECFM=FM,LRECL=364)
-       X/OUTFILE DD DDNAME=OUTFILE                                             00005016
-       XX** OUTFILE CONTAINS THE VALID OUTPUT RECORDS                          00005116
-    13 //ERRFILE DD SYSOUT=A,DCB=(RECFM=FB,LRECL=84)
-       X/ERRFILE DD DDNAME=ERRFILE                                             00005216
-       XX** ERRFILE CONTAINS THE REJECTS                                       00005316
-    14 //ALIASES DD *
-       X/ALIASES  DD DUMMY                                                     00005416
-       XX** ALIASES IS THE OPTIONAL INPUT FILE OF USER-DEFINED ST NAME ALIASES 00006015
-       //*******************************************************************
-       //*********   CARDIN IS THE USER-PROVIDED CONTROL FILE       ********
-       //*******************************************************************
-       //*******************************************************************
-       //*********   INFILE IS THE USER-PROVIDED INPUT DATA.          ******
-       //*********   IN THIS EXAMPLE, IT IS PROVIDED AS INSTREAM DATA.******
-       //*******************************************************************
-       //*******************************************************************
-       //*********   OUTFILE IS THE OUTPUT FILE OF SUCCESSFULLY     ********
-       //*********   PROCESSED INFILE RECORDS.                      ********
-       //*******************************************************************
-       //*******************************************************************
-       //*********   ERRFILE IS THE OUTPUT FILE OF REJECTED         ********
-       //*********   INFILE RECORDS.                                ********
-       //*******************************************************************
-       //*******************************************************************
-       //*********   ALIASES IS THE OPTIONAL FILE OF USER-PROVIDED  ********
-       //*********   TEMPORARY STREET NAME ALIASES.                 ********
-       //*******************************************************************
-       //*******************************************************************
-       //*********   AS OF GEOSUPPORT VERSION 10.0,                 ********
-       //*********   DD STATEMENTS FOR GEOSUPPORT DATA FILES (E.G.  ********
-       //*********   GRID, PAD, TABFILE ETC) ARE NO LONGER NEEDED   ********
-       //*********   AND ARE IGNORED.  GEOSUPPORT IS TAILORED TO    ********
-       //*********   USE STANDARD GEOSUPPORT DATA SET NAMES.        ********
-       //*********   TO USE NON-STANDARD FILES, PLEASE SEE YOUR     ********
-       //*********   SYSTEMS PROGRAMMER.                            ********
-       //*******************************************************************
-
- STMT NO. MESSAGE
-     3 IEFC001I PROCEDURE GBAT2 WAS EXPANDED USING PRIVATE LIBRARY CSC.TEST.PROCLIB
-ICH70001I YOURUID  LAST ACCESS AT 10:30:31 ON FRIDAY, MMMM DD, YYYY
-IEF236I ALLOC. FOR EXAMPLE2 GBAT2 S1
-IGD103I SMS ALLOCATED TO DDNAME STEPLIB
-IGD103I SMS ALLOCATED TO DDNAME
-IEF237I JES2 ALLOCATED TO SYSPRINT
-IEF237I JES2 ALLOCATED TO SYSTERM
-IEF237I JES2 ALLOCATED TO CARDIN
-IEF237I JES2 ALLOCATED TO INFILE
-IGD101I SMS ALLOCATED TO DDNAME (OUTFILE )
-     DSN (SYS06195.T103118.RA000.EXAMPLE2.OUT.H01     )
-     STORCLAS (PRIMARY) MGMTCLAS (        ) DATACLAS (        )
-     VOL SER NOS= SMST07
-IEF237I JES2 ALLOCATED TO ERRFILE
-IEF237I JES2 ALLOCATED TO ALIASES
-GBI SUCCESSFULLY LOADED GBIDRV
-GBIDRV (VERSION VV.V) INVOKED
-GEO (VERSION VV.V) INVOKED
-snd NNN  OPENED SUCCESSFULLY
-IGD103I SMS ALLOCATED TO DDNAME SYS00001
-GRID2 NNN  'B030.GEO.COW.GRID2' OPENED SUCCESSFULLY
-IEF142I EXAMPLE2 GBAT2 S1 - STEP WAS EXECUTED - COND CODE 0000
-IGD104I A030.GEO.SUPPORT.PDSE.LOADLIB                RETAINED,  DDNAME=STEPLIB
-IGD104I A030.GEO.SUPPORT.LOADLIB                     RETAINED,  DDNAME=
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000104.?         SYSOUT
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000105.?         SYSOUT
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000101.?         SYSIN
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000102.?         SYSIN
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000106.?         SYSOUT
-IEF285I   YOURUID.EXAMPLE2.JOB17538.D0000103.?         SYSIN
-IGD104I B030.GEO.COW.GRID2                           RETAINED,  DDNAME=SYS00001
-IEF373I STEP/GBAT2   /START 2006195.1031
-IEF374I STEP/GBAT2   /STOP  2006195.1031 CPU    0MIN 00.06SEC SRB    0MIN 00.00SEC VIRT  1020K SYS   300K EXT    8748K SYS   11384K
-IEF237I E901 ALLOCATED TO SYS00002
-IEF285I   SYS06195.T103119.RA000.EXAMPLE2.R0170325     KEPT
-IEF285I   VOL SER NOS= SMST07.
-IGD105I SYS06195.T103118.RA000.EXAMPLE2.OUT.H01      DELETED,   DDNAME=OUTFILE
-IEF375I  JOB/EXAMPLE2/START 2006195.1031
-IEF376I  JOB/EXAMPLE2/STOP  2006195.1031 CPU    0MIN 00.06SEC SRB    0MIN 00.00SEC  
-********************************************************************************************************************************
-***** NOTE:  THIS IS PART OF THE SYSPRINT OUTPUT
-********************************************************************************************************************************
-0USER CONTROL CARDS:
-
-  ALIASES=YES
-  TITLE=THIS IS GBAT CONTROL FILE MSW EXAMPLE 2;
-  BORO=5,2
-  RECTYPE=2
-  MANHATTAN=MN
-  BRONX=BX
-  BROOKLYN=BK
-  QUEENS=QN
-  STATEN=SI
-  ONSTREET=8,25
-  CROSS1=33,25
-  GEOCODE=ALL
-  COMPASS=65,1
-  COMPACT=YES
-  REJECTWARNINGS=YES
-  MAXREJECTS=75
-
-WARNING: SNL IS MISSING. A DEFAULT VALUE OF 32 IS IN EFFECT.
-
-PARAMETERS BEING USED:
-BOROUGH STARTS IN               5               FOR A LENGTH OF                 2
-STREET 1 STARTS IN              8               FOR A LENGTH OF                25
-STREET 2 STARTS IN             33               FOR A LENGTH OF                25
-NORMALIZED STREET LENGTH:                              32
-COMPASS STARTS IN              65               FOR A LENGTH OF                 1
-COMPACT OPTION   WAS SPECIFIED
-RECORD TYPE SPECIFIED: FUNCTION 2
-THE VALUE OF GEOCODE IS:                        ALL
-WARNINGS ARE TREATED AS REJECTS
-MAXIMUM NUMBER OF REJECTS ALLOWED IS                        75
-THE VALUE OF ALIASES IS:                        YES
-BOROUGH CODE FOR MANHATTAN IS:                  MN
-BOROUGH CODE FOR THE BRONX IS:                  BX
-BOROUGH CODE FOR BROOKLYN IS:                   BK
-BOROUGH CODE FOR QUEENS IS:                     QN
-BOROUGH CODE FOR STATEN ISLAND IS:              SI
-ERROR: ALIASES INPUT RECORD NUMBER 0008 HAS BEEN REJECTED.
-ALIAS STREET NAME AND STREET NAME RECOGNIZED BY GEOSUPPORT ARE INDENTICAL - DUANE ST                        .
-
-ERROR: ALIASES INPUT RECORD NUMBER 0010 HAS BEEN REJECTED:
-RETURN CODE = EE FOR STNAME RIVAR RD                        .
-ERROR: ALIASES INPUT RECORD NUMBER 0011 HAS BEEN REJECTED.
-FASHION AVE                     AND 7 AVE                           HAVE DIFFERENT 7 DIGIT STCODES (11061002 AND 11061004).
-
-NOTE:  ALIAS TABLE HAS ERRORS AND ALIASES=YES HAS BEEN SPECIFIED-PROCESSING CONTINUED.
-
- ********************************************************************************************************************************
- ***** NOTE:  THIS IS PART OF THE SYSPRINT OUTPUT
- ********************************************************************************************************************************
- 0****************************************************    STATISTICS  ************************************************************
- 0 THIS IS GBAT CONTROL FILE MSW EXAMPLE 2                                                                     MM/DD/YY
- 0                                            GEOSUPPORT BATCH ADDRESS TRANSLATOR
- 0                                             MANHATTAN       BRONX    BROOKLYN      QUEENS  STATEN IS.    BOROUGH        TOTAL
-                                                                                                             BOUNDARY
- 0INPUT RECORDS                                       10           5           5           4           2           0          26(* )
- 0ACCEPTED RECORDS                                     8           4           5           2           0           0          19
- 0REJECTED RECORDS:
- 0  01 - WARNING MESSAGES                              0           0           0           1           0           0           1
- 0  02 - THESE STREETS INTERSECT TWICE-COMPASS
-    DIRECTION REQUIRED:                                1           1           0           0           0           0           2
- 0  03 - THESE STREETS INTERSECT MORE THAN
-    TWICE-CANNOT BE PROCESSED:                         0           0           0           1           2           0           3
- 0  40 - COMPASS DIRECTION VALUE IS INVALID FOR THIS
-    INPUT LOCATION:                                    1           0           0           0           0           0           1
- 0TOTAL REJECTED RECORDS EXCEPT CODES 17 AND 99:
-                                                       2           1           0           2           2           0           7
- 0  17+99 - BLANK AND INVALID BOROUGH CODES                                                                                    0
- 0TOTAL REJECTED RECORDS                                                                                                       7
- 0  (* ) NOTE  - THIS TOTAL INCLUDES RECORDS WITH INVALID BOROUGH CODES
- 1********************************************************************************************************************************
- ***** NOTE:  THIS IS A PRINTOUT OF ERRFILE.  THE FIRST FOUR BYTES CONSIST OF THE TWO-BYTE GEOSUPPORT RETURN CODE (GRC),
- *****        FOLLOWED BY A DASH ('-'), FOLLOWED BY A ONE-BYTE REASON CODE, IF ANY.  IN THIS EXAMPLE, THERE ARE SEVEN REJECTED
- *****        RECORDS.  TWO HAVE A GRC VALUE OF '02' AND NO REASON CODE VALUE.  TWO HAVE A GRC VALUE OF '03' AND A REASON CODE
- *****        VALUE OF '3'.  ONE HAS A GRC VALUE OF '01' (WARNING) AND A REASON CODE VALUE OF 'H', ETC.  REFER TO THE GBAT
- *****        STATISTICS REPORT OR TO [APPENDIX 4](/appendices/appendix04) FOR THE MESSAGES CORRESPONDING TO THE OCCURRING GRC'S AND REASON CODES.  AFTER
- *****        THE FIRST FOUR BYTES, THE REST OF THE ERRFILE RECORD CONSISTS OF A COPY OF THE REJECTED INFILE RECORD.
- ********************************************************************************************************************************
-
- 40-     MN CANEL ST                 ALEN ST                         S
- 02-     MN MAN ST                   RIVE RD
- 03-3    SI HAVEN ESPLN              SILVER LAKE RD
- 03-3    SI HAVEN ESPLN              SILVER LAKE RD                  N
- 01-H    QN 116 ST                   CURZON RD                       S
- 02-     BX MARINE ST                CITY ISLAND AV
- 03-4    QN QUEENS BL                64 ST                           S
-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix11/index.html b/site/appendices/appendix11/index.html deleted file mode 100644 index 250bf317..00000000 --- a/site/appendices/appendix11/index.html +++ /dev/null @@ -1,843 +0,0 @@ - - - - - - - - - - - - Appendix 11: Guidelines For Application Design - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 11: Guidelines For Application Design
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 11: GUIDELINES FOR APPLICATION DESIGN

- -

This appendix contains guidelines for application designers, listed in no particular order. These guidelines are intended only to be a limited selection of helpful suggestions, not a comprehensive set of instructions for application design. Terms highlighted in bold typeface have entries in the Glossary.

-
    -
  1. -

    DESIGN PROCEDURES TO REVIEW AND (WHEN APPROPRIATE) TO REPORT REJECTS TO GSS: As an integral part of the application, set up procedures to examine geographic data that have been rejected by Geosupport, and to report appropriate rejects to GSS. Only those rejected data that, after examination, do not appear attributable to user errors should be reported to GSS. In addition, users should also report cases in which the input information was not rejected, but the output data that Geosupport has returned to the application appear to be erroneous for the given location (such as an incorrect ZIP code or incorrect cross streets). User feedback is essential to GSS’s efforts to keep Geosupport accurate and up to date.
    -

    -
  2. -
  3. -

    USE THE GEOSUPPORT COPY LIBRARIES: : If the application is being written in a programming language supported by Geosupport’s COPY facility (currently, COBOL, PL/1, IBM Mainframe Assembler Language, C or NATURAL), do not code layouts of the Geosupport work areas directly into the application program source code. Instead, write the program to access the Geosupport COPY facility. This will cause the program to automatically obtain the most current standard source code work area layouts at compile time. This approach eliminates tedious and error-prone line-by-line coding of the Geosupport work area layouts by the application programmer, insures the use of the most current layouts, and facilitates trouble-shooting by insuring the use of standard data names for Geosupport data items.

    -
  4. -
  5. -

    DESIGN FOR GEOGRAPHIC RETRIEVAL CONSISTENCY: If an application is required to retrieve data from the application’s own files by geographic location, it should be designed so that it performs such retrieval consistently, that is, independently of variations in specifying geographic locations. This is accomplished by obtaining certain items from Geosupport, storing them in the application file, and using them as part of the retrieval key. For example, for retrievals by address, use B5SCs instead of street names in the retrieval key. For building-level retrievals, store BINs in the application file and use them rather than addresses or tax lot identifiers as the retrieval key.

    -
  6. -
  7. -

    DESIGN BATCH PROCEDURES TO RE-SYNCHRONIZE APPLICATION FILES WITH NEW GEOSUPPORT RELEASES: Geographic information changes over time. For example, changes are possible in the election districts, tax lot identifiers or police precincts associated with addresses, in the street codes assigned to street names, in the streets incident upon intersections, etc. During application design, consider which data items obtained from Geosupport and stored in application files should be updated to reflect changes in new Geosupport releases, and design procedures to perform such updating. In particular, if street codes are to be stored in an application file, store them in the form of B10SCs (but use only the B5SC portions for geographic retrieval), and develop a fully automated batch resynchronization procedure utilizing the Street Code Change File (see Chapter IV.4).

    -
  8. -
  9. -

    (1) USE THE APPROPRIATE STREET NAME FOR THE TASK: To sort a file by geographic location, always use street names normalized in sort format (see Chapter III.3). For display purposes, obtain preferred street names (see Chapter IV.6), and display them normalized in compact format (see Chapter III.3).

    -
  10. -
  11. -

    WHENEVER POSSIBLE, ALLOCATE 32 BYTES FOR STREET NAME FIELDS; DO NOT SPECIFY AN SNL VALUE UNLESS THE APPLICATION SPECIFICALLY REQUIRES SHORTER STREET NAME FIELDS (for example, to fit within a limited amount of space in a report, screen or transparent envelope window). The default SNL value, 32, insures that all valid input street names can be successfully normalized.

    -
  12. -
  13. -

    TO VALIDATE ADDRESSES, USE FUNCTION 1A RATHER THAN FUNCTION 1 OR 1E. Function 1A does a far better job of validating whether a building having a given address actually exists.

    -
  14. -
  15. -

    TO IMPROVE EXECUTION EFFICIENCY, use Function 1 instead of Function1E unless the application requires the political district geography that only Function 1E provides. (Function 1 performs fewer I/O operations.)

    -
  16. -
  17. -

    NEVER DESIGN NEW APPLICATIONS TO USE VESTIGIAL FEATURES OF GEOSUPPORT (see Chapter I.5).

    -
  18. -
  19. -

    ESCHEW FREE-FORM ADDRESS PROCESSING (see Chapter V.3) UNLESS IT IS UNAVOIDABLE. Whenever possible, pass the house number and the street name of an address to Geosupport in the separate WA1 input fields for those items. Design application files so that the house number and street name of an address are stored in separate fields.

    -
  20. -
  21. -

    REVIEW THE SET OF WARNING AND REJECT CONDITIONS THAT CAN BE ISSUED BY EACH FUNCTION THE APPLICATION WILL BE CALLING. Determine whether any of these conditions warrant custom handling in your application. Appendices 1 and 4 of this document are useful in this regard.

    -
  22. -
  23. -

    DESIGN INTERACTIVE APPLICATIONS TO USE THE SIMILAR NAMES FEATURE. (See Chapter III.5.) Whenever Geosupport rejects an input street name and returns similar names, display the list of similar names on the screen and allow (but do not require) the operator to select one of them using the cursor. If the operator selects a similar name, re-submit the Geosupport call automatically using the similar name in place of the rejected input name.

    -
  24. -
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix12/index.html b/site/appendices/appendix12/index.html deleted file mode 100644 index f741074f..00000000 --- a/site/appendices/appendix12/index.html +++ /dev/null @@ -1,1948 +0,0 @@ - - - - - - - - - - - - Appendix 12: Chapter-Only Work Areas (COW) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 12: Chapter-Only Work Areas (COW)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 12: CHARACTER-ONLY WORK AREAS (COW)

- -

Introduction

-

This appendix is based on Geosupport System Technical Bulletin 02-01 (dated 15 November 2002) and Geosupport Technical Bulletin 02-01 Addendum (dated 22 November 2002). It contains information needed to create Geosupport applications using the Character-Only Work Areas (COWs). Included are the following topics:

-
    -
  • Comparison of COWs and Mainframe-Specific Work Areas (MSWs)
  • -
  • Considerations when using COWs
  • -
  • Work Area Lengths
  • -
  • Specifying the Work Area Format
  • -
  • GBAT Considerations
  • -
  • COW COPY Files
  • -
-

Notes:

-
    -
  1. -

    There are two versions of the sample programs in Appendix 5 of this User Programming Guide. One version is for MSWs and the other is for COWs. When coding, bear in mind the differences between COWs and MSWs.

    -
  2. -
  3. -

    The Work Area Layouts in Appendix 2 of this User Programming Guide are the layouts of the MSWs. For the COW layouts, see Appendix 13.

    -
  4. -
  5. -

    The COPY files that are printed in Appendix 5 of this User Programming Guide are for the Mainframe-Specific Work Areas (MSWs). For the COW COPY files, see Appendix 14.

    -
  6. -
-

Overview

-

Standard work areas with pre-defined layouts are used to pass data between the Geosupport System and user-developed application programs. The same work areas are also used by GBAT, the Geosupport batch utility program, to pass data to and from Geosupport.

-

The Geosupport work areas that have long been in use are called the Mainframe-Specific Work Areas (MSWs). Most of the MSWs contain one or more packed decimal fields, a data encoding schema unique to IBM mainframes. This appendix discusses an alternative set of Geosupport work areas called the Character-Only Work Areas (COWs) which, as the name implies, contain character fields only. The introduction of the COW is an essential part of a long-term effort to port the Geosupport System to other platforms.

-

Each specific Geosupport work area (for example, Work Area 2 for Function 3S) has both a COW version and an MSW version. User-written application programs running on mainframes now have the option to use either set of work areas when making calls to Geosupport. GBAT users can also specify the use of either set of work areas.

-

From now on, all new applications should be designed to use the COWs. We also recommend that all existing applications be converted to use the COWs. Although the MSWs will continue to be supported, as of some future date (not yet determined), only the COWs will be enhanced with new data items and functionality. Eventually, the MSWs may be de-supported.

-

Comparison of COWs and MSWs

-

Each non-character field in an MSW has a character field counterpart in the corresponding COW. Except for an item called the HND (discussed below in the sub-section on house number fields), each character field in an MSW appears in identical form in the corresponding COW. However, corresponding fields do not necessarily occupy the same byte positions or occur in the same order in the corresponding MSW and COW. In designing the COWs, the opportunity has been taken to reorganize the layouts to situate related fields near each other and to increase the amount of filler space available for adding new data items in the future.

-

The data items for which the MSWs contain non-character fields are house numbers, street codes, segment lengths, and count fields. Each of these is discussed in detail below.

-

House Number Fields. The Geosupport System uses three different formats for standardized or -‘normalized’ house numbers: the House Number in Display format (HND), the House Number in Internal format (HNI), and the new House Number in Sort format (HNS).

-
    -
  • -

    The HND is a character item that is present in both the COWs and the MSWs, but it has a different length in each: 16 bytes in the COWs and 12 bytes in the MSWs. The length of the HND was increased in the COWs to insure that house numbers having suffixes fit within the HND field without the suffix having to be abbreviated. (House number suffixes are certain character strings that occur at the ends of some New York City house numbers, such as 1/2, 1/4, REAR, GARAGE.) For compatibility with MSW, by default Geosupport uses only the first 12 characters of the 16-byte COW HND. The remaining 4 characters are blank. To use all 16 characters, the user can specify an HNL (House Number Length) of 16.

    -
  • -
  • -

    The HNI is a six-byte data item with a hybrid format: the first five bytes are in packed decimal format, and the sixth byte contains a binary value. HNIs occur only in the MSW.

    -
  • -
  • -

    The HNS is a new 11-byte item that is the character equivalent of the HNI in the COWs.

    -
  • -
-

The HND is the appropriate format for displaying house numbers on application screens, reports and computer-generated maps, and is specifically designed for that purpose. In particular, the HND is left-justified and space-filled. However, the HND renders unsatisfactory results when used as a field to sort addresses. For example, it would, inappropriately, cause 102 MAIN STREET to sort ahead of 98 MAIN STREET.

-

In contrast to the HND, both the HNI and the HNS are suitable to use as fields to sort addresses. For example, both would, appropriately, cause 98 MAIN STREET to sort ahead of 102 MAIN STREET. However, neither the HNI nor the HNS is suitable for display:

-
    -
  • -

    The HNI is not a character item and so cannot be displayed as intelligible data unless first converted to character format. Any of the Geosupport display functions (Functions D, DG and DN) can be used with the MSWs to convert an HNI to an HND.

    -
  • -
  • -

    The HNS, although it is a character item, is unsuitable for display. In particular, the HNS is in an internal format with a unique layout and flags. If the house number has a suffix, the HNS does not contain the suffix itself, but instead, contains a code for the suffix meaningful only to the Geosupport software. Any of the Geosupport display functions (Function D, DG and DN) can be used with the COWs to convert an HNS to an HND.

    -
  • -
-

To reiterate, the HND should be used for display, and the HNI (in MSWs) or the HNS (in COWs) should be used for sorting.

-

Street Code Fields. A notable feature of the Geosupport System is its set of numeric street codes assigned to the names of New York City streets and selected non-street geographic features. The street code feature provides specialized capabilities that are essential for certain types of applications.

-

Street codes appear in several forms in the Geosupport work areas. In many of the MSWs, there are four-byte fields for a packed decimal data item called the Packed Borough and 5-Digit Street Code (PB5SC). The COW counterparts of PB5SC fields can take one of the following three forms:

-
    -
  • -

    A six-byte field for an item called the Borough and 5-Digit Street Code (B5SC). This is simply the unpacked version of the PB5SC

    -
  • -
  • -

    The first six bytes (constituting the B5SC) of an eight-byte field for an item called the Borough and 7-Digit Street Code (B7SC)

    -
  • -
  • -

    The first six bytes (constituting the B5SC) of an 11-byte field for an item called the Borough and 10-Digit Street Code (B10SC)

    -
  • -
-

Segment Length Fields. Both Work Area 2 for Function 3 and Work Area 2 for Function 3C contain fields for the segment length expressed in feet. In the MSW format, these are 3-byte packed decimal fields. In the COW format, they are 5-byte character fields.

-

Count Fields. Some count fields, e.g. Number of Street Names in List, are packed decimal fields in the MSW format, and character fields in the COW format.

-

Consideration When Using the COWs

-

The Long Work Area 2 option that is available when using the MSWs is occasionally not needed or not supported when using the COWs, as follows:

-
    -
  • When using the COWs, Functions 1, 1E and 3 do not have the long Work Area 2 option. This option is unnecessary in these cases, since the COW versions of the regular Work Area 2s for these functions already accommodate all the requisite fields. However, Functions 1A and BL continue to have the long Work Area 2 option when COWs are used. (See Chapter II.5 for a general discussion of the long Work Area 2 option.)
  • -
-

Work Area Lengths (COWs and MSWs)

-

The following table lists the lengths of the members of both sets of work areas. Note that the lengths of corresponding members from the two sets differ in most cases.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table A12-1: Lengths of Work Areas (COWs and MSWs)
Work AreaLength of COWLength of MSW
Work Area 1 (used with all functions)1200884
Regular WA2 for Functions 1, 1E300200
Long WA2 for Functions 1, 1EN/A300
Extended WA2 for Functions 1, 1E1500NA
Regular WA2 for Functions 1A, BL, BN1363939
Long WA2 for Functions 1A, BL1775017683
Extended WA2 for Functions 1A2800NA
WA2 for Function 1B4300N/A
WA2 for Function 2200200
Regular WA2 for Function 3450200
Long WA2 for Function 3N/A300
Extended WA2 for Function 31000N/A
Auxiliary Segment WA2 for Function 3950N/A
Extended WA2 with Auxiliary Segment for Function 31500N/A
WA2 for Function 3C300200
Auxiliary Segment WA2 for Function 3C800N/A
Extended WA2 with Auxiliary Segment for Function 3C1350N/A
Regular WA2 for Function AP1363N/A
Extended WA2 for Functions AP2800N/A
WA2 for Function 3S192744224
- -

Specifying a Work Area Format (COW or MSW)

-

To indicate which set of work areas is being used in a call to Geosupport, an application program uses a new field called the Work Area Format Indicator. This field is one byte long and is located at position 213 of both the COW Work Area 1 and the MSW Work Area 1.

-
    -
  • -

    The value ‘C’ in the Work Area Format Indicator indicates to Geosupport that COWs are being used for the given call.

    -
  • -
  • -

    A blank in the Work Area Format Indicator indicates that MSWs are being used.

    -
  • -
  • -

    If the Work Area Format Indicator is invalid, the call is rejected with a Geosupport Return Code of 27 and an appropriate message.

    -
  • -
-

Since every call to Geosupport is an independent event, application programs must insure that the Work Area Format Indicator is appropriately set for each call; Geosupport doesn’t ‘remember’ previous calls.

-

Note that the MSWs are the default work areas, that is, the work areas that Geosupport expects when the Work Area Format Indicator is blank. Therefore, existing applications that use the MSWs will continue to execute properly without modification, provided Work Area 1 is being passed to Geosupport with position 213 containing a blank. (As a matter of course, every application program should be designed so that, each time a call to Geosupport is to be made, the program clears Work Area 1 entirely to blanks prior to moving the input data for that call into the requisite Work Area 1 fields. This insures that Work Area 1 will not be ‘polluted’ by stray input data lingering from a previous call.)

-

GBAT Considerations for COWs

-

When executing GBAT, the set of work areas that are used affects the length and format of the records written into OUTFILE (the output file of successfully processed data records).

-

To specify the set of work areas GBAT is to use, the user codes a control entry in CARDIN (the input control file) containing the keyword WORKAREA, as follows:

-
    -
  • -

    WORKAREA=COW specifies the COWs.

    -
  • -
  • -

    WORKAREA=MSW specifies the MSWs.

    -
  • -
  • -

    (Default:) If no WORKAREA control entry is coded, GBAT uses the MSWs.

    -
  • -
-

Since the MSWs are GBAT’s default set of work areas, existing GBAT jobs will continue to execute properly without modification.

-

When COWs are used, GBAT options that involve processing packed decimal input data are, of course, invalid. Specifically, the following control entries or control entry variable values are invalid when COWs are being used:

-
    -
  • -

    HNI=YES is invalid.

    -
  • -
  • -

    In the control entries STRTCODE, CRSCOD1 and CRSCOD2, the values 3 and 4 are invalid for the length variable.

    -
  • -
  • -

    If MSWs are being used, the default is 1ABLVERSION=L (or 1ABLVERSION=LEGACY), which results in an error, since Legacy is no longer supported.

    -
  • -
-

GBAT forms each OUTFILE record by appending Geosupport information to a copy of the data input record. The information that is appended is determined by three factors: the set of work areas being used, the function being executed and the value of the GEOCODE control entry that is in effect. The GEOCODE value affects the appended information as follows:

-
    -
  • -

    When GEOCODE=NO, the appended items consist only of selected output items from Work Area 1 (and, in case of MSW Functions 1, 1A, and 1E, an item created by GBAT called the HNHPD). See Table A12-2 below for lists of the appended COW items and their lengths by function and set of work areas. For MSW format, see Table 9-4 and Table 9-5.

    -

    When GEOCODE =YES the appended information consists only of work area 2 in its entirety. Table A12-1 above lists the lengths of these work areas by function and work area format. Appendix 2 contains the MSW Work Area Layouts and Appendix 13 contains the COW Work Area layouts.

    -
  • -
  • -

    When GEOCODE=ALL, the appended information consists of the data for GEOCODE=NO followed by the data appended for GEOCODE=YES. Table A12-3 lists the lengths of the appended information by function and set of work areas. These lengths typically are the sums of the corresponding lengths listed in Table A12-1 and Table A12-2(and A12-2A if GEOUNIT=YES).

    -
  • -
-

YES and ALL are invalid GEOCODE options for Functions 1N, D, DG and DN, since these functions do not have a Work Area 2.

-

The information appended for GEOCODE=NO is as follows.

-
    -
  • -

    For the functions that allow an input house number other than the display functions (viz. Functions 1, 1A, 1B and 1E): the appended information includes normalized house number items as follows:

    -
      -
    • -

      If COWs are being used, the HND and the HNS are appended.

      -
    • -
    • -

      If MSWs are being used, the HND and an 8-byte item called the HNHPD are appended. The HNHPD is a normalized house number created by GBAT in a special format for use only by the Department of Housing Preservation and Development.

      -
    • -
    -
  • -
  • -

    For the display functions (Functions D, DG and DN), which allow input house numbers in the form of HNIs when using MSWs: the appended information includes the normalized house numbers only in the HND format for a length of 12.

    -
  • -
  • -

    For the display functions (Functions D, DG and DN), which allow input house numbers in the form of HNSs when using COWs: the appended information includes the normalized house numbers only in the HND format for a length of between 12 and 16.

    -
  • -
  • -

    For the functions that involve input street names (Functions 1, 1A, 1B, 1E, 1N, 2, 3, 3C, 3S, D, DG and DN): the appended information includes normalized street name(s) and street codes, as follows:

    -
      -
    • -

      Regardless of which set of work areas is being used, normalized street names are provided in 32‑byte fields, left-justified and blank‑filled.

      -
    • -
    • -

      If COWs are being used, street codes are provided as B10SCs, an 11-byte item.

      -
    • -
    -
  • -
  • -

    If MSWs are being used, street codes are provided as 10SCs (ten‑digit street codes without a borough code), a 10-byte item.

    -
  • -
  • -

    For Function BL: the appended information when 1ABLVERSION=STANDARD is specified consists of the standard 10-byte BBL, which is composed of the one-byte borough code followed by the five-byte tax block followed by the four-byte tax lot. Note: STANDARD is the only valid value for 1ABLVERSION.

    -
  • -
  • -

    For Function BN: the appended information consists of ten bytes containing the seven-byte Building Identification Number (BIN) followed by a three-byte filler.

    -
  • -
-

Table A12-2 below lists the appended items when GEOCODE=NO, itemized by function and set of work areas. When an item of appended data has no value for a particular record (such as a house number item, when the input location is a non-addressable place name), the given field is still present in the appended data but it contains all blanks. The only exception to this involves the display functions (D, DG and DN) when using MSWs, where there is no field for the second house number unless it is provided as an input datum by the user.

-

Table A12-2A, which follows Table A12-2, lists the additional appended items when GEOUNIT=YES. Note that that the GEOUNIT option is for COW only. The GEOUNIT items are appended in the output file record immediately after the GEOCODE=NO items (when GEOCODE=NO or GEOCODE=ALL).

-

Table A12-2: GBAT-Appended Items when GEOCODE=NO (COWs and MSWs)
-
See Table A12-2A for additional GBAT-Appended Items when GEOUNIT=YES(COW Only)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Functions
[Options]
COWs MSWs
Appended ItemsLengthAppended ItemsLength
1, 1A, 1B15, 1E, AP16HND16HND12
HNS11HNHPD8
Normalized Street Name32Normalized Street Name32
B10SC1110SC10
Total Length:70Total Length:62
1NNormalized Street Name32Normalized Street Name32
B10SC1110SC10
Total Length:43Total Length:42
2Normalized Street Name-132Normalized Street Name-132
B10SC-11110SC-110
Normalized Street Name-232Normalized Street Name-232
B10SC-21110SC-210
Total Length:86Total Length:84
2 - NODE inputFiller86Invalid
Total Length:86
3, 3C, 3SNormalized Street Name-132Normalized Street Name-132
B10SC-11110SC-110
Normalized Street Name-232Normalized Street Name-232
B10SC-21110SC-210
Normalized Street Name-332Normalized Street Name-332
B10SC-31110SC-310
Total Length:129Total Length:126
APSee 1, 1A, 1E, 1B, AP above70Invalid
Total Length:70
BL (Standard)BBL:BBL:
Borough Code1Borough Code1
Tax Block5Tax Block5
Tax Lot4Tax Lot4
Total Length:10Total Length:10
BL (Legacy)InvalidInvalid
BNBIN7BIN7
Filler3Filler3
Total Length:10Total Length:10
D, DG, DN [HOUSENUM2 control entry not coded]HND-116HND12
Normalized Street Name-132Normalized Street Name-132
Normalized Street Name-232Normalized Street Name-232
Normalized Street Name-332Normalized Street Name-332
HND-216
Total Length:128Total Length:108
D, DG, DN [HOUSENUM2 control entry coded]HND-116HND-112
Normalized Street Name-132Normalized Street Name-132
Normalized Street Name-232Normalized Street Name-232
Normalized Street Name-332Normalized Street Name-332
HND-216HND-212
Total Length:128Total Length:120
- -

Table A12-2A: Additional GBAT-Appended Items when GEOUNIT=YES (COW only)

- - - - - - - - - - - - - - - - - - - - - - - - - -
Functions
[Options]
COWs
Appended ItemsLength
1, 1E, 1A, 1BNormalized Display-Format Unit Output14
Filler56
Total Length:70
- -

Table A12-3 lists the length of the data appended by GBAT, itemized by function and option within function, GEOCODE value and set of work areas being used.

-

Note: CROSSSTNAMES=YES -For Functions 1, 1E, 1B, 2, 3 and 3C, when GEOCODE=ALL (and, optionally, GEOUNIT=YES) and CROSSSTNAMES=YES, the appended data consist of the concatenation of the GEOCODE=NO data, (followed, optionally, by GEOUNIT=YES data,) followed by a 320-byte block of data containing cross street names, followed by the GEOCODE=YES data. For further information about the layout of the appended CROSSSTNAMES data, refer to the Appendix 3 entry for the List of Street Names (see paragraph on List of Cross Street Names).

-

Table A12-3: Length of GBAT‑Appended Data (COWs and MSWs)
-
Note: The data is appended to the user’s input record

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionsOptions 17GEOCODE=NOGEOCODE=YESGEOCODE=ALL
COWsMSWsCOWsMSWsCOWsMSWs
1, 1ELONGWA2=NO7062300200370262
LONGWA2=NO
GEOUNIT=YES
140InvalidInvalidInvalid440Invalid
LONGWA2=YESInvalidInvalidInvalid300Invalid362
MODE=XInvalidInvalid1500Invalid1570Invalid
MODE=X GEOUNIT=YESInvalidInvalidInvalidInvalid1640Invalid
1ALONGWA2=NO7062136393914331001
LONGWA2=NO, GEOUNIT=YES140InvalidInvalidInvalid1503Invalid
LONGWA2=YESInvalidInvalid17750176831782017745
LONGWA2=YES, GEOUNIT=YESInvalidInvalidInvalidInvalid17890Invalid
MODE=X, LONGWA2=NOInvalidInvalid2800Invalid2870Invalid
MODE=X, LONGWA2=NO, GEOUNIT=YESInvalidInvalidInvalidInvalid2940Invalid
1BInvalidInvalid4300Invalid4370Invalid
GEOUNIT=YESInvalidInvalidInvalidInvalid4440Invalid
1N4342InvalidInvalidInvalidInvalid
28684200200286284
RELATEDNODES = YES (ERRFIL3)InvalidInvalid3352Invalid3352Invalid
3LONGWA2=NO with AUXSEG=NO129126450200579326
LONGWA2=YESInvalidInvalidInvalid300Invalid426
AUXSEG=YESInvalidInvalid950Invalid1079Invalid
MODE=XInvalidInvalid1000Invalid1129Invalid
MODE=X with AUXSEG=YESInvalidInvalid1500Invalid1629Invalid
3CAUXSEG=NO129126300200429326
AUXSEG=YESInvalidInvalid800Invalid929Invalid
MODE=XInvalidInvalid850Invalid979Invalid
MODE=X with AUXSEG=YESInvalidInvalid1350Invalid1479Invalid
3S129126192744224194034350
AP70Invalid1363Invalid1433Invalid
MODE=XInvalidInvalid2800Invalid2870Invalid
BLLONGWA2=NO101013639391373949
LONGWA2=YESInvalidInvalid17750176831776017693
MODE=X, LONGWA2=NOInvalidInvalid2800Invalid2810Invalid
BN101013639391373949
MODE=XInvalidInvalid2800Invalid2810Invalid
D, DG, DNHOUSENUM2 not coded128128128InvalidInvalidInvalid
HOUSENUM2 coded128120InvalidInvalidInvalidInvalid
- -

COPY Files for COWs

-

For COBOL, PL/1, BAL and C programmers, copy files have been created to enable you to easily use the new work areas (COWs) in your programming work. Local Data Areas will be available for Natural programmers. If you use the MVSP LPAR at DoITT, these items will be found in library ‘A030.GEO.COPYLIB’. If you use any other LPAR at DoITT or if you work at a different data center, contact your system programming staff to learn the name of the library in which these members are stored. The following table shows you the copy file name by language and Geosupport Function.

-

Table A12-4: List of COPY Files for COWs

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LanguageCOW Work AreaCopy File
COBOLWork Area 1 (used with all Functions)
-Regular Work Area 2 for Functions 1 and 1E
-Extended Work Area 2 for Functions 1 and 1E
-Regular Work Area 2 for Functions 1A, BL, BN
-Long Work Area 2 for Functions 1A and BL
-Work Area 2 for Function 2
-Regular Work Area 2 for Function 3
-Auxiliary Segment Work Area 2 for Function 3
-Regular Work Area 2 for Function 3C
-Auxiliary Segment Work Area 2 for Function 3C
-Work Area 2 for Function 3S
-Regular Work Area 2 for Function AP
-Extended Work Area 2 for Function AP
- P1COB
-P2COB
-P2COB1AL
-P2COB1A
-P2COB1AL
-P2COB
-P2COB
-P2COB
-P2COB
-P2COB
-P2COB3S
-P2COBAP
-P2COBAP - -
PL/1Work Area 1 (used with all Functions)
- Regular Work Area 2 for Functions 1 and 1E
- Extended Work Area 2 for Functions 1 and 1E
- Regular Work Area 2 for Functions 1A, BL, BN
- Long Work Area 2 for Functions 1A and BL
- Work Area 2 for Function 2
- Regular Work Area 2 for Function 3
- Auxiliary Segment Work Area 2 for Function 3
- Regular Work Area 2 for Function 3C
- Auxiliary Segment Work Area 2 for Function 3C
- Work Area 2 for Function 3S
- Regular Work Area 2 for Function AP
- Extended Work Area 2 for Function AP
P1PL1
- P2PL1
- P2PL11AL
- P2PL11A
- P2PL11AL
- P2PL1
- P2PL1
- P2PL1
- P2PL1
- P2PL1
- P2PL13S
- P2PLIAP
- P2PLIAP
NATURALWork Area 1 (used with all Functions)
- Regular Work Area 2 for Functions 1 and 1E
- Extended Work Area 2 for Functions 1 and 1E
- Regular Work Area 2 for Functions 1A, BL, BN
- Long Work Area 2 for Functions 1A and BL
- Work Area 2 for Function 2
- Regular Work Area 2 for Function 3
- Auxiliary Segment Work Area 2 for Function 3
- Regular Work Area 2 for Function 3C
- Auxiliary Segment Work Area 2 for Function 3C
- Work Area 2 for Function 3S
- Regular Work Area 2 for Function AP
- Extended Work Area 2 for Function AP
GEOLP1
- GEOLP2
- GEOLP2AL
- GEOLP21A
- GEOLP2AL
- GEOLP2
- GEOLP2
- GEOLP2
- GEOLP2
- GEOLP2
- GEOLP23S
- GEOL2AP
- GEOL2APX
BALWork Area 1 (used with all Functions)
- Regular Work Area 2 for Functions 1 and 1E
- Extended Work Area 2 for Functions 1 and 1E
- Regular Work Area 2 for Functions 1A, BL, BN
- Long Work Area 2 for Functions 1A and BL
- Work Area 2 for Function 2
- Regular Work Area 2 for Function 3
- Auxiliary Segment Work Area 2 for Function 3
- Regular Work Area 2 for Function 3C
- Auxiliary Segment Work Area 2 for Function 3C
- Work Area 2 for Function 3S
- Regular Work Area 2 for Function AP
- Extended Work Area 2 for Function AP
P1BAL
- P2BAL
- P2BAL1A
- P2BAL1A
- P2BAL1A
- P2BAL
- P2BAL
- P2BAL
- P2BAL
- P2BAL
- P2BAL3S
- P2PLIAP
- P2PLIAP
CAll Work Areas for all FunctionsPAC
- -

___________________________

- -

15 GEOCODE=NO is invalid for Function 1B, but the 70 bytes are appended when GEOCODE=ALL.
-16 Functions 1B and AP are valid for COW only

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix13/index.html b/site/appendices/appendix13/index.html deleted file mode 100644 index 56ab394d..00000000 --- a/site/appendices/appendix13/index.html +++ /dev/null @@ -1,11955 +0,0 @@ - - - - - - - - - - - - Appendix 13: Chapter-Only Work Area LAYOUTS (COW) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 13: Chapter-Only Work Area LAYOUTS (COW)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 13: CHARACTER-ONLY WORK AREA LAYOUTS (COW)

- -
(as of Geosupport System Software Version 17.3 - unchanged since V17.1)
- -

This appendix contains layouts of all of the COW work areas used with the Geosupport System’s API. These layouts are current as of the Geosupport software version indicated above. The layouts are in the Character-Only Work Area (COW) format.18

-

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). 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 all the input fields occur first, followed by all 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 functions 1A and BL, the user has a choice of two WA2 layouts, a ‘regular’ WA2 and a ‘long’ WA2.

-

The majority of the COW fields are identical to the MSW (Mainframe-Specific Work Area) fields.

-

Appendix 3 consists of a data item dictionary describing the fields that occur in the work areas.

-

Appendix 12 describes the differences between the COWs and MSWs.

-

The Geosupport Character-Only work areas (COWs) contain no packed decimal or binary fields; all fields are character. The work areas are divided into logical groups. For example work area 1 is divided into three parts; namely,

-
    -
  • Input information from user
  • -
  • Input flags set by user
  • -
  • Output information supplied by Geosupport
  • -
-

For precise information on work areas, refer to the appropriate section below.

-

NOTE: The notation “Not Implemented” in the comments column of the work area layout means the field is blank, its contents are not reliable or the functionality has not yet been implemented. Only items that we intend to implement and/or correct at a later date are listed in this fashion.

-

The following is a list of all of the Geosupport COW work areas, indicating the length of each in bytes. Functions that are listed together share a single Work Area 2 layout.

-

____________________________

- -

18The mainframe version of Geosupport supports both the Character-Only Work Area (COW) format and the Mainframe-Specific Work Area (MSW (a.k.a. MFS)) format. The layout of the MSWs is in Appendix 2.

-

The following is a list of all of the Geosupport COW work areas, indicating the length of each in bytes. Functions that are listed together share a single Work Area 2 layout.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Character-Only Work Area (COW)Length
WA1, All Functions1,200
WA2, Functions 1, 1E Regular300
WA2, Functions 1, 1E Extended1,500
WA2, Functions 1A, BL, BN Regular1,363
Long WA2, Functions 1A, BL17,750
TPAD Long WA2, Functions 1A, BL17,750
WA2, Functions 1A, BL, BN Extended2,800
WA2, Function 1B4,300
WA2, Function AP Regular1,363
WA2, Function AP Extended2,800
WA2, Function 2200
WA2, Function 2W (Wide)4000
WA2, Function 3 Regular450
WA2, Function 3 with Auxiliary Segment950
WA2, Function 3 Extended1,000
WA2, Function 3 Extended with Auxiliary Segment1,500
WA2, Function 3C Regular300
WA2, Function 3C with Auxiliary Segment800
WA2, Function 3C Extended850
WA2, Function 3C Extended with Auxiliary Segment1,350
WA2, Function 3S19,274
- -

Notes: -

    -
  1. When a group of fields are listed together in a layout, the name of the group appears in UPPER CASE and is followed by a colon (:). The fields within the group appear in mixed case and are indented under the group name. The ‘FROM’ and ‘TO’ POSITIONS are listed for the group and for the individual fields within the group.

    -

    Example:
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (Field Name)(Size)(From)(To)(Function)
    BOROUGH BLOCK LOT (BBL):10186195BL
    Borough Code1186186BL
    Tax Block5187191BL
    Tax Lot4192195BL

    -

  2. -
  3. If there is a multi-field entry that may be repeated a variable number of times in the work area, then the relative positions of the fields within the entry are published and those relative positions appear in parentheses ‘( )’.

    -

    Example: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    (Field Name)(Size)(From)(To)(Comment)
    LIST OF GEOGRAPHIC IDENTIFIERS: Variable length list of up to 21 entries; each is 53 bytes long, structured as follows:11132511363Maximum of 21 entries, each 53 bytes long: 21x53 = 1,113
    Low House Number(16)(1)(16)
    High House Number(16)(17)32)


    TPAD BIN Status(1)(50)(50)TPAD Request
    Filler(3)(51)(53)
    * End of 53-byte entry *
    -

  4. -

-

Character-Only Work Area 1 (COW) – All Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
INPUT FIELDSSIZEPOSITIONFUNCTIONS19
FROMTO
Geosupport Function Code212All
House Number - Display Format163181, 1A, 1B, 1E, AP
House Number - Sort Format1119291, 1A, 1B, 1E, AP, D*
Low House Number - Display Format20 - 163045Internal Use
Low House Number – Sort Format114656D*, Internal Use
B10SC-1 (includes Borough Code 1,
 B5SC-1 and B7SC-1):115767See next 2 entries
Borough Code-115757Required for All Functions 
but BL, BN. Ignored if Fn 2 has Node Number input
10SC21-1105867All but 1N, B*
Street Name-1326899All but BL, BN, D*
B10SC-2 (includes Borough Code 2, 
B5SC-2 and B7SC-2):111001102, 3*, D*
Borough Code22-211001002, 3*, D*
10SC-2101011102, 3*, D*
Street Name-2321111422, 3*
B10SC-3 (includes Borough Code 3, 
B5SC-3 and B7SC-3):111431533*, D*
Borough Code-311431433*, D*
10SC-3101441533*, D*
Street Name-3321541853*
BOROUGH BLOCK LOT (BBL):10186195BL
Borough Code1186186BL
Tax Block5187191BL
Tax Lot4192195BL
Filler for Tax Lot Version Number1196196Not Implemented
Building Identification Number (BIN)7197203BN
Compass Direction12042042, 3C, 3S
Compass Direction for 2nd Intersection12052053S
Node Number72062122, 2W
Work Area Format Indicator23 - 1213213All
ZIP Code Input52142181*, AP
Unit Input142192321*
Filler82233314
Input Flags
Long Work Area 2 Flag13153151A, BL
House Number Justification Flag24 - 1316316Not Implemented
House Number Normalization Length25 - 2317318Not Implemented
House Number Normalization Override Flag1319319Internal Use
Street Name Normalization Length Limit (SNL)2320321All but B*
Street Name Normalization Format Flag26 - 1322322All but B*
Cross Street Names Flag27 a.k.a. Expanded Format Flag13233231, 1A, 1B, 1E, 2, 3, 3C
Roadbed Request Switch13243241, 1B, 1E, 3S (Limited)
Reserved for Internal Use1325325Internal GRC Flag
Auxiliary Segment Switch13263263, 3C
Browse Flag13273271*, 2, 3, 3C, BB, BF
Real Streets Only Flag13283283S
TPAD Switch13293291A, 1B, BL, BN
Mode Switch13303301, 1E, 1A, 3, 3C, AP
WTO Switch1331331All
Filler29332360
OUTPUT Fields
First Borough Name9361369All but D*
House Number - Display Format163703851, 1A, 1B, 1E, AP, D*
House Number - Sort Format113863961, 1A, 1B, 1E, AP, D*
B10SC - First Borough and Street Code11397407All but BL, BN
First Street Name Normalized32408439439
B10SC - Second Borough and Street Code114404502, 3*, D*
Second Street Name Normalized324514822, 3*, D*
B10SC - Third Borough and Street Code114834933*, D*
Third Street Name Normalized324945253*, D*
BOROUGH BLOCK LOT (BBL):10526535BL (Also 1, 1A, 1B, 1E if Cross Street Names Flag is ‘E’; Also 1, 1E if Mode Switch is ‘X’)
Borough Code1526526BL (see BL comment above)
Tax Block5527531BL (see BL comment above)
Tax Lot4532535BL (see BL comment above)
Filler for Tax Lot Version Number1536536Not Implemented -
Low House Number - Display Format16537552Internal Use, D*
Low House Number - Sort Format11553563Internal Use, D*
Building Identification Number (BIN)7564570BN (see BBL functions list above)
Street Attribute Indicators3571573Internal Use
Reason Code 2 15745741B - reflects 1A Extended
Reason Code Qualifier 215755751B (See Reason Code 2)
Warning Code 225765771B (not used)
Geosupport Return Code 2 (GRC 2)25785791B (See Reason Code 2)
Message 2805806591B (See Reason Code 2)
Node Number76606662, 2W
UNIT – SORT FORMAT146676801*
Unit – Type46676701*
Unit – Identifier106716801*
Unit – Display Format146816941*
Filler11695705
NIN28 - 6706711Not Implemented -
Street Attribute Indicator1712712Internal Use
Reason Code1713713All
Reason Code Qualifier 17147141A, BL, BN
Warning Code2715716All (not used)
Geosupport Return Code (GRC)2717718All
Message80719798All
Number of Street Codes and Street Names in List (up to 10) 27998001*, 2, 3*, BB, BF
List of Street Codes (10 B7SC’s)808018801*, 2, 3*, BB, BF
List of Street Names (10 Street Name Fields, 32 Bytes Each)32088112001*, 2, 3*, BB, BF
- -

____________________________

- -

19 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, 1B, 1E, 1N, AP
-    3* = 3, 3C, 3S
-    B* = BB, BF, BL, BN
-    D* = D, DG, DN
-
-

Typically, any function listed with an asterisk also includes the various forms of the function, e.g. Extended, Long, Auxiliary Segments etc.

-

20 The Low House Number fields are for Internal Use (Fn 5). In addition the low House Number in Sort Format can be used with Functions D*.

-

21 The user may supply either a 5-Digit, 7-Digit or 10-Digit Street code in this field. The contents are to be left-justified and blank-filled.

-

22 When using street name input, the second and third borough codes are required only if they differ from the first.

-

23 When this indicator, also known as the Platform Indicator, is set to C or P, the Character-Only formats of the work areas (i.e., the formats documented herein) are used. A blank in this indicator means that the IBM mainframe specific work areas, known as MSW (a.k.a. MFS), are used.

-

24 If the house number is to be right justified, the House Number Justification Flag is set to R and if the house number is to be left justified, the House Number Justification Flag is set to L or left blank.

-

25 The House Number Normalization Length field is used to achieve compatibility between the Main Frame Specific (MSW) work areas and the COWs. In the COWs, the House Number is permitted to be 16 characters, but, in the MSW, it is limited to 12 characters. It is not anticipated that users will make use of this field.

-

26 This field, Street Name Normalization Format Flag, was formerly known as the Compact Option. If the Street Name Normalization Format Flag is set to S or blank, then the street name is returned in sort format. If it is set to C, then the street name is returned in compact format.

-

27 The Cross Street Names Flag (a.k.a. Expanded Format Flag), if set to E, will return the Cross Street Names and Cross Street Codes in the List of Street Names and List of Street Codes fields respectively for Functions 1, 1E, 2, 3, 3C. These lists are in the output section of Work Area 1. These lists are also used for Similar Names processing and the Browse function. (The cross street names and codes lists are not returned for Functions 1A and 1B.) The BBL and BIN are returned in the output area of Work Area 1 where possible for Functions 1, 1A, 1B, 1E.

-

28 NAP Identification Number

-

Work Area 2 (COW) - Functions 1, 1E

-

Block Face Defined by Address Range Along a Street

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
- Internal Use - - 21 - - 1 - - 21 -
- Continuous Parity Indicator/Duplicate Address Indicator - - 1 - - 22 - - 22 -
- Low House Number of Block Face - - 11 - - 23 - - 33 - - Sort Format -
- High House Number of Block Face - - 11 - - 34 - - 44 - - Sort Format -
- DCP Preferred LGC (For Function 1E, -
See comment) -
- For Function 1E, the BOE preferred LGC is provided. -
- No. of Cross Streets at Low Address End - - 1 - - 47 - - 47 -
- List of Cross Streets at Low Address End (Up to 5 B5SCs) - - 30 - - 48 - - 77 - - B5SC - Blank-Filled -
- No. of Cross Streets at High Address End - - 1 - - 78 - - 78 -
- List of Cross Streets at High Address End (Up to 5 B5SCs) - - 30 - - 79 - - 108 - - B5SC - Blank-Filled -
- LION KEY: - - 10 - - 109 - - 118 -
- Borough Code - - 1 - - 109 - - 109 -
- Face Code - - 4 - - 110 - - 113 -
- Sequence Number - - 5 - - 114 - - 118 -
- Special Address Generated Record Flag - - 1 - - 119 - - 119 -
- Side of Street Indicator - - 1 - - 120 - - 120 -
- Segment Length in Feet - - 5 - - 121 - - 125 -
- SPATIAL X-Y COORDINATES OF ADDRESS: - - 14 - - 126 - - 139 -
- X Coordinate - - 7 - - 126 - - 132 -
- Y Coordinate - - 7 - - 133 - - 139 -
- Reserved for Possible Z Coordinate - - 7 - - 140 - - 146 -
- Community Development Eligibility Indicator - - 1 - - 147 - - 147 -
- Marble Hill/Rikers Island Alternative Borough Flag - - 1 - - 148 - - 148 -
- DOT Street Light Contractor Area - - 1 - - 149 - - 149 -
- COMMUNITY DISTRICT: - - 3 - - 150 - - 152 -
- Community District Borough Code - - 1 - - 150 - - 150 -
- Community District Number - - 2 - - 151 - - 152 -
- ZIP Code - - 5 - - 153 - - 157 -
- FUNCTION 1E ITEMS: - - 14 - - 158 - - 171 - - Use ONLY for Function 1E -
- Election District - - 3 - - 158 - - 160 - - Invalid for Fn 1 -
- Assembly District - - 2 - - 161 - - 162 - - Invalid for Fn 1 -
- Split Election District Flag - - 1 - - 163 - - 163 - - Invalid for Fn 1 -
- Congressional District - - 2 - - 164 - - 165 - - Invalid for Fn 1 -
- State Senatorial District - - 2 - - 166 - - 167 - - Invalid for Fn 1 -
- Civil Court District - - 2 - - 168 - - 169 - - Invalid for Fn 1 -
- City Council District - - 2 - - 170 - - 171 - - Invalid for Fn 1 -
- Health Center District - - 2 - - 172 - - 173 -
- Health Area - - 4 - - 174 - - 177 -
- Sanitation District - - 3 - - 178 - - 180 -
- Sanitation Collection Scheduling Section and Subsection - - 2 - - 181 - - 182 -
- Sanitation Regular Collection Schedule - - 5 - - 183 - - 187 -
- Sanitation Recycling Collection Schedule - - 3 - - 188 - - 190 -
- Police Patrol Borough Command - - 1 - - 191 - - 191 -
- Police Precinct - - 3 - - 192 - - 194 -
- Fire Division - - 2 - - 195 - - 196 -
- Fire Battalion - - 2 - - 197 - - 198 -
- Fire Company Type - - 1 - - 199 - - 199 -
- Fire Company Number - - 3 - - 200 - - 202 -
- Filler - - 1 - - 203 - - 203 - - Was Split Comm School Dist Flag -
- Community School District - - 2 - - 204 - - 205 -
- Atomic Polygon - - 3 - - 206 - - 208 - - Was Dynamic Block -
- Police Patrol Borough - - 2 - - 209 - - 210 -
- Feature Type Code - - 1 - - 211 - - 211 -
- Segment Type Code - - 1 - - 212 - - 212 -
- Alley or Cross Street List Flag - - 1 - - 213 - - 213 - - A - Alley Split X - Cross Street -
List Modified -
- Coincidence Segment Count - - 1 - - 214 - - 214 -
- Filler - - 2 - - 215 - - 216 -
- Borough of Census Tract - - 1 - - 217 - - 217 - - Internal -
- 1990 Census Tract - - 6 - - 218 - - 223 -
- 2010 Census Tract - - 6 - - 224 - - 229 -
- 2010 Census Block - - 4 - - 230 - - 233 -
- 2010 Census Block Suffix - - 1 - - 234 - - 234 - - Not Implemented -
- 2000 Census Tract - - 6 - - 235 - - 240 -
- 2000 Census Block - - 4 - - 241 - - 244 -
- 2000 Census Block Suffix - - 1 - - 245 - - 245 -
- Neighborhood Tabulation Area (NTA) - - 4 - - 246 - - 249 -
- DSNY Snow Priority Code - - 1 - - 250 - - 250 - - Dept. of Sanitation -
- DSNY Organic Recycling Schedule - - 5 - - 251 - - 255 - - Dept. of Sanitation -
- DSNY Bulk Pickup Schedule - - 5 - - 256 - - 260 - - Dept. of Sanitation -
- Hurricane Evacuation Zone (HEZ) - - 2 - - 261 - - 262 -
- Filler - - 11 - - 263 - - 273 -
- Underlying Address Number on True Street (for NAPs, Vanity, etc) - - 11 - - 274 - - 284 - - Sort Format -
- Underlying B7SC of True Street (NAPs etc) - - 8 - - 285 - - 292 -
- Segment Identifier - - 7 - - 293 - - 299 -
- Curve Flag - - 1 - - 300 - - 300 -
- -

Work Area 2 (COW) - Functions 1, 1E Extended

-

Block Face Defined by Address Range Along a Street

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FIELD - - SIZE - - POSITION - - COMMENT -
- FROM - - TO -
- Same as Regular Work Area 2 for Functions 1, 1E - - 300 - - 1 - - 300 - -
- List of 4 LGC’s - - 8 - - 301 - - 308 - -
- BOE LGC Pointer - - 1 - - 309 - - 309 -
- Segment Azimuth - - 3 - - 310 - - 312 -
- Segment Orientation - - 1 - - 313 - - 313 -
- SPATIAL COORDINATES OF SEGMENT: - - 42 - - 314 - - 355 -
- X Coordinate, Low Address End - - 7 - - 314 - - 320 - - From Node -
- Y Coordinate, Low Address End - - 7 - - 321 - - 327 -
- Z Coordinate, Low Address End - - 7 - - 328 - - 334 - - Not Implemented -
- X Coordinate, High Address End - - 7 - - 335 - - 341 - - To Node -
- Y Coordinate, High Address End - - 7 - - 342 - - 348 -
- Z Coordinate, High Address End - - 7 - - 349 - - 355 - - Not Implemented -
- SPATIAL COORDINATES OF CENTER OF CURVATURE: - - 21 - - 356 - - 376 -
- X Coordinate - - 7 - - 356 - - 362 -
- Y Coordinate - - 7 - - 363 - - 369 -
- Z Coordinate - - 7 - - 370 - - 376 - - Not Implemented -
- Radius of Circle - - 7 - - 377 - - 383 -
- Secant Location Related to Curve - - 1 - - 384 - - 384 - - L - Left, R - Right -
- Angle to From Node – Beta Value - - 5 - - 385 - - 389 - - Beta & Alpha Used to Calculate Coordinates -
- Angle to To Node – Alpha Value - - 5 - - 390 - - 394 -
- From LION Node ID - - 7 - - 395 - - 401 - - From Node -
- To LION Node ID - - 7 - - 402 - - 408 - - To Node -
- LION KEY FOR VANITY ADDRESS: - - 10 - - 409 - - 418 -
- Borough Code - - 1 - - 409 - - 409 -
- Face Code - - 4 - - 410 - - 413 -
- Sequence Number - - 5 - - 414 - - 418 -
- Side of Street of Vanity Address - - 1 - - 419 - - 419 -
- Split Low House Number - - 11 - - 420 - - 430 -
- Traffic Direction - - 1 - - 431 - - 431 -
- Turn Restrictions - - 10 - - 432 - - 441 - - Not Implemented -
- Fraction for Curve Calculation - - 3 - - 442 - - 444 - - Internal Use -
- Roadway Type - - 2 - - 445 - - 446 -
- Physical ID - - 7 - - 447 - - 453 -
- Generic ID - - 7 - - 454 - - 460 -
- NYPD ID - - 7 - - 461 - - 467 -
- FDNY ID - - 7 - - 468 - - 474 -
- Bike Lane 2 - - 2 - - 475 - - 476 -
- Bike Traffic Direction - - 2 - - 477 - - 478 -
- Filler - - 3 - - 479 - - 481 - - Was Blockface ID, See bytes 730-739 -
- Street Status - - 1 - - 482 - - 482 -
- Street Width - - 3 - - 483 - - 485 -
- Street Width Irregular - - 1 - - 486 - - 486 -
- Bike Lane - - 1 - - 487 - - 487 - - Will be retired. See Bike Lane 2 -
- Federal Classification Code - - 2 - - 488 - - 489 -
- Right Of Way Type - - 1 - - 490 - - 490 -
- List of Second Set of 5 LGCs - - 10 - - 491 - - 500 -
- Legacy Segment ID - - 7 - - 501 - - 507 -
- From Preferred LGCs First Set of 5 - - 10 - - 508 - - 517 -
- To Preferred LGCs First Set of 5 - - 10 - - 518 - - 527 -
- From Preferred LGCs Second Set of 5 - - 10 - - 528 - - 537 -
- To Preferred LGCs Second Set of 5 - - 10 - - 538 - - 547 -
- No Cross Street Calculation Flag - - 1 - - 548 - - 548 -
- Individual Segment Length - - 5 - - 549 - - 553 -
- NTA Name - - 75 - - 554 - - 628 -
- USPS Preferred City Name - - 25 - - 629 - - 653 -
- Latitude - - 9 - - 654 - - 662 -
- Longitude - - 11 - - 663 - - 673 -
- From Actual Segment Node ID - - 7 - - 674 - - 680 -
- To Actual Segment Node ID - - 7 - - 681 - - 687 -
- SPATIAL COORDINATES OF ACTUAL SEGMENT: - - 42 - - 688 - - 729 -
- X Coordinate, Low Address End - - 7 - - 688 - - 694 - - Actual From Node -
- Y Coordinate, Low Address End - - 7 - - 695 - - 701 -
- Z Coordinate, Low Address End - - 7 - - 702 - - 708 - - Not Implemented -
- X Coordinate, High Address End - - 7 - - 709 - - 715 - - Actual To Node -
- Y Coordinate, High Address End - - 7 - - 716 - - 722 -
- Z Coordinate, High Address End - - 7 - - 723 - - 729 - - Not Implemented -
- Blockface ID - - 10 - - 730 - - 739 - - Previously 7 bytes -
- Number of Travel Lanes on the Street - - 2 - - 740 - - 741 -
- Number of Parking Lanes on the Street - - 2 - - 742 - - 743 -
- Number of Total Lanes on the Street - - 2 - - 744 - - 745 -
- Street Width Maximum - - 3 - - 746 - - 748 -
- Filler - - 252 - - 749 - - 1000 -
- Reason Code - - 1 - - 1001 - - 1001 -
- Reason Code Qualifier - - 1 - - 1002 - - 1002 -
- Warning Code Filler - - 2 - - 1003 - - 1004 -
- Return Code - - 2 - - 1005 - - 1006 -
- Number of Cross Streets at Low Address End - - 1 - - 1007 - - 1007 -
- List of Cross Streets at Low Address End (Up to 5 B7SCs) - - 40 - - 1008 - - 1047 - - B7SC-Blank-Filled -
- Number of Cross Streets at High Address End - - 1 - - 1048 - - 1048 -
- List of Cross Streets at High Address End (Up to 5 B7SCs) - - 40 - - 1049 - - 1088 - - B7SC-Blank-Filled -
- List of Cross Street Names at Low Address End - - 160 - - 1089 - - 1248 - - 5 x 32 = 160 Up to 5 Street Names -
- List of Cross Street Names at High Address End - - 160 - - 1249 - - 1408 - - 5 x 32 = 160 Up to 5 Street Names -
- BOE Preferred B7SC - - 8 - - 1409 - - 1416 -
- BOE Preferred Street Name - - 32 - - 1417 - - 1448 -
- Filler - - 52 - - 1449 - - 1500 - -
- -

Work Area 2 (COW) - Functions 1A, BL, BN

-

Property Level Information Defined by Address, BBL or BIN

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FIELD - - SIZE - - POSITION - - COMMENT -
- FROM - - TO -
- Internal Use - - 21 - - 1 - - 21 -
Continuous Parity Indicator /Duplicate Address Indicator12222
Low House Number of Defining Address Range112333Sort Format
- BOROUGH BLOCK LOT (BBL): - - 10 - - 34 - - 43 - - Billing BBL if Condo -
- Borough Code - - 1 - - 34 - - 34 -
- Tax Block - - 5 - - 35 - - 39 -
- Tax Lot - - 4 - - 40 - - 43 -
- Filler for Tax Lot Version Number - - 1 - - 44 - - 44 - - Not Implemented -
- RPAD Self-Check Code (SCC) for BBL - - 1 - - 45 - - 45 -
- Filler - - 1 - - 46 - - 46 -
- RPAD Building Classification Code - - 2 - - 47 - - 48 -
- Corner Code - - 2 - - 49 - - 50 -
- Number of Existing Structures on Lot - - 4 - - 51 - - 54 -
- Number of Street Frontages of Lot - - 2 - - 55 - - 56 -
- Interior Lot Flag - - 1 - - 57 - - 57 -
- Vacant Lot Flag - - 1 - - 58 - - 58 -
- Irregularly-Shaped Lot Flag - - 1 - - 59 - - 59 -
- Marble Hill/Rikers Island Alternate Borough Flag - - 1 - - 60 - - 60 -
- List of Geographic Identifiers (LGI) Overflow Flag - - 1 - - 61 - - 61 - - When = 'E', there are more than 21 addrs for Fns 1A and BL. -
- STROLLING KEY: - - 19 - - 62 - - 80 - - Not Implemented -
- Borough - - 1 - - 62 - - 62 - - Not Implemented -
- 5-Digit Street Code of ‘On’ Street - - 5 - - 63 - - 67 - - Not Implemented -
- Side of Street Indicator - - 1 - - 68 - - 68 - - Not Implemented -
- High House Number – Sort Format - - 11 - - 69 - - 79 - - Not Implemented -
- Filler - - 1 - - 80 - - 80 - - Not Implemented -
- Reserved for Internal Use - - 1 - - 81 - - 81 -
- Building Identification Number (BIN) of Input Address or NAP - - 7 - - 82 - - 88 -
- Condominium Flag - - 1 - - 89 - - 89 - - If condo, = 'C'; -
- Filler - - 1 - - 90 - - 90 -
- DOF Condominium Identification Number - - 4 - - 91 - - 94 -
- Condominium Unit ID Number - - 7 - - 95 - - 101 - - Not Implemented -
- Condominium Billing BBL - - 10 - - 102 - - 111 -
- Filler - Tax Lot Version No. for Billing BBL - - 1 - - 112 - - 112 - - Not Implemented -
- Self-Check Code (SCC) of Billing BBL - - 1 - - 113 - - 113 -
- LOW BBL OF THIS BUILDING'S CONDOMINIUM UNITS: - - 10 - - 114 - - 123 -
- Borough Code - - 1 - - 114 - - 114 - - Condo -
- Tax Block - - 5 - - 115 - - 119 -
- Tax Lot - - 4 - - 120 - - 123 -
- Filler for Tax Lot Version No. of Low BBL - - 1 - - 124 - - 124 - - Not Implemented -
- HIGH BBL OF THIS BUILDING'S CONDOMINIUM UNITS: - - 10 - - 125 - - 134 -
- Borough Code - - 1 - - 125 - - 125 - - Condo -
- Tax Block - - 5 - - 126 - - 130 -
- Tax Lot - - 4 - - 131 - - 134 -
- Filler for Tax Lot Version No. of High BBL - - 1 - - 135 - - 135 - - Not Implemented -
- Filler - - 15 - - 136 - - 150 -
- Cooperative ID Number - - 4 - - 151 - - 154 -
- SBVP (SANBORN MAP IDENTIFIER): - - 8 - - 155 - - 162 -
- Sanborn Borough Code - - 1 - - 155 - - 155 -
- Volume Number - - 2 - - 156 - - 157 -
- Volume Number Suffix - - 1 - - 158 - - 158 -
- Page Number - - 3 - - 159 - - 161 -
- Page Number Suffix - - 1 - - 162 - - 162 -
- DCP Commercial Study Area - - 5 - - 163 - - 167 -
- Tax Map Number Section & Volume - - 5 - - 168 - - 172 -
- Reserved for Tax Map Page Number - - 4 - - 173 - - 176 - - Not Implemented -
- Filler - - 3 - - 177 - - 179 -
- Latitude - - 9 - - 180 - - 188 -
- Longitude - - 11 - - 189 - - 199 -
- X-Y Coordinates of Tax Lot Centroid (Internal to Lot) - - 14 - - 200 - - 213 - - Previously X-Y Coordinates of COGIS Annotation Point -
- Business Improvement District (BID) - - 6 - - 214 - - 219 -
- TPAD BIN Status (for DM job) - - 1 - - 220 - - 220 - - TPAD request -
- TPAD New BIN - - 7 - - 221 - - 227 - - TPAD request -
- TPAD New BIN Status - - 1 - - 228 - - 228 - - TPAD request -
- TPAD Conflict Flag - - 1 - - 229 - - 229 - - TPAD request -
- Filler - - 9 - - 230 - - 238 -
- List of 4 LGCs - - 8 - - 239 - - 246 - - Internal Use -
- Number of Entries in List of Geographic
Identifiers -
- 4 - - 247 - - 250 - - Maximum of 21 entries -
- LIST OF GEOGRAPHIC IDENTIFIERS: - Variable length list of up to 21 entries, - each 53-bytes long, structured as follows: - - 1113 - - 251 - - 1363 - - Maximum of 21 entries, each 53 bytes long: 21x53 = 1,113 -
- Low House Number - - (16) - - (1) - - (16) - - Display format -
- High House Number - - (16) - - (17) - - (32) - - Display format -
- Borough Code - - (1) - - (33) - - (33) - - Start of B7SC -
- 5-Digit Street Code - - (5) - - (34) - - (38) - - Part of B7SC -
- DCP-Preferred Local Group Code (LGC) - - (2) - - (39) - - (40) - - End of B7SC -
- Building Identification Number (BIN) - - (7) - - (41) - - (47) -
- Side of Street Indicator - - (1) - - (48) - - (48) - - L - Left, R - Right -
- Geographic Identifier Entry Type Code - - (1) - - (49) - - (49) - - N - NAP (Simplex)
- G - Complex NAP
- X - Constituent entity
of Complex NAP
- B - NAUB
- F - Frontage
- W - Blank Wall
- Q - Pseudo Addr
- T - Tunnel
- U - Misc. Structure
- V - Vanity Address
- O - Out-of Sequence Address
- Blank - Normal -
- TPAD BIN Status - - (1) - - (50) - - (50) - - TPAD Request -
- Filler - - (3) - - (51) - - (53) -
* End of 53-byte entry * - -
- *** End of Work Area *** (1,363 bytes) - -
- -

Long Work Area 2 (COW) - Functions 1A, BL

-

Property Level Information (BIN Number) Defined by Address, BBL

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Regular Work Area 2 – Functions 1A, BL, BN2461246
Number of Buildings on Tax Lot4247250Maximum of 2,500
LIST OF BUILDINGS ON TAX LOT: Variable length list of up to 2,500 entries; each is 7 bytes long structured as follows:1750025117750Maximum of 2,500 entries, each 7 bytes long. 7 x 2,500 = 17,500
Building Identification Number (BIN)-7-1-7
* End of 7-byte entry *
*** End of Work Area *** (17,750 bytes)"
- -

TPAD Long Work Area 2 (COW) - Functions 1A, BL

-

Property Level Information Defined by Address/BBL

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Regular Work Area 2 – Functions 1A, BL, BN2461246
Number of Buildings on Tax Lot4247250Maximum is 2,187
LIST OF BUILDINGS ON TAX LOT: Variable length list of up to 2,187 entries; each is 8 bytes long, structured as follows:1749625117746Maximum of 2,187 entries, each 8 bytes long. 8 x 2,187 = 17,496
TPAD BIN(7)(1)(7)
TPAD BIN Status(1)(8)(8)
* End of 8-byte entry *
Filler41774717750
- -

Work Area 2 (COW) - Functions 1A, BL, BN Extended

-

Property Level Information Defined by Address, BBL or BIN

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
TOFROM
Same as Regular Work Area 2 – Functions 1A, BL, BN11246
Reason Code1247247Same as Work Area 1
Reason Code Qualifier1248248Same as Work Area 1
Warning Code2249250Not used
Return Code (GRC)2251252Same as Work Area 1
Filler108253360
Number of Entries in List of Geographic Identifiers 4361364Maximum number is 21
LIST OF GEOGRAPHIC IDENTIFIERS: Variable length list of up to 21 entries; each is 116 bytes long, structured as follows:24363652800Maximum of 21 entries, each 116 bytes long: 116 x 21 = 2,436
Low House Number (16) (1) (16)Display format
High House Number (16) (17) (32)Display format
Borough Code (1) (33) (33)Start of B7SC
5-Digit Street Code (5) (34) (38)Part of B7SC
DCP-Preferred Local Group Code (LGC) (2) (39) (40)End of B7SC
Building Identification Number (BIN) (7) (41) (47)
Side of Street Indicator (1) (48) (48)L - Left, R - Right
Geographic Identifier Entry Type Code (1) (49) (49) - N - NAP (Simplex)
- G - Complex NAP
- X - Constituent Entity
 of Complex NAP
- B - NAUB
- F - Frontage
- W - Blank Wall
- Q - Pseudo Address
- T - Tunnel
- U - Misc Structure
- V - Vanity Address
- O - Out-of-Sequence Addr
- Blank - Normal -
TPAD BIN Status (1) (50) (50)TPAD Request
Street Name (Principal Street Name) (32) (51) (82)Based on B7SCin Address List
Filler (34) (83) (116)
* End of 116-byte entry *
*** End of Work Area *** (2,800 bytes)
- -

Work Area 2 (COW) - Function 1B

-

Block Face Information Defined by Address Range Along a Street &
-Property Level Information Defined by Address

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
TOFROM
BLOCK FACE INFORMATION
(Based On Function 1E Extended)
Internal Use21121
Continuous Parity Indicator/Duplicate Address Indicator12222
Low House Number of Block Face112333Sort Format
High House Number of Block Face113444Sort Format
DCP Preferred LGC24546
Number of Cross Streets at Low Address End14747
List of Cross Streets at Low Address End (Up to 5 B5SCs)304877B5SC - Blank-Filled
Number of Cross Streets at High Address End 17878
List of Cross Streets at High Address End (Up to 5 B5SCs)3079108B5SC - Blank-Filled
LION KEY:10109118
Borough Code1109109
Face Code4110113
Sequence Number5114118
Special Address Generated Record Flag1119119
Side of Street Indicator1120120
Segment Length in Feet5121125
Spatial X-Y Coordinates of Address14126139
Reserved for Possible Z Coordinate7140146
Community Development Eligibility Indicator 1147147
Marble Hill/Rikers Island Alternative Borough Flag1148148
DOT Street Light Contractor Area1149149
COMMUNITY DISTRICT:3150152
Community District Borough Code1150150
Community District Number2151152
ZIP Code5153157
Election District3158160
Assembly District2161162
Split Election District Flag1163163
Congressional District2164165
State Senatorial District2166167
Civil Court District2168169
City Council District2170171
Health Center District2172173
Health Area4174177
Sanitation District3178180
Sanitation Collection Scheduling Section and Subsection2181182
Sanitation Regular Collection Schedule5183187
Sanitation Recycling Collection Schedule3188190
Police Patrol Borough Command1191191
Police Precinct3192194
Fire Division2195196
Fire Battalion2197198
Fire Company Type 1199199
Fire Company Number3200202
Filler1203203Was Split Community School District Flag
Community School District2204205
Atomic Polygon3206208Was Dynamic Block
Police Patrol Borough2209210
Feature Type Code1211211
Segment Type Code1212212
Alley or Cross Street List Flag1213213A - Alley Split X - Cross Street List Modified
Coincidence Segment Count1214214
Filler3215217
1990 Census Tract6218223
2010 Census Tract6224229
2010 Census Block4230233
2010 Census Block Suffix1234234Not Implemented
2000 Census Tract6235240
2000 Census Block4241244
2000 Census Block Suffix1245245
Neighborhood Tabulation Area (NTA)4246249
DSNY Snow Priority Code1250250Dept. of Sanitation
DSNY Organic Recycling Schedule5251255Dept. of Sanitation
DSNY Bulk Pickup Schedule5256260Dept. of Sanitation
Hurricane Evacuation Zone (HEZ)2261262
Filler11263273
Underlying Address Number for NAPs11274284Sort Format
Underlying B7SC8285292
Segment Identifier7293299
Curve Flag1300300
List of 4 LGC’s 8301308
BOE LGC Pointer 1309309
Segment Azimuth 3310312
Segment Orientation1313313
SPATIAL COORDINATES OF SEGMENT:42314355
X Coordinate, Low Address End7314320
Y Coordinate, Low Address End7321327
Z Coordinate, Low Address End7328334Not Implemented
X Coordinate, High Address End7335341
Y Coordinate, High Address End7342348
Z Coordinate, High Address End7349355Not Implemented
SPATIAL COORDINATES OF CENTER OF CURVATURE:21356376
X Coordinate 7356362
Y Coordinate 7363369
Z Coordinate 7370376Not Implemented
Radius of Circle7377383
Secant Location Related to Curve1384384L - Left, R - Right
Angle to From Node – Beta Value5385389Beta & Alpha Used to Calculate Coordinates
Angle to To Node – Alpha Value5390394
From LION Node ID7395401
To LION Node ID7402408
LION Key for Vanity Address10409418
Side of Street of Vanity Address1419419
Split Low House Number11420430
Traffic Direction1431431
Turn Restrictions10432441
Fraction for Curve Calculation3442444
Roadway Type2445446
Physical ID7447453
Generic ID7454460
NYPD ID7461467
FDNY ID7468474
Bike Lane 22475476
Bike Traffic Direction2477478
Filler3479481Was Blockface ID See bytes 730-739
Street Status1482482
Street Width3483485
Street Width Irregular1486486
Bike Lane 1487487Will be retired. See Bike Lane 2
Federal Classification Code2488489
Right Of Way Type1490490
List of Second Set of 5 LGCs 10491500
Legacy Segment ID7501507
From Preferred LGCs First Set of 510508517
To Preferred LGCs First Set of 510518527
From Preferred LGCs Second Set of 510528537
To Preferred LGCs Second Set of 510538547
No Cross Street Calculation Flag1548548
Individual Segment Length5549553
NTA Name75554628
USPS Preferred City Name25629653
Latitude9654662
Longitude11663673
- From Actual Segment Node ID7674680
- To Actual Segment Node ID7681687
- SPATIAL COORDINATES OF ACTUAL SEGMENT:42688729
- X Coordinate, Low Address End7688694Actual From Node
- Y Coordinate, Low Address End7695701
- Z Coordinate, Low Address End7702708Not Implemented
- X Coordinate, High Address End7709715Actual To Node
- Y Coordinate, High Address End7716722
- Z Coordinate, High Address End7723729Not Implemented
- Blockface ID10730739
- Number of Travel Lanes on the Street2740741
- Number of Parking Lanes on the Street2742743
- Number of Total Lanes on the Street2744745
- Street Width Maximum3746748
- Filler2527491000
- Reason Code110011001
- Reason Code Qualifier110021002
- Warning Code210031004
- Return Code210051006
- Number of Cross Streets at Low Address End110071007
- List of Cross Streets at Low Address End (Up to 5 B7SCs)4010081047B7SC - Blank Filled
- No. of Cross Streets at High Address End 110481048
- List of Cross Streets at High Address End (Up to 5 B7SCs)4010491088B7SC - Blank Filled
- List of Cross Street Names at Low Address End160108912485 x 32 = 160 Up to 5 Street Names
- List of Cross Street Names at High Address End160124914085 x 32 = 160 Up to 5 Street Names
- BOE Preferred B7SC814091416
- BOE Preferred Street Name3214171448
- Filler5214491500
PROPERTY LEVEL INFORMATION
(Based On Functions 1A, BL, BN Extended)
- Internal Use 2115011521
- Continuous Parity Indicator / Duplicate Address Indicator115221522
- Low House Number of Defining Address Range1115231533Sort Format
- BOROUGH BLOCK LOT (BBL):1015341543Billing BBL if Condo
- Borough Code115341534
- Tax Block515351539
- Tax Lot415401543
- Filler for Tax Lot Version Number115441544Not Implemented
- RPAD Self-Check Code (SCC) for BBL115451545
- Filler115461546
- RPAD Building Classification Code215471548
- Corner Code215491550
- Number of Existing Structures on Lot415511554
- Number of Street Frontages of Lot215551556
- Interior Lot Flag115571557
- Vacant Lot Flag115581558
- Irregularly-Shaped Lot Flag115591559
- Marble Hill/Rikers Island Alternate Borough Flag115601560
- List of Geographic Identifiers Overflow Flag115611561When = 'E', there are more than 21 addrs for Fn 1B (based on Fn 1A)
- STROLLING KEY:1915621580Not Implemented
- Borough115621562
- 5-Digit Street Code of ON- Street515631567
- Side of Street Indicator115681568
- High House Number1115691579Sort Format
- Filler115801580
- Reserved for Internal Use115811581
- Building Identification Number (BIN) of Input Address or NAP715821588
- Condominium Flag115891589If condo, = ‘C’
- Filler115901590
- DOF Condominium Identification Number415911594
- Condominium Unit ID Number715951601Not Implemented
- Condominium Billing BBL1016021611
- Filler - Tax Lot Version No. Billing BBL116121612Not Implemented
- Self-Check Code (SCC) of Billing BBL116131613
- Low BBL of this Building’s Condominium Units1016141623
- Filler - Tax Lot Version No. of Low BBL116241624Not Implemented
- High BBL of this Building’s Condominium Units1016251634
- Filler - Tax Log Version No. of High BBL116351635Not Implemented
- Filler1516361650
- Cooperative ID Number416511654
- SBVP (SANBORN MAP IDENTIFIER):816551662
- Sanborn Borough Code 116551655
- Volume Number216561657
- Volume Number Suffix116581658
- Page Number 316591661
- Page Number Suffix116621662
- DCP Commercial Study Area516631667
- Tax Map Number Section & Volume516681672
- Reserved for Tax Map Page Number416731676Not Implemented
- Filler316771679
- Latitude916801688
- Longitude1116891699
- X-Y Coordinates of Lot Centroid1417001713
- Business Improvement District (BID)617141719
- TPAD BIN Status117201720TPAD Request
- TPAD New BIN717211727TPAD Request
- TPAD New BIN Status117281728TPAD Request
- TPAD Conflict Flag117291729TPAD Request
- Filler917301738
- Internal Use 817391746
- Reason Code117471747
- Reason Code Qualifier117481748
- Warning Code217491750
- Return Code217511752
- Filler10817531860
- Number of Entries in List of Geographic Identifiers418611864Maximum is 21
LIST OF GEOGRAPHIC IDENTIFIERS: Variable length list of up to 21 entries; each is 116 bytes long, structured as follows: 243618654300Maximum is 21 entries. 21 x 116 = 2436
Low House Number16 (1) (16)Display format
- High House Number16 (17) (32)Display format
- Borough Code1 (33) (33)Start of B7SC
- 5-Digit Street Code5 (34) (38)
- DCP-Preferred Local Group Code (LGC)2 (39) (40)
- Building Identification Number7 (41) (47)
- Side of Street Indicator1 (48) (48)L - Left, R - Right
Geographic Identifier Entry Type 
Code1(49)(49)N - NAP (Simplex)
-G - Complex NAP
-X - Constituent Entity of - Complex NAP
-B - NAUB
-F - Frontage
-W - Blank Wall
-Q - Pseudo Address
-T - Tunnel
-U - Misc. Structure
-V - Vanity Address
-O - Out-of-Sequence - Address
-Blank – Normal
TPAD BIN Status1(50)(50)TPAD Request
Street Name32(51)(82)
Filler34(83)(116)
* End of 116-byte entry *
*** End of Work Area *** (4,300 bytes)
- -

Work Area 2 (COW) - Function AP

-

Address Point Information Defined by Address

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
- Internal Use21121
- Continuous Parity Indicator /Duplicate Address Indicator12222
- Low House Number of Defining Address Range112333Sort Format
- BOROUGH BLOCK LOT (BBL):103443Billing BBL if Condo
- Borough Code13434
- Tax Block53539
- Tax Lot44043
- Filler74450
- Number of Existing Structures on Lot45154
- Filler265580
- Reserved for Internal Use18181
- Building Identification Number (BIN) of Input Address or NAP78288
- Condominium Flag18989If condo, = 'C'
- Filler19090
- DOF Condominium Identification Number49194
- Filler795101
- Condominium Billing BBL10102111
- Filler - Tax Lot Version No. for Billing BBL1112112Not Implemented
- Filler1113113
- LOW BBL OF THIS BUILDING�S CONDOMINIUM UNITS:10114123
- Borough Code1114114Condo
- Tax Block5115119
- Tax Lot4120123
- Filler for Tax Lot Version No. of Low BBL1124124Not Implemented
- HIGH BBL OF THIS BUILDING�S CONDOMINIUM UNITS:10125134
- Borough Code1125125Condo
- Tax Block5126130
- Tax Lot4131134
- Filler for Tax Lot Version No. of High BBL1135135Not Implemented
- Filler15136150
- Cooperative ID Number4151154
- Filler22155176
- Filler3177179
- Latitude9180188
- Longitude11189199
- X-Y Coordinates of Address Point14200213
- Filler16214229
- Address Point ID9230238
- List of 4 LGCs - Internal Use8239246Internal Use
- Number of Entries in List of Geographic Identifiers4247250For Fn AP # is '0001'. Always '0001'
- LIST OF GEOGRAPHIC IDENTIFIERS: For Function AP, the list contains one entry. Variable length list of up to 21 entries, each is 53 bytes long, structured as follows:11132511363For Function AP - there is only 1 entry. (Potential Max of 21) 21x53 = 1,113
- Low House Number (16) (1) (16)Display format
- High House Number (16) (17) (32)Display format
- Borough Code (1) (33) (33)Start of B7SC
- 5-Digit Street Code (5) (34) (38)Part of B7SC
- DCP-Preferred Local Group Code (LGC) (2) (39) (40)End of B7SC
- Building Identification Number (BIN) (7) (41) (47)
- Side of Street Indicator (1) (48) (48)L - Left, R - Right
- Geographic Identifier Entry Type Code (1) (49) (49)V - Vanity Address Blank - Normal
Filler (4) (50) (53)
* End of 53-byte entry *
- *** End of Work Area *** (1,363 bytes)
- -

Work Area 2 (COW) - Function AP Extended

-

Address Point Information Defined by Address

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEFROMCOMMENT
FROMTO
Same as Regular Work Area 2 – Function AP11246
Reason Code1247247Same as Work Area 1
Reason Code Qualifier1248248Same as Work Area 1
Warning Code2249250Not used
Return Code (GRC)2251252Same as Work Area 1
Filler108253360
Number of Entries in List of Geographic Identifiers 4361364Fn APX # is '0001' Always '0001'
LIST OF GEOGRAPHIC IDENTIFIERS: For Function APX, the list contains one entry Variable length list of up to 21 entries; there is only 1 entry. each is 116 bytes long, structured as follows:24363652800For Function APX – 21 x 116 = 2,436
Low House Number(16)(1)(16)Display format
High House Number(16)(17)(32)Display format
Borough Code(1)(33)(33)Start of B7SC
5-Digit Street Code(5)(34)(38)Part of B7SC
DCP-Preferred Local Group Code (LGC)(2)(39)(40)End of B7SC
Building Identification Number (BIN)(7)(41)(47)
Side of Street Indicator(1)(48)(48)L - Left, R - Right
Geographic Identifier Entry Type Code(1)(49)(49)V - Vanity Address Blank - Normal
Filler(1)(50)(50)
Street Name (Principal Street Name)(32)(51)(82)Based on B7SC in Address List
Filler(34)(83)(116)
* End of 116-byte entry *
*** End of Work Area *** (2,800 bytes)
- -

Work Area 2 (COW) - Function 2

-

Intersection Defined by Two Intersecting Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Internal Use21121
Intersection Replication Counter12222
DCP-Preferred LGC for Street 122324
DCP-Preferred LGC for Street 222526
Number of Intersecting Streets12727
List of Intersecting Streets (Up to five B5SCs, 6 bytes each)302857
Compass Direction for Intersection Key or Counter for Multiple Intersections15858
Atomic Polygon35961Was Dynamic Block
Filler26263
LION Node Number76470
SPATIAL COORDINATES:217191
X Coordinate77177
Y Coordinate77884
Reserved for possible Z Coordinate78591
SBVP1 (SANBORN MAP IDENTIFIER):89299
Borough Code19292
Volume Number29394
Volume Number Suffix19595
Page Number39698
Page Number Suffix19999
SBVP2 (SANBORN MAP IDENTIFIER):8100107
Borough Code1100100
Volume Number2101102
Volume Number Suffix1103103
Page Number3104106
Page Number Suffix1107107
Marble Hill/Rikers Island Alternative Borough Flag1108108
DOT Street Light Contractor Area1109109
COMMUNITY DISTRICT:3110112
Community District Borough Code1110110
Community District Number2111112
ZIP Code5113117
Health Area4118121
Police Patrol Borough Command1122122
Police Precinct3123125
Fire Division2126127
Fire Battalion2128129
Fire Company Type1130130
Fire Company Number3131133
Community School District2134135
2010 Census Tract6136141
1990 Census Tract6142147
List of Pairs of Level Codes10148157Not Implemented
Police Patrol Borough2158159
Assembly District2160161
Congressional District2162163
State Senatorial District2164165
Civil Court District2166167
City Council District2168169
CD Eligibility1170170
Distance Between Duplicate Intersections5171175
2000 Census Tract6176181
Health Center District2182183
Sanitation District3184186
Sanitation Section/Subsection2187188
Filler12189200
- -

Work Area 2 (COW) - Function 2W (Wide)

-

Intersection Defined by Two Intersecting Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as regular work area 2 for Function 22001200
Filler22201222
LGC List for Street 18223230
LGC List for Street 28231238
Turn Restrictions10239248
Preferred LGCs for Intersecting B5SCs10249258
True Replication Counter2259260
List of Up To 20 7-Byte Nodes140261400GRC 03 / Reason B
B7SCs For The Above 20 Nodes – - List of intersecting streets (B7SCs) for node list - (8 byte street code * 4 LGCs * 5 streets * 20 - nodes) - See table below for detail32004013600GRC 03/ B See detail layout below.
Reason Code136013601
Reason Code Qualifier136023602
Warning Code236033604
Return Code236053606
Latitude936073615
Longitude1136163626
Filler37436274000
- -

Detail of List of intersecting streets for node list (bytes 401-3600)

- - - - - - - - - - - - - - - -
LIST OF B7SCS FOR EACH NODE IN NODE LIST -(Up to 20 nodes, - Up to 5 streets per node, - Up to 4 LGCs per street, - 8 bytes per B7SC) -Each node is structured as follows:32004013600GRC 03 /B generates bytes 261-400 & -401-3600
20x5x4x8=3,200
NODE 1 (entire node entry repeats 20 times)
- STREET 1 (entire street entry repeats 5 times)
- B7SC for LGC1
- B7SC for LGC2
- B7SC for LGC3
- B7SC for LGC4
-Note: The first 2 streets may have up to four LGCs defined. As of this release, the remaining 3 streets at each node may have only 1 LGC defined (resulting in 1 B7SC) and the remaining 3 blank.
(160)
-(32)
-(8)
-(8)
-(8)
-(8)
(1)
-(1)
-(1)
-(9)
-(17)
-(25) -
(160)
-(32)
- (8)
-(16)
-(24)
-(32) -
Each street has up to 4 B7SCs. (8x4=32 byte) Each node has up to 5 streets (32x5=160) -Each situation has up to 20 nodes -(160x20=3200)
- -

Work Area 2 (COW) - Function 3

-

Street Segment Defined By 'On' and Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Internal Use21121
Duplicate Key Flag or Continuous Parity12222
Locational Status of Segment12323
County Boundary Indicator12424
DCP-Preferred LGC for Street 122526‘On’ Street
DCP-Preferred LGC for Street 222728Input Cross Street with Lower B5SC value
DCP-Preferred LGC for Street 322930Input Cross Street with Higher B5SC value
Number of Cross Streets at Low Address End13131
List of Cross Streets at Low Address End (Up to five B5SCs, 6 bytes each)303261Blank Filled
Number of Cross Streets at High Address End16262
List of Cross Streets at High Address End (Up to five B5SCs, 6 bytes each)306392Blank Filled
Cross Street Reversal Flag19393
LION KEY1094103
LION Borough Code19494
LION Face Code49598
LION Sequence Number599103
Generated Record Flag1104104
Length of Segment in Feet5105109
Segment Azimuth3110112
Segment Orientation1113113
Marble Hill/Rikers Island Alternative Borough Flag1114114
From Node7115121
To Node7122128
DSNY Snow Priority Code1129129Dept. of Sanitation
Filler4130133
Segment Identifier7134140
- DOT Street Light Contractor Area - - 1 - - 141 - - 141 -
- Curve Flag - - 1 - - 142 - - 142 -
- Dog Leg Flag - - 1 - - 143 - - 143 -
- Feature Type Code - - 1 - - 144 - - 144 -
- Segment Type Code - - 1 - - 145 - - 145 -
- Coincident Segment Count - - 1 - - 146 - - 146 -
- Filler - - 4 - - 147 - - 150 -
- LEFT SIDE: -
- COMMUNITY DISTRICT: - - 3 - - 151 - - 153 -
- Community District Borough Code - - 1 - - 151 - - 151 -
- Community District Number - - 2 - - 152 - - 153 -
- Low House Number - - 16 - - 154 - - 169 - - Display Format -
- High House Number - - 16 - - 170 - - 185 - - Display Format -
- Future Use - - 32 - - 186 - - 217 -
- Community Development Eligibility Indicator - - 1 - - 218 - - 218 -
- ZIP Code - - 5 - - 219 - - 223 -
- Health Area - - 4 - - 224 - - 227 -
- Police Patrol Borough Command - - 1 - - 228 - - 228 -
- Police Precinct - - 3 - - 229 - - 231 -
- Fire Division - - 2 - - 232 - - 233 -
- Fire Battalion - - 2 - - 234 - - 235 -
- Fire Company Type - - 1 - - 236 - - 236 -
- Fire Company Number - - 3 - - 237 - - 239 -
- Community School District - - 2 - - 240 - - 241 -
- Atomic Polygon - - 3 - - 242 - - 244 - - Was Dynamic Block -
- Election District (ED) - - 3 - - 245 - - 247 -
- Assembly District (AD) - - 2 - - 248 - - 249 -
- Police Patrol Borough - - 2 - - 250 - - 251 -
- Filler - - 1 - - 252 - - 252 -
- Borough Code - - 1 - - 253 - - 253 -
- 1990 Census Tract - - 6 - - 254 - - 259 -
- 2010 Census Tract - - 6 - - 260 - - 265 -
- 2010 Census Block - - 4 - - 266 - - 269 -
- 2010 Census Block Suffix - - 1 - - 270 - - 270 - - Not Implemented -
- 2000 Census Tract - - 6 - - 271 - - 276 -
- 2000 Census Block Suffix - - 1 - - 281 - - 281 -
- Filler - - 7 - - 282 - - 288 - - Was Blockface ID. See Function 3 Extended -
- Neighborhood Tabulation Area (NTA) - - 4 - - 289 - - 292 -
- Filler - - 8 - - 293 - - 300 -
- RIGHT SIDE: -
- COMMUNITY DISTRICT: - - 3 - - 301 - - 303 -
- Community District Borough Code - - 1 - - 301 - - 301 -
- Community District Number - - 2 - - 302 - - 303 -
- Low House Number - - 16 - - 304 - - 319 - - Display Format -
- High House Number - - 16 - - 320 - - 335 - - Display Format -
- Future Use - - 32 - - 336 - - 367 -
- Community Development Eligibility Indicator - - 1 - - 368 - - 368 -
- ZIP Code - - 5 - - 369 - - 373 -
- Health Area - - 4 - - 374 - - 377 -
- Police Patrol Borough Command - - 1 - - 378 - - 378 -
- Police Precinct - - 3 - - 379 - - 381 -
- Fire Division - - 2 - - 382 - - 383 -
- Fire Battalion - - 2 - - 384 - - 385 -
- Fire Company Type - - 1 - - 386 - - 386 -
- Fire Company Number - - 3 - - 387 - - 389 -
- Community School District - - 2 - - 390 - - 391 -
- Atomic Polygon - - 3 - - 392 - - 394 - - Was Dynamic Block -
- Election District (ED) - - 3 - - 395 - - 397 -
- Assembly District (AD) - - 2 - - 398 - - 399 -
- Police Patrol Borough - - 2 - - 400 - - 401 -
- Filler - - 1 - - 402 - - 402 -
- Borough Code - - 1 - - 403 - - 403 - - Internal Use -
- 1990 Census Tract - - 6 - - 404 - - 409 -
- 2010 Census Tract - - 6 - - 410 - - 415 -
- 2010 Census Block - - 4 - - 416 - - 419 -
- 2010 Census Block Suffix - - 1 - - 420 - - 420 - - Not Implemented -
- 2000 Census Tract - - 6 - - 421 - - 426 -
- 2000 Census Block - - 4 - - 427 - - 430 -
- 2000 Census Block Suffix - - 1 - - 431 - - 431 -
- Filler - - 7 - - 432 - - 438 - - Was Blockface ID See Function 3 Extended -
- Neighborhood Tabulation Area (NTA) - - 4 - - 439 - - 442 -
- Filler - - 8 - - 443 - - 450 -
- -

Work Area 2 (COW) - Function 3 with Auxiliary Segment List

-

Street Segment Defined By 'On' and Two Cross Streets (List of Segment IDs)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FIELD - - SIZE - - POSITION - - COMMENT -
- FROM - - TO -
- Same as Regular Work Area 2 for Function 3 - - 450 - - 1 - - 450 -
- Filler - - 6 - - 451 - - 456 -
- Segment Count - - 4 - - 457 - - 460 - - Number of Segments -
- Segment IDs - - 490 - - 461 - - 950 - - Up to 70 Segment IDs 7 bytes each; 7 x 70 = 490 -
- -

Work Area 2 (COW) - Function 3 Extended

-

Street Segment Defined By 'On' and Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FIELD - - SIZE - - POSITION - - COMMENT -
- FROM - - TO -
- Same as Regular Work Area 2 Function 3 - - 450 - - 1 - - 450 -
- List of 4 LGCs for Street 1 - - 8 - - 451 - - 458 - - ‘On’ Street -
- List of 4 LGCs for Street 2 - - 8 - - 459 - - 466 - - Input Cross Street with Lower B5SC -
- List of 4 LGCs for Street 3 - - 8 - - 467 - - 474 - - Input Cross Street with Higher B5SC -
- Left Health Center District - - 2 - - 475 - - 476 -
- Right Health Center District - - 2 - - 477 - - 478 -
- Filler - - 1 - - 479 - - 479 - - Was Split Comm Schl District Flag -
- Traffic Direction - - 1 - - 480 - - 480 -
- Roadway Type - - 2 - - 481 - - 482 -
- Physical ID - - 7 - - 483 - - 489 -
- Generic ID - - 7 - - 490 - - 496 -
- NYPD ID - - 7 - - 497 - - 503 -
- FDNY ID - - 7 - - 504 - - 510 -
- Street Status - - 1 - - 511 - - 511 -
- Street Width - - 3 - - 512 - - 514 -
- Street Width Irregular - - 1 - - 515 - - 515 - - Not Implemented -
- Bike Lane - - 1 - - 516 - - 516 - - Will be retired. See Bike Lane 2 -
- Federal Classification Code - - 2 - - 517 - - 518 - - Not Implemented -
- Right of Way Type - - 1 - - 519 - - 519 -
- List of 5 Additional LGCs for Street 1 - - 10 - - 520 - - 529 - - Not Implemented -
- Legacy ID - - 7 - - 530 - - 536 -
- Left NTA Name - - 75 - - 537 - - 611 -
- Right NTA Name - - 75 - - 612 - - 686 -
- FROM SPATIAL COORDINATES: - - 14 - - 687 - - 700 - - From Node -
- From X Coordinate - - 7 - - 687 - - 693 -
- From Y Coordinate - - 7 - - 694 - - 700 -
- TO SPATIAL COORDINATES: - - 14 - - 701 - - 714 - - To Node -
- To X Coordinate - - 7 - - 701 - - 707 -
- To Y Coordinate - - 7 - - 708 - - 714 -
- Latitude of From Intersection - - 9 - - 715 - 713
Longitude of From Intersection11724734
Latitude of To Intersection9735743
Longitude of To Intersection11744754
Left Blockface ID10755764
Right Blockface ID10765774
Number of Travel Lanes on the Street2775776
Number of Parking Lanes on the Street2777778
Number of Total Lanes on the Street2779780
Bike Lane 22781782
Street Width Maximum3783785
Bike Traffic Direction2786787
Filler2137881000
- -

Work Area 2 (COW) - Function 3 Extended with Auxiliary Segment List

-

Street Segment Defined by 'On' and Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Work Area 2 for Function 3 Extended100011000
Filler610011006
Segment Count410071010Number of Segments
Segment IDs49010111500Up to 70 Segment IDs 7 bytes each; 7 x 70 = 490
- -

Work Area 2 (COW) - Function 3C

-

Block Face Defined by 'On' and Two Cross Streets and Compass Direction

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- FIELD - - SIZE - - POSITION - - COMMENT -
- FROM - - TO -
- Internal Use - - 21 - - 1 - - 21 -
- Duplicate Key Flag or Continuous Parity - - 1 - - 22 - - 22 -
- Locational Status of Segment - - 1 - - 23 - - 23 -
- County Boundary Indicator - - 1 - - 24 - - 24 -
- DCP-Preferred LGC for Street 1 - - 2 - - 25 - - 26 - - ‘On’ Street -
- DCP-Preferred LGC for Street 2 - - 2 - - 27 - - 28 - - Input Cross Street with Lower B5SC value -
- DCP-Preferred LGC for Street 3 - - 2 - - 29 - - 30 - - Input Cross Street with Higher B5SC value -
- No. of Cross Streets at Low Addr End - - 1 - - 31 - - 31 -
- List of Cross Streets at Low Address End (Up to five B5SCs, 6 bytes each) - - 30 - - 32 - - 61 - - Blank Filled -
- No. of Cross Streets at High Addr End - - 1 - - 62 - - 62 -
- List of Cross Streets at High Address End (Up to five B5SCs, 6 bytes each) - - 30 - - 63 - - 92 - - Blank Filled -
- Cross Street Reversal Flag - - 1 - - 93 - - 93 -
- LION KEY - - 10 - - 94 - - 103 -
- LION Borough Code - - 1 - - 94 - - 94 -
- LION Face Code - - 4 - - 95 - - 98 -
- LION Sequence Number - - 5 - - 99 - - 103 -
- Generated Record Flag - - 1 - - 104 - - 104 -
- Length of Segment in Feet - - 5 - - 105 - - 109 -
- Segment Azimuth - - 3 - - 110 - - 112 -
- Segment Orientation - - 1 - - 113 - - 113 -
- Marble Hill/Rikers Island Alternative Borough Flag - - 1 - - 114 - - 114 -
- From Node - - 7 - - 115 - - 121 -
- To Node - - 7 - - 122 - - 128 -
- DSNY Snow Priority Code - - 1 - - 129 - - 129 - - Dept. of Sanitation -
- Filler - - 4 - - 130 - - 133 -
- Segment Identifier - - 7 - - 134 - - 140 -
- DOT Street Light Contractor Area - - 1 - - 141 - - 141 -
- Side-of-Street Indicator - - 1 - - 142 - - 142 -
Curve Flag1143143
Feature Type Code1144144
Segment Type Code1145145
Coincident Segment Count1146146
Filler4147150
COMMUNITY DISTRICT:3151153
Community District Borough Code1151151
Community District Number2152153
Low House Number16154169Display Format
High House Number16170185Display Format
Future Use32186217
Community Development Eligibility Indicator1218218
ZIP Code5219223
Health Area4224227
Police Patrol Borough Command1228228
Police Precinct3229231
Fire Division2232233
Fire Battalion2234235
Fire Company Type1236236
Fire Company Number3237239
Community School District2240241
Atomic Polygon3242244Was Dynamic Block
Election District (ED)3245247
Assembly District (AD)2248249
Police Patrol Borough2250251
Filler1252252
Borough Code1253253Internal Use
1990 Census Tract6254259
2010 Census Tract6260265
2010 Census Block4266269
2010 Census Block Suffix1270270Not Implemented
2000 Census Tract6271276
2000 Census Block4277280
2000 Census Block Suffix1281281
Filler7282288 Was Blockface ID See Function 3C Extended
Neighborhood Tabulation Area (NTA)4289292
Filler8293300
- -

Work Area 2 (COW) - Function 3C with Auxiliary Segment List

-

Block Face Defined by 'On' and Two Cross Streets and Compass Direction

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Regular Work Area 2 for Function 3C3001300
Filler6301306
Segment Count4307310Number of Segments
Segment IDs490311800 Up to 70 Segment IDs; 7 bytes each 7 x 70 = 490
- -

Work Area 2 (COW) - Function 3C Extended

-

Block Face Defined by 'On' Street, Two Cross Streets and Compass Direction

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Regular Work Area 2 Function 3C3001300
List of 4 LGCs for Street 1 8301308‘On’ Street
List of 4 LGCs for Street 28309316Input Cross Street with Lower B5SC
List of 4 LGCs for Street 3 8317324Input Cross Street with Higher B5SC
Left Health Center District2325326
Right Health Center District2327328
Filler1329329Was Split Community School District Flag
Traffic Direction 1330330
Roadway Type2331332
Physical ID7333339
Generic ID7340346
NYPD ID7347353
FDNY ID7354360
Street Status1361361
Street Width3362364
Street Width Irregular1365365Not Implemented
Bike Lane1366366Will be retired See Bike Lane 2
Federal Classification Code2367368Not Implemented
Right Of Way Type1369369
List of 5 Additional LGCs for Street 1 10370379Not Implemented
Legacy ID7380386
NTA Name75387461
FROM SPATIAL COORDINATES: 14462475From Node
From X Coordinate7462468
From Y Coordinate7469475
TO SPATIAL COORDINATES:14476489To Node
To X Coordinate7476482
To Y Coordinate7483489
Latitude of From Intersection9490498From Node
Longitude of From Intersection11499509
Latitude of To Intersection9510518To Node
Longitude of To Intersection11519529
Blockface ID10530539
Number of Travel Lanes on the Street2540541
Number of Parking Lanes on the Street2542543
Number of Total Lanes on the Street2544545
Bike Lane 22546547
Street Width Maximum3548550
Bike Traffic Direction2551552
Filler298553850
- -

Work Area 2 (COW) - Function 3C Extended with Auxiliary Segment List

-

Street Segment Defined By 'On' Street and Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Same as Work Area 2 for Function 3C Extended8501850
Filler6851856
Segment Count4857860Number of Segments
Segment IDs4908611350 Up to 70 Segment IDs 7 bytes each 7 x 70 = 490
- -

Work Area 2 (COW) - Function 3S

-

Street Stretch Defined by 'On' Street and Optionally Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FIELDSIZEPOSITIONCOMMENT
FROMTO
Internal Use212
Generic/Roadbed Street Name Indicator133G - Generic R - Roadbed
Borough Code144
5-Digit Street Code of 'On' Street559
LGC21011
Filler101221Always Blank
Number of Intersections32224Maximum of 350
LIST OF INTERSECTIONS: -Variable length list of up to 350 entries; -each is 55 bytes long, structured as follows:192502519274Max. of 350 entries, each 55 bytes long: 350 x 55 = 19,250
Marble Hill/Rikers Island Flag(1)(1)(1)
Distance from previous intersection in list(5)(2)(60)
Gap Flag (1) (7) (7)
Node Number (7) (8) (14)
Number of streets at this intersection (1) (15) (15)
List of Cross Streets at this Intersection (Up to 5 B7SCs) (40) (16) (55)B7SC = B5SC + DCP Preferred LGC
* End of 55-byte entry *
*** End of Work Area *** (19,274 bytes)
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix14/index.html b/site/appendices/appendix14/index.html deleted file mode 100644 index 7cc64520..00000000 --- a/site/appendices/appendix14/index.html +++ /dev/null @@ -1,9023 +0,0 @@ - - - - - - - - - - - - Appendix 14: Geosupport Copy Files (COW) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 14: Geosupport Copy Files (COW)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 14: GEOSUPPORT COPY FILES (COW)

- -

This appendix contains printouts of the Geosupport COW COPY files for COBOL, Assembler, PL/1, C and NATURAL. (For C, COPY files take the form of header files. For NATURAL, COPY files take the form of Local Data Areas.)

-

The Geosupport COPY files contain source code layouts of the Geosupport work areas. These files are stored in a COPY library that can be accessed by user application programs at compile time. Each supported programming language has an appropriate declarative statement for referencing COPY files at compile time. The Geosupport COPY files are listed in the following table.

-

GEOSUPPORT SYSTEM WORK AREA COPY FILES (COW)

-

Table 14-1: COW COPY Files for COBOL, Assembler, PL/1, C and NATURAL

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COW WORK AREAFUNCTION(S)LENGTH (bytes)- - - - - - - - - - - COPY File Name - - - - - - - - - - -
COBOLASSEMBLERPL/1CNATURAL
WA1All1,200P1COBP1BALP1PL1PACGEOLP1
WA21 & 1E (Regular WA2), 3C (Regular WA2)300P2COBP2BALP2PL1PACGEOLP2
WA22200P2COBP2BALP2PL1PACGEOLP2
WA23 (Regular WA2)450P2COBP2BALP2PL1PACGEOLP2
WA23 (WA2 with AUXSEG option)950P2COBP2BALP2PL1PACGEOLP2
WA23C (WA2 with AUXSEG option)800P2COBP2BALP2PL1PACGEOLP2
WA23 (Extended WA2)1,000P2COBP2BALP2PL1PACGEOLP2
WA23C (Extended WA2)850P2COBP2BALP2PL1PACGEOLP2
WA23 (Extended WA2 w/AUXSEG)1,500P2COBP2BALP2PL1PACGEOLP2
WA23C (Extended WA2 w/AUXSEG)1,350P2COBP2BALP2PL1PACGEOLP2
WA21A & BL (Regular WA2), BN (✶)1,363P2COB1AP2BAL1AP2PL11APACGEOLP21A
WA21A & BL (Long WA2) (✶✶) 1A & BL (TPAD Long WA2) (✶✶✶)17,750P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21A & BL & BN (Extended WA2) (✶✶✶✶)2,800P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21 & 1E (Extended WA2)1,500P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21B4,300P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA23S19,274P2COB3SP2BAL3SP2PL13SPACGEOLP23S
WA2AP1,363P2COBAPP2BALAPP2PL1APPACGEOL2AP
WA2AP (Extended WA2)2,800P2COBAPP2BALAPP2PL1APPACGEOL2APX
- -

(✶) Functions 1A, BL and BN share a single regular WA2 layout.
-(✶✶) Functions 1A and BL share a single long WA2 layout. (Function BN has no long WA2 option.).
-(✶✶✶) Functions 1A and BL share a single TPAD long WA2 layout. (Function BN has no TPAD long WA2 option.).
-(✶✶✶✶) Functions 1A, BL and BN share a single extended WA2 layout.

-

See Chapter VIII.4 for a detailed discussion of the Geosupport COPY feature.

-

COBOL COPY Files (COW)

-

P1COB COPY File

-
*******************************************************************  00010010
-**** LAST UPDATED OCTOBER 2016                                  ***  00020021
-**** OCT. 2016 ADDED UNIT IN INPUT AND OUTPUT V16.4             ***  00020121
-**** THIS IS THE COBOL STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM ***  00021021
-**** INDEPENDENT WORK AREA 1.                                   ***  00030010
-**** COPY FILE - P1COB.                              04/07/98   ***  00040010
-*******************************************************************  00050010
-****               INPUT FIELDS                                ****  00060010
-*******************************************************************  00070010
-         05  PIWA1-IN-FUNC-CODE                 PIC X(2).            00080010
-         05  GEO-WA1-IN-FUNCTION-CODE REDEFINES PIWA1-IN-FUNC-CODE.  00090010
-            10  GEO-WA1-IN-FUNCTION-1           PIC X.               00100010
-            10  GEO-WA1-IN-FUNCTION-2           PIC X.               00110010
-         05  PIWA1-IN-HOUSENUM-DISPLAY          PIC X(16).           00120010
-         05  GEO-WA1-IN-HOUSENUM-DISPLAY REDEFINES                   00130010
-             PIWA1-IN-HOUSENUM-DISPLAY.                              00140010
-           10  GEO-WA1-IN-HOUSENUM              PIC X(12).           00150010
-           10  FILLER                           PIC X(4).            00160010
-         05  PIWA1-IN-HOUSENUM-SORT             PIC X(11).           00170010
-         05  PIWA1-IN-LOW-HOUSENUM-DISPLAY      PIC X(16).           00180010
-         05  GEO-WA1-IN-LO-HOUSENUM-DISPLAY REDEFINES                00190010
-             PIWA1-IN-LOW-HOUSENUM-DISPLAY.                          00200010
-           10  GEO-WA1-IN-LOW-HOUSENUM          PIC X(12).           00210010
-           10  FILLER                           PIC X(4).            00220010
-         05  PIWA1-IN-LOW-HOUSENUM-SORT         PIC X(11).           00230010
-         05  GEO-WA1-IN-10SC-1.                                      00240010
-           10  GEO-WA1-IN-BORO                  PIC X.               00250010
-           10  PIWA1-IN-10SC-1                  PIC X(10).           00260010
-         05  GEO-WA1-IN-STREET-1                PIC X(32).           00270010
-         05  GEO-WA1-IN-10SC-2.                                      00280010
-           10  GEO-WA1-IN-BORO-2                PIC X.               00290010
-           10  PIWA1-IN-10SC-2                  PIC X(10).           00300010
-         05  GEO-WA1-IN-STREET-2                PIC X(32).           00310010
-         05  GEO-WA1-IN-10SC-3.                                      00320010
-           10  GEO-WA1-IN-BORO-3                PIC X.               00330010
-           10  PIWA1-IN-10SC-3                  PIC X(10).           00340010
-         05  GEO-WA1-IN-STREET-3                PIC X(32).           00350010
-         05  GEO-WA1-IN-BBL.                                         00360010
-            10  GEO-WA1-IN-BL-BORO              PIC X.               00370010
-            10  GEO-WA1-IN-BLOCKNUM             PIC X(5).            00380010
-            10  GEO-WA1-IN-LOTNUM               PIC X(5).            00390010
-         05  PIWA1-IN-BIN                       PIC X(7).            00400010
-         05  GEO-WA1-IN-COMPASS.                                     00410010
-           10  PIWA1-IN-COMPASS1                PIC X.               00420010
-           10  PIWA1-IN-COMPASS2                PIC X.               00430010
-         05  PIWA1-IN-NODE                      PIC X(7).            00440018
-         05  GEO-WA1-IN-NON-IBM-MAIN-FRAME      PIC X(1).            00450010
-         05  GEO-WA1-IN-ZIPIN                   PIC X(5).            00460010
-         05  GEO-WA1-IN-UNIT                    PIC X(14).           00471021
-         05  FILLER                             PIC X(82).           00471121
-   ***** 05  FILLER   V16.4                     PIC X(96).           00472021
-         05  GEO-WA1-IN-LONG-WORKAREA2-FLAG     PIC X.               00480010
-         05  PIWA1-IN-HSE-NBR-JUSTIFY           PIC X.               00490010
-         05  PIWA1-IN-HNL                       PIC X(2).            00500010
-         05  PIWA1-IN-HSE-NBR-OVER-FLAG         PIC X.               00510010
-         05  GEO-WA1-IN-SNL                     PIC X(2).            00520010
-         05  GEO-WA1-IN-COMPACT-NAME-FLAG       PIC X.               00530010
-         05  GEO-WA1-IN-XSTREET-FLAG            PIC X.               00540010
-         05  PIWA1-IN-ROADBED-REQ-SWITCH        PIC X.               00550010
-         05  PIWA1-IN-INTERNAL-USE-LEGACY       PIC X.               00560010
-         05  PIWA1-IN-SEGAUX-SWITCH             PIC X.               00570010
-         05  PIWA1-IN-BROWSE-FLAG               PIC X.               00580010
-         05  PIWA1-IN-REAL-STREET-ONLY          PIC X.               00590010
-         05  PIWA1-IN-TPAD-SWITCH               PIC X.               00600010
-         05  PIWA1-IN-MODE-SWITCH               PIC X.               00601013
-         05  PIWA1-IN-WTO-SWITCH                PIC X.               00602016
-         05  FILLER                             PIC X(29).           00610017
-******************************************************************** 00620010
-*****               OUTPUT FIELDS                              ***** 00630010
-******************************************************************** 00640010
-         05  GEO-WA1-OUT-BORONAME               PIC X(9).            00650010
-         05  PIWA1-OUT-HOUSENUM-DISPLAY         PIC X(16).           00660010
-         05  GEO-WA1-OUT-HOUSENUM-DISPLAY REDEFINES                  00670010
-             PIWA1-OUT-HOUSENUM-DISPLAY.                             00680010
-           10  GEO-WA1-OUT-HOUSENUM             PIC X(12).           00690010
-           10  FILLER                           PIC X(4).            00700010
-         05  PIWA1-OUT-HOUSENUM-SORT            PIC X(11).           00710010
-         05  GEO-WA1-OUT-10SC-1                 PIC X(11).           00720010
-         05  GEO-WA1-OUT-STREET-1               PIC X(32).           00730010
-         05  GEO-WA1-OUT-10SC-2                 PIC X(11).           00740010
-         05  GEO-WA1-OUT-STREET-2               PIC X(32).           00750010
-         05  GEO-WA1-OUT-10SC-3                 PIC X(11).           00760010
-         05  GEO-WA1-OUT-STREET-3               PIC X(32).           00770010
-         05  GEO-WA1-OUT-BBL.                                        00780010
-            10  GEO-WA1-OUT-BBL-BORO            PIC X.               00790010
-            10  GEO-WA1-OUT-BLOCKNUM            PIC X(5).            00800010
-            10  GEO-WA1-OUT-LOTNUM              PIC X(5).            00810010
-         05  PIWA1-OUT-LOW-HN-DISPLAY           PIC X(16).           00820010
-         05  GEO-WA1-OUT-LOW-HN-DISPLAY REDEFINES                    00830010
-             PIWA1-OUT-LOW-HN-DISPLAY.                               00840010
-           10  GEO-WA1-OUT-LOW-HOUSENUM         PIC X(12).           00850012
-           10  FILLER                           PIC X(4).            00860010
-         05  PIWA1-OUT-LOW-HN-SORT              PIC X(11).           00870010
-         05  GEO-WA1-OUT-BIN                    PIC X(7).            00880010
-         05  GEO-WA1-OUT-STREET-ATTR OCCURS 3 TIMES PIC X.           00890010
-         05  GEO-WA1-OUT-REASON-CODE2           PIC X.               00891013
-         05  GEO-WA1-OUT-REASON-CODE-QUAL-2     PIC X.               00891115
-         05  GEO-WA1-OUT-WARNING-CODE2          PIC XX.              00893013
-         05  GEO-WA1-OUT-RETURN-CODE2.                               00894013
-            10  GEO-WA1-OUT-RC2-1               PIC X.               00895013
-            10  GEO-WA1-OUT-RC2-2               PIC X.               00896013
-         05  GEO-WA1-OUT-ERROR-MESSAGE2         PIC X(80).           00897013
-         05  PIWA1-OUT-NODE                     PIC X(7).            00899019
-         05  PIWA1-OUT-UNIT-SORT.                                    00899122
-            10  PIWA1-OUT-UNIT-TYPE             PIC X(4).            00899221
-            10  PIWA1-OUT-UNIT-ID               PIC X(10).           00899321
-         05  PIWA1-OUT-UNIT-DISP                PIC X(14).           00899421
-         05  FILLER                             PIC X(17).           00900021
-   ***** 05  FILLER   V16.4                     PIC X(45).           00901021
-         05  GEO-WA1-OUT-SND-ATTR               PIC X.               00910010
-         05  GEO-WA1-OUT-REASON-CODE            PIC X.               00920010
-         05  GEO-WA1-OUT-REASON-CODE-QUAL       PIC X.               00921014
-         05  GEO-WA1-OUT-WARNING-CODE           PIC XX.              00940010
-         05  GEO-WA1-OUT-RETURN-CODE.                                00950010
-            10  GEO-WA1-OUT-RC-1                PIC X.               00960010
-            10  GEO-WA1-OUT-RC-2                PIC X.               00970010
-         05  GEO-WA1-OUT-ERROR-MESSAGE          PIC X(80).           00980010
-         05  PIWA1-OUT-NUM-SIMILAR-STRS         PIC X(2).            00990010
-         05  PIWA1-OUT-SIMILAR-B7SC             PIC X(8)             01000010
-                           OCCURS 10 TIMES.                          01010010
-         05  GEO-WA1-OUT-SIMILAR-NAMES          PIC X(32)            01020010
-                           OCCURS 10 TIMES.                          01030010
-
-

P2COB COPY File

-
******************************************************************   00010032
-****                     P2COB                                  **   00011082
-****          LAST MODIFIED DECEMBER 2016                       **   00012082
-**** ADD NEW 2 BYTE BIKE TRAFFIC DIRECTION    YNL 12/16 V17,1   **   00013082
-**** THIS IS THE COBOL- STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM**   00020032
-**** INDEPENDENT WORK AREA 2 FOR FUNCTIONS: 1, 1E, 2, 2C, 3,    **   00030032
-**** 3C, AND 5.                                                 **   00040032
-****                                                            **   00050032
-**** COPY FILE - P2COB.                                         **   00060032
-**** PLEASE NOTE THAT FUNCTIONS 1 AND 1E SHARE A SINGLE         **   00070032
-**** WORK AREA 2 LAYOUT, AND FUNCTIONS 2 AND 2C ALSO            **   00080032
-**** SHARE A SINGLE WORK AREA 2 LAYOUT.              04/03/01   **   00090032
-******************************************************************   00100032
-****              LAST MODIFIED FEBRUARY 2016                   **   00110078
-******************************************************************   00120032
-                                                                     00130032
-        05  PIWA2                              PIC X(7000).          00140066
-                                                                     00150032
-******************************************************************   00160032
-****     FOR: FUNCTIONS 1 & 1E      ******************************   00170032
-                                                                     00180032
-        05  PIWA2-FUNCTION1   REDEFINES PIWA2.                       00190032
-           10  GEO-WA2-FN1-ACCESS-KEY          PIC X(21).            00200032
-           10  GEO-WA2-FN1-CONT-PARITY         PIC X.                00210032
-           10  PIWA2-FN1-LOW-HOUSENUM-SORT     PIC X(11).            00220032
-           10  PIWA2-FN1-HI-HOUSENUM-SORT      PIC X(11).            00230032
-           10  GEO-WA2-FN1-PREFERRED-LGC       PIC X(2).             00240032
-           10  GEO-WA2-FN1-NUM-X-ST-LOW-END    PIC X.                00250032
-           10  PIWA2-FN1-LOW-B5SC              PIC X(6)              00260032
-                                                 OCCURS 5 TIMES.     00270032
-           10  GEO-WA2-FN1-NUM-X-ST-HI-END       PIC X.              00280032
-           10  PIWA2-FN1-HI-B5SC               PIC X(6)              00290032
-                                                 OCCURS 5 TIMES.     00300032
-           10  PIWA2-FN1-LIONKEY.                                    00310032
-               15  PIWA2-FN1-LION-BORO         PIC X.                00320032
-               15  GEO-WA2-FN1-LIONFACECODE    PIC X(4).             00330032
-               15  GEO-WA2-FN1-LIONSEQ         PIC X(5).             00340032
-           10  GEO-WA2-FN1-SPECIAL-ADDR-FLAG   PIC X(1).             00350032
-           10  PIWA2-FN1-SIDE-OF-STR           PIC X.                00360032
-           10  GEO-WA2-FN1-SEGMENTLENGTH       PIC X(5).             00370032
-           10  GEO-WA2-FN1-XCOORD              PIC X(7).             00380032
-           10  GEO-WA2-FN1-YCOORD              PIC X(7).             00390032
-           10  FILLER-GSS                      PIC X(8).             00400032
-           10  GEO-WA2-FN1-MARBLE-RIKER-FLAG   PIC X(1).             00410032
-           10  GEO-WA2-FN1-SLA                 PIC X.                00420032
-           10  GEO-WA2-FN1-COMDIST.                                  00430032
-               15  GEO-WA2-FN1-COMDIST-BORO    PIC X(1).             00440032
-               15  GEO-WA2-FN1-COMDIST-NUMBER  PIC X(2).             00450032
-           10  GEO-WA2-FN1-ZIP                 PIC X(5).             00460032
-                                                                     00470032
- ***  THE FN1E FIELDS ARE VALID ONLY FOR FUNCTION 1E, NOT FUNC 1.**  00480032
-           10  GEO-WA2-FN1E-ELECTDIST          PIC X(3).             00490032
-           10  GEO-WA2-FN1E-ASSEMDIST          PIC X(2).             00500032
-           10  GEO-WA2-FN1E-SPLIT-ED-FLAG      PIC X(1).             00510032
-           10  GEO-WA2-FN1E-CONGDIST           PIC X(2).             00520032
-           10  GEO-WA2-FN1E-SENATEDIST         PIC X(2).             00530032
-           10  GEO-WA2-FN1E-COURTDIST          PIC X(2).             00540032
-           10  GEO-WA2-FN1E-COUNCILDIST        PIC X(2).             00550032
-                                                                     00560032
-           10  GEO-WA2-FN1-HCD                 PIC X(2).             00570053
-           10  GEO-WA2-FN1-HEALTHAREA          PIC X(4).             00580053
-           10  GEO-WA2-FN1-SANIDIST.                                 00590032
-               15  GEO-WA2-FN1-SANIDIST-BORO   PIC X(1).             00600032
-               15  GEO-WA2-FN1-SANIDIST-NUMBER PIC X(2).             00610032
-           10  GEO-WA2-FN1-SANITATION-SUBSEC   PIC X(2).             00620032
-           10  GEO-WA2-FN1-SANI-REG            PIC X(5).             00630032
-           10  GEO-WA2-FN1-SANI-REC            PIC X(3).             00640032
-           10  GEO-WA2-FN1-POLICEDIST.                               00650032
-              15 GEO-WA2-FN1-POL-PATR-BORO-CMD PIC X(1).             00660032
-              15 GEO-WA2-FN1-POL-PRECINCT      PIC X(3).             00670032
-   ** NOTE:10  GEO-WA2-FN1-FIRESEC ==> FIRE DIVISION **              00680032
-           10  GEO-WA2-FN1-FIRESEC             PIC X(2).             00690032
-           10  GEO-WA2-FN1-FIREBAT             PIC X(2).             00700032
-           10  GEO-WA2-FN1-FIRECO.                                   00710032
-               15  GEO-WA2-FN1-FIRECO-TYPE     PIC X(1).             00720032
-               15  GEO-WA2-FN1-FIRECO-NUM      PIC X(3).             00730032
-   ***     NEXT LINE WAS PREVIOUSLY SPLIT SCHOOL FLAG                00731044
-           10  GEO-WA2-FN1-FILL-SCHOOL-FLAG    PIC X.                00740044
-           10  GEO-WA2-FN1-SCHOOLDIST          PIC X(2).             00750032
-           10  GEO-WA2-FN1-DYN-BLOCK           PIC X(3).             00760032
-           10  PIWA2-FN1-POLICE-PAT-BORO       PIC X(2).             00770073
-           10  GEO-WA2-FN1-FEATURE-TYPE        PIC X.                00790032
-           10  GEO-WA2-FN1-SEGMENT-TYPE        PIC X.                00800032
-           10  GEO-WA2-FN1-ALX                 PIC X.                00810032
-           10  GEO-WA2-FN1-COINCIDENT-CNT      PIC X.                00820032
-           10  FILLER                          PIC X(2).             00830058
-           10  PIWA2-FN1-CENS-TRCT-BORO        PIC X.                00840158
-           10  GEO-WA2-FN1-1990-CENSUSTRACT    PIC X(6).             00841058
-           10  GEO-WA2-FN1-2010-CENS-TRCT      PIC X(6).             00850035
-           10  GEO-WA2-FN1-2010-CENS-BLK       PIC X(4).             00860035
-           10  GEO-WA2-FN1-2010-CENS-BLK-SFX   PIC X.                00870035
-           10  GEO-WA2-FN1-2000-CENS-TRACT     PIC X(6).             00890035
-           10  GEO-WA2-FN1-2000-CENS-BLOCK     PIC X(4).             00900035
-           10  GEO-WA2-FN1-2000-CENS-BLK-SUF   PIC X.                00910035
-           10  GEO-WA2-FN1-NTA                 PIC X(4).             00911050
-           10  GEO-WA2-FN1-SANIT-SNOW-PRRTY    PIC X.                00912050
-           10  PIWA2-FN1-SANIT-ORGANICS        PIC X(5).             00922061
-           10  PIWA2-FN1-SANIT-BULK-PICK-UP    PIC X(5).             00924080
-   **V16.4 10  PIWA2-FN1-SANIT-RESERVED        PIC X(5).             00924180
-           10  PIWA2-FN1-HURRICANE-ZONE        PIC XX.               00925072
-           10  FILLER                          PIC X(11).            00926072
-           10  GEO-WA2-FN1-TRUE-HNS            PIC X(11).            00930032
-           10  GEO-WA2-FN1-TRUE-B7SC           PIC X(8).             00940032
-           10  GEO-WA2-FN1-SEG-ID              PIC X(7).             00950032
-           10  GEO-WA2-FN1-CURVE-FLAG          PIC X(1).             00960032
-                                                                     00970032
-******************************************************************   00980032
-****     FOR: FUNCTIONS 2       **********************************   00990032
-                                                                     01000032
-        05  PIWA2-FUNCTION2   REDEFINES PIWA2.                       01010032
-           10  PIWA2-FN2-ACCESS-KEY            PIC X(21).            01020032
-           10  GEO-WA2-FN2-DUPINTERFLAG        PIC X.                01030032
-           10  GEO-WA2-FN2-PREFERRED-LGC1      PIC X(2).             01040032
-           10  GEO-WA2-FN2-PREFERRED-LGC2      PIC X(2).             01050032
-           10  GEO-WA2-FN2-NUM-OF-INTERSECTS   PIC X.                01060032
-           10  PIWA2-FN2-INTERSECT-B5SC        PIC X(6)              01070032
-                                               OCCURS 5 TIMES.       01080032
-           10  GEO-WA2-FN2-COMPDIR             PIC X.                01090032
-           10  GEO-WA2-FN2-ATOMIC-POLYGON      PIC X(3).             01091064
-           10  FILLER                          PIC X(2).             01100057
-           10  GEO-WA2-FN2-NODE-NUM            PIC X(7).             01110032
-           10  GEO-WA2-FN2-XCOORD              PIC X(7).             01120032
-           10  GEO-WA2-FN2-YCOORD              PIC X(7).             01130032
-           10  FILLER-GSS                      PIC X(7).             01140032
-           10  GEO-WA2-FN2-SANBORN1-BVOLPAGE.                        01150032
-              15 GEO-WA2-FN2-SANBORN1-BORO     PIC X(1).             01160032
-              15 GEO-WA2-FN2-SANBORN1-VOL-NUM  PIC X(3).             01170032
-              15 GEO-WA2-FN2-SANBORN1-PAGE-NUM PIC X(4).             01180032
-           10  GEO-WA2-FN2-SANBORN2-BVOLPAGE.                        01190032
-              15 GEO-WA2-FN2-SANBORN2-BORO     PIC X(1).             01200032
-              15 GEO-WA2-FN2-SANBORN2-VOL-NUM  PIC X(3).             01210032
-              15 GEO-WA2-FN2-SANBORN2-PAGE-NUM PIC X(4).             01220032
-           10  GEO-WA2-FN2-MARBLE-RIKER-FLAG   PIC X(1).             01230032
-           10  GEO-WA2-FN2-SLA                   PIC X.              01240032
-           10  GEO-WA2-FN2-COMDIST.                                  01250032
-               15  GEO-WA2-FN2-COMDIST-BORO    PIC X(1).             01260032
-               15  GEO-WA2-FN2-COMDIST-NUMBER  PIC X(2).             01270032
-           10  GEO-WA2-FN2-ZIP                 PIC X(5).             01280032
-           10  GEO-WA2-FN2-HEALTHAREA          PIC X(4).             01290053
-           10  GEO-WA2-FN2-POLICEDIST.                               01300032
-              15 GEO-WA2-FN2-POL-PATR-BORO-CMD PIC X(1).             01310032
-              15 GEO-WA2-FN2-POL-PRECINCT      PIC X(3).             01320032
-   ** NOTE:10  GEO-WA2-FN2-FIRESEC ==> FIRE DIVISION **              01330032
-           10  GEO-WA2-FN2-FIRESEC             PIC X(2).             01340032
-           10  GEO-WA2-FN2-FIREBAT             PIC X(2).             01350032
-           10  GEO-WA2-FN2-FIRECO.                                   01360032
-               15  GEO-WA2-FN2-FIRECO-TYPE     PIC X(1).             01370032
-               15  GEO-WA2-FN2-FIRECO-NUM      PIC X(3).             01380032
-           10  GEO-WA2-FN2-SCHOOLDIST          PIC X(2).             01390032
-           10  GEO-WA2-FN2-2010-CENS-TRCT      PIC X(6).             01400035
-           10  GEO-WA2-FN2-1990-CENSUSTRACT    PIC X(6).             01410032
-           10  GEO-WA2-FN2-LEVEL-LIST OCCURS 5 TIMES.                01420032
-               15 GEO-WA2-FN2-LEVEL-CODES                            01430032
-                  OCCURS 2 TIMES               PIC X.                01440032
-           10  PIWA2-FN2-POLICE-PAT-BORO       PIC X(2).             01470073
-           10  GEO-WA2-FN2-ASSEMDIST           PIC X(2).             01471073
-           10  GEO-WA2-FN2-CONGDIST            PIC X(2).             01480032
-           10  GEO-WA2-FN2-SENATEDIST          PIC X(2).             01490032
-           10  GEO-WA2-FN2-COURTDIST           PIC X(2).             01500032
-           10  GEO-WA2-FN2-COUNCILDIST         PIC X(2).             01510032
-           10  GEO-WA2-FN2-CDELIG              PIC X(1).             01520032
-           10  GEO-WA2-FN2-DUP-INT-DISTANCE    PIC X(5).             01530032
-           10  GEO-WA2-FN2-2000-CENS-TRACT     PIC X(6).             01550035
-           10  PIWA2-FN2-HCD                   PIC X(2).             01551053
-           10  PIWA2-FN2-SANITATION-DIST       PIC X(3).             01552045
-           10  PIWA2-FN2-SANITATION-SUBSEC     PIC X(2).             01553047
-           10  FILLER                          PIC X(12).            01560047
-                                                                     01561059
-******************************************************************   01562059
-****     FOR: FUNCTIONS 2W      **********************************   01563065
-                                                                     01564059
-        05  PIWA2-FUNCTION2W  REDEFINES PIWA2.                       01565065
-           10  PIWA2-2W-ACCESS-KEY             PIC X(21).            01566065
-           10  GEO-WA2-2W-DUPINTERFLAG         PIC X.                01567065
-           10  GEO-WA2-2W-PREFERRED-LGC1       PIC X(2).             01568065
-           10  GEO-WA2-2W-PREFERRED-LGC2       PIC X(2).             01569065
-           10  GEO-WA2-2W-NUM-OF-INTERSECTS    PIC X.                01569165
-           10  PIWA2-2W-INTERSECT-B5SC         PIC X(6)              01569265
-                                               OCCURS 5 TIMES.       01569359
-           10  GEO-WA2-2W-COMPDIR              PIC X.                01569465
-           10  GEO-WA2-2W-ATOMIC-POLYGON       PIC X(3).             01569565
-           10  FILLER                          PIC X(2).             01569659
-           10  GEO-WA2-2W-NODE-NUM             PIC X(7).             01569765
-           10  GEO-WA2-2W-XCOORD               PIC X(7).             01569865
-           10  GEO-WA2-2W-YCOORD               PIC X(7).             01569965
-           10  FILLER-GSS                      PIC X(7).             01570059
-           10  GEO-WA2-2W-SANBORN1-BVOLPAGE.                         01570165
-              15 GEO-WA2-2W-SANBORN1-BORO      PIC X(1).             01570265
-              15 GEO-WA2-2W-SANBORN1-VOL-NUM   PIC X(3).             01570365
-              15 GEO-WA2-2W-SANBORN1-PAGE-NUM PIC X(4).              01570465
-           10  GEO-WA2-2W-SANBORN2-BVOLPAGE.                         01570565
-              15 GEO-WA2-2W-SANBORN2-BORO      PIC X(1).             01570665
-              15 GEO-WA2-2W-SANBORN2-VOL-NUM   PIC X(3).             01570765
-              15 GEO-WA2-2W-SANBORN2-PAGE-NUM PIC X(4).              01570865
-           10  GEO-WA2-2W-MARBLE-RIKER-FLAG    PIC X(1).             01570965
-           10  GEO-WA2-2W-SLA                    PIC X.              01571065
-           10  GEO-WA2-2W-COMDIST.                                   01571165
-               15  GEO-WA2-2W-COMDIST-BORO     PIC X(1).             01571265
-               15  GEO-WA2-2W-COMDIST-NUMBER   PIC X(2).             01571365
-           10  GEO-WA2-2W-ZIP                  PIC X(5).             01571465
-           10  GEO-WA2-2W-HEALTHAREA           PIC X(4).             01571565
-           10  GEO-WA2-2W-POLICEDIST.                                01571665
-              15 GEO-WA2-2W-POL-PATR-BORO-CMD PIC X(1).              01571765
-              15 GEO-WA2-2W-POL-PRECINCT       PIC X(3).             01571865
-   ** NOTE:10  GEO-WA2-2W-FIRESEC ==> FIRE DIVISION **               01571965
-           10  GEO-WA2-2W-FIRESEC              PIC X(2).             01572065
-           10  GEO-WA2-2W-FIREBAT              PIC X(2).             01572165
-           10  GEO-WA2-2W-FIRECO.                                    01572265
-               15  GEO-WA2-2W-FIRECO-TYPE      PIC X(1).             01572365
-               15  GEO-WA2-2W-FIRECO-NUM       PIC X(3).             01572465
-           10  GEO-WA2-2W-SCHOOLDIST           PIC X(2).             01572565
-           10  GEO-WA2-2W-2010-CENS-TRCT       PIC X(6).             01572665
-           10  GEO-WA2-2W-1990-CENSUSTRACT     PIC X(6).             01572765
-           10  GEO-WA2-2W-LEVEL-LIST OCCURS 5 TIMES.                 01572865
-               15 GEO-WA2-2W-LEVEL-CODES                             01572965
-                  OCCURS 2 TIMES               PIC X.                01573059
-           10  PIWA2-2W-POLICE-PAT-BORO        PIC X(2).             01573373
-           10  GEO-WA2-2W-ASSEMDIST            PIC X(2).             01573473
-           10  GEO-WA2-2W-CONGDIST             PIC X(2).             01573573
-           10  GEO-WA2-2W-SENATEDIST           PIC X(2).             01573673
-           10  GEO-WA2-2W-COURTDIST            PIC X(2).             01573773
-           10  GEO-WA2-2W-COUNCILDIST          PIC X(2).             01573873
-           10  GEO-WA2-2W-CDELIG               PIC X(1).             01573973
-           10  GEO-WA2-2W-DUP-INT-DISTANCE     PIC X(5).             01574073
-           10  GEO-WA2-2W-2000-CENS-TRACT      PIC X(6).             01574173
-           10  PIWA2-2W-HCD                    PIC X(2).             01574273
-           10  PIWA2-2W-SANITATION-DIST        PIC X(3).             01574373
-           10  PIWA2-2W-SANITATION-SUBSEC      PIC X(2).             01574473
-           10  FILLER                          PIC X(12).            01574573
-           10  FILLER                          PIC X(22).            01574673
-           10  PIWA2-2W-LGCS-1                 PIC X(8).             01574773
-           10  PIWA2-2W-LGCS-2                 PIC X(8).             01574873
-           10  PIWA2-2W-TURN-RESTRICTIONS      PIC X(10).            01574965
-           10  PIWA2-2W-LGCS-FOR-B5SCS         PIC X(2)              01575065
-                                               OCCURS 5 TIMES.       01575160
-           10  PIWA2-2W-TRUE-REP-COUNTER       PIC XX.               01575265
-           10  PIWA2-2W-NODE-LIST              PIC X(7)              01575365
-                                               OCCURS 20 TIMES.      01575463
-           10 PIWA2-2W-NODE-LIST-B7SCS-LIST    OCCURS 20 TIMES.      01575771
-            15 PIWA2-2W-NODE-LIST-B7SCS        OCCURS 5  TIMES.      01575871
-             20 PIWA2-2W-NODE-LIST-B7SC        PIC X(8)              01575971
-                                               OCCURS 4 TIMES.       01576067
-           10  PIWA2-2W-REASON-CODE            PIC X.                01585471
-           10  PIWA2-2W-REASON-CODE-QUAL       PIC X.                01585571
-           10  PIWA2-2W-WARN-CODE              PIC XX.               01585671
-           10  PIWA2-2W-RETURN-CODE            PIC XX.               01585771
-           10  PIWA2-2W-LATITUDE               PIC X(9).             01585874
-           10  PIWA2-2W-LONGITUDE              PIC X(11).            01585974
-           10  FILLER                          PIC X(374).           01586474
-   ****    10  FILLER  V15.3                   PIC X(394).           01586574
-                                                                     01586674
-******************************************************************   01587065
-****     FOR: FUNCTION  3           ******************************   01590032
-                                                                     01600032
-        05  PIWA2-FUNCTION3   REDEFINES PIWA2.                       01610032
-           10  GEO-WA2-FN3-ACCESS-KEY          PIC X(21).            01620032
-           10  GEO-WA2-FN3-DUP-KEY-FLAG        PIC X.                01630032
-           10  GEO-WA2-FN3-LOCATION-STATUS     PIC X.                01640032
-           10  GEO-WA2-FN3-COUNTY-BOUNDARY     PIC X.                01650032
-           10  GEO-WA2-FN3-PREFERRED-LGC1      PIC X(2).             01660032
-           10  GEO-WA2-FN3-PREFERRED-LGC2      PIC X(2).             01670032
-           10  GEO-WA2-FN3-PREFERRED-LGC3      PIC X(2).             01680032
-           10  GEO-WA2-FN3-NUM-X-ST-LOW-END    PIC X.                01690032
-           10  PIWA2-FN3-LOW-B5SC              PIC X(6)              01700032
-                                                 OCCURS 5 TIMES.     01710032
-           10  GEO-WA2-FN3-NUM-X-ST-HI-END     PIC X.                01720032
-           10  PIWA2-FN3-HI-B5SC               PIC X(6)              01730032
-                                                 OCCURS 5 TIMES.     01740032
-           10  GEO-WA2-FN3-REVERSALFLAG        PIC X.                01750032
-           10  PIWA2-FN3-LIONKEY.                                    01760032
-               15  PIWA2-FN3-LION-BORO         PIC X.                01770032
-               15  GEO-WA2-FN3-LIONFACECODE    PIC X(4).             01780032
-               15  GEO-WA2-FN3-LIONSEQ         PIC X(5).             01790032
-           10  GEO-WA2-FN3-GENRECFLAG          PIC X.                01800032
-           10  PIWA2-FN3-SEG-LEN               PIC X(5).             01810032
-           10  GEO-WA2-FN3-SEGMENTSLOPE        PIC X(3).             01820032
-           10  GEO-WA2-FN3-SEGMENTORIENT       PIC X.                01830032
-           10  GEO-WA2-FN3-MARBLE-RIKER-FLAG   PIC X(1).             01840032
-           10  GEO-WA2-FN3-FROM-NODE           PIC X(7).             01850032
-           10  GEO-WA2-FN3-TO-NODE             PIC X(7).             01860032
-           10  GEO-WA2-FN3-SANIT-SNOW-PRRTY    PIC X.                01861050
-           10  FILLER                          PIC X(4).             01870050
-           10  GEO-WA2-FN3-SEG-ID              PIC X(7).             01880032
-           10  GEO-WA2-FN3-SLA                 PIC X.                01890032
-           10  GEO-WA2-FN3-CURVE-FLAG          PIC X.                01900032
-           10  GEO-WA2-FN3-DOG-LEG             PIC X.                01910032
-           10  GEO-WA2-FN3-FEATURE-TYPE        PIC X.                01920032
-           10  GEO-WA2-FN3-SEGMENT-TYPE        PIC X.                01930032
-           10  GEO-WA2-FN3-COINCIDENT-CNT      PIC X.                01940032
-           10  FILLER                          PIC X(4).             01950032
-           10  PIWA2-FN3-LEFT-SIDE-OF-STR.                           01960032
-               15  GEO-WA2-FN3-LEFT-COMDIST.                         01970032
-                 20  GEO-WA2-FN3-LEFT-COMDIST-BORO PIC X(1).         01980032
-                 20  GEO-WA2-FN3-LEFT-COMDIST-NUM  PIC X(2).         01990032
-               15  PIWA2-FN3-L-LOW-HOUSENUM        PIC X(16).        02000032
-               15  PIWA2-FN3-L-HI-HOUSENUM         PIC X(16).        02010032
-               15  FILLER-GSS                      PIC X(33).        02020032
-               15  GEO-WA2-FN3-LEFT-ZIP            PIC X(5).         02030032
-               15  GEO-WA2-FN3-LEFT-HEALTHAREA     PIC X(4).         02040053
-               15  GEO-WA2-FN3-LEFT-POLDIST.                         02050032
-                20  GEO-WA2-FN3-L-POL-PATR-BOR-CMD PIC X(1).         02060032
-                20  GEO-WA2-FN3-L-POL-PRECINCT     PIC X(3).         02070032
-   ** NOTE:10  GEO-WA2-3L-R-FIRESEC ==> FIRE DIV **                  02080032
-               15  GEO-WA2-3L-L-FIRESEC            PIC X(2).         02090032
-               15  GEO-WA2-3L-L-FIREBAT            PIC X(2).         02100032
-               15  GEO-WA2-3L-L-FIRECO.                              02110032
-                   20  GEO-WA2-3L-L-FIRECO-TYPE    PIC X(1).         02120032
-                   20  GEO-WA2-3L-L-FIRECO-NUM     PIC X(3).         02130032
-               15  GEO-WA2-FN3-LEFT-SCHLDIST       PIC X(2).         02140032
-               15  GEO-WA2-3L-L-DYN-BLOCK          PIC X(3).         02150032
-               15  PIWA2-FN3-L-ED                  PIC X(3).         02161036
-               15  PIWA2-FN3-L-AD                  PIC X(2).         02162036
-               15  PIWA2-FN3-L-POLICE-PAT-BORO     PIC X(2).         02163073
-               15  FILLER                          PIC X.            02170073
-               15  GEO-WA2-3L-L-BORO               PIC X .           02190051
-               15  GEO-WA2-3L-L-1990-CENSUSTRACT   PIC X(6) .        02191051
-               15  GEO-WA2-3L-L-2010-CENS-TRCT     PIC X(6).         02200035
-               15  GEO-WA2-3L-L-2010-CENS-BLK      PIC X(4).         02210035
-               15  GEO-WA2-3L-L-2010-CENS-BLK-SFX  PIC X.            02220035
-               15  GEO-WA2-3L-L-2000-CENS-TRACT    PIC X(6).         02240035
-               15  GEO-WA2-3L-L-2000-CENS-BLOCK    PIC X(4).         02250035
-               15  GEO-WA2-3L-L-2000-CENS-BLK-SUF  PIC X.            02260035
-               15  FILLER                          PIC X(7).         02260176
-   ****        15  PIWA2-FN3-L-BLOCKFACE-ID *V16.1*PIC X(7)**        02261076
-               15  PIWA2-FN3-L-NTA                 PIC X(4).         02261150
-               15  FILLER                          PIC X(8).         02270050
-           10  PIWA2-FN3-RIGHT-SIDE-OF-STR.                          02280032
-               15  GEO-WA2-FN3-RIGHT-COMDIST.                        02290032
-                 20 GEO-WA2-FN3-RIGHT-COMDIST-BORO PIC X(1).         02300032
-                 20 GEO-WA2-FN3-RIGHT-COMDIST-NUM  PIC X(2).         02310032
-               15  PIWA2-FN3-R-LOW-HOUSENUM        PIC X(16).        02320032
-               15  PIWA2-FN3-R-HI-HOUSENUM         PIC X(16).        02330032
-               15  FILLER-GSS                      PIC X(33).        02340032
-               15  GEO-WA2-FN3-RIGHT-ZIP           PIC X(5).         02350032
-               15  GEO-WA2-FN3-RIGHT-HEALTHAREA    PIC X(4).         02360053
-               15  GEO-WA2-FN3-RIGHT-POLDIST.                        02370032
-                20 GEO-WA2-FN3-R-POL-PATR-BOR-CMD  PIC X(1).         02380032
-                20 GEO-WA2-FN3-R-POL-PRECINCT      PIC X(3).         02390032
-               15  GEO-WA2-3L-R-FIRESEC            PIC X(2).         02400032
-               15  GEO-WA2-3L-R-FIREBAT            PIC X(2).         02410032
-               15  GEO-WA2-3L-R-FIRECO.                              02420032
-                   20  GEO-WA2-3L-R-FIRECO-TYPE    PIC X(1).         02430032
-                   20  GEO-WA2-3L-R-FIRECO-NUM     PIC X(3).         02440032
-               15  GEO-WA2-FN3-RIGHT-SCHLDIST      PIC X(2).         02450032
-               15  GEO-WA2-3L-R-DYN-BLOCK          PIC X(3).         02460032
-               15  PIWA2-FN3-R-ED                  PIC X(3).         02471036
-               15  PIWA2-FN3-R-AD                  PIC X(2).         02472036
-               15  PIWA2-FN3-R-POLICE-PAT-BORO     PIC X(2).         02473073
-               15  FILLER                          PIC X.            02490073
-               15  GEO-WA2-3L-R-BORO               PIC X.            02500051
-               15  GEO-WA2-3L-R-1990-CENSUSTRACT   PIC X(6).         02501051
-               15  GEO-WA2-3L-R-2010-CENS-TRCT     PIC X(6).         02510035
-               15  GEO-WA2-3L-R-2010-CENS-BLK      PIC X(4).         02520035
-               15  GEO-WA2-3L-R-2010-CENS-BLK-SFX  PIC X.            02530035
-               15  GEO-WA2-3L-R-2000-CENS-TRACT    PIC X(6).         02550035
-               15  GEO-WA2-3L-R-2000-CENS-BLOCK    PIC X(4).         02560035
-               15  GEO-WA2-3L-R-2000-CENS-BLK-SUF  PIC X.            02570035
-               15  FILLER                          PIC X(7).         02570176
-   ****        15  PIWA2-FN3-R-BLOCKFACE-ID *V16.1*PIC X(7)**        02570276
-               15  PIWA2-FN3-R-NTA                 PIC X(4).         02572050
-               15  FILLER                          PIC X(8).         02580050
-                                                                     02590032
-        05  PIWA2-AUX-FUNCTION3 REDEFINES PIWA2.                     02600032
-           10  FILLER                              PIC X(450).       02610032
-           10  PIWA2-FN3-SEGAUX.                                     02620032
-               15  PIWA2-FN3-SEGAUX-FILL           PIC X(6).         02630032
-               15  PIWA2-FN3-SEGAUX-CTR            PIC X(4).         02640032
-               15  PIWA2-FN3-SEGAUX-SEGS OCCURS 70 TIMES             02650032
-                                                   PIC X(7).         02660032
-                                                                     02670032
-******************************************************************   02670136
-****     FOR: FUNCTION  3 EXTENDED  ******************************   02671036
-                                                                     02672036
-        05  PIWA2-FUNCTION3X  REDEFINES PIWA2.                       02673036
-           10  PIWA2-3X-ACCESS-KEY             PIC X(21).            02674042
-           10  PIWA2-3X-DUP-KEY-FLAG           PIC X.                02675042
-           10  PIWA2-3X-LOCATION-STATUS        PIC X.                02676042
-           10  PIWA2-3X-COUNTY-BOUNDARY        PIC X.                02677042
-           10  PIWA2-3X-PREFERRED-LGC1         PIC X(2).             02678042
-           10  PIWA2-3X-PREFERRED-LGC2         PIC X(2).             02679042
-           10  PIWA2-3X-PREFERRED-LGC3         PIC X(2).             02679142
-           10  PIWA2-3X-NUM-X-ST-LOW-END       PIC X.                02679242
-           10  PIWA2-3X-LOW-B5SC               PIC X(6)              02679338
-                                                 OCCURS 5 TIMES.     02679436
-           10  PIWA2-3X-NUM-X-ST-HI-END        PIC X.                02679542
-           10  PIWA2-3X-HI-B5SC                PIC X(6)              02679638
-                                                 OCCURS 5 TIMES.     02679736
-           10  PIWA2-3X-REVERSALFLAG           PIC X.                02679842
-           10  PIWA2-3X-LIONKEY.                                     02679938
-               15  PIWA2-3X-LION-BORO          PIC X.                02680038
-               15  PIWA2-3X-LIONFACECODE       PIC X(4).             02680142
-               15  PIWA2-3X-LIONSEQ            PIC X(5).             02680242
-           10  PIWA2-3X-GENRECFLAG             PIC X.                02680342
-           10  PIWA2-3X-SEG-LEN                PIC X(5).             02680438
-           10  PIWA2-3X-SEGMENTSLOPE           PIC X(3).             02680542
-           10  PIWA2-3X-SEGMENTORIENT          PIC X.                02680642
-           10  PIWA2-3X-MARBLE-RIKER-FLAG      PIC X(1).             02680742
-           10  PIWA2-3X-FROM-NODE              PIC X(7).             02680842
-           10  PIWA2-3X-TO-NODE                PIC X(7).             02680942
-           10  PIWA2-3X-SANIT-SNOW-PRRTY       PIC X.                02681050
-           10  FILLER                          PIC X(4).             02681150
-           10  PIWA2-3X-SEG-ID                 PIC X(7).             02681250
-           10  PIWA2-3X-SLA                    PIC X.                02681350
-           10  PIWA2-3X-CURVE-FLAG             PIC X.                02681450
-           10  PIWA2-3X-DOG-LEG                PIC X.                02681550
-           10  PIWA2-3X-FEATURE-TYPE           PIC X.                02681650
-           10  PIWA2-3X-SEGMENT-TYPE           PIC X.                02681750
-           10  PIWA2-3X-COINCIDENT-CNT         PIC X.                02681850
-           10  FILLER                          PIC X(4).             02681950
-           10  PIWA2-3X-LEFT-SIDE-OF-STR.                            02682050
-               15  PIWA2-3X-LEFT-COMDIST.                            02682150
-                 20  PIWA2-3X-LEFT-COMDIST-BORO    PIC X(1).         02682250
-                 20  PIWA2-3X-LEFT-COMDIST-NUM     PIC  X(2).        02682350
-               15  PIWA2-3X-L-LOW-HOUSENUM         PIC X(16).        02682450
-               15  PIWA2-3X-L-HI-HOUSENUM          PIC X(16).        02682550
-               15  FILLER-GSS                      PIC X(33).        02682650
-               15  PIWA2-3X-LEFT-ZIP               PIC X(5).         02682750
-               15  PIWA2-3X-LEFT-HEALTHAREA        PIC X(4).         02682853
-               15  PIWA2-3X-LEFT-POLDIST.                            02682950
-                20  PIWA2-3X-L-POL-PATR-BOR-CMD    PIC X(1).         02683050
-                20  PIWA2-3X-L-POL-PRECINCT        PIC X(3).         02683150
-   ** NOTE:10  PIWA2-3XL-R-FIRESEC ==> FIRE DIV **                   02683250
-               15  PIWA2-3X-L-FIRESEC              PIC X(2).         02683350
-               15  PIWA2-3X-L-FIREBAT              PIC X(2).         02683450
-               15  PIWA2-3X-L-FIRECO.                                02683550
-                   20  PIWA2-3X-L-FIRECO-TYPE      PIC X(1).         02683650
-                   20  PIWA2-3X-L-FIRECO-NUM       PIC X(3).         02683750
-               15  PIWA2-3X-LEFT-SCHLDIST          PIC X(2).         02683850
-               15  PIWA2-3X-L-DYN-BLOCK            PIC X(3).         02683950
-               15  PIWA2-3X-L-ED                   PIC X(3).         02684138
-               15  PIWA2-3X-L-AD                   PIC X(2).         02684238
-               15  PIWA2-3X-L-POLICE-PAT-BORO      PIC X(2).         02684373
-               15  FILLER                          PIC X.            02684473
-               15  PIWA2-3X-L-BORO                 PIC X .           02684551
-               15  PIWA2-3X-L-1990-CENSUSTRACT     PIC X(6) .        02684651
-               15  PIWA2-3X-L-2010-CENS-TRCT       PIC X(6).         02684751
-               15  PIWA2-3X-L-2010-CENS-BLK        PIC X(4).         02684851
-               15  PIWA2-3X-L-2010-CENS-BLK-SFX    PIC X.            02684951
-               15  PIWA2-3X-L-2000-CENS-TRACT      PIC X(6).         02685051
-               15  GIWA2-3X-L-2000-CENS-BLOCK      PIC X(4).         02685151
-               15  PIWA2-3X-L-2000-CENS-BLK-SUF    PIC X.            02685251
-               15  FILLER                          PIC X(7).         02685376
-   ****        15  PIWA2-3X-L-BLOCKFACE-ID *V16.1* PIC X(7)***       02685476
-               15  PIWA2-3X-L-NTA                  PIC X(4).         02685551
-               15  FILLER                          PIC X(8).         02685651
-           10  PIWA2-3X-RIGHT-SIDE-OF-STR.                           02685751
-               15  PIWA2-3X-RIGHT-COMDIST.                           02685851
-                 20 PIWA2-3X-RIGHT-COMDIST-BORO    PIC X(1).         02685951
-                 20 PIWA2-3X-RIGHT-COMDIST-NUM     PIC X(2).         02686051
-               15  PIWA2-3X-R-LOW-HOUSENUM         PIC X(16).        02686151
-               15  PIWA2-3X-R-HI-HOUSENUM          PIC X(16).        02686251
-               15  FILLER-GSS                      PIC X(33).        02686351
-               15  PIWA2-3X-RIGHT-ZIP              PIC X(5).         02686451
-               15  PIWA2-3X-RIGHT-HEALTHAREA       PIC X(4).         02686553
-               15  PIWA2-3X-RIGHT-POLDIST.                           02686651
-                20 PIWA2-3X-R-POL-PATR-BOR-CMD     PIC X(1).         02686751
-                20 PIWA2-3X-R-POL-PRECINCT         PIC X(3).         02686851
-               15  PIWA2-3X-R-FIRESEC              PIC X(2).         02686951
-               15  PIWA2-3X-R-FIREBAT              PIC X(2).         02687051
-               15  PIWA2-3X-R-FIRECO.                                02687151
-                   20  PIWA2-3X-R-FIRECO-TYPE      PIC X(1).         02687251
-                   20  PIWA2-3X-R-FIRECO-NUM       PIC X(3).         02687351
-               15  PIWA2-3X-RIGHT-SCHLDIST         PIC X(2).         02687451
-               15  PIWA2-3X-R-DYN-BLOCK            PIC X(3).         02687551
-   ***     NEXT LINE WAS PREVIOUSLY INSTRUC-DIV                      02687651
-               15  PIWA2-3X-R-ED                   PIC X(3).         02687751
-               15  PIWA2-3X-R-AD                   PIC X(2).         02687851
-               15  PIWA2-3X-R-POLICE-PAT-BORO      PIC X(2).         02687973
-               15  FILLER                          PIC X.            02688073
-               15  PIWA2-3X-R-BORO                 PIC X.            02688173
-               15  PIWA2-3X-R-1990-CENSUSTRACT     PIC X(6).         02688273
-               15  PIWA2-3X-R-2010-CENS-TRCT       PIC X(6).         02688373
-               15  PIWA2-3X-R-2010-CENS-BLK        PIC X(4).         02688473
-               15  PIWA2-3X-R-2010-CENS-BLK-SFX    PIC X.            02688573
-               15  PIWA2-3X-R-2000-CENS-TRACT      PIC X(6).         02688673
-               15  PIWA2-3X-R-2000-CENS-BLOCK      PIC X(4).         02688773
-               15  PIWA2-3X-R-2000-CENS-BLK-SUF    PIC X.            02688873
-               15  FILLER                          PIC X(7).         02688976
-   ****        15  PIWA2-3X-R-BLOCKFACE-ID *V16.1* PIC X(7)***       02689076
-               15  PIWA2-3X-R-NTA                  PIC X(4).         02689273
-               15  FILLER                          PIC X(8).         02689373
-               15  PIWA2-3X-LGCS                   PIC X(8).         02689473
-               15  PIWA2-3X-LGCS-FROM              PIC X(8).         02689573
-               15  PIWA2-3X-LGCS-TO                PIC X(8).         02689673
-               15  PIWA2-3X-L-HCD                  PIC X(2).         02689773
-               15  PIWA2-3X-R-HCD                  PIC X(2).         02689873
-               15  FILLER                          PIC X(1).         02689973
-               15  PIWA2-3X-TRAFFIC-DIR            PIC X(1).         02690073
-               15  PIWA2-3X-ROADWAY-TYPE           PIC X(2).         02690173
-               15  PIWA2-3X-PHYSICAL-ID            PIC X(7).         02690273
-               15  PIWA2-3X-GENERIC-ID             PIC X(7).         02690373
-               15  PIWA2-3X-INTP-ID-INT-USE        PIC X(7).         02690473
-               15  PIWA2-3X-INFD-ID-INT-USE        PIC X(7).         02690573
-               15  PIWA2-3X-STR-STATUS             PIC X(1).         02690673
-               15  PIWA2-3X-STR-WIDTH              PIC X(3).         02690773
-               15  PIWA2-3X-STR-WIDTH-IRREG        PIC X(1).         02690873
-               15  PIWA2-3X-BIKE-LANE              PIC X(1).         02690973
-               15  PIWA2-3X-FED-CLASS-CODE         PIC X(2).         02691073
-               15  PIWA2-3X-ROW-TYPE               PIC X(1).         02691173
-               15  PIWA2-3X-LGC-LIST               PIC X(10).        02691273
-               15  PIWA2-3X-LEGACY-ID              PIC X(7).         02691373
-               15  PIWA2-3X-L-NTA-NAME             PIC X(75).        02691473
-               15  PIWA2-3X-R-NTA-NAME             PIC X(75).        02691573
-               15  PIWA2-3X-FROM-XCOORD            PIC X(7).         02691673
-               15  PIWA2-3X-FROM-YCOORD            PIC X(7).         02691773
-               15  PIWA2-3X-TO-XCOORD              PIC X(7).         02691873
-               15  PIWA2-3X-TO-YCOORD              PIC X(7).         02691973
-               15  PIWA2-3X-FROM-LATITUDE          PIC X(9).         02692075
-               15  PIWA2-3X-FROM-LONGITUDE         PIC X(11).        02692175
-               15  PIWA2-3X-TO-LATITUDE            PIC X(9).         02692275
-               15  PIWA2-3X-TO-LONGITUDE           PIC X(11).        02692375
-               15  PIWA2-3X-L-BLOCKFACE-ID         PIC X(10).        02692476
-               15  PIWA2-3X-R-BLOCKFACE-ID         PIC X(10).        02692576
-               15  PIWA2-3X-NBR-TRAVEL-LANES       PIC X(2).         02692676
-               15  PIWA2-3X-NBR-PARK-LANES         PIC X(2).         02692776
-               15  PIWA2-3X-NBR-TOTAL-LANES        PIC X(2).         02692876
-               15  PIWA2-3X-BIKE-LANE-2            PIC X(2).         02692979
-               15  PIWA2-3X-STR-WIDTH-MAX          PIC X(3).         02693079
-               15  PIWA2-3X-BIKE-TRAFFIC-DIR       PIC X(2).         02693181
-               15  FILLER                          PIC X(213).       02693281
-   ****        15  FILLER   V17.1                  PIC X(215).       02693381
-   ****        15  FILLER   V16.4                  PIC X(220).       02693481
-   ****        15  FILLER   V16.1                  PIC X(246).       02693581
-   ****        15  FILLER   V15.3                  PIC X(286).       02693681
-                                                                     02693781
-        05  PIWA2-AUX-FUNCTION3X REDEFINES PIWA2.                    02693881
-           10  FILLER                              PIC X(1000).      02693981
-           10  PIWA2-3X-SEGAUX.                                      02694081
-               15  PIWA2-3X-SEGAUX-FILL            PIC X(6).         02694181
-               15  PIWA2-3X-SEGAUX-CTR             PIC X(4).         02694281
-               15  PIWA2-3X-SEGAUX-SEGS OCCURS 70 TIMES              02694381
-                                                   PIC X(7).         02694481
-                                                                     02694581
-******************************************************************   02694681
-****     FOR: FUNCTION  3C          ******************************   02695076
-                                                                     02700032
-        05  PIWA2-FUNCTION3C  REDEFINES PIWA2.                       02710032
-           10  GEO-WA2-FN3C-ACCESS-KEY          PIC X(21).           02720032
-           10  PIWA2-FN3C-DUP-KEY-FLAG          PIC X.               02730032
-           10  GEO-WA2-FN3C-LOCATION-STATUS     PIC X.               02740032
-           10  GEO-WA2-FN3C-COUNTY-BOUNDARY     PIC X.               02750032
-           10  GEO-WA2-FN3C-PREFERRED-LGC1      PIC X(2).            02760032
-           10  GEO-WA2-FN3C-PREFERRED-LGC2      PIC X(2).            02770032
-           10  GEO-WA2-FN3C-PREFERRED-LGC3      PIC X(2).            02780032
-           10  GEO-WA2-FN3C-NUM-X-ST-LOW-END    PIC X.               02790032
-           10  PIWA2-FN3C-LOW-B5SC              PIC X(6)             02800032
-                                                 OCCURS 5 TIMES.     02810032
-           10  GEO-WA2-FN3C-NUM-X-ST-HI-END     PIC X.               02820032
-           10  PIWA2-FN3C-HI-B5SC               PIC X(6)             02830032
-                                                 OCCURS 5 TIMES.     02840032
-           10  GEO-WA2-FN3C-REVERSALFLAG        PIC X.               02850032
-           10  PIWA2-FN3C-LIONKEY.                                   02860032
-               15  PIWA2-FN3C-LION-BORO         PIC X.               02870032
-               15  GEO-WA2-FN3C-LIONFACECODE    PIC X(4).            02880032
-               15  GEO-WA2-FN3C-LIONSEQ         PIC X(5).            02890032
-           10  GEO-WA2-FN3C-GENRECFLAG          PIC X.               02900032
-           10  PIWA2-FN3C-SEG-LEN               PIC X(5).            02910032
-           10  GEO-WA2-FN3C-SEGMENTSLOPE        PIC X(3).            02920032
-           10  GEO-WA2-FN3C-SEGMENTORIENT       PIC X.               02930032
-           10  GEO-WA2-FN3C-MARBLE-RIKER-FLAG   PIC X(1).            02940032
-           10  GEO-WA2-FN3C-FROM-NODE           PIC X(7).            02950032
-           10  GEO-WA2-FN3C-TO-NODE             PIC X(7).            02960032
-           10  GEO-WA2-FN3C-SANIT-SNOW-PRRTY    PIC X.               02961050
-           10  FILLER                           PIC X(4).            02970050
-           10  GEO-WA2-FN3C-SEG-ID              PIC X(7).            02980032
-           10  GEO-WA2-FN3C-SLA                 PIC X.               02990032
-           10  PIWA2-FN3C-SIDE-OF-STR           PIC X.               03000032
-           10  GEO-WA2-FN3C-CURVE-FLAG          PIC X.               03010032
-           10  GEO-WA2-FN3C-FEATURE-TYPE        PIC X.               03020032
-           10  GEO-WA2-FN3C-SEGMENT-TYPE        PIC X.               03030032
-           10  GEO-WA2-FN3C-COINCIDENT-CNT      PIC X.               03040032
-           10  FILLER                           PIC X(4).            03050032
-           10  PIWA2-FN3C-BLOCKFACE-INFO.                            03060032
-               15  GEO-WA2-FN3C-COMDIST.                             03070032
-                  20  GEO-WA2-FN3C-COMDIST-BORO   PIC X(1).          03080032
-                  20  GEO-WA2-FN3C-COMDIST-NUMBER PIC X(2).          03090032
-               15  PIWA2-FN3C-LOW-HOUSENUM        PIC X(16).         03100032
-               15  PIWA2-FN3C-HI-HOUSENUM         PIC X(16).         03110032
-               15  PIWA2-FN3C-LOW-HOUSENUM2       PIC X(16).         03120032
-               15  PIWA2-FN3C-HI-HOUSENUM2        PIC X(16).         03130032
-               15  FILLER-GSS                     PIC X.             03140032
-               15  GEO-WA2-FN3C-ZIP               PIC X(5).          03150032
-               15  GEO-WA2-FN3C-HEALTHAREA        PIC X(4).          03160053
-               15  GEO-WA2-FN3C-POLICEDIST.                          03170032
-                20 GEO-WA2-FN3C-POL-PATR-BORO-CMD PIC X(1).          03180032
-                20 GEO-WA2-FN3C-POL-PRECINCT      PIC X(3).          03190032
-   ** NOTE:10  GEO-WA2-FN3C-FIRESEC ==> FIRE DIVISION **             03200032
-               15  GEO-WA2-FN3C-FIRESEC           PIC X(2).          03210032
-               15  GEO-WA2-FN3C-FIREBAT           PIC X(2).          03220032
-               15  GEO-WA2-FN3C-FIRECO.                              03230032
-                   20  GEO-WA2-FN3C-FIRECO-TYPE   PIC X(1).          03240032
-                   20  GEO-WA2-FN3C-FIRECO-NUM    PIC X(3).          03250032
-               15  GEO-WA2-FN3C-SCHOOLDIST        PIC X(2).          03260032
-               15  GEO-WA2-FN3C-DYN-BLOCK         PIC X(3).          03270032
-               15  PIWA2-FN3C-ED                  PIC X(3).          03281041
-               15  PIWA2-FN3C-AD                  PIC X(2).          03282041
-               15  PIWA2-FN3C-POLICE-PAT-BORO     PIC X(2).          03282173
-               15  FILLER                         PIC X.             03283073
-               15  GEO-WA2-FN3C-BORO              PIC X.             03310051
-               15  GEO-WA2-FN3C-1990-CENSUSTRACT  PIC X(6).          03311051
-               15  GEO-WA2-FN3C-2010-CENS-TRCT    PIC X(6).          03320035
-               15  GEO-WA2-FN3C-2010-CENS-BLK     PIC X(4).          03330035
-               15  GEO-WA2-FN3C-2010-CENS-BLK-SFX PIC X.             03340035
-               15  GEO-WA2-FN3C-2000-CENS-TRACT   PIC X(6).          03360035
-               15  GEO-WA2-FN3C-2000-CENS-BLOCK   PIC X(4).          03370035
-               15  GEO-WA2-FN3C-2000-CENS-BLK-SUF PIC X.             03380035
-               15  FILLER                         PIC X(7).          03380177
-   ******      15  PIWA2-FN3C-BLOCKFACE-ID  V16.1 PIC X(7)***        03381077
-               15  PIWA2-FN3C-NTA                 PIC X(4).          03382050
-               15  FILLER                         PIC X(8).          03390050
-                                                                     03400032
-        05  PIWA2-AUX-FUNCTION3C REDEFINES PIWA2.                    03410032
-           10  FILLER                             PIC X(300).        03420037
-           10  PIWA2-FN3C-SEGAUX.                                    03430032
-               15  PIWA2-FN3C-SEGAUX-FILL         PIC X(4).          03440032
-               15  PIWA2-FN3C-SEGAUX-CTR          PIC X(4).          03450032
-               15  PIWA2-FN3C-SEGAUX-SEGS OCCURS 70 TIMES            03460032
-                                                  PIC X(7).          03470032
-                                                                     03480032
-******************************************************************   03481036
-****     FOR: FUNCTION  3C EXTENDED ******************************   03482036
-                                                                     03483036
-        05  PIWA2-FUNCTION3CX REDEFINES PIWA2.                       03484036
-           10  PIWA2-3CX-ACCESS-KEY             PIC X(21).           03485042
-           10  PIWA2-3CX-DUP-KEY-FLAG           PIC X.               03486039
-           10  PIWA2-3CX-LOCATION-STATUS        PIC X.               03487042
-           10  PIWA2-3CX-COUNTY-BOUNDARY        PIC X.               03488042
-           10  PIWA2-3CX-PREFERRED-LGC1         PIC X(2).            03489042
-           10  PIWA2-3CX-PREFERRED-LGC2         PIC X(2).            03489142
-           10  PIWA2-3CX-PREFERRED-LGC3         PIC X(2).            03489242
-           10  PIWA2-3CX-NUM-X-ST-LOW-END       PIC X.               03489342
-           10  PIWA2-3CX-LOW-B5SC               PIC X(6)             03489439
-                                                OCCURS 5 TIMES.      03489536
-           10  PIWA2-3CX-NUM-X-ST-HI-END        PIC X.               03489642
-           10  PIWA2-3CX-HI-B5SC                PIC X(6)             03489739
-                                                OCCURS 5 TIMES.      03489836
-           10  PIWA2-3CX-REVERSALFLAG           PIC X.               03489942
-           10  PIWA2-3CX-LIONKEY.                                    03490039
-               15  PIWA2-3CX-LION-BORO          PIC X.               03490139
-               15  PIWA2-3CX-LIONFACECODE       PIC X(4).            03490242
-               15  PIWA2-3CX-LIONSEQ            PIC X(5).            03490342
-           10  PIWA2-3CX-GENRECFLAG             PIC X.               03490442
-           10  PIWA2-3CX-SEG-LEN                PIC X(5).            03490539
-           10  PIWA2-3CX-SEGMENTSLOPE           PIC X(3).            03490642
-           10  PIWA2-3CX-SEGMENTORIENT          PIC X.               03490742
-           10  PIWA2-3CX-MARBLE-RIKER-FLAG      PIC X(1).            03490842
-           10  PIWA2-3CX-FROM-NODE              PIC X(7).            03490942
-           10  PIWA2-3CX-TO-NODE                PIC X(7).            03491042
-           10  PIWA2-3CX-SANIT-SNOW-PRRTY       PIC X.               03491150
-           10  FILLER                           PIC X(4).            03491250
-           10  PIWA2-3CX-SEG-ID                 PIC X(7).            03491342
-           10  PIWA2-3CX-SLA                    PIC X.               03491442
-           10  PIWA2-3CX-SIDE-OF-STR            PIC X.               03491539
-           10  PIWA2-3CX-CURVE-FLAG             PIC X.               03491642
-           10  PIWA2-3CX-FEATURE-TYPE           PIC X.               03491742
-           10  PIWA2-3CX-SEGMENT-TYPE           PIC X.               03491842
-           10  PIWA2-3CX-COINCIDENT-CNT         PIC X.               03491942
-           10  FILLER                           PIC X(4).            03492036
-           10  PIWA2-3CX-BLOCKFACE-INFO.                             03492139
-               15  PIWA2-3CX-COMDIST.                                03492242
-                  20  PIWA2-3CX-COMDIST-BORO    PIC X(1).            03492342
-                  20  PIWA2-3CX-COMDIST-NUMBER  PIC X(2).            03492442
-               15  PIWA2-3CX-LOW-HOUSENUM         PIC X(16).         03492539
-               15  PIWA2-3CX-HI-HOUSENUM          PIC X(16).         03492639
-               15  PIWA2-3CX-LOW-HOUSENUM2        PIC X(16).         03492739
-               15  PIWA2-3CX-HI-HOUSENUM2         PIC X(16).         03492839
-               15  FILLER-GSS                     PIC X.             03492936
-               15  PIWA2-3CX-ZIP                  PIC X(5).          03493042
-               15  PIWA2-3CX-HEALTHAREA           PIC X(4).          03493153
-               15  PIWA2-3CX-POLICEDIST.                             03493242
-                20 PIWA2-3CX-POL-PATR-BORO-CMD    PIC X(1).          03493342
-                20 PIWA2-3CX-POL-PRECINCT         PIC X(3).          03493442
-   ** NOTE:10  PIWA2-3CX-FIRESEC ==> FIRE DIVISION **                03493542
-               15  PIWA2-3CX-FIRESEC              PIC X(2).          03493642
-               15  PIWA2-3CX-FIREBAT              PIC X(2).          03493742
-               15  PIWA2-3CX-FIRECO.                                 03493842
-                   20  PIWA2-3CX-FIRECO-TYPE      PIC X(1).          03493942
-                   20  PIWA2-3CX-FIRECO-NUM       PIC X(3).          03494042
-               15  PIWA2-3CX-SCHOOLDIST           PIC X(2).          03494142
-               15  PIWA2-3CX-DYN-BLOCK            PIC X(3).          03494242
-               15  PIWA2-3CX-ED                   PIC X(3).          03494439
-               15  PIWA2-3CX-AD                   PIC X(2).          03494539
-               15  PIWA2-3CX-POLICE-PAT-BORO      PIC X(2).          03494673
-               15  FILLER                         PIC X.             03494773
-               15  PIWA2-3CX-BORO                 PIC X.             03494851
-               15  PIWA2-3CX-1990-CENSUSTRACT     PIC X(6).          03494951
-               15  PIWA2-3CX-2010-CENS-TRCT       PIC X(6).          03495051
-               15  PIWA2-3CX-2010-CENS-BLK        PIC X(4).          03495151
-               15  PIWA2-3CX-2010-CENS-BLK-SFX    PIC X.             03495251
-               15  PIWA2-3CX-2000-CENS-TRACT      PIC X(6).          03495351
-               15  PIWA2-3CX-2000-CENS-BLOCK      PIC X(4).          03495451
-               15  PIWA2-3CX-2000-CENS-BLK-SUF    PIC X.             03495551
-               15  FILLER                         PIC X(7).          03495677
-   *****       15  PIWA2-3CX-BLOCKFACE-ID V16.1   PIC X(7)***        03495777
-               15  PIWA2-3CX-NTA                  PIC X(4).          03495851
-               15  FILLER                         PIC X(8).          03495951
-               15  PIWA2-3CX-LGCS                 PIC X(8).          03496051
-               15  PIWA2-3CX-LGCS-FROM            PIC X(8).          03496151
-               15  PIWA2-3CX-LGCS-TO              PIC X(8).          03496251
-               15  PIWA2-3CX-L-HCD                PIC X(2).          03496353
-               15  PIWA2-3CX-R-HCD                PIC X(2).          03496453
-               15  FILLER                         PIC X(1).          03496551
-               15  PIWA2-3CX-TRAFFIC-DIR          PIC X(1).          03496651
-               15  PIWA2-3CX-ROADWAY-TYPE         PIC X(2).          03496751
-               15  PIWA2-3CX-PHYSICAL-ID          PIC X(7).          03496851
-               15  PIWA2-3CX-GENERIC-ID           PIC X(7).          03496951
-               15  PIWA2-3CX-INTP-ID              PIC X(7).          03497051
-               15  PIWA2-3CX-INFD-ID              PIC X(7).          03497151
-               15  PIWA2-3CX-STR-STATUS           PIC X(1).          03497251
-               15  PIWA2-3CX-STR-WIDTH            PIC X(3).          03497351
-               15  PIWA2-3CX-STR-WIDTH-IRREF      PIC X(1).          03497451
-               15  PIWA2-3CX-BIKE-LANE            PIC X(1).          03497551
-               15  PIWA2-3CX-FED-CLASS-CODE       PIC X(2).          03497651
-               15  PIWA2-3CX-ROW-TYPE             PIC X(1).          03497751
-               15  PIWA2-3CX-LGC-LIST             PIC X(10).         03497851
-               15  PIWA2-3CX-LEGACY-ID            PIC X(7).          03497951
-               15  PIWA2-3CX-NTA-NAME             PIC X(75).         03498052
-               15  PIWA2-3CX-FROM-XCOORD          PIC X(7).          03498156
-               15  PIWA2-3CX-FROM-YCOORD          PIC X(7).          03498256
-               15  PIWA2-3CX-TO-XCOORD            PIC X(7).          03498356
-               15  PIWA2-3CX-TO-YCOORD            PIC X(7).          03498456
-               15  PIWA2-3CX-FROM-LATITUDE        PIC X(9).          03498575
-               15  PIWA2-3CX-FROM-LONGITUDE       PIC X(11).         03498675
-               15  PIWA2-3CX-TO-LATITUDE          PIC X(9).          03498775
-               15  PIWA2-3CX-TO-LONGITUDE         PIC X(11).         03498875
-               15  PIWA2-3CX-BLOCKFACE-ID         PIC X(10).         03498977
-               15  PIWA2-3CX-NBR-TRAVEL-LANES     PIC X(2).          03499077
-               15  PIWA2-3CX-NBR-PARK-LANES       PIC X(2).          03499177
-               15  PIWA2-3CX-NBR-TOTAL-LANES      PIC X(2).          03499277
-               15  PIWA2-3CX-BIKE-LANE-2          PIC X(2).          03499379
-               15  PIWA2-3CX-STR-WIDTH-MAX        PIC X(3).          03499479
-               15  PIWA2-3CX-BIKE-TRAFFIC-DIR     PIC X(2).          03499581
-               15  FILLER                         PIC X(298).        03499681
-   ****        15  FILLER   V17.1                 PIC X(300).        03499781
-   ****        15  FILLER   V16.4                 PIC X(305).        03499881
-   ****        15  FILLER   V16.1                 PIC X(321).        03499981
-   ****        15  FILLER   V15.3                 PIC X(361).        03500081
-                                                                     03500181
-        05  PIWA2-AUX-FUNCTION3CX REDEFINES PIWA2.                   03500281
-           10  FILLER                            PIC X(850).         03500381
-           10  PIWA2-3CX-SEGAUX.                                     03500481
-               15  PIWA2-3CX-SEGAUX-FILL          PIC X(4).          03500581
-               15  PIWA2-3CX-SEGAUX-CTR           PIC X(4).          03500681
-               15  PIWA2-3CX-SEGAUX-SEGS OCCURS 70 TIMES             03500781
-                                                  PIC X(7).          03500881
-                                                                     03500981
-******************************************************************   03501081
-****     FOR: FUNCTION 5            ******************************   03502081
-                                                                     03510032
-        05  PIWA2-FUNCTION5   REDEFINES PIWA2.                       03520032
-           10  GEO-WA2-FN5-ADDR-MATCHING-KEY      PIC X(33).         03530034
-
-

P2COB1A COPY File

-
*****************************************************************  00010007
-**  THIS IS THE COBOL STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM **  00020007
-**  INDEPENDENT REGULAR WORK AREA 2 FOR FUNCTIONS: 1A, BL, AND **  00030007
-**  BN.  THESE THREE FUNCTIONS SHARE A SINGLE WORK AREA 2      **  00040007
-**  LAYOUT.  COPY FILE - P2COB1A.                 10/10/97     **  00050007
-*****************************************************************  00060007
-                                                                   00070007
-      05  GEO-WA2-1A-ACCESS-KEY              PIC X(21).            00080007
-      05  GEO-WA2-1A-CONT-PARITY             PIC X.                00090007
-      05  PIWA2-1A-LOW-HOUSENUM              PIC X(11).            00100007
-      05  GEO-WA2-1A-ALTKEY-1.                                     00110007
-         10 GEO-WA2-1A-ALTKEY-1-BORO         PIC X.                00120007
-         10 GEO-WA2-1A-ALTKEY-1-TAXBLOCK     PIC X(5).             00130007
-         10 GEO-WA2-1A-ALTKEY-1-TAXLOT       PIC X(4).             00140007
-      05  FILLER                             PIC X.                00150007
-      05  GEO-WA2-1A-SCC                     PIC X(1).             00160007
-      05  FILLER                             PIC X.                00170007
-      05  GEO-WA2-1A-GENERAL-LOT-INFO.                             00180007
-         10 GEO-WA2-1A-RPAD-BLDG-CLASS       PIC X(2).             00190007
-         10 GEO-WA2-1A-CORNER-CODE           PIC X(2).             00200007
-         10 GEO-WA2-1A-TOT-NBR-BLDG          PIC X(4).             00210007
-         10 GEO-WA2-1A-NUM-OF-BLOCKFACES     PIC X(2).             00220007
-         10 GEO-WA2-1A-INTERIOR-FLAG         PIC X.                00230007
-         10 GEO-WA2-1A-VACANT-FLAG           PIC X.                00240007
-         10 GEO-WA2-1A-IRREG-FLAG            PIC X.                00250007
-      05  GEO-WA2-1A-ALT-BORO-FLAG           PIC X.                00260007
-      05  GEO-WA2-1A-OVERFLOW-FLAG           PIC X(1).             00270007
-      05  PIWA2-1A-STROLL-KEY                PIC X(19).            00280007
-      05  FILLER-GSS                         PIC X.                00290007
-      05  GEO-WA2-1A-BLDG-ID-NUM             PIC X(7).             00300007
-      05  GEO-WA2-1A-CONDO-LOT-FLAG          PIC X.                00310007
-      05  FILLER                             PIC X.                00320007
-      05  GEO-WA2-1A-RPAD-COND-NUM           PIC X(4).             00330007
-      05  FILLER                             PIC X(7).             00340007
-      05  GEO-WA2-1A-CONDO-BILLING-BBL       PIC X(10).            00350007
-      05  FILLER                             PIC X.                00360007
-      05  GEO-WA2-1A-CONDO-BILL-BBL-SCC      PIC X(1).             00370007
-      05  GEO-WA2-1A-CONDO-LOW-BBL           PIC X(10).            00380007
-      05  FILLER                             PIC X.                00390007
-      05  GEO-WA2-1A-CONDO-HIGH-BBL          PIC X(10).            00400007
-      05  FILLER                             PIC X.                00410007
-      05  FILLER                             PIC X(15).            00420007
-      05  GEO-WA2-1A-CO-OP-NBR               PIC X(4).             00430007
-      05  GEO-WA2-1A-SANBORN-BVOLPAGE.                             00440007
-          10  GEO-WA2-1A-SANBORN-BORO        PIC X(1).             00450007
-          10  GEO-WA2-1A-SANBORN-VOL-PAGE.                         00460007
-            15  GEO-WA2-1A-SANBORN-VOL-NUM   PIC X(3).             00470007
-            15  GEO-WA2-1A-SANBORN-PAGE-NUM  PIC X(4).             00480007
-      05  GEO-WA2-1A-COMMERC-DIST            PIC X(5).             00490007
-      05  GEO-WA2-1A-DOF-MAP-BOROUGH         PIC X.                00500007
-      05  GEO-WA2-1A-TAX-MAP-NBR             PIC X(4).             00510007
-      05  FILLER-FOR-TAX-MAP-PAGE            PIC X(4).             00520007
-      05  FILLER                             PIC X(3).             00530009
-      05  PIWA2-1A-LATITUDE                  PIC X(9).             00540009
-      05  PIWA2-1A-LONGITUDE                 PIC X(11).            00540110
-      05  PIWA2-1A-X-COORD                   PIC X(7).             00541009
-      05  PIWA2-1A-Y-COORD                   PIC X(7).             00550007
-      05  PIWA2-1A-BID                       PIC X(6).             00560007
-      05  PIWA2-1A-TPAD-BIN-ST               PIC X.                00570007
-      05  PIWA2-1A-TPAD-NEW-BIN              PIC X(7).             00580007
-      05  PIWA2-1A-TPAD-NEW-BIN-ST           PIC X.                00590007
-      05  PIWA2-1A-TPAD-CONFLICT             PIC X.                00600007
-      05  FILLER                             PIC X(9).             00610007
-      05  FILLER-GSS                         PIC X(8).             00620007
-      05  PIWA2-1A-NUM-OF-ADDR               PIC X(4).             00630007
-      05  PIWA2-1A-ADDR-LIST                 OCCURS 21 TIMES.      00640007
-         10  PIWA2-1A-LIST-LOW-HOUSENUM      PIC X(16).            00650007
-         10  PIWA2-1A-LIST-HI-HOUSENUM       PIC X(16).            00660007
-         10  PIWA2-1A-LIST-BORO              PIC X.                00670007
-         10  PIWA2-1A-LIST-5SC               PIC X(5).             00680007
-         10  PIWA2-1A-LIST-LGC               PIC X(2).             00690007
-         10  GEO-WA2-1A-LIST-BIN             PIC X(7).             00700007
-         10  GEO-WA2-1A-LIST-SOS             PIC X.                00710007
-         10  GEO-WA2-1A-ADDR-TYPE            PIC X.                00720007
-         10  PIWA2-1A-TPAD-STATUS            PIC X.                00730007
-         10  FILLER                          PIC X(3).             00740007
-
-

P2COB1AL COPY File

-
*****************************************************************  00001006
-**                     P2COBIAL                                **  00001134
-**          LAST MODIFIED DECEMBER 2016                        **  00001234
-** ADD NEW 2 BYTE BIKE TRAFFIC DIRECTION    YNL 12/16 V17,1    **  00001334
-**  THIS IS THE COBOL STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM **  00002006
-**  INDEPENDENT LONG WORK AREA 2 FOR FUNCTIONS: 1A, AND BL.    **  00003006
-**  THESE TWO FUNCTIONS SHARE A SINGLE LONG WORK AREA 2 LAYOU. **  00004006
-**  COPY FILE - P2COB1AL.                         11/06/97     **  00005006
-*****************************************************************  00006006
-**              LAST MODIFIED OCTOBER  2016                    **  00006130
-*****************************************************************  00006227
-**  JANUARY 2011 YNL ADDED THREE WORK AREAS:                   **  00007006
-**  1. P2COB1EX - FUNCTION 1E EXTENDED.                        **  00008007
-**  2. P2COB1AX - FUNCTION 1A   EXTENDED.                      **  00009006
-**  2. P2COB1B  - P2COB1EX COMBINED WITH P2COB1AX              **  00009116
-*****************************************************************  00009206
-      03  PIWA2                               PIC X(17750).        00009406
-******************************************************************   00009606
-****     FOR: FUNCTION 1A LONG      ******************************   00009706
-                                                                   00009806
-      03  PIWA2-FUNCTION1AL  REDEFINES PIWA2.                      00009906
-                                                                   00010006
-       05 GEO-WA2-1AL-ACCESS-KEY              PIC X(21).           00010106
-       05 GEO-WA2-1AL-CONT-PARITY             PIC X.               00010206
-       05 PIWA2-1AL-LOW-HOUSENUM              PIC X(11).           00010306
-       05 GEO-WA2-1AL-ALTKEY-1.                                    00010406
-         10 GEO-WA2-1AL-ALTKEY-1-BORO         PIC X.               00010506
-         10 GEO-WA2-1AL-ALTKEY-1-TAXBLOCK     PIC X(5).            00010606
-         10 GEO-WA2-1AL-ALTKEY-1-TAXLOT       PIC X(4).            00010706
-       05 FILLER                              PIC X.               00010806
-       05 GEO-WA2-1AL-SCC                     PIC X.               00010906
-       05 FILLER                              PIC X.               00011006
-       05 GEO-WA2-1AL-GENERAL-LOT-INFO.                            00011106
-         10 GEO-WA2-1AL-RPAD-BLDG-CLASS       PIC X(2).            00011206
-         10 GEO-WA2-1AL-CORNER-CODE           PIC X(2).            00011306
-         10 GEO-WA2-1AL-NUM-OF-STRUCTURES     PIC X(4).            00011406
-         10 GEO-WA2-1AL-NUM-OF-BLOCKFACES     PIC X(2).            00011506
-         10 GEO-WA2-1AL-INTERIOR-FLAG         PIC X.               00011606
-         10 GEO-WA2-1AL-VACANT-FLAG           PIC X.               00011706
-         10 GEO-WA2-1AL-IRREG-FLAG            PIC X.               00011806
-       05 GEO-WA2-1AL-ALT-BORO-FLAG           PIC X.               00011906
-       05 FILLER                              PIC X.               00012006
-       05 PIWA2-1AL-STROLL-KEY                PIC X(19).           00012106
-       05 FILLER-GSS                          PIC X.               00012206
-       05 GEO-WA2-1AL-BLDG-ID-NUM             PIC X(7).            00012306
-       05 GEO-WA2-1AL-CONDO-LOT-FLAG          PIC X.               00012406
-       05 FILLER                              PIC X.               00012506
-       05 GEO-WA2-1AL-RPAD-COND-NUM           PIC X(4).            00012606
-       05 FILLER                              PIC X(7).            00012706
-       05 GEO-WA2-1AL-CONDO-BILLING-BBL       PIC X(10).           00012806
-       05 FILLER                              PIC X.               00012906
-       05 GEO-WA2-1AL-CONDO-BILL-BBL-SCC      PIC X.               00013006
-       05 GEO-WA2-1AL-CONDO-LOW-BBL           PIC X(10).           00013106
-       05 FILLER                              PIC X.               00013206
-       05 GEO-WA2-1AL-CONDO-HIGH-BBL          PIC X(10).           00013306
-       05 FILLER                              PIC X.               00013406
-       05 FILLER                              PIC X(15).           00013506
-       05 GEO-WA2-1AL-CO-OP-NBR               PIC X(4).            00013606
-       05 GEO-WA2-1AL-SANBORN-BVOLPAGE.                            00013706
-          10  GEO-WA2-1AL-SANBORN-BORO        PIC X(1).            00013806
-          10  GEO-WA2-1AL-SANBORN-VOL-PAGE.                        00013906
-            15  GEO-WA2-1AL-SANBORN-VOL-NUM   PIC X(3).            00014006
-            15  GEO-WA2-1AL-SANBORN-PAGE-NUM  PIC X(4).            00014106
-       05 GEO-WA2-1AL-COMMERC-DIST            PIC X(5).            00014206
-       05 PIWA2-1AL-DOF-MAP-BORO              PIC X.               00014306
-       05 PIWA2-1AL-DOF-MAP-SECVOL            PIC X(4).            00014406
- *******  PIWA2-1AL-DOF-MAP-PAGE  NOT IMPLEMENTED                  00014506
-       05 PIWA2-1AL-DOF-MAP-PAGE              PIC X(4).            00014606
-       05 FILLER                              PIC X(3).            00014719
-       05 PIWA2-1AL-LATITUDE                  PIC X(9).            00014819
-       05 PIWA2-1AL-LONGITUDE                 PIC X(11).           00014919
-       05 PIWA2-1AL-X-COORD                   PIC X(7).            00015019
-       05 PIWA2-1AL-Y-COORD                   PIC X(7).            00015119
-       05 PIWA2-1AL-BID                       PIC X(6).            00015219
-       05 PIWA2-1AL-TPAD-BIN-ST               PIC X.               00015319
-       05 PIWA2-1AL-TPAD-NEW-BIN              PIC X(7).            00015419
-       05 PIWA2-1AL-TPAD-NEW-BIN-ST           PIC X.               00015519
-       05 PIWA2-1AL-TPAD-CONFLICT             PIC X.               00015619
-       05 FILLER                              PIC X(9).            00015719
-       05 FILLER-GSS                          PIC X(8).            00015819
-       05 GEO-WA2-1AL-NUM-OF-BINS             PIC X(4).            00015919
-       05 PIWA2-1AL-TPAD-BINLIST.                                  00016019
-          10 PIWA2-1AL-TPAD-BINS OCCURS 2187 TIMES.                00016119
-            15 PIWA2-1AL-TPAD-BINS-BIN         PIC X(7).           00016219
-            15 PIWA2-1AL-TPAD-BINS-STAT        PIC X.              00016319
-          10 PIWA2-1AL-TPAD-FILL               PIC X(4).           00016419
-       05 GEO-WA2-1AL-BINS REDEFINES PIWA2-1AL-TPAD-BINLIST        00016519
-          PIC X(7)  OCCURS 2500 TIMES.                             00016619
-                                                                   00016719
- ***************************************************************   00016819
- ***   FOR: FUNCTION 1/1E EXTENDED  *****************3**********   00016919
-                                                                   00017019
-      03  PIWA2-FUNCTION1EX   REDEFINES PIWA2.                     00017119
-                                                                   00017219
-       05 PIWA2-FN1EX-ACCESS-KEY              PIC X(21).           00017319
-       05 PIWA2-FN1EX-CONT-PARITY             PIC X.               00017419
-       05 PIWA2-FN1EX-LOW-HOUSENUM-SORT       PIC X(11).           00017519
-       05 PIWA2-FN1EX-HI-HOUSENUM-SORT        PIC X(11).           00017619
-       05 PIWA2-FN1EX-PREFERRED-LGC           PIC X(2).            00017719
-       05 PIWA2-FN1EX-NUM-X-ST-LOW-END        PIC X.               00017819
-       05 PIWA2-FN1EX-LOW-B5SC                PIC X(6)             00017919
-                                               OCCURS 5 TIMES.     00018019
-       05 PIWA2-FN1EX-NUM-X-ST-HI-END         PIC X.               00018119
-       05 PIWA2-FN1EX-HI-B5SC                 PIC X(6)             00018219
-                                               OCCURS 5 TIMES.     00018319
-       05 PIWA2-FN1EX-LIONKEY.                                     00018419
-           10  PIWA2-FN1EX-LION-BORO          PIC X.               00018519
-           10  PIWA2-FN1EX-LIONFACECODE       PIC X(4).            00018619
-           10  PIWA2-FN1EX-LIONSEQ            PIC X(5).            00018719
-       05 PIWA2-FN1EX-SPECIAL-ADDR-FLAG       PIC X(1).            00018819
-       05 PIWA2-FN1EX-SIDE-OF-STR             PIC X.               00018919
-       05 PIWA2-FN1EX-SEGMENTLENGTH           PIC X(5).            00019019
-       05 PIWA2-FN1EX-XCOORD                  PIC X(7).            00019119
-       05 PIWA2-FN1EX-YCOORD                  PIC X(7).            00019219
-       05 FILLER-GSS                          PIC X(8).            00019319
-       05 PIWA2-FN1EX-MARBLE-RIKER-FLAG       PIC X(1).            00019419
-       05 PIWA2-FN1EX-SLA                     PIC X.               00019519
-       05 PIWA2-FN1EX-COMDIST.                                     00019619
-           10  PIWA2-FN1EX-COMDIST-BORO       PIC X(1).            00019719
-           10  PIWA2-FN1EX-COMDIST-NUMBER     PIC X(2).            00019819
-       05 PIWA2-FN1EX-ZIP                     PIC X(5).            00019919
-                                                                   00020019
-       05 PIWA2-FN1EX-ELECTDIST               PIC X(3).            00020119
-       05 PIWA2-FN1EX-ASSEMDIST               PIC X(2).            00020219
-       05 PIWA2-FN1EX-SPLIT-ED-FLAG           PIC X(1).            00020319
-       05 PIWA2-FN1EX-CONGDIST                PIC X(2).            00020419
-       05 PIWA2-FN1EX-SENATEDIST              PIC X(2).            00020519
-       05 PIWA2-FN1EX-COURTDIST               PIC X(2).            00020619
-       05 PIWA2-FN1EX-COUNCILDIST             PIC X(2).            00020719
-                                                                   00020819
-       05 PIWA2-FN1EX-HCD                     PIC X(2).            00020919
-       05 PIWA2-FN1EX-HEALTHAREA              PIC X(4).            00021019
-       05 PIWA2-FN1EX-SANIDIST.                                    00021119
-           10  PIWA2-FN1EX-SANIDIST-BORO      PIC X(1).            00021219
-           10  PIWA2-FN1EX-SANIDIST-NUMBER    PIC X(2).            00021319
-       05 PIWA2-FN1EX-SANITATION-SUBSEC       PIC X(2).            00021419
-       05 PIWA2-FN1EX-SANI-REG                PIC X(5).            00021519
-       05 PIWA2-FN1EX-SANI-REC                PIC X(3).            00021619
-       05 PIWA2-FN1EX-POLICEDIST.                                  00021719
-            15 PIWA2-FN1EX-POL-PATR-BORO-CMD PIC X(1).             00021819
-            15 PIWA2-FN1EX-POL-PRECINCT       PIC X(3).            00021919
- ** NOTE:10  PIWA2-FN1EX-FIRESEC ==> FIRE DIVISION **              00022019
-       05 PIWA2-FN1EX-FIRESEC                 PIC X(2).            00022119
-       05 PIWA2-FN1EX-FIREBAT                 PIC X(2).            00022219
-       05 PIWA2-FN1EX-FIRECO.                                      00022319
-           10  PIWA2-FN1EX-FIRECO-TYPE        PIC X(1).            00022419
-           10  PIWA2-FN1EX-FIRECO-NUM         PIC X(3).            00022519
-       05 PIWA2-FN1EX-SPLIT-SCHOOL-FLAG       PIC X.               00022619
-       05 PIWA2-FN1EX-SCHOOLDIST              PIC X(2).            00022719
-       05 PIWA2-FN1EX-DYN-BLOCK               PIC X(3).            00022819
-       05 PIWA2-FN1EX-POLICE-PAT-BORO         PIC X(2).            00023022
-       05 PIWA2-FN1EX-FEATURE-TYPE            PIC X.               00023119
-       05 PIWA2-FN1EX-SEGMENT-TYPE            PIC X.               00023219
-       05 PIWA2-FN1EX-ALX                     PIC X.               00023319
-       05 PIWA2-FN1EX-COINCIDENT-CNT          PIC X.               00023419
-       05 FILLER                              PIC X(3).            00023519
-       05 PIWA2-FN1EX-1990-CENSUSTRACT        PIC X(6).            00023619
-       05 PIWA2-FN1EX-2010-CENS-TRCT          PIC X(6).            00023719
-       05 PIWA2-FN1EX-2010-CENS-BLK           PIC X(4).            00023819
-       05 PIWA2-FN1EX-2010-CENS-BLK-SFX       PIC X.               00023919
-       05 PIWA2-FN1EX-2000-CENS-TRCT          PIC X(6).            00024019
-       05 PIWA2-FN1EX-2000-CENS-BLK           PIC X(4).            00024119
-       05 PIWA2-FN1EX-2000-CENS-BLK-SFX       PIC X.               00024219
-       05 PIWA2-FN1EX-NTA                     PIC X(4).            00024319
-       05 PIWA2-FN1EX-SANIT-SNOW-PRRTY        PIC X.               00024419
-       05 PIWA2-FN1EX-SANIT-ORGANICS          PIC X(5).            00024519
-       05 PIWA2-FN1EX-SANIT-BULK-PICK-UP      PIC X(5).            00024630
- ****  05 PIWA2-FN1EX-SANIT-RESERVED V16.4    PIC X(5).            00024730
-       05 PIWA2-FN1EX-HURRICANE-ZONE          PIC XX.              00024829
-       05 FILLER                              PIC X(11).           00024929
-       05 PIWA2-FN1EX-TRUE-HNS                PIC X(11).           00025029
-       05 PIWA2-FN1EX-TRUE-B7SC               PIC X(8).            00025129
-       05 PIWA2-FN1EX-SEG-ID                  PIC X(7).            00025229
-       05 PIWA2-FN1EX-CURVE-FLAG              PIC X(1).            00025329
-       05 PIWA2-FN1EX-LGCS                    PIC X(8).            00025429
-       05 PIWA2-FN1EX-BOE-PTR                 PIC X(1).            00025529
-       05 PIWA2-FN1EX-AZIMUTH                 PIC X(3).            00025629
-       05 PIWA2-FN1EX-ORIENT                  PIC X(1).            00025729
-       05 PIWA2-FN1EX-X-LOW                   PIC X(7).            00025829
-       05 PIWA2-FN1EX-Y-LOW                   PIC X(7).            00025929
-       05 PIWA2-FN1EX-Z-LOW                   PIC X(7).            00026029
-       05 PIWA2-FN1EX-X-HI                    PIC X(7).            00026129
-       05 PIWA2-FN1EX-Y-HI                    PIC X(7).            00026229
-       05 PIWA2-FN1EX-Z-HI                    PIC X(7).            00026329
-       05 PIWA2-FN1EX-X-CC                    PIC X(7).            00026429
-       05 PIWA2-FN1EX-Y-CC                    PIC X(7).            00026529
-       05 PIWA2-FN1EX-Z-CC                    PIC X(7).            00026629
-       05 PIWA2-FN1EX-RADIUS                  PIC X(7).            00026729
-       05 PIWA2-FN1EX-SECANT                  PIC X(1).            00026829
-       05 PIWA2-FN1EX-ANGLE-FROM              PIC X(5).            00026929
-       05 PIWA2-FN1EX-ANGLE-TO                PIC X(5).            00027029
-       05 PIWA2-FN1EX-NODE-FROM               PIC X(7).            00027129
-       05 PIWA2-FN1EX-NODE-TO                 PIC X(7).            00027229
-       05 PIWA2-FN1EX-VANITY-LION             PIC X(10).           00027329
-       05 PIWA2-FN1EX-SOS                     PIC X(1).            00027429
-       05 PIWA2-FN1EX-SPLIT-LOHSN             PIC X(11).           00027529
-       05 PIWA2-FN1EX-TD                      PIC X(1).            00027629
-       05 PIWA2-FN1EX-TR                      PIC X(10).           00027729
-       05 PIWA2-FN1EX-CURVE-FRACTION          PIC X(3).            00027829
-       05 PIWA2-FN1EX-ROADWAY-TYPE            PIC X(2).            00027929
-       05 PIWA2-FN1EX-PHYICAL-ID              PIC X(7).            00028029
-       05 PIWA2-FN1EX-GENERIC-ID              PIC X(7).            00028129
-       05 PIWA2-FN1EX-NYPD-ID-FILL            PIC X(7).            00028229
-       05 PIWA2-FN1EX-FDNY-ID-FILL            PIC X(7).            00028329
-       05 PIWA2-FN1EX-BIKE-LANE-2             PIC X(2).            00028429
-       05 PIWA2-FN1EX-BIKE-TRAFFIC-DIR        PIC X(2).            00028535
-       05 FILLER                              PIC X(3).            00028633
- ****  05 FILLER              ******V17.1 **  PIC X(5).            00028833
- ****  05 FILLER              ******V16.4 **  PIC X(7).            00028933
- ****  05 PIWA2-FN1EX-BLOCKFACE-ID *V16.1 **  PIC X(7) ***         00029033
-       05 PIWA2-FN1EX-STREET-STATUS           PIC X(1).            00029133
-       05 PIWA2-FN1EX-STREET-WIDTH            PIC X(3).            00029233
-       05 PIWA2-FN1EX-STREET-WIDTH-IRR        PIC X(1).            00029333
-       05 PIWA2-FN1EX-BIKE-LANE               PIC X(1).            00029433
-       05 PIWA2-FN1EX-FED-CLASS-CODE          PIC X(2).            00029533
-       05 PIWA2-FN1EX-ROW-TYPE                PIC X(1).            00029633
-       05 PIWA2-FN1EX-LGC-LIST-2              PIC X(10).           00029733
-       05 PIWA2-FN1EX-LEGACY-SEG-ID           PIC X(7).            00029833
-       05 PIWA2-FN1EX-LGC-LIST-FROM-1         PIC X(10).           00029933
-       05 PIWA2-FN1EX-LGC-LIST-TO-1           PIC X(10).           00030033
-       05 PIWA2-FN1EX-LGC-LIST-FROM-2         PIC X(10).           00030133
-       05 PIWA2-FN1EX-LGC-LIST-TO-2           PIC X(10).           00030233
-       05 PIWA2-FN1EX-NOCROSS-FLG             PIC X(1).            00030333
-       05 PIWA2-FN1EX-IND-SEG-LEN             PIC X(5).            00030433
-       05 PIWA2-FN1EX-NTA-NAME                PIC X(75).           00030533
-       05 PIWA2-FN1EX-USPS-CITY-NAME          PIC X(25).           00030633
-       05 PIWA2-FN1EX-LATITUDE                PIC X(9).            00030733
-       05 PIWA2-FN1EX-LONGITUDE               PIC X(11).           00030833
-       05 PIWA2-FN1EX-SEG-FROM-NODE           PIC X(7).            00030933
-       05 PIWA2-FN1EX-SEG-TO-NODE             PIC X(7).            00031033
-       05 PIWA2-FN1EX-SEG-FROM-XYZ            PIC X(21).           00031133
-       05 PIWA2-FN1EX-SEG-TO-XYZ              PIC X(21).           00031233
-       05 PIWA2-FN1EX-BLOCKFACE-ID            PIC X(10).           00031333
-       05 PIWA2-FN1EX-NBR-TRAVEL-LANES        PIC X(2).            00031433
-       05 PIWA2-FN1EX-NBR-PARK-LANES          PIC X(2).            00031533
-       05 PIWA2-FN1EX-NBR-TOTAL-LANES         PIC X(2).            00031633
-       05 PIWA2-FN1EX-STREET-WIDTH-MAX        PIC X(3).            00031733
-       05 PIWA2-FN1EX-FILL500                 PIC X(252).          00031833
- ****  05 PIWA2-FN1EX-FILL500   ** V16.4 **   PIC X(255).          00031933
- ****  05 PIWA2-FN1EX-FILL500   ** V16.1 **   PIC X(271) ***       00032033
- ****  05 PIWA2-FN1EX-FILL500   ** V15.3 **   PIC X(327) ***       00032133
- ****************************************************************/ 00032233
- *                                                            ***/ 00032333
- *THE FOLLOWING FIELDS ARE AN ADDITION TO GRID1               ***/ 00032433
- ****************************************************************/ 00032533
-       05 PIWA2-FN1EX-REASON-CODE             PIC X(1).            00032633
-       05 PIWA2-FN1EX-REASON-CODE-QUAL        PIC X(1).            00032733
-       05 PIWA2-FN1EX-WARN-CODE               PIC X(2).            00032833
-       05 PIWA2-FN1EX-RETURN-CODE             PIC X(2).            00032933
-       05 PIWA2-FN1EX-NUM-X-STS-LO-END        PIC X(1).            00033033
-       05 PIWA2-FN1EX-LO-B7SC OCCURS 5 TIMES  PIC X(8).            00033133
-       05 PIWA2-FN1EX-NUM-X-STS-HI-END        PIC X(1).            00033233
-       05 PIWA2-FN1EX-HI-B7SC OCCURS 5 TIMES  PIC X(8).            00033333
-       05 PIWA2-FN1EX-LO-ST-NAME OCCURS 5 TIMES PIC X(32).         00033433
-       05 PIWA2-FN1EX-HI-ST-NAME OCCURS 5 TIMES PIC X(32).         00033533
-       05 PIWA2-FN1EX-BOE-B7SC                PIC X(8).            00033633
-       05 PIWA2-FN1EX-BOE-ST-NAME             PIC X(32).           00033733
-       05 PIWA2-FN1EX-FILL600                 PIC X(52).           00033833
-                                                                   00033933
- ***************************************************************   00034033
- ***   FOR: FUNCTION 1A   EXTENDED  ****************************   00034133
-                                                                   00034233
-      03  PIWA2-FUNCTION1AX  REDEFINES PIWA2.                      00034333
-       05 PIWA2-1AX-ACCESS-KEY                PIC X(21).           00034433
-       05 PIWA2-1AX-CONT-PARITY               PIC X.               00034533
-       05 PIWA2-1AX-LOW-HOUSENUM              PIC X(11).           00034633
-       05 PIWA2-1AX-ALTKEY-1.                                      00034733
-         10 PIWA2-1AX-ALTKEY-1-BORO           PIC X.               00034833
-         10 PIWA2-1AX-ALTKEY-1-TAXBLOCK       PIC X(5).            00034933
-         10 PIWA2-1AX-ALTKEY-1-TAXLOT         PIC X(4).            00035033
-       05 FILLER                              PIC X.               00035133
-       05 PIWA2-1AX-SCC                       PIC X(1).            00035233
-       05 FILLER                              PIC X.               00035333
-       05 PIWA2-1AX-GENERAL-LOT-INFO.                              00035433
-         10 PIWA2-1AX-RPAD-BLDG-CLASS         PIC X(2).            00035533
-         10 PIWA2-1AX-CORNER-CODE             PIC X(2).            00035633
-         10 PIWA2-1AX-TOT-NBR-BLDG            PIC X(4).            00035733
-         10 PIWA2-1AX-NUM-OF-BLOCKFACES       PIC X(2).            00035833
-         10 PIWA2-1AX-INTERIOR-FLAG           PIC X.               00035933
-         10 PIWA2-1AX-VACANT-FLAG             PIC X.               00036033
-         10 PIWA2-1AX-IRREG-FLAG              PIC X.               00036133
-       05 PIWA2-1AX-ALT-BORO-FLAG             PIC X.               00036233
-       05 PIWA2-1AX-OVERFLOW-FLAG             PIC X(1).            00036333
-       05 PIWA2-1AX-STROLL-KEY                PIC X(19).           00036433
-       05 FILLER-GSS                          PIC X.               00036533
-       05 PIWA2-1AX-BLDG-ID-NUM               PIC X(7).            00036633
-       05 PIWA2-1AX-CONDO-LOT-FLAG            PIC X.               00036733
-       05 FILLER                              PIC X.               00036833
-       05 PIWA2-1AX-RPAD-COND-NUM             PIC X(4).            00036933
-       05 FILLER                              PIC X(7).            00037033
-       05 PIWA2-1AX-CONDO-BILLING-BBL         PIC X(10).           00037133
-       05 FILLER                              PIC X.               00037233
-       05 PIWA2-1AX-CONDO-BILL-BBL-SCC        PIC X(1).            00037333
-       05 PIWA2-1AX-CONDO-LOW-BBL             PIC X(10).           00037433
-       05 FILLER                              PIC X.               00037533
-       05 PIWA2-1AX-CONDO-HIGH-BBL            PIC X(10).           00037633
-       05 FILLER                              PIC X.               00037733
-       05 FILLER                              PIC X(15).           00037833
-       05 PIWA2-1AX-CO-OP-NBR                 PIC X(4).            00037933
-       05 PIWA2-1AX-SANBORN-BVOLPAGE.                              00038033
-          10  PIWA2-1AX-SANBORN-BORO          PIC X(1).            00038133
-          10  PIWA2-1AX-SANBORN-VOL-PAGE.                          00038233
-            15  PIWA2-1AX-SANBORN-VOL-NUM     PIC X(3).            00038333
-            15  PIWA2-1AX-SANBORN-PAGE-NUM    PIC X(4).            00038433
-       05 PIWA2-1AX-COMMERC-DIST              PIC X(5).            00038533
-       05 PIWA2-1AX-DOF-MAP-BOROUGH           PIC X.               00038633
-       05 PIWA2-1AX-TAX-MAP-NBR               PIC X(4).            00038733
-       05 FILLER-FOR-TAX-MAP-PAGE             PIC X(4).            00038833
-       05 FILLER                              PIC X(3).            00038933
-       05 PIWA2-1AX-LATITUDE                  PIC X(9).            00039033
-       05 PIWA2-1AX-LONGITUDE                 PIC X(11).           00039133
-       05 PIWA2-1AX-X-COORD                   PIC X(7).            00039233
-       05 PIWA2-1AX-Y-COORD                   PIC X(7).            00039333
-       05 PIWA2-1AX-BID                       PIC X(6).            00039433
-       05 PIWA2-1AX-TPAD-BIN-ST               PIC X.               00039533
-       05 PIWA2-1AX-TPAD-NEW-BIN              PIC X(7).            00039633
-       05 PIWA2-1AX-TPAD-NEW-BIN-ST           PIC X.               00039733
-       05 PIWA2-1AX-TPAD-CONFLICT             PIC X.               00039833
-       05 FILLER                              PIC X(9).            00039933
-       05 FILLER-GSS                          PIC X(8).            00040033
-       05 PIWA2-1AX-REASON-CODE               PIC X(1).            00040133
-       05 PIWA2-1AX-REASON-CODE-QUAL          PIC X(1).            00040233
-       05 PIWA2-1AX-WARN-CODE                 PIC X(2).            00040333
-       05 PIWA2-1AX-RETURN-CODE               PIC X(2).            00040433
-       05 PIWA2-1AX-FILLER                    PIC X(108).          00040533
-       05 PIWA2-1AX-NUM-OF-ADDR               PIC X(4).            00040633
-       05 PIWA2-1AX-ADDR-LIST                OCCURS 21 TIMES.      00040733
-         10  PIWA2-1AX-LIST-LOW-HOUSENUM      PIC X(16).           00040833
-         10  PIWA2-1AX-LIST-HI-HOUSENUM       PIC X(16).           00040933
-         10  PIWA2-1AX-LIST-BORO              PIC X.               00041033
-         10  PIWA2-1AX-LIST-5SC               PIC X(5).            00041133
-         10  PIWA2-1AX-LIST-LGC               PIC X(2).            00041233
-         10  PIWA2-1AX-LIST-BIN               PIC X(7).            00041333
-         10  PIWA2-1AX-LIST-SOS               PIC X.               00041433
-         10  PIWA2-1AX-ADDR-TYPE              PIC X.               00041533
-         10  PIWA2-1AX-TPAD-STATUS            PIC X.               00041633
-         10  PIWA2-1AX-ST-NAME                PIC X(32).           00041733
-         10  FILLER                           PIC X(34).           00041833
-                                                                   00041933
- ***************************************************************   00042033
- ***   FOR: FUNCTION 1B             ****************************   00042133
-                                                                   00042233
-      03  PIWA2-FUNCTION1B   REDEFINES PIWA2.                      00042333
-                                                                   00042433
-       05 PIWA2-1B-1-ACCESS-KEY               PIC X(21).           00042533
-       05 PIWA2-1B-1-CONT-PARITY              PIC X.               00042633
-       05 PIWA2-1B-1-LOW-HOUSENUM-SORT        PIC X(11).           00042733
-       05 PIWA2-1B-1-HI-HOUSENUM-SORT         PIC X(11).           00042833
-       05 PIWA2-1B-1-PREFERRED-LGC            PIC X(2).            00042933
-       05 PIWA2-1B-1-NUM-X-ST-LOW-END         PIC X.               00043033
-       05 PIWA2-1B-1-LOW-B5SC                 PIC X(6)             00043133
-                                               OCCURS 5 TIMES.     00043233
-       05 PIWA2-1B-1-NUM-X-ST-HI-END          PIC X.               00043333
-       05 PIWA2-1B-1-HI-B5SC                  PIC X(6)             00043433
-                                               OCCURS 5 TIMES.     00043533
-       05 PIWA2-1B-1-LIONKEY.                                      00043633
-           10  PIWA2-1B-1-LION-BORO           PIC X.               00043733
-           10  PIWA2-1B-1-LIONFACECODE        PIC X(4).            00043833
-           10  PIWA2-1B-1-LIONSEQ             PIC X(5).            00043933
-       05 PIWA2-1B-1-SPECIAL-ADDR-FLAG        PIC X(1).            00044033
-       05 PIWA2-1B-1-SIDE-OF-STR              PIC X.               00044133
-       05 PIWA2-1B-1-SEGMENTLENGTH            PIC X(5).            00044233
-       05 PIWA2-1B-1-XCOORD                   PIC X(7).            00044333
-       05 PIWA2-1B-1-YCOORD                   PIC X(7).            00044433
-       05 FILLER-GSS                          PIC X(8).            00044533
-       05 PIWA2-1B-1-MARBLE-RIKER-FLAG        PIC X(1).            00044633
-       05 PIWA2-1B-1-SLA                      PIC X.               00044733
-       05 PIWA2-1B-1-COMDIST.                                      00044833
-           10  PIWA2-1B-1-COMDIST-BORO        PIC X(1).            00044933
-           10  PIWA2-1B-1-COMDIST-NUMBER      PIC X(2).            00045033
-       05 PIWA2-1B-1-ZIP                      PIC X(5).            00045133
-                                                                   00045233
-       05 PIWA2-1B-1-ELECTDIST                PIC X(3).            00045333
-       05 PIWA2-1B-1-ASSEMDIST                PIC X(2).            00045433
-       05 PIWA2-1B-1-SPLIT-ED-FLAG            PIC X(1).            00045533
-       05 PIWA2-1B-1-CONGDIST                 PIC X(2).            00045633
-       05 PIWA2-1B-1-SENATEDIST               PIC X(2).            00045733
-       05 PIWA2-1B-1-COURTDIST                PIC X(2).            00045833
-       05 PIWA2-1B-1-COUNCILDIST              PIC X(2).            00045933
-                                                                   00046033
-       05 PIWA2-1B-1-HCD                      PIC X(2).            00046133
-       05 PIWA2-1B-1-HEALTHAREA               PIC X(4).            00046233
-       05 PIWA2-1B-1-SANIDIST.                                     00046333
-           10  PIWA2-1B-1-SANIDIST-BORO       PIC X(1).            00046433
-           10  PIWA2-1B-1-SANIDIST-NUMBER     PIC X(2).            00046533
-       05 PIWA2-1B-1-SANITATION-SUBSEC        PIC X(2).            00046633
-       05 PIWA2-1B-1-SANI-REG                 PIC X(5).            00046733
-       05 PIWA2-1B-1-SANI-REC                 PIC X(3).            00046833
-       05 PIWA2-1B-1-POLICEDIST.                                   00046933
-            15 PIWA2-1B-1-POL-PATR-BORO-CMD PIC X(1).              00047033
-            15 PIWA2-1B-1-POL-PRECINCT        PIC X(3).            00047133
- ** NOTE:10  PIWA2-1B-1-FIRESEC ==> FIRE DIVISION **               00047233
-       05 PIWA2-1B-1-FIRESEC                  PIC X(2).            00047333
-       05 PIWA2-1B-1-FIREBAT                  PIC X(2).            00047433
-       05 PIWA2-1B-1-FIRECO.                                       00047533
-           10  PIWA2-1B-1-FIRECO-TYPE         PIC X(1).            00047633
-           10  PIWA2-1B-1-FIRECO-NUM          PIC X(3).            00047733
-       05 PIWA2-1B-1-SPLIT-SCHOOL-FLAG        PIC X.               00047833
-       05 PIWA2-1B-1-SCHOOLDIST               PIC X(2).            00047933
-       05 PIWA2-1B-1-DYN-BLOCK                PIC X(3).            00048033
-       05 PIWA2-1B-1-POLICE-PAT-BORO          PIC X(2).            00048133
-       05 PIWA2-1B-1-FEATURE-TYPE             PIC X.               00048233
-       05 PIWA2-1B-1-SEGMENT-TYPE             PIC X.               00048333
-       05 PIWA2-1B-1-ALX                      PIC X.               00048433
-       05 PIWA2-1B-1-COINCIDENT-CNT           PIC X.               00048533
-       05 FILLER                              PIC X(3).            00048633
-       05 PIWA2-1B-1-1990-CENSUSTRACT         PIC X(6).            00048733
-       05 PIWA2-1B-1-2010-CENS-TRCT           PIC X(6).            00048833
-       05 PIWA2-1B-1-2010-CENS-BLK            PIC X(4).            00048933
-       05 PIWA2-1B-1-2010-CENS-BLK-SFX        PIC X.               00049033
-       05 PIWA2-1B-1-2000-CENS-TRCT           PIC X(6).            00049133
-       05 PIWA2-1B-1-2000-CENS-BLK            PIC X(4).            00049233
-       05 PIWA2-1B-1-2000-CENS-BLK-SFX        PIC X.               00049333
-       05 PIWA2-1B-1-NTA                      PIC X(4).            00049433
-       05 PIWA2-1B-1-SANIT-SNOW-PRRTY         PIC X.               00049533
-       05 PIWA2-1B-1-SANIT-ORGANICS           PIC X(5).            00049633
-       05 PIWA2-1B-1-SANIT-BULK-PICK-UP       PIC X(5).            00049733
- ****  05 PIWA2-1B-1-SANIT-RESERVED V16.4     PIC X(5).            00049833
-       05 PIWA2-1B-1-HURRICANE-ZONE           PIC XX.              00049933
-       05 FILLER                              PIC X(11).           00050033
-       05 PIWA2-1B-1-TRUE-HNS                 PIC X(11).           00050133
-       05 PIWA2-1B-1-TRUE-B7SC                PIC X(8).            00050233
-       05 PIWA2-1B-1-SEG-ID                   PIC X(7).            00050333
-       05 PIWA2-1B-1-CURVE-FLAG               PIC X(1).            00050433
-       05 PIWA2-1B-1-LGCS                     PIC X(8).            00050533
-       05 PIWA2-1B-1-BOE-PTR                  PIC X(1).            00050633
-       05 PIWA2-1B-1-AZIMUTH                  PIC X(3).            00050733
-       05 PIWA2-1B-1-ORIENT                   PIC X(1).            00050833
-       05 PIWA2-1B-1-X-LOW                    PIC X(7).            00050933
-       05 PIWA2-1B-1-Y-LOW                    PIC X(7).            00051033
-       05 PIWA2-1B-1-Z-LOW                    PIC X(7).            00051133
-       05 PIWA2-1B-1-X-HI                     PIC X(7).            00051233
-       05 PIWA2-1B-1-Y-HI                     PIC X(7).            00051333
-       05 PIWA2-1B-1-Z-HI                     PIC X(7).            00051433
-       05 PIWA2-1B-1-X-CC                     PIC X(7).            00051533
-       05 PIWA2-1B-1-Y-CC                     PIC X(7).            00051633
-       05 PIWA2-1B-1-Z-CC                     PIC X(7).            00051733
-       05 PIWA2-1B-1-RADIUS                   PIC X(7).            00051833
-       05 PIWA2-1B-1-SECANT                   PIC X(1).            00051933
-       05 PIWA2-1B-1-ANGLE-FROM               PIC X(5).            00052033
-       05 PIWA2-1B-1-ANGLE-TO                 PIC X(5).            00052133
-       05 PIWA2-1B-1-NODE-FROM                PIC X(7).            00052233
-       05 PIWA2-1B-1-NODE-TO                  PIC X(7).            00052333
-       05 PIWA2-1B-1-VANITY-LION              PIC X(10).           00052433
-       05 PIWA2-1B-1-SOS                      PIC X(1).            00052533
-       05 PIWA2-1B-1-SPLIT-LOHSN              PIC X(11).           00052633
-       05 PIWA2-1B-1-TD                       PIC X(1).            00052733
-       05 PIWA2-1B-1-TR                       PIC X(10).           00052833
-       05 PIWA2-1B-1-CURVE-FRACTION           PIC X(3).            00052933
-       05 PIWA2-1B-1-ROADWAY-TYPE             PIC X(2).            00053033
-       05 PIWA2-1B-1-PHYICAL-ID               PIC X(7).            00053133
-       05 PIWA2-1B-1-GENERIC-ID               PIC X(7).            00053233
-       05 PIWA2-1B-1-NYPD-ID-FILL             PIC X(7).            00053333
-       05 PIWA2-1B-1-FDNY-ID-FILL             PIC X(7).            00053433
-       05 PIWA2-1B-1-BIKE-LANE-2              PIC X(2).            00053533
-       05 PIWA2-1B-1-BIKE-TRAFFIC-DIR         PIC X(2).            00053633
-       05 FILLER                              PIC X(3).            00053733
- ****  05 FILLER                  ** V17.1 ** PIC X(5) ***         00053833
- ****  05 FILLER                  ** V16.4 ** PIC X(7) ***         00053933
- ****  05 PIWA2-FN-1-BLOCKFACE-ID ** V16.1 ** PIC X(7) ***         00054033
-       05 PIWA2-1B-1-STREET-STATUS            PIC X(1).            00054133
-       05 PIWA2-1B-1-STREET-WIDTH             PIC X(3).            00054233
-       05 PIWA2-1B-1-STREET-WIDTH-IRR         PIC X(1).            00054333
-       05 PIWA2-1B-1-BIKE-LANE                PIC X(1).            00054433
-       05 PIWA2-1B-1-FED-CLASS-CODE           PIC X(2).            00054533
-       05 PIWA2-1B-1-ROW-TYPE                 PIC X(1).            00054633
-       05 PIWA2-1B-1-LGC-LIST-2               PIC X(10).           00054733
-       05 PIWA2-1B-1-LEGACY-SEG-ID            PIC X(7).            00054833
-       05 PIWA2-1B-1-LGC-LIST-FROM-1          PIC X(10).           00054933
-       05 PIWA2-1B-1-LGC-LIST-TO-1            PIC X(10).           00055033
-       05 PIWA2-1B-1-LGC-LIST-FROM-2          PIC X(10).           00055133
-       05 PIWA2-1B-1-LGC-LIST-TO-2            PIC X(10).           00055233
-       05 PIWA2-1B-1-NOCROSS-FLG              PIC X(1).            00055333
-       05 PIWA2-1B-1-IND-SEG-LEN              PIC X(5).            00055433
-       05 PIWA2-1B-1-NTA-NAME                 PIC X(75).           00055533
-       05 PIWA2-1B-1-USPS-CITY-NAME           PIC X(25).           00055633
-       05 PIWA2-1B-1-LATITUDE                 PIC X(9).            00055733
-       05 PIWA2-1B-1-LONGITUDE                PIC X(11).           00055833
-       05 PIWA2-1B-1-SEG-FROM-NODE            PIC X(7).            00055933
-       05 PIWA2-1B-1-SEG-TO-NODE              PIC X(7).            00056033
-       05 PIWA2-1B-1-SEG-FROM-XYZ             PIC X(21).           00056133
-       05 PIWA2-1B-1-SEG-TO-XYZ               PIC X(21).           00056233
-       05 PIWA2-1B-1-BLOCKFACE-ID             PIC X(10).           00056333
-       05 PIWA2-1B-1-NBR-TRAVEL-LANES         PIC X(2).            00056433
-       05 PIWA2-1B-1-NBR-PARK-LANES           PIC X(2).            00056533
-       05 PIWA2-1B-1-NBR-TOTAL-LANES          PIC X(2).            00056633
-       05 PIWA2-1B-1-STREET-WIDTH-MAX         PIC X(3).            00056733
-       05 PIWA2-1B-1-FILL500                  PIC X(252).          00056833
- ****  05 PIWA2-1B-1-FILL500   ** V16.4 **    PIC X(255).          00056933
- ****  05 PIWA2-1B-1-FILL500   ** V16.1 **    PIC X(271) **        00057033
- ****  05 PIWA2-1B-1-FILL500   ** V15,3 **    PIC X(327) **        00057133
- ****************************************************************/ 00057233
- *                                                            ***/ 00057333
- *THE FOLLOWING FIELDS ARE AN ADDITION TO 1/1E                ***/ 00057433
- ****************************************************************/ 00057533
-       05 PIWA2-1B-1-REASON-CODE              PIC X(1).            00057633
-       05 PIWA2-1B-1-REASON-CODE-QUAL         PIC X(1).            00057733
-       05 PIWA2-1B-1-WARN-CODE                PIC X(2).            00057833
-       05 PIWA2-1B-1-RETURN-CODE              PIC X(2).            00057933
-       05 PIWA2-1B-1-NUM-X-STS-LO-END         PIC X(1).            00058033
-       05 PIWA2-1B-1-LO-B7SC OCCURS 5 TIMES   PIC X(8).            00058133
-       05 PIWA2-1B-1-NUM-X-STS-HI-END         PIC X(1).            00058233
-       05 PIWA2-1B-1-HI-B7SC OCCURS 5 TIMES   PIC X(8).            00058333
-       05 PIWA2-1B-1-LO-ST-NAME OCCURS 5 TIMES PIC X(32).          00058433
-       05 PIWA2-1B-1-HI-ST-NAME OCCURS 5 TIMES PIC X(32).          00058533
-       05 PIWA2-1B-1-BOE-B7SC                 PIC X(8).            00058633
-       05 PIWA2-1B-1-BOE-ST-NAME              PIC X(32).           00058733
-       05 PIWA2-1B-1-FILL600                  PIC X(52).           00058833
-                                                                   00058933
-       05 PIWA2-1B-1A-ACCESS-KEY              PIC X(21).           00059033
-       05 PIWA2-1B-1A-CONT-PARITY             PIC X.               00059133
-       05 PIWA2-1B-1A-LOW-HOUSENUM            PIC X(11).           00059233
-       05 PIWA2-1B-1A-ALTKEY-1.                                    00059333
-         10 PIWA2-1B-1A-ALTKEY-1-BORO         PIC X.               00059433
-         10 PIWA2-1B-1A-ALTKEY-1-TAXBLOCK     PIC X(5).            00059533
-         10 PIWA2-1B-1A-ALTKEY-1-TAXLOT       PIC X(4).            00059633
-       05 FILLER                              PIC X.               00059733
-       05 PIWA2-1B-1A-SCC                     PIC X(1).            00059833
-       05 FILLER                              PIC X.               00059933
-       05 PIWA2-1B-1A-GENERAL-LOT-INFO.                            00060033
-         10 PIWA2-1B-1A-RPAD-BLDG-CLASS       PIC X(2).            00060133
-         10 PIWA2-1B-1A-CORNER-CODE           PIC X(2).            00060233
-         10 PIWA2-1B-1A-TOT-NBR-BLDG          PIC X(4).            00060333
-         10 PIWA2-1B-1A-NUM-OF-BLOCKFACES     PIC X(2).            00060433
-         10 PIWA2-1B-1A-INTERIOR-FLAG         PIC X.               00060533
-         10 PIWA2-1B-1A-VACANT-FLAG           PIC X.               00060633
-         10 PIWA2-1B-1A-IRREG-FLAG            PIC X.               00060733
-       05 PIWA2-1B-1A-ALT-BORO-FLAG           PIC X.               00060833
-       05 PIWA2-1B-1A-OVERFLOW-FLAG           PIC X(1).            00060933
-       05 PIWA2-1B-1A-STROLL-KEY              PIC X(19).           00061033
-       05 FILLER-GSS                          PIC X.               00061133
-       05 PIWA2-1B-1A-BLDG-ID-NUM             PIC X(7).            00061233
-       05 PIWA2-1B-1A-CONDO-LOT-FLAG          PIC X.               00061333
-       05 FILLER                              PIC X.               00061433
-       05 PIWA2-1B-1A-RPAD-COND-NUM           PIC X(4).            00061533
-       05 FILLER                              PIC X(7).            00061633
-       05 PIWA2-1B-1A-CONDO-BILLING-BBL       PIC X(10).           00061733
-       05 FILLER                              PIC X.               00061833
-       05 PIWA2-1B-1A-CONDO-BILL-BBL-SCC      PIC X(1).            00061933
-       05 PIWA2-1B-1A-CONDO-LOW-BBL           PIC X(10).           00062033
-       05 FILLER                              PIC X.               00062133
-       05 PIWA2-1B-1A-CONDO-HIGH-BBL          PIC X(10).           00062233
-       05 FILLER                              PIC X.               00062333
-       05 FILLER                              PIC X(15).           00062433
-       05 PIWA2-1B-1A-CO-OP-NBR               PIC X(4).            00062533
-       05 PIWA2-1B-1A-SANBORN-BVOLPAGE.                            00062633
-          10  PIWA2-1B-1A-SANBORN-BORO        PIC X(1).            00062733
-          10  PIWA2-1B-1A-SANBORN-VOL-PAGE.                        00062833
-            15  PIWA2-1B-1A-SANBORN-VOL-NUM   PIC X(3).            00062933
-            15  PIWA2-1B-1A-SANBORN-PAGE-NUM  PIC X(4).            00063033
-       05 PIWA2-1B-1A-COMMERC-DIST            PIC X(5).            00063133
-       05 PIWA2-1B-1A-DOF-MAP-BOROUGH         PIC X.               00063233
-       05 PIWA2-1B-1A-TAX-MAP-NBR             PIC X(4).            00063333
-       05 FILLER-FOR-TAX-MAP-PAGE             PIC X(4).            00063433
-       05 FILLER                              PIC X(3).            00063533
-       05 PIWA2-1B-1A-LATITUDE                PIC X(9).            00063633
-       05 PIWA2-1B-1A-LONGITUDE               PIC X(11).           00063733
-       05 PIWA2-1B-1A-X-COORD                 PIC X(7).            00063833
-       05 PIWA2-1B-1A-Y-COORD                 PIC X(7).            00063933
-       05 PIWA2-1B-1A-BID                     PIC X(6).            00064033
-       05 PIWA2-1B-1A-TPAD-BIN-ST             PIC X.               00064133
-       05 PIWA2-1B-1A-TPAD-NEW-BIN            PIC X(7).            00064233
-       05 PIWA2-1B-1A-TPAD-NEW-BIN-ST         PIC X.               00064333
-       05 PIWA2-1B-1A-TPAD-CONFLICT           PIC X.               00064433
-       05 FILLER                              PIC X(9).            00064533
-       05 FILLER-GSS                          PIC X(8).            00064633
-       05 PIWA2-1B-1A-REASON-CODE             PIC X(1).            00064733
-       05 PIWA2-1B-1A-REASON-CODE-QUAL        PIC X(1).            00064833
-       05 PIWA2-1B-1A-WARN-CODE               PIC X(2).            00064933
-       05 PIWA2-1B-1A-RETURN-CODE             PIC X(2).            00065033
-       05 FILLER                              PIC X(108).          00065133
-       05 PIWA2-1B-1A-NUM-OF-ADDR             PIC X(4).            00065233
-       05 PIWA2-1B-1A-ADDR-LIST              OCCURS 21 TIMES.      00065333
-         10  PIWA2-1B-1A-LIST-LOW-HOUSENUM    PIC X(16).           00065433
-         10  PIWA2-1B-1A-LIST-HI-HOUSENUM     PIC X(16).           00065533
-         10  PIWA2-1B-1A-LIST-BORO            PIC X.               00065633
-         10  PIWA2-1B-1A-LIST-5SC             PIC X(5).            00065733
-         10  PIWA2-1B-1A-LIST-LGC             PIC X(2).            00065833
-         10  PIWA2-1B-1A-LIST-BIN             PIC X(7).            00065933
-         10  PIWA2-1B-1A-LIST-SOS             PIC X.               00066033
-         10  PIWA2-1B-1A-ADDR-TYPE            PIC X.               00066133
-         10  PIWA2-1B-1A-TPAD-STATUS          PIC X.               00066233
-         10  PIWA2-1B-1A-ST-NAME              PIC X(32).           00066333
-         10  FILLER                           PIC X(34).           00067028
-                                                                   00070010
-
-

P2COB3S COPY File

-
******************************************************************  00000100
-***  THIS IS THE COBOL STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM **  00000200
-***  INDEPENDENT WORK AREA 2 FOR FUNCTION 3S.                   **  00000300
-***  COPY FILE - P2COB3S.                         09/17/97      **  00000400
-******************************************************************  00000500
-      05  PIWA2-3S-ACCESS-KEY.                                     00000600
-         10 FILLER-GSS                       PIC X(2).             00000700
-         10 PIWA2-3S-PORS-STNAME-IND         PIC X.                00000800
-         10 PIWA2-3S-BORO                    PIC X.                00000900
-         10 PIWA2-3S-5SC                     PIC X(5).             00001000
-         10 PIWA2-3S-LGC                     PIC X(2).             00001100
-         10 FILLER                           PIC X(10).            00001200
-      05  PIWA2-3S-NUM-OF-INTERSECTS         PIC X(3).             00001300
-      05  PIWA2-3S-LIST-OFINTERSECTS         OCCURS 350 TIMES.     00001400
-         10 PIWA2-3S-MARBLE-RIKERS-FLAG      PIC X.                00001500
-         10 PIWA2-3S-DISTANCE                PIC X(5).             00001600
-         10 PIWA2-3S-GAP-FLAG                PIC X.                00001700
-         10 FILLER                           PIC X(7).             00001800
-         10 PIWA2-3S-NUM-OF-STR              PIC X.                00001900
-         10 PIWA2-3S-B7SC                    PIC X(8)              00002000
-                                             OCCURS 5 TIMES.       00002100
-
-

P2COBAP COPY File

-
*****************************************************************  00010006
-**  MARCH   2015 YNL                - COPYLIB AP / APX    V15.2**  00020028
-**  THIS IS THE COBOL STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM **  00030006
-**  INDEPENDENT WORK AREA 2 FOR FUNCTION: AP.                  **  00040028
-*****************************************************************  00050006
-*****************************************************************  00060006
-                                                                   00070006
-      03  PIWA2                               PIC X(2800).         00080024
-                                                                   00090006
- ***************************************************************   00100023
- ***   FOR: FUNCTION AP             ******** ADDAP  V15.2 ******   00110024
-                                                                   00120023
-      03  PIWA2-FUNCTIONAP   REDEFINES PIWA2.                      00130024
-       05 PIWA2-AP-ACCESS-KEY                 PIC X(21).           00140024
-       05 PIWA2-AP-CONT-PARITY                PIC X.               00150024
-       05 PIWA2-AP-LOW-HOUSENUM               PIC X(11).           00160024
-       05 PIWA2-AP-ALTKEY-1.                                       00170024
-         10 PIWA2-AP-ALTKEY-1-BORO            PIC X.               00180024
-         10 PIWA2-AP-ALTKEY-1-TAXBLOCK        PIC X(5).            00190024
-         10 PIWA2-AP-ALTKEY-1-TAXLOT          PIC X(4).            00200024
-       05 FILLER                              PIC X(7).            00210025
-       05 PIWA2-AP-TOT-NBR-BLDG               PIC X(4).            00220024
-       05 FILLER                              PIC X(26).           00230023
-       05 FILLER-GSS                          PIC X.               00240023
-       05 PIWA2-AP-BLDG-ID-NUM                PIC X(7).            00250024
-       05 PIWA2-AP-CONDO-LOT-FLAG             PIC X.               00260024
-       05 FILLER                              PIC X.               00270023
-       05 PIWA2-AP-RPAD-COND-NUM              PIC X(4).            00280024
-       05 FILLER                              PIC X(7).            00290023
-       05 PIWA2-AP-CONDO-BILLING-BBL          PIC X(10).           00300024
-       05 FILLER                              PIC X(2).            00310025
-       05 PIWA2-AP-CONDO-LOW-BBL              PIC X(10).           00320024
-       05 FILLER                              PIC X.               00330023
-       05 PIWA2-AP-CONDO-HIGH-BBL             PIC X(10).           00340024
-       05 FILLER                              PIC X(16).           00350025
-       05 PIWA2-AP-CO-OP-NBR                  PIC X(4).            00360024
-       05 FILLER                              PIC X(22).           00370031
-       05 PIWA2-AP-RESERVED                   PIC X(3).            00380031
-       05 PIWA2-AP-LATITUDE                   PIC X(9).            00400024
-       05 PIWA2-AP-LONGITUDE                  PIC X(11).           00410024
-       05 PIWA2-AP-X-COORD                    PIC X(7).            00420024
-       05 PIWA2-AP-Y-COORD                    PIC X(7).            00430024
-       05 FILLER                              PIC X(16).           00440029
-       05 PIWA2-AP-AP-ID                      PIC X(9).            00450029
-       05 FILLER-GSS                          PIC X(8).            00460023
-       05 PIWA2-AP-NUM-OF-ADDR                PIC X(4).            00470024
-       05 PIWA2-AP-ADDR-LIST                 OCCURS 21 TIMES.      00480024
-         10  PIWA2-AP-LIST-LOW-HOUSENUM       PIC X(16).           00490024
-         10  PIWA2-AP-LIST-HI-HOUSENUM        PIC X(16).           00500024
-         10  PIWA2-AP-LIST-BORO               PIC X.               00510024
-         10  PIWA2-AP-LIST-5SC                PIC X(5).            00520024
-         10  PIWA2-AP-LIST-LGC                PIC X(2).            00530024
-         10  PIWA2-AP-LIST-BIN                PIC X(7).            00540024
-         10  PIWA2-AP-LIST-SOS                PIC X.               00550024
-         10  PIWA2-AP-ADDR-TYPE               PIC X.               00560024
-         10  FILLER                           PIC X(4).            00570024
-                                                                   00580024
- ***************************************************************   00590024
- ***   FOR: FUNCTION AP EXTENDED  ******** ADDAP  V15.2 ********   00600026
-                                                                   00610024
-      03  PIWA2-FUNCTIONAPX  REDEFINES PIWA2.                      00620024
-       05 PIWA2-APX-ACCESS-KEY                PIC X(21).           00630024
-       05 PIWA2-APX-CONT-PARITY               PIC X.               00640024
-       05 PIWA2-APX-LOW-HOUSENUM              PIC X(11).           00650024
-       05 PIWA2-APX-ALTKEY-1.                                      00660024
-         10 PIWA2-APX-ALTKEY-1-BORO           PIC X.               00670024
-         10 PIWA2-APX-ALTKEY-1-TAXBLOCK       PIC X(5).            00680024
-         10 PIWA2-APX-ALTKEY-1-TAXLOT         PIC X(4).            00690024
-       05 FILLER                              PIC X(7).            00700025
-       05 PIWA2-APX-TOT-NBR-BLDG              PIC X(4).            00710024
-       05 FILLER                              PIC X(26).           00720024
-       05 FILLER-GSS                          PIC X.               00730024
-       05 PIWA2-APX-BLDG-ID-NUM               PIC X(7).            00740024
-       05 PIWA2-APX-CONDO-LOT-FLAG            PIC X.               00750024
-       05 FILLER                              PIC X.               00760024
-       05 PIWA2-APX-RPAD-COND-NUM             PIC X(4).            00770024
-       05 FILLER                              PIC X(7).            00780024
-       05 PIWA2-APX-CONDO-BILLING-BBL         PIC X(10).           00790024
-       05 FILLER                              PIC X(2).            00800025
-       05 PIWA2-APX-CONDO-LOW-BBL             PIC X(10).           00810024
-       05 FILLER                              PIC X.               00820024
-       05 PIWA2-APX-CONDO-HIGH-BBL            PIC X(10).           00830024
-       05 FILLER                              PIC X(16).           00840025
-       05 PIWA2-APX-CO-OP-NBR                 PIC X(4).            00850024
-       05 FILLER                              PIC X(18).           00860024
-       05 FILLER-FOR-TAX-MAP-PAGE             PIC X(4).            00870024
-       05 FILLER                              PIC X(3).            00880024
-       05 PIWA2-APX-LATITUDE                  PIC X(9).            00890024
-       05 PIWA2-APX-LONGITUDE                 PIC X(11).           00900024
-       05 PIWA2-APX-X-COORD                   PIC X(7).            00910024
-       05 PIWA2-APX-Y-COORD                   PIC X(7).            00920024
-       05 FILLER                              PIC X(16).           00930029
-       05 PIWA2-APX-AP-ID                     PIC X(9).            00940029
-       05 FILLER-GSS                          PIC X(8).            00950024
-       05 PIWA2-APX-REASON-CODE               PIC X(1).            00960024
-       05 PIWA2-APX-REASON-CODE-QUAL          PIC X(1).            00970024
-       05 PIWA2-APX-WARN-CODE                 PIC X(2).            00980024
-       05 PIWA2-APX-RETURN-CODE               PIC X(2).            00990024
-       05 PIWA2-APX-FILLER                    PIC X(108).          01000024
-       05 PIWA2-APX-NUM-OF-ADDR               PIC X(4).            01010024
-       05 PIWA2-APX-ADDR-LIST                OCCURS 21 TIMES.      01020024
-         10  PIWA2-APX-LIST-LOW-HOUSENUM      PIC X(16).           01030024
-         10  PIWA2-APX-LIST-HI-HOUSENUM       PIC X(16).           01040024
-         10  PIWA2-APX-LIST-BORO              PIC X.               01050024
-         10  PIWA2-APX-LIST-5SC               PIC X(5).            01060024
-         10  PIWA2-APX-LIST-LGC               PIC X(2).            01070024
-         10  PIWA2-APX-LIST-BIN               PIC X(7).            01080024
-         10  PIWA2-APX-LIST-SOS               PIC X.               01090024
-         10  PIWA2-APX-ADDR-TYPE              PIC X.               01100024
-         10  FILLER                           PIC X.               01110024
-         10  PIWA2-APX-ST-NAME                PIC X(32).           01120024
-         10  FILLER                           PIC X(34).           01130024
-                                                                   01140024
-
-

ASSEMBLER COPY Files (COW)

-
*/********************************************************************/ 00010000
-*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE P1BAL,    ***/ 00020000
-*/*****  CONTAINING THE Platform Independent LAYOUT OF WORK AREA 1 ***/ 00030000
-*/********************************************************************/ 00040000
-*/*****        Last Updated:  August 2016  - Unit added by meb     ***/ 00040136
-*/*****        Last Updated:  December 2013                        ***/ 00040336
-*/********************************************************************/ 00041014
-P1BAL    DS   0H                                                        00050000
-*/****************************                                          00060000
-*/*****  INPUT FIELDS  *******                                          00070000
-*/****************************                                          00080000
-P1IFUNC  DS   0CL2      FUNCTION CODE                                   00090000
-P1IFUNC1 DS    CL1      FUNCTION CODE, BYTE 1                           00100000
-P1IFUNC2 DS    CL1      FUNCTION CODE, BYTE 2                           00110000
-         SPACE                                                          00120000
-P1IHSE#  DS    CL16      UNFORMATED HSNUM FOR FUNCTION: 1; 1A; 1E.      00130001
-P1IHSE#S DS    CL11      HOUSE NUMBER (SORT FORMAT)                     00140005
-*                        The Following two fields are for Fn 5          00150001
-P1ILHS#  DS    CL16      UNFORMATED HSNUM                               00160001
-P1ILHS#S DS    CL11      HOUSE NUMBER (SORT FORMAT)                     00170005
-         SPACE                                                          00180001
-P1IBCD1  DS   0CL11       11 Digit Street Code for Street one             00190000
-P1IBORO1 DS    CL1      BORO CODE  (1=MN;2=BX;3=BK;4=QN;5=SI)           00200000
-P1ICDE1  DS    CL10      STREET CODE FOR STREET ONE                     00210000
-P1ISTRT1 DS    CL32      STREET NAME 1                                  00220000
-         SPACE                                                          00230000
-P1IBCD2  DS   0CL11     11 Digit Street Code for Street two             00240000
-P1IBORO2 DS    CL1       BORO CODE OF CROSS ST. 1                       00250000
-P1ICDE2  DS    CL10      STREET CODE FOR STREET TWO                     00260000
-P1ISTRT2 DS    CL32      STREET NAME 2                                  00270000
-         SPACE                                                          00280000
-P1IBCD3  DS   0CL11     11 Digit Street Code for Street Three           00290001
-P1IBORO3 DS    CL1       BORO CODE OF CROSS ST. 2                       00300000
-P1ICDE3  DS    CL10      STREET CODE FOR STREET THREE                   00310000
-P1ISTRT3 DS    CL32      STREET NAME 3                                  00320000
-         SPACE                                                          00330000
-P1IBBL   DS   0CL10     BORO,BLOCK,LOT FOR "BL" FUNCTION                00340002
-P1IBLBOR DS    CL1      BORO FOR FUNCTION "BL"                          00350000
-P1IBLOCK DS    CL5      TAX BLOCK - FOR  FUNCTION "BL"                  00360000
-P1ILOT   DS    CL4      TAX LOT   - FOR  FUNCTION "BL"                  00370000
-P1ITLV#  DS    CL1       Tax Lot Version Number (Not Implemented)       00380000
-P1IBIN   DS    CL7       BUILDING ID NUMBER                             00390000
-P1ICOMP  DS    CL1       COMPASS DIRECTION (TYPES 2, 3C & 3S)           00400010
-P1ICOMP2 DS    CL1       COMPASS DIRECTION (TYPE 3S)                    00401010
-P1INODE  DS    CL7       Node as inpur for Fn 2                         00410032
-P1IPLIND DS    CL1       Platform Indicator                             00420003
-*                        Blank = St'd Mainframe                         00430000
-*                        P = Platform Independent                       00440000
-P1IZIPIN DS    CL5       Input Zip Code                                 00450036
-P1IUNIT  DS    CL14      Input Unit V16.4                               00451036
-         DS    CL82      Filler                                         00460036
-         SPACE                                                          00470000
-*/****************************                                          00480000
-*/*****      FLAGS     *******                                          00490000
-*/****************************                                          00500000
-         SPACE                                                          00510000
-P1ILONG  DS    CL1       'L' IF LONG WORKAREA 2 FOR FUNC 1A/BL          00520000
-P1IJUST  DS    CL1       HOUSE NUMBER JUSTIFICATION FLAG                00520109
-P1IHNL   DS    CL2       House Number Length                            00521009
-P1IHNBRF DS    CL1       House Number Override Flag - *, $ or blank     00522009
-P1ISNL   DS    CL2       LENGTH STREET NAME IS TO BE NORMALIZED TO      00523009
-P1ICMPCT DS    CL1       'C' IF STREET NAMES ARE TO BE COMPACTED        00524009
-P1IEXPND DS    CL1       EXPANDED FORMAT FLAG                           00530009
-P1IRBRQS DS    CL1       ROADBED REQUEST SWITCH                         00550013
-P1IRES01 DS    CL1       RESERVED FOR INTERNAL USE                      00581015
-P1ISEGAX DS    CL1       Segment Auxiliary Switch                       00582018
-P1IBRFLG DS    CL1       BROWSE FLAG P=PRIMARY ONLY F=PRINCIPAL ONLY    00583020
-P1IRSTON DS    CL1       Real Street Only Flag used with Function 3S    00584021
-P1ITPADS DS    CL1       Read TPAD for PAD Processing                   00585023
-P1IMODES DS    CL1       Mode Switch                                    00586027
-*                        X = Extended                                   00586131
-P1IWTOS  DS    CL1       WTO Switch  N=No WTO                           00586231
-         DS    CL29      FILLER                                         00590031
-         SPACE                                                          00600000
-*/*****************************                                         00610000
-*/*****  OUTPUT FIELDS  *******                                         00620000
-*/*****************************                                         00630000
-         SPACE                                                          00640000
-P1OBORO  DS    CL9       BORO NAME                                      00650000
-P1OHSE#  DS    CL16      HOUSE NUMBER, NORMALIZED, DISPLAY FORMAT       00660000
-P1OHSE#S DS    CL11      HOUSE NUMBER (SORT FORMAT)                     00670005
-P1OBCD1  DS   0CL11     11 Digit Street Code for Street one             00680000
-P1OBORO1 DS    CL1      BORO CODE  (1=MN;2=BX;3=BK;4=QN;5=SI)           00690000
-P1OCDE1  DS    CL10      STREET CODE FOR STREET ONE                     00700000
-P1OSTRT1 DS    CL32      STREET 1 NAME, NORMALIZED                      00710004
-         SPACE                                                          00720000
-P1OBCD2  DS   0CL11     11 Digit Street Code for Street two             00730000
-P1OBORO2 DS    CL1       BORO CODE OF CROSS ST. 1                       00740000
-P1OCDE2  DS    CL10      STREET CODE FOR STREET TWO                     00750000
-P1OSTRT2 DS    CL32      STREET 2 NAME, NORMALIZED                      00760004
-         SPACE                                                          00770000
-P1OBCD3  DS   0CL11     11 Digit Street Code for Street three           00780000
-P1OBORO3 DS    CL1       BORO CODE OF street 3                          00790000
-P1OCDE3  DS    CL10      STREET CODE FOR STREET THREE                   00800000
-P1OSTRT3 DS    CL32      STREET 3 NAME, NORMALIZED                      00810004
-         SPACE                                                          00820000
-P1OBBL   DS   0CL11     BORO,BLOCK,LOT FOR "BL" FUNCTION                00830000
-P1OBLBOR DS    CL1      BORO FOR FUNCTION "BL"                          00840000
-P1OBLOCK DS    CL5      TAX BLOCK - FOR  FUNCTION "BL"                  00850000
-P1OLOT   DS    CL4      TAX LOT   - FOR  FUNCTION "BL"                  00860000
-P1OTLV#  DS    CL1       Tax Lot Version Number (Not Implemented)       00870000
-P1OLHSE  DS    CL16      LOW HOUSE NUMBER DISPLAY FORM                  00880006
-P1OLHSES DS    CL11      LOW HOUSE NUMBER SORT FORM                     00881006
-P1OBIN   DS    CL7       Output Building Identification Number          00882011
-P1OATTR3 DS    CL3       Attribute Bytes - Internal Use                 00883011
-         SPACE                                                          00890000
-P1OREAS2 DS    CL1       2ND REASON CODE                                00891024
-P10RCQ2  DS    CL1       2ND REASON CODE TPAD QUALIFIER                 00892130
-P1OWARN2 DS    CL2       2ND WARNING RETURN CODE-NOT IMPL               00892226
-P1ORC2   DS    CL2       2ND GEOSUPPORT RETURN CODE                     00893025
-P1OERR2  DS    CL80      2ND ERROR MESSAGE                              00894024
-P1ONODE  DS    CL7       NODE NORMALIZED FOR FN 2                       00895032
-P1OUNITS DS   0CL14      UNIT IN SORT FORMAT                            00896037
-P1OUNITT DS    CL4       UNIT TYPE                                      00897036
-P1OUNITI DS    CL10      UNIT IDENTIFIER                                00898036
-P1OUNITD DS    CL14      UNIT IN DISPLAY FORMAT                         00899036
-         DS    CL11      FILLER                                         00900036
-P1ONIN   DS    CL6       NAP IDENTIFICATION NUMBER                      00900107
-P1OATTRB DS    CL1       ATTRIBUTE BYTE FROM SND                        00901006
-P1OREASN DS    CL1       REASON CODE                                    00910000
-P10RCQ   DS    CL1       REASON CODE TPAD QUALIFIER                     00920030
-P1OWARNC DS    CL2       WARNING RETURN CODE                            00930025
-P1ORC    DS    CL2       GEOSUPPORT RETURN CODE                         00940025
-P1OERROR DS    CL80      ERROR MESSAGE                                  00950000
-P1O#NAME DS    CL2       NUMBER OF STREET NAMES                         00960002
-P1OBRWSE DS    CL80      10 B7SC'S                                      00970002
-P1ONAMES DS  10CL32      UP TO 10 STREET NAMES                          00980002
-P1END    EQU   *                                                        00990000
-P1LENGTH EQU   P1END-P1BAL    LENGTH OF P1BAL                           01000000
-
-

P2BAL COPY File

-
*/********************************************************************/ 00010092
-*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE P2BAL,    ***/ 00020092
-*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTIONS        ***/ 00030092
-*/*****  1, 1E, 2, 2C, 3, 3C. PLEASE NOTE THAT FUNCTIONS 2 AND 2C  ***/ 00040092
-*/*****  SHARE A SINGLE WORK AREA 2 LAYOUT.                        ***/ 00050092
-*/*****  ADDED 3 EXTENDED (MODE OF X)                     6/2011   ***/ 00060092
-*/*****  ADDED 2 WIDE     (2W       )                     2/2014   ***/ 00070092
-*/*****  ADDED 2 byte field "Police Patrol Borough" for functions: ***/ 00080092
-*/*****  1/1E; 2/2W; 3/3X-left side;3/3X-right side; 3C/3CX.       ***/ 00090092
-*/*****                                                   8/2014   ***/ 00100092
-*/*****  ADDED 2 fields: "Bike Lane 2" and "Street Width Maximum"  ***/ 00110092
-*/*****  for functions 3X/3CX                             9/2016   ***/ 00120092
-*/*****  Replaced "Saniitation Reserved" with "Sanitation Bulk     ***/ 00130092
-*/*****  Pick Up" for function 1                          10/2016  ***/ 00140092
-*/*****  ADDED 2 bytes field "Bike Traffic Direction" for          ***/ 00150092
-*/*****  for functions 1/1E (extended),1B,3X,3CX           12/2016 ***/ 00160092
-*/********************************************************************/ 00170092
-*/*****        Last Date Modified -   FEBRUARY 2016                ***/ 00180092
-*/********************************************************************/ 00190092
-P2BAL    DS   0H                                                        00200092
-P2ACCKEY DS    CL21          ACCESS KEY                                 00210092
-P2LAYOUT DS   0CL279                                                    00220092
-P2F1CPAR DS    CL1           CONTINUOUS PARITY INDICATOR                00230092
-P2F1LHNS DS    CL11          LOW HOUSE NUMBER                           00240092
-P2F1HHNS DS    CL11          HIGH HOUSE NUMBER                          00250092
-P2F1LGC  DS    CL2           DCP Prefered LGC (Fn 1) - BOE (Fn 1E)      00260092
-P2F1#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         00270092
-P2F1CDEL DS    CL30          UP TO FIVEPB5SC'S FOR LOW END              00280092
-P2F1#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        00290092
-P2F1CDEH DS    CL30          UP TO FIVE B5SC'S FOR HIGH END             00300092
-P2F1LBOR DS    CL1           LION BOROUGH CODE                          00310092
-P2F1FACE DS    CL4           LION FACE CODE                             00320092
-P2F1SEQ  DS    CL5           LION SEQUENCE NUMBER                       00330092
-P2F1SPAD DS    CL1           SPECIAL ADDRESS FLAG                       00340092
-P2F1SOS  DS    CL1           SIDE OF STREET INDICATOR                   00350092
-P2F1SEGL DS    CL5           SEGMENT LEGNTH                             00360092
-P2F1XCOR DS    CL7           X COORDINATE                               00370092
-P2F1YCOR DS    CL7           Y COORDINATE                               00380092
-P2F1ZCOR DS    CL7           Z Coordinate - Not Impl.                   00390092
-P2F1RES1 DS    CL1           RESERVED FOR DCP/GSS USE                   00400092
-P2F1MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             00410092
-P2F1SLA  DS    CL1           STREET LIGHT AREA                          00420092
-P2F1CD   DS   0CL3           COMMUNITY DISTRICT                         00430092
-P2F1CDB  DS    CL1           COMMUNITY DISTRICT BORO                    00440092
-P2F1CDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  00450092
-P2F1ZIP  DS    CL5           ZIP CODE                                   00460092
-P2F1EED  DS    CL3           ELECTION DISTRICT                          00470092
-P2F1EAD  DS    CL2           ASSEMBLY DISTRICT                          00480092
-P2F1ESED DS    CL1           SPLIT E.D. FLAG                            00490092
-*                 Next four fields are valid only for Fn 1E             00500092
-P2F1ECON DS    CL2           CONGRESSIONAL DISTRICT                     00510092
-P2F1ESEN DS    CL2           SENATORIAL DISTRICT                        00520092
-P2F1ECIV DS    CL2           CIVIL COURT DISTRICT                       00530092
-P2F1ECOU DS    CL2           CITY COUNCIL DISTRICT                      00540092
-*                                                                       00550092
-P2F1HCD  DS    CL2           HEALTH CODE DISTRICT                       00560092
-P2F1HA   DS    CL4           HEALTH AREA                                00570092
-P2F1SAND DS    CL3           SANITATION DISTRICT                        00580092
-P2F1SANT DS    CL2           SANITATION DEPT SUBSECTION                 00590092
-P2F1SREG DS    CL5           SANITATION REGULAR PICK-UP                 00600092
-P2F1SREC DS    CL3           SANITATION RECYCLE PICK-UP                 00610092
-P2F1POL  DS    0CL4          POLICE DISTRICT                            00620092
-P2F1PBC  DS    CL1           POLICE PATROL BORO COMMAND                 00630092
-P2F1POP  DS    CL3           POLICE PRECINCT                            00640092
-P2F1FS   DS    CL2           FIRE DIVISION                              00650092
-P2F1FB   DS    CL2           FIRE BATTALION                             00660092
-P2F1FC   DS   0CL4           FIRE COMPANY                               00670092
-P2F1FCT  DS    CL1           FIRE COMPANY TYPE                          00680092
-P2F1FCN  DS    CL3           FIRE COMPANY NUMBER                        00690092
-P2F1FILS DS    CL1           FILLER_WAS SPLIT SCHOOL DISTRICT FLAG      00700092
-P2F1SCH  DS    CL2           SCHOOL DISTRICT                            00710092
-P2F1CPB  DS    CL3           DYNAMIC  BLOCK/ATOMIC POLYGON              00720092
-P2F1PPB  DS    CL2           Police Patrol Borough                      00730092
-P2F1FEAT DS    CL1           Feature Type Code                          00740092
-P2F1STC  DS    CL1           SEGMENT TYPE CODE                          00750092
-P2F1ALX  DS    CL1           A=Segment split by Alley                   00760092
-*                            X=Cross Streets modified                   00770092
-P2F1CSC  DS    CL1           Coincident Segment Count                   00780092
-         DS    CL2           Filler                                     00790092
-P2F1CTB  DS    CL1           CENSUS TRACT BOROUGH                       00800092
-P2F1CT90 DS    CL6           1990 CENSUS TRACT                          00810092
-P2F1CT10 DS    CL6           2010 CENSUS TRACT                          00820092
-P2F1BL10 DS    CL4           2010 CENSUS BLOCK                          00830092
-P2F1BLS1 DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   00840092
-P2F1T00  DS    CL6           2000 CENSUS TRACT                          00850092
-P2F1B00  DS    CL4           2000 CENSUS BLOCK                          00860092
-P2F1S00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   00870092
-P2F1NTA  DS    CL4           Neighborhood Tabulation Area               00880092
-P2F1SP   DS    CL1           Sanitation Street Snow Priority            00890092
-P2F1SORG DS    CL5           Sanitation Organics Pick Up                00900092
-P2F1SBLK DS    CL5           Sanitation Bulk Pick Up                    00910092
-*        DS    CL5           Sanitation Reserved                        00920092
-P2F1HZ   DS    CL2           Hurricane Evacuation Zone                  00930092
-         DS    CL11          Filler                                     00940092
-P2F1UHNS DS    CL11          Underlying HNS                             00950092
-P2F1B7SC DS    CL8           "True" Borough 7 Digit Street Code         00960092
-P2F1SEGT DS    CL7           Segment Identifier                         00970092
-P2F1CURV DS    CL1           Curve Flag                                 00980092
-P2F1END  EQU   *                                                        00990092
-P2F1LEN  EQU   P2F1END-P2BAL      Length of WA 2 for Fn 1               01000092
-*                                                                       01010092
-********************************************************************    01020092
-         ORG   P2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 2      01030092
-********************************************************************    01040092
-*                                                                       01050092
-P2F2DUPI DS    CL1           DUPLICATE INTERSECT FLAG                   01060092
-P2F2LGC1 DS    CL2           STREET 1 PREFERRED LGC                     01070092
-P2F2LGC2 DS    CL2           STREET 2 PREFERRED LGC                     01080092
-P2F2#INT DS    CL1           NUMBER OF INTERSECTING STREETS             01090092
-P2F2CODE DS    CL30          INTERSECTING B5SC'S                        01100092
-P2F2CDUP DS    CL1           COMPASS DIRECTION FOR TWO LOWEST           01110092
-P2F2AP   DS    CL3           ATOMIC POLYGON                             01120092
-         DS    CL2           FILLER                                     01130092
-P2F2NDNB DS    CL7           LION NODE NUMBER                           01140092
-P2F2XCOR DS    CL7           X COORDINATE                               01150092
-P2F2YCOR DS    CL7           Y COORDINATE                               01160092
-P2F2ZCOR DS    CL7           Z Coordinate - Not Impl.                   01170092
-P2F2SVP1 DS   0CL8           FIRST SANBORN BOROUGH, PAGE, VOLUME        01180092
-P2F2SB1  DS    CL1           FIRST SANBORN BOROUGH CODE                 01190092
-P2F2SP1  DS    CL3           FIRST SANBORN PAGE                         01200092
-P2F2SV1  DS    CL4           FIRST SANBORN VOLUME                       01210092
-P2F2SVP2 DS   0CL8           SECOND SANBORN BOROUGH, PAGE, VOLUME       01220092
-P2F2SB2  DS    CL1           SECOND SANBORN BOROUGH CODE                01230092
-P2F2SP2  DS    CL3           SECOND SANBORN PAGE                        01240092
-P2F2SV2  DS    CL4           SECOND SANBORN VOLUME                      01250092
-P2F2MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             01260092
-P2F2SLA  DS    CL1           STREET LIGHT AREA                          01270092
-P2F2CD   DS   0CL3           COMMUNITY DISTRICT                         01280092
-P2F2CDB  DS    CL1           COMMUNITY DISTRICT BORO                    01290092
-P2F2CDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  01300092
-P2F2ZIP  DS    CL5           ZIP CODE                                   01310092
-P2F2HA   DS    CL4           HEALTH AREA                                01320092
-P2F2POL  DS   0CL4           POLICE DISTRICT                            01330092
-P2F2PBC  DS    CL1           POLICE PATROL BORO COMMAND                 01340092
-P2F2POP  DS    CL3           POLICE PRECINCT                            01350092
-P2F2FS   DS    CL2           FIRE DIVISION                              01360092
-P2F2FB   DS    CL2           FIRE BATTALION                             01370092
-P2F2FC   DS   0CL4           FIRE COMPANY                               01380092
-P2F2FCT  DS    CL1           FIRE COMPANY TYPE                          01390092
-P2F2FCN  DS    CL3           FIRE COMPANY NUMBER                        01400092
-P2F2SCH  DS    CL2           SCHOOL DISTRICT                            01410092
-P2F2CT10 DS    CL6           2010 CENSUS TRACT                          01420092
-P2F2CT90 DS    CL6           1990 CENSUS TRACT                          01430092
-P2F2LEVC DS    CL10          Level Codes                                01440092
-P2F2PPB  DS    CL2           Police Patrol Borough                      01450092
-P2F2AD   DS    CL2           ASSEMBLY DISTRICT                          01460092
-P2F2CON  DS    CL2           CONGRESSIONAL DISTRICT                     01470092
-P2F2SEN  DS    CL2           SENATORIAL DISTRICT                        01480092
-P2F2CIV  DS    CL2           CIVIL COURT DISTRICT                       01490092
-P2F2COU  DS    CL2           CITY COUNCIL DISTRICT                      01500092
-P2F2RES1 DS    CL1           CD ELIGIBILITY                             01510092
-P2F2DDST DS    CL5           DUPLICATE INTERSECTION DISTANCE            01520092
-P2F2T00  DS    CL6           2000 CENSUS TRACT                          01530092
-P2F2HCD  DS    CL2           HEALTH CENTER DISTRICT                     01540092
-P2F2SD   DS    CL3           SANITATION DISTRICT                        01550092
-P2F2SANT DS    CL2           SANITATION DEPT SECTION/SUBSECTION         01560092
-         DS    CL12          FILLER                                     01570092
-P2F2END  EQU   *                                                        01580092
-P2F2LEN  EQU   P2F2END-P2BAL      Length of WA 2 for Fn 2/2C            01590092
-*                                                                       01600092
-********************************************************************    01610092
-         ORG   P2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 2W     01620092
-********************************************************************    01630092
-*                                                                       01640092
-P22WDUPI DS    CL1           DUPLICATE INTERSECT FLAG                   01650092
-P22WLGC1 DS    CL2           STREET 1 PREFERRED LGC                     01660092
-P22WLGC2 DS    CL2           STREET 2 PREFERRED LGC                     01670092
-P22W#INT DS    CL1           NUMBER OF INTERSECTING STREETS             01680092
-P22WCODE DS    CL30          INTERSECTING B5SC'S                        01690092
-P22WCDUP DS    CL1           COMPASS DIRECTION FOR TWO LOWEST           01700092
-P22WAP   DS    CL3           ATOMIC POLYGON                             01710092
-         DS    CL2           FILLER                                     01720092
-P22WNDNB DS    CL7           LION NODE NUMBER                           01730092
-P22WXCOR DS    CL7           X COORDINATE                               01740092
-P22WYCOR DS    CL7           Y COORDINATE                               01750092
-P22WZCOR DS    CL7           Z Coordinate - Not Impl.                   01760092
-P22WSVP1 DS   0CL8           FIRST SANBORN BOROUGH, PAGE, VOLUME        01770092
-P22WSB1  DS    CL1           FIRST SANBORN BOROUGH CODE                 01780092
-P22WSP1  DS    CL3           FIRST SANBORN PAGE                         01790092
-P22WSV1  DS    CL4           FIRST SANBORN VOLUME                       01800092
-P22WSVP2 DS   0CL8           SECOND SANBORN BOROUGH, PAGE, VOLUME       01810092
-P22WSB2  DS    CL1           SECOND SANBORN BOROUGH CODE                01820092
-P22WSP2  DS    CL3           SECOND SANBORN PAGE                        01830092
-P22WSV2  DS    CL4           SECOND SANBORN VOLUME                      01840092
-P22WMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             01850092
-P22WSLA  DS    CL1           STREET LIGHT AREA                          01860092
-P22WCD   DS   0CL3           COMMUNITY DISTRICT                         01870092
-P22WCDB  DS    CL1           COMMUNITY DISTRICT BORO                    01880092
-P22WCDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  01890092
-P22WZIP  DS    CL5           ZIP CODE                                   01900092
-P22WHA   DS    CL4           HEALTH AREA                                01910092
-P22WPOL  DS   0CL4           POLICE DISTRICT                            01920092
-P22WPBC  DS    CL1           POLICE PATROL BORO COMMAND                 01930092
-P22WPOP  DS    CL3           POLICE PRECINCT                            01940092
-P22WFS   DS    CL2           FIRE DIVISION                              01950092
-P22WFB   DS    CL2           FIRE BATTALION                             01960092
-P22WFC   DS   0CL4           FIRE COMPANY                               01970092
-P22WFCT  DS    CL1           FIRE COMPANY TYPE                          01980092
-P22WFCN  DS    CL3           FIRE COMPANY NUMBER                        01990092
-P22WSCH  DS    CL2           SCHOOL DISTRICT                            02000092
-P22WCT10 DS    CL6           2010 CENSUS TRACT                          02010092
-P22WCT90 DS    CL6           1990 CENSUS TRACT                          02020092
-P22WLEVC DS    CL10          Level Codes                                02030092
-P22WPPB  DS    CL2           Police Patrol Borough                      02040092
-*        DS    CL2           FILLER                                     02050092
-P22WAD   DS    CL2           ASSEMBLY DISTRICT                          02060092
-P22WCON  DS    CL2           CONGRESSIONAL DISTRICT                     02070092
-P22WSEN  DS    CL2           SENATORIAL DISTRICT                        02080092
-P22WCIV  DS    CL2           CIVIL COURT DISTRICT                       02090092
-P22WCOU  DS    CL2           CITY COUNCIL DISTRICT                      02100092
-P22WRES1 DS    CL1           CD ELIGIBILITY                             02110092
-P22WDDST DS    CL5           DUPLICATE INTERSECTION DISTANCE            02120092
-P22WT00  DS    CL6           2000 CENSUS TRACT                          02130092
-P22WHCD  DS    CL2           HEALTH CENTER DISTRICT                     02140092
-P22WSD   DS    CL3           SANITATION DISTRICT                        02150092
-P22WSANT DS    CL2           SANITATION DEPT SECTION/SUBSECTION         02160092
-         DS    CL12          FILLER                                     02170092
-P22WGFIL DS    CL22          FILLER FOR GRID GENERATION                 02180092
-P22WLGCF DS    CL8           UP TO 4 LGCS FOR FIRST INTERSECTING STR    02190092
-P22WLGCS DS    CL8           UP TO 4 LGCS FOR SECOND INTERSECTING STR   02200092
-P22WTR   DS    CL10          TURN RESTRICTIONS                          02210092
-P22WPLGC DS    CL10          PREFERRED LGCS FOR 5 STS IN ST LIST        02220092
-P22WTRC  DS    CL2           TRUE REPLICATION COUNTER                   02230092
-P22WDNOD DS    20CL7         LIST OF 20 7-BYTE DUPLICATE NODES          02240092
-P22WS7SC DS    CL3200        B7SCS FOR NODE LIST(20*5*4*8)              02250092
-P22WRC   DS    CL1           REASON CODE                                02260092
-P22WRCQ  DS    CL1           REASON CODE QUALIFIER                      02270092
-P22WWC   DS    CL2           WARNING CODE                               02280092
-P22WGRC  DS    CL2           RETURN CODE                                02290092
-P22WLAT  DS    CL9           LATITUDE CALC FROM X-Y                     02300092
-P22WLON  DS    CL11          LONGITUDE CALC FROM X-Y                    02310092
-         DS    CL374         FILLER                                     02320092
-P22WEND  EQU   *                                                        02330092
-P22WLEN  EQU   P22WEND-P2BAL      Length of WA 2 for Fn 2W              02340092
-********************************************************************    02350092
-         ORG   P2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 3      02360092
-********************************************************************    02370092
-*                                                                       02380092
-P2F3DUPF DS   0CL1           DUPLICATE KEY FLAG                         02390092
-P2F3PAR  DS    CL1           CONTINUOUS PARITY INDICATOR                02400092
-P2F3LST  DS    CL1           Locational Status of Segment               02410092
-P2F3CBI  DS    CL1           County Boundary Indicator                  02420092
-P2F3LGC1 DS    CL2           STREET 1 PREFERRED LGC                     02430092
-P2F3LGC2 DS    CL2           STREET 2 PREFERRED LGC                     02440092
-P2F3LGC3 DS    CL2           STREET 3 PREFERRED LGC                     02450092
-P2F3#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         02460092
-P2F3CDEL DS    CL30          CROSS STREET B5SC'S AT LOW END             02470092
-P2F3#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        02480092
-P2F3CDEH DS    CL30          CROSS STREET B5SC'S AT HIGH END            02490092
-P2F3REVF DS    CL1           REVERSAL FLAG                              02500092
-P2F3KEY  DS   0CL10          LION KEY                                   02510092
-P2F3BOR  DS    CL1           LION BOROUGH CODE                          02520092
-P2F3FACE DS    CL4           LION FACE CODE                             02530092
-P2F3SEQ  DS    CL5           LION SEQUENCE NUMBER                       02540092
-P2F3GEN  DS    CL1           GENERATED RECORD FLAG                      02550092
-P2F3SEGL DS    CL5           SEGMENT LENGTH IN FEET                     02560092
-P2F3SLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   02570092
-P2F3ORNT DS    CL1           SEGMENT ORIENTATION                        02580092
-P2F3MHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             02590092
-P2F3FROM DS    CL7           FROM NODE                                  02600092
-P2F3TO   DS    CL7           TO NODE                                    02610092
-P2F3SP   DS    CL1           SANITATION STREET SNOW PRIORITY            02620092
-         DS    CL4           Future Use                                 02630092
-*                                                                       02640092
-*                            Apply to both sides of street              02650092
-*                                                                       02660092
-P2F3SEGT DS    CL7           Segment Identifier                         02670092
-P2F3SLA  DS    CL1           STREET LIGHT AREA                          02680092
-P2F3CURV DS    CL1           Curve Flag                                 02690092
-P2F3DGLG DS    CL1           Dog Leg Flag                               02700092
-P2F3FEAT DS    CL1           Feature Type Code                          02710092
-P2F3STC  DS    CL1           Segment Type Code                          02720092
-P2F3CSC  DS    CL1           Coincident Segment Count                   02730092
-         DS    CL4           Future Use                                 02740092
-*                                                                       02750092
-*                            Left Side of Street                        02760092
-*                                                                       02770092
-P2F3CDL  DS   0CL3           LEFT COMMUNITY DISTRICT                    02780092
-P2F3CDBL DS    CL1           LEFT COMMUNITY DISTRICT BORO               02790092
-P2F3CDNL DS    CL2           LEFT COMMUNITY DISTRICT NUMBER             02800092
-P2F3LO#L DS    CL16          LEFT LOW HOUSE NUMBER                      02810092
-P2F3HI#L DS    CL16          LEFT HIGH HOUSE NUMBER                     02820092
-         DS    CL32               Future Use                            02830092
-P2F3RS2L DS    CL1           RESERVED FOR DCP/GSS USE                   02840092
-P2F3ZIPL DS    CL5           LEFT ZIP CODE                              02850092
-P2F3HAL  DS    CL4           LEFT HEALTH AREA                           02860092
-P2F3POLL DS   0CL4           LEFT POLICE DISTRICT                       02870092
-P2F3PBCL DS    CL1           LEFT POLICE PATROL BORO COMMAND            02880092
-P2F3POPL DS    CL3           LEFT POLICE PRECINCT                       02890092
-P2F3FSL  DS    CL2           LEFT FIRE DIVISION                         02900092
-P2F3FBL  DS    CL2           LEFT FIRE BATTALION                        02910092
-P2F3FCL  DS   0CL4           LEFT FIRE COMPANY                          02920092
-P2F3FCTL DS    CL1           LEFT FIRE COMPANY TYPE                     02930092
-P2F3FCNL DS    CL3           LEFT FIRE COMPANY NUMBER                   02940092
-P2F3SCHL DS    CL2           LEFT SCHOOL DISTRICT                       02950092
-P2F3CPBL DS    CL3           LEFT DYNAMIC BLOCK/ATOMIC POLYGON          02960092
-P2F3EDL  DS    CL3           LEFT ED                                    02970092
-P2F3ADL  DS    CL2           LEFT AD                                    02980092
-P2F3PPBL DS    CL2           Left Police Patrol Borough                 02990092
-         DS    CL1           Filler                                     03000092
-P2F3BROL DS    CL1           Left BOROUGH CODE                          03010092
-P2F3TR9L DS    CL6           Left 1990 CENSUS TRACT                     03020092
-P2F3C10L DS    CL6           Left 2010 CENSUS TRACT                     03030092
-P2F3B10L DS    CL4           Left 2010 CENSUS BLOCK NUMBER              03040092
-P2F3BS1L DS    CL1           Left 2010 CENSUS BLOCK SUFFIX-NOT IMPLEMNT 03050092
-P2F3T00L DS    CL6           Left 2000 CENSUS TRACT                     03060092
-P2F3B00L DS    CL4           Left 2000 CENSUS BLOCK NUMBER              03070092
-P2F3S00L DS    CL1           Left 2000 CENSUS BLOCK SUFFIX              03080092
-         DS    CL7           Filler                                     03090092
-*P2F3BIDL DS    CL7           Left BLOCKFACE ID                         03100092
-P2F3NTAL DS    CL4           Left NEIGHBORHOOD TABULATION AREA          03110092
-         DS    CL8           Future Use                                 03120092
-*                                                                       03130092
-*                            Right Side of Street                       03140092
-*                                                                       03150092
-P2F3CDR  DS   0CL3           RIGHT COMMUNITY DISTRICT                   03160092
-P2F3CDBR DS    CL1           RIGHT COMMUNITY DISTRICT BORO              03170092
-P2F3CDNR DS    CL2           RIGHT COMMUNITY DISTRICT NUMBER            03180092
-P2F3LO#R DS    CL16          RIGHT LOW HOUSE NUMBER                     03190092
-P2F3HI#R DS    CL16          RIGHT HIGH HOUSE NUMBER                    03200092
-         DS    CL32                Future Use                           03210092
-P2F3RS2R DS    CL1           RESERVED FOR DCP/GSS USE                   03220092
-P2F3ZIPR DS    CL5           RIGHT ZIP CODE                             03230092
-P2F3HAR  DS    CL4           RIGHT HEALTH AREA                          03240092
-P2F3POLR DS   0CL4           RIGHT POLICE DISTRICT                      03250092
-P2F3PBCR DS    CL1           RIGHT POLICE PATROL BORO COMMAND           03260092
-P2F3POPR DS    CL3           RIGHT POLICE PRECINCT                      03270092
-P2F3FSR  DS    CL2           RIGHT FIRE DIVISION                        03280092
-P2F3FBR  DS    CL2           RIGHT FIRE BATTALION                       03290092
-P2F3FCR  DS   0CL4           RIGHT FIRE COMPANY                         03300092
-P2F3FCTR DS    CL1           RIGHT FIRE COMPANY TYPE                    03310092
-P2F3FCNR DS    CL3           RIGHT FIRE COMPANY NUMBER                  03320092
-P2F3SCHR DS    CL2           RIGHT SCHOOL DISTRICT                      03330092
-P2F3CPBR DS    CL3           RIGHT DYNAMIC BLOCK/ATOMIC POLYGON         03340092
-P2F3EDR  DS    CL3           RIGHT ED                                   03350092
-P2F3ADR  DS    CL2           RIGHT AD                                   03360092
-P2F3PPBR DS    CL2           Right Police Patrol Borough                03370092
-         DS    CL1           Filler                                     03380092
-P2F3BROR DS    CL1           Right BOROUGH CODE                         03390092
-P2F3TR9R DS    CL6           Right 1990 CENSUS TRACT                    03400092
-P2F3C10R DS    CL6           Right 2010 CENSUS TRACT                    03410092
-P2F3B10R DS    CL4           Right 2010 CENSUS BLOCK                    03420092
-P2F3BS1R DS    CL1           Right 2010 CENSUS BLOCK SUFFIX NOT IMPLM   03430092
-P2F3T00R DS    CL6           Right 2000 CENSUS TRACT                    03440092
-P2F3B00R DS    CL4           Right 2000 CENSUS BLOCK                    03450092
-P2F3S00R DS    CL1           Right 2000 CENSUS BLOCK SUFFIX             03460092
-*P2F3BIDR DS    CL7           RIGHT BLOCKFACE ID                        03470092
-         DS    CL7           Filler V16.1                               03480092
-P2F3NTAR DS    CL4           RIGHT NEIGHBORHOOD TABULATION AREA         03490092
-         DS    CL8           Future Use                                 03500092
-P2F3END  EQU   *                                                        03510092
-P2F3LEN  EQU   P2F3END-P2BAL      Length of WA 2 for Fn 3               03520092
-*                                                                       03530092
-********************************************************************    03540092
-         ORG   P2F3END       Auxiliary Segment Overlay - FUNCTION 3     03550092
-********************************************************************    03560092
-*                                                                       03570092
-P2F3FILR DS    CL6           Future Use                                 03580092
-P2F3SCNT DS    CL4           Number of segment ids                      03590092
-P2F3SGID DS    CL490         up to 70 Seven Byte Segment IDS            03600092
-P2F3SEND EQU   *                                                        03610092
-P2F3SLEN EQU   P2F3SEND-P2BAL  Length of WA 2 for Fn 3 w/segments       03620092
-*                                                                       03630092
-********************************************************************    03640092
-         ORG   P2LAYOUT  RESET LOCATION COUNTER-FUNCTION 3 EXTENDED     03650092
-********************************************************************    03660092
-*                                                                       03670092
-P23XDUPF DS   0CL1           DUPLICATE KEY FLAG                         03680092
-P23XPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                03690092
-P23XLST  DS    CL1           Locational Status of Segment               03700092
-P23XCBI  DS    CL1           County Boundary Indicator                  03710092
-P23XLGC1 DS    CL2           STREET 1 PREFERRED LGC                     03720092
-P23XLGC2 DS    CL2           STREET 2 PREFERRED LGC                     03730092
-P23XLGC3 DS    CL2           STREET 3 PREFERRED LGC                     03740092
-P23X#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         03750092
-P23XCDEL DS    CL30          CROSS STREET B5SC'S AT LOW END             03760092
-P23X#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        03770092
-P23XCDEH DS    CL30          CROSS STREET B5SC'S AT HIGH END            03780092
-P23XREVF DS    CL1           REVERSAL FLAG                              03790092
-P23XKEY  DS   0CL10          LION KEY                                   03800092
-P23XBOR  DS    CL1           LION BOROUGH CODE                          03810092
-P23XFACE DS    CL4           LION FACE CODE                             03820092
-P23XSEQ  DS    CL5           LION SEQUENCE NUMBER                       03830092
-P23XGEN  DS    CL1           GENERATED RECORD FLAG                      03840092
-P23XSEGL DS    CL5           SEGMENT LENGTH IN FEET                     03850092
-P23XSLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   03860092
-P23XORNT DS    CL1           SEGMENT ORIENTATION                        03870092
-P23XMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             03880092
-P23XFROM DS    CL7           FROM NODE                                  03890092
-P23XTO   DS    CL7           TO NODE                                    03900092
-P23XSP   DS    CL1           SANITATION STREET SNOW PRIORITY            03910092
-         DS    CL4           Future Use                                 03920092
-*                                                                       03930092
-*                            Apply to both sides of street              03940092
-*                                                                       03950092
-P23XSEGT DS    CL7           Segment Identifier                         03960092
-P23XSLA  DS    CL1           STREET LIGHT AREA                          03970092
-P23XCURV DS    CL1           Curve Flag                                 03980092
-P23XDGLG DS    CL1           Dog Leg Flag                               03990092
-P23XFEAT DS    CL1           Feature Type Code                          04000092
-P23XSTC  DS    CL1           Segment Type Code                          04010092
-P23XCSC  DS    CL1           Coincident Segment Count                   04020092
-         DS    CL4           Future Use                                 04030092
-*                                                                       04040092
-*                            Left Side of Street                        04050092
-*                                                                       04060092
-P23XCDL  DS   0CL3           LEFT COMMUNITY DISTRICT                    04070092
-P23XCDBL DS    CL1           LEFT COMMUNITY DISTRICT BORO               04080092
-P23XCDNL DS    CL2           LEFT COMMUNITY DISTRICT NUMBER             04090092
-P23XLO#L DS    CL16          LEFT LOW HOUSE NUMBER                      04100092
-P23XHI#L DS    CL16          LEFT HIGH HOUSE NUMBER                     04110092
-         DS    CL32               Future Use                            04120092
-P23XRS2L DS    CL1           RESERVED FOR DCP/GSS USE                   04130092
-P23XZIPL DS    CL5           LEFT ZIP CODE                              04140092
-P23XHAL  DS    CL4           LEFT HEALTH AREA                           04150092
-P23XPOLL DS   0CL4           LEFT POLICE DISTRICT                       04160092
-P23XPBCL DS    CL1           LEFT POLICE PATROL BORO COMMAND            04170092
-P23XPOPL DS    CL3           LEFT POLICE PRECINCT                       04180092
-P23XFSL  DS    CL2           LEFT FIRE DIVISION                         04190092
-P23XFBL  DS    CL2           LEFT FIRE BATTALION                        04200092
-P23XFCL  DS   0CL4           LEFT FIRE COMPANY                          04210092
-P23XFCTL DS    CL1           LEFT FIRE COMPANY TYPE                     04220092
-P23XFCNL DS    CL3           LEFT FIRE COMPANY NUMBER                   04230092
-P23XSCHL DS    CL2           LEFT SCHOOL DISTRICT                       04240092
-P23XCPBL DS    CL3           LEFT DYNAMIC BLOCK/ATOMIC POLYGON          04250092
-P23XEDL  DS    CL3           LEFT ED                                    04260092
-P23XADL  DS    CL2           LEFT AD                                    04270092
-P23XPPBL DS    CL2           Left Police Patrol Borough                 04280092
-         DS    CL1           Filler                                     04290092
-P23XBROL DS    CL1           Left BOROUGH CODE                          04300092
-P23XTR9L DS    CL6           Left 1990 CENSUS TRACT                     04310092
-P23XC10L DS    CL6           Left 2010 CENSUS TRACT                     04320092
-P23XB10L DS    CL4           Left 2010 CENSUS BLOCK NUMBER              04330092
-P23XBS1L DS    CL1           Left 2010 CENSUS BLOCK SUFFIX-NOT IMPLEMNT 04340092
-P23XT00L DS    CL6           Left 2000 CENSUS TRACT                     04350092
-P23XB00L DS    CL4           Left 2000 CENSUS BLOCK NUMBER              04360092
-P23XS00L DS    CL1           Left 2000 CENSUS BLOCK SUFFIX              04370092
-*P23XBIDL DS    CL7           Left BLOCKFACE ID                         04380092
-         DS    CL7           Filler                                     04390092
-P23XNTAL DS    CL4           Left NEIGHBORHOOD TABULATION AREA          04400092
-         DS    CL8           Future Use                                 04410092
-*                                                                       04420092
-*                            Right Side of Street                       04430092
-*                                                                       04440092
-P23XCDR  DS   0CL3           RIGHT COMMUNITY DISTRICT                   04450092
-P23XCDBR DS    CL1           RIGHT COMMUNITY DISTRICT BORO              04460092
-P23XCDNR DS    CL2           RIGHT COMMUNITY DISTRICT NUMBER            04470092
-P23XLO#R DS    CL16          RIGHT LOW HOUSE NUMBER                     04480092
-P23XHI#R DS    CL16          RIGHT HIGH HOUSE NUMBER                    04490092
-         DS    CL32                Future Use                           04500092
-P23XRS2R DS    CL1           RESERVED FOR DCP/GSS USE                   04510092
-P23XZIPR DS    CL5           RIGHT ZIP CODE                             04520092
-P23XHAR  DS    CL4           RIGHT HEALTH AREA                          04530092
-P23XPOLR DS   0CL4           RIGHT POLICE DISTRICT                      04540092
-P23XPBCR DS    CL1           RIGHT POLICE PATROL BORO COMMAND           04550092
-P23XPOPR DS    CL3           RIGHT POLICE PRECINCT                      04560092
-P23XFSR  DS    CL2           RIGHT FIRE DIVISION                        04570092
-P23XFBR  DS    CL2           RIGHT FIRE BATTALION                       04580092
-P23XFCR  DS   0CL4           RIGHT FIRE COMPANY                         04590092
-P23XFCTR DS    CL1           RIGHT FIRE COMPANY TYPE                    04600092
-P23XFCNR DS    CL3           RIGHT FIRE COMPANY NUMBER                  04610092
-P23XSCHR DS    CL2           RIGHT SCHOOL DISTRICT                      04620092
-P23XCPBR DS    CL3           RIGHT DYNAMIC BLOCK/ATOMIC POLYGON         04630092
-P23XEDR  DS    CL3           RIGHT ED                                   04640092
-P23XADR  DS    CL2           RIGHT AD                                   04650092
-P23XPPBR DS    CL2           Right Police Patrol Borough                04660092
-         DS    CL1           Filler                                     04670092
-P23XBROR DS    CL1           Right BOROUGH CODE                         04680092
-P23XTR9R DS    CL6           Right 1990 CENSUS TRACT                    04690092
-P23XC10R DS    CL6           Right 2010 CENSUS TRACT                    04700092
-P23XB10R DS    CL4           Right 2010 CENSUS BLOCK                    04710092
-P23XBS1R DS    CL1           Right 2010 CENSUS BLOCK SUFFIX NOT IMPLM   04720092
-P23XT00R DS    CL6           Right 2000 CENSUS TRACT                    04730092
-P23XB00R DS    CL4           Right 2000 CENSUS BLOCK                    04740092
-P23XS00R DS    CL1           Right 2000 CENSUS BLOCK SUFFIX             04750092
-*P23XBIDR DS    CL7           RIGHT BLOCKFACE ID                        04760092
-         DS    CL7           Filler                                     04770092
-P23XNTAR DS    CL4           RIGHT NEIGHBORHOOD TABULATION AREA         04780092
-         DS    CL8           Future Use                                 04790092
-P23XLGCS DS    CL8           List of 4 LGCs                             04800092
-P23XLGCF DS    CL8           List of 4 From LGCs                        04810092
-P23XLGCT DS    CL8           List of 4 To LGCs                          04820092
-P23XLHCD DS    CL2           Left Health Center District                04830092
-P23XRHCD DS    CL2           Right Health Center District               04840092
-P23XFILS DS    CL1           Filler                                     04850092
-P23XTD   DS    CL1           Traffic Direction                          04860092
-P23XRTP  DS    CL2           Roadyway Type                              04870092
-P23XPID  DS    CL7           Physical Id                                04880092
-P23XGID  DS    CL7           Generic Id                                 04890092
-P23XPDID DS    CL7           For DCP Use Only                           04900092
-P23XFDID DS    CL7           For DCP Use Only                           04910092
-P23XSTST DS    CL1           Street Status                              04920092
-P23XSTW  DS    CL3           Street Width                               04930092
-P23XSTWI DS    CL1           Street Width Irregular                     04940092
-P23XBL   DS    CL1           Bike Lane                                  04950092
-P23XFCC  DS    CL2           Federal Classification Code                04960092
-P23XROW  DS    CL1           Row Type                                   04970092
-P23XLGC5 DS    CL10          List of 5 LGCs                             04980092
-P23XLGID DS    CL7           Legacy Id                                  04990092
-P23XLNTA DS    CL75          Left NTA Name                              05000092
-P23XRNTA DS    CL75          Right NTA Name                             05010092
-P23XFXC  DS    CL7           From X Coordinate                          05020092
-P23XFYC  DS    CL7           From Y Coordinate                          05030092
-P23XTXC  DS    CL7           To X Coordinate                            05040092
-P23XTYC  DS    CL7           To Y Coordinate                            05050092
-P23XFLAT DS    CL9           LATITUDE OF FROM INTERSCT.                 05060092
-P23XFLON DS    CL11          LONGITUDE OF FROM INTERSCT.                05070092
-P23XTLAT DS    CL9           LATITUDE OF TO INTERSCT.                   05080092
-P23XTLON DS    CL11          LONGITUDE OF TO INTERSCT.                  05090092
-P23XBIDL DS    CL10          NEW location Left Blockface Id V16.1       05100092
-P23XBIDR DS    CL10          NEW location Right Blockface Id V16.1      05110092
-P23X#TRL DS    CL2           nbr of traveling lanes                     05120092
-P23X#PKL DS    CL2           nbr of parking lanes                       05130092
-P23X#TLL DS    CL2           nbr of total lanes                         05140092
-P23XBL2  DS    CL2           Bike Lane 2 (has 2 bytes numeric value)    05150092
-P23XSTWX DS    CL3           Street Width Maximum                       05160092
-P23XBTD  DS    CL2           Bike Traffic Direction                     05170092
-P23XFILL DS    CL213         FILLER                                     05180092
-P23XEND  EQU   *                                                        05190092
-P23XLEN  EQU   P23XEND-P2BAL      Length of WA 2 for Fn 3 Extended      05200092
-*                                                                       05210092
-********************************************************************    05220092
-         ORG   P23XEND  Auxiliary Seg Overlay - FUNCTION 3 EXTENDED     05230092
-********************************************************************    05240092
-*                                                                       05250092
-P23XFILR DS    CL6           Future Use                                 05260092
-P23XSCNT DS    CL4           Number of segment ids                      05270092
-P23XSGID DS    CL490         up to 70 Seven Byte Segment IDS            05280092
-P23XSEND EQU   *                                                        05290092
-P23XSLEN EQU   P23XSEND-P2BAL  Len of WA2 for Fn3 MODE=X w/segments     05300092
-*                                                                       05310092
-********************************************************************    05320092
-         ORG   P2LAYOUT      RESET LOCATION COUNTER FOR FUNCTION 3C     05330092
-********************************************************************    05340092
-*                                                                       05350092
-P23CDUPF DS   0CL1           DUPLICATE KEY FLAG                         05360092
-P23CPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                05370092
-P23CLST  DS    CL1           Locational Status of Segment               05380092
-P23CCBI  DS    CL1           County Boundary Indicator                  05390092
-P23CLGC1 DS    CL2           STREET 1 PREFERRED LGC                     05400092
-P23CLGC2 DS    CL2           STREET 2 PREFERRED LGC                     05410092
-P23CLGC3 DS    CL2           STREET 3 PREFERRED LGC                     05420092
-P23C#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         05430092
-P23CCDEL DS    CL30          CROSS STREET B5SC'S AT LOW END             05440092
-P23C#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        05450092
-P23CCDEH DS    CL30          CROSS STREET B5SC'S AT HIGH END            05460092
-P23CREVF DS    CL1           REVERSAL FLAG                              05470092
-P23CKEY  DS   0CL10          LION KEY                                   05480092
-P23CBOR  DS    CL1           LION BOROUGH CODE                          05490092
-P23CFACE DS    CL4           LION FACE CODE                             05500092
-P23CSEQ  DS    CL5           LION SEQUENCE NUMBER                       05510092
-P23CGEN  DS    CL1           GENERATED RECORD FLAG                      05520092
-P23CSEGL DS    CL5           SEGMENT LENGTH IN FEET                     05530092
-P23CSLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   05540092
-P23CORNT DS    CL1           SEGMENT ORIENTATION                        05550092
-P23CMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             05560092
-P23CFROM DS    CL7           FROM NODE                                  05570092
-P23CTO   DS    CL7           TO NODE                                    05580092
-P23CSP   DS    CL1           SANITATION STREET SNOW PRIORITY            05590092
-         DS    CL4           Future Use                                 05600092
-*                                                                       05610092
-*                            Side of Street Information                 05620092
-*                                                                       05630092
-P23CSEGT DS    CL7           Segment Identifier                         05640092
-P23CSLA  DS    CL1           STREET LIGHT AREA                          05650092
-P23CSOS  DS    CL1           Side of Street Indicator                   05660092
-P23CCURV DS    CL1           Curve Flag                                 05670092
-P23CFEAT DS    CL1           Feature Type Code                          05680092
-P23CSTC  DS    CL1           Segment Type Code                          05690092
-P23CCSC  DS    CL1           COINCIDENT SEGMENT COUNT                   05700092
-         DS    CL4           Future Use                                 05710092
-P23CCD   DS   0CL3           COMMUNITY DISTRICT                         05720092
-P23CCDB  DS    CL1           COMMUNITY DISTRICT BORO                    05730092
-P23CCDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  05740092
-P23CLO#  DS    CL16          LOW HOUSE NUMBER                           05750092
-P23CHI#  DS    CL16          HIGH HOUSE NUMBER                          05760092
-P23CHS2L DS    CL16          2ND LOW HSE # - USED IF ODD & EVEN RANGES  05770092
-P23CHS2H DS    CL16          2ND HI HSE #    ARE ON SAME SIDE OF STREET 05780092
-P23CRES2 DS    CL1           RESERVED FOR DCP/GSS USE                   05790092
-P23CZIP  DS    CL5           ZIP CODE                                   05800092
-P23CHAL  DS    CL4           HEALTH AREA                                05810092
-P23CPOL  DS   0CL4           POLICE DISTRICT                            05820092
-P23CPBC  DS    CL1           POLICE PATROL BORO COMMAND                 05830092
-P23CPOP  DS    CL3           POLICE PRECINCT                            05840092
-P23CFS   DS    CL2           FIRE DIVISION                              05850092
-P23CFB   DS    CL2           FIRE BATTALION                             05860092
-P23CFC   DS   0CL4           FIRE COMPANY                               05870092
-P23CFCT  DS    CL1           FIRE COMPANY TYPE                          05880092
-P23CFCN  DS    CL3           FIRE COMPANY NUMBER                        05890092
-P23CSCH  DS    CL2           SCHOOL DISTRICT                            05900092
-P23CCPB  DS    CL3           DYNAMIC  BLOCK / ATOMIC POLYGON            05910092
-P23CED   DS    CL3           ED                                         05920092
-P23CAD   DS    CL2           AD                                         05930092
-P23CPPB  DS    CL2           Police Patrol Borough                      05940092
-         DS    CL1           Filler                                     05950092
-P23CBRO  DS    CL1           BOROUGH CODE                               05960092
-P23CTR9  DS    CL6           1990 CENSUS TRACT                          05970092
-P23CCT10 DS    CL6           2010 CENSUS TRACT                          05980092
-P23CBL10 DS    CL4           2010 CENSUS BLOCK                          05990092
-P23CBL1S DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   06000092
-P23CT00  DS    CL6           2000 CENSUS TRACT                          06010092
-P23CB00  DS    CL4           2000 CENSUS BLOCK                          06020092
-P23CS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   06030092
-*P23CBID  DS    CL7          BLOCKFACE ID                               06040092
-         DS    CL7           Filler V16.1                               06050092
-P23CNTA  DS    CL4           NEIGHBORHOOD TABULATION AREA               06060092
-         DS    CL8           Future Use                                 06070092
-P23CEND  EQU   *                                                        06080092
-P23CLEN  EQU   P23CEND-P2BAL      Length of WA 2 for Fn 3C              06090092
-********************************************************************    06100092
-         ORG   P23CEND       Auxiliary Segment Overlay - FUNCTION 3C    06110092
-********************************************************************    06120092
-*                                                                       06130092
-P23CFILR DS    CL6           FUTURE USE                                 06140092
-P23CSCNT DS    CL4           Number of segment ids                      06150092
-P23CSGID DS    CL490         up to 70 Seven Byte Segment IDS            06160092
-P23CSEND EQU   *                                                        06170092
-P23CSLEN EQU   P23CSEND-P2BAL  Length of WA 2 for Fn 3C w/Segments      06180092
-*                                                                       06190092
-********************************************************************    06200092
-         ORG   P2LAYOUT RESET LOC COUNTER FOR FUNCTION 3C EXTENDED      06210092
-********************************************************************    06220092
-*                                                                       06230092
-P2CXDUPF DS   0CL1           DUPLICATE KEY FLAG                         06240092
-P2CXPAR  DS    CL1           CONTINUOUS PARITY INDICATOR                06250092
-P2CXLST  DS    CL1           Locational Status of Segment               06260092
-P2CXCBI  DS    CL1           County Boundary Indicator                  06270092
-P2CXLGC1 DS    CL2           STREET 1 PREFERRED LGC                     06280092
-P2CXLGC2 DS    CL2           STREET 2 PREFERRED LGC                     06290092
-P2CCLGC3 DS    CL2           STREET 3 PREFERRED LGC                     06300092
-P2CX#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         06310092
-P2CXCDEL DS    CL30          CROSS STREET B5SC'S AT LOW END             06320092
-P2CX#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        06330092
-P2CXCDEH DS    CL30          CROSS STREET B5SC'S AT HIGH END            06340092
-P2CXREVF DS    CL1           REVERSAL FLAG                              06350092
-P2CXKEY  DS   0CL10          LION KEY                                   06360092
-P2CXBOR  DS    CL1           LION BOROUGH CODE                          06370092
-P2CXFACE DS    CL4           LION FACE CODE                             06380092
-P2CXSEQ  DS    CL5           LION SEQUENCE NUMBER                       06390092
-P2CXGEN  DS    CL1           GENERATED RECORD FLAG                      06400092
-P2CXSEGL DS    CL5           SEGMENT LENGTH IN FEET                     06410092
-P2CXSLOP DS    CL3           SEGMENT SLOPE IN DEGREES                   06420092
-P2CXORNT DS    CL1           SEGMENT ORIENTATION                        06430092
-P2CXMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             06440092
-P2CXFROM DS    CL7           FROM NODE                                  06450092
-P2CXTO   DS    CL7           TO NODE                                    06460092
-P2CXSP   DS    CL1           SANITATION STREET SNOW PRIORITY            06470092
-         DS    CL4           Future Use                                 06480092
-*                                                                       06490092
-*                            Side of Street Information                 06500092
-*                                                                       06510092
-P2CXSEGT DS    CL7           Segment Identifier                         06520092
-P2CXSLA  DS    CL1           STREET LIGHT AREA                          06530092
-P2CXSOS  DS    CL1           Side of Street Indicator                   06540092
-P2CXCURV DS    CL1           Curve Flag                                 06550092
-P2CXFEAT DS    CL1           Feature Type Code                          06560092
-P2CXSTC  DS    CL1           Segment Type Code                          06570092
-P2CXCSC  DS    CL1           COINCIDENT SEGMENT COUNT                   06580092
-         DS    CL4           Future Use                                 06590092
-P2CXCD   DS   0CL3           COMMUNITY DISTRICT                         06600092
-P2CXCDB  DS    CL1           COMMUNITY DISTRICT BORO                    06610092
-P2CXCDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  06620092
-P2CXLO#  DS    CL16          LOW HOUSE NUMBER                           06630092
-P2CXHI#  DS    CL16          HIGH HOUSE NUMBER                          06640092
-P2CXHS2L DS    CL16          2ND LOW HSE # - USED IF ODD & EVEN RANGES  06650092
-P2CXHS2H DS    CL16          2ND HI HSE #    ARE ON SAME SIDE OF STREET 06660092
-P2CXRES2 DS    CL1           RESERVED FOR DCP/GSS USE                   06670092
-P2CXZIP  DS    CL5           ZIP CODE                                   06680092
-P2CXHAL  DS    CL4           HEALTH AREA                                06690092
-P2CXPOL  DS   0CL4           POLICE DISTRICT                            06700092
-P2CXPBC  DS    CL1           POLICE PATROL BORO COMMAND                 06710092
-P2CXPOP  DS    CL3           POLICE PRECINCT                            06720092
-P2CXFS   DS    CL2           FIRE DIVISION                              06730092
-P2CXFB   DS    CL2           FIRE BATTALION                             06740092
-P2CXFC   DS   0CL4           FIRE COMPANY                               06750092
-P2CXFCT  DS    CL1           FIRE COMPANY TYPE                          06760092
-P2CXFCN  DS    CL3           FIRE COMPANY NUMBER                        06770092
-P2CXSCH  DS    CL2           SCHOOL DISTRICT                            06780092
-P2CXCPB  DS    CL3           DYNAMIC  BLOCK / ATOMIC POLYGON            06790092
-P2CXED   DS    CL3           ED                                         06800092
-P2CXAD   DS    CL2           AD                                         06810092
-P2CXPPB  DS    CL2           Police Patrol Borough                      06820092
-         DS    CL1           Filler                                     06830092
-P2CXBRO  DS    CL1           BOROUGH CODE                               06840092
-P2CXTR9  DS    CL6           1990 CENSUS TRACT                          06850092
-P2CXCT10 DS    CL6           2010 CENSUS TRACT                          06860092
-P2CXBL10 DS    CL4           2010 CENSUS BLOCK                          06870092
-P2CXBL1S DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   06880092
-P2CXT00  DS    CL6           2000 CENSUS TRACT                          06890092
-P2CXB00  DS    CL4           2000 CENSUS BLOCK                          06900092
-P2CXS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   06910092
-*P2CXBID  DS    CL7           BLOCKFACE ID                              06920092
-         DS    CL7           Filler V16.1                               06930092
-P2CXNTA  DS    CL4           NEIGHBORHOOD TABULATION AREA               06940092
-         DS    CL8           Future Use                                 06950092
-P2CXLGCS DS    CL8           List of 4 LGCs                             06960092
-P2CXLGCF DS    CL8           List of 4 From LGCs                        06970092
-P2CXLGCT DS    CL8           List of 4 To LGCs                          06980092
-P2CXLHCD DS    CL2           Left Health Center District                06990092
-P2CXRHCD DS    CL2           Right Health Center District               07000092
-P2CXFILS DS    CL1           Filler                                     07010092
-P2CXTD   DS    CL1           Traffic Direction                          07020092
-P2CXRTP  DS    CL2           Roadyway Type                              07030092
-P2CXPID  DS    CL7           Physical Id                                07040092
-P2CXGID  DS    CL7           Generic Id                                 07050092
-P2CXPDID DS    CL7           For DCP Use Only                           07060092
-P2CXFDID DS    CL7           For DCP Use Only                           07070092
-P2CXSTST DS    CL1           Street Status                              07080092
-P2CXSTW  DS    CL3           Street Width                               07090092
-P2CXSTWI DS    CL1           Street Width Irregular                     07100092
-P2CXBL   DS    CL1           Bike Lane                                  07110092
-P2CXFCC  DS    CL2           Federal Classification Code                07120092
-P2CXROW  DS    CL1           Row Type                                   07130092
-P2CXLGC5 DS    CL10          List of 5 LGCs                             07140092
-P2CXLGID DS    CL7           Legacy Id                                  07150092
-P2CXNTAN DS    CL75          NTA Name                                   07160092
-P2CXFXC  DS    CL7           From X Coordinate                          07170092
-P2CXFYC  DS    CL7           From Y Coordinate                          07180092
-P2CXTXC  DS    CL7           To X Coordinate                            07190092
-P2CXTYC  DS    CL7           To Y Coordinate                            07200092
-P2CXFLAT DS    CL9           LATITUDE OF FROM INTERSCT.                 07210092
-P2CXFLON DS    CL11          LONGITUDE OF FROM INTERSCT.                07220092
-P2CXTLAT DS    CL9           LATITUDE OF TO INTERSCT.                   07230092
-P2CXTLON DS    CL11          LONGITUDE OF TO INTERSCT.                  07240092
-P2CXBFID DS    CL10          NEW location Blockface Id V16.1            07250092
-P2CX#TRL DS    CL2           nbr of traveling lanes                     07260092
-P2CX#PKL DS    CL2           nbr of parking lanes                       07270092
-P2CX#TLL DS    CL2           nbr of total lanes                         07280092
-P2CXBL2  DS    CL2           Bike Lane2 (has 2bytes numeric value)      07290092
-P2CXSTWX DS    CL3           Street Width Maximum                       07300092
-P2CXBTD  DS    CL2           Bike Traffic Direction                     07310092
-P2CXFILL DS    CL298         FILLER                                     07320092
-P2CXEND  EQU   *                                                        07330092
-P2CXLEN  EQU   P2CXEND-P2BAL      Length of WA 2 for Fn 3C              07340092
-********************************************************************    07350092
-         ORG   P2CXEND     Auxiliary Segment Overlay - FUNCTION 3C-X    07360092
-********************************************************************    07370092
-*                                                                       07380092
-P2CXFILR DS    CL6           FUTURE USE                                 07390092
-P2CXSCNT DS    CL4           Number of segment ids                      07400092
-P2CXSGID DS    CL490         up to 70 Seven Byte Segment IDS            07410092
-P2CXSEND EQU   *                                                        07420092
-P2CXSLEN EQU   P2CXSEND-P2BAL  Length of WA 2 for Fn 3C-X w/Segments    07430092
-*                                                                       07440092
-*                                                                       07450092
-********************************************************************    07460092
-         ORG   P2BAL         RESET LOCATION COUNTER FOR FUNCTION 5      07470092
-********************************************************************    07480092
-*                                                                       07490092
-P2F5AMK  DS    CL28          ACCESS MATCHING KEY                        07500092
-         DS    CL172                                                    07510092
-P2F5END  EQU   *                                                        07520092
-P2F5LEN  EQU   P2F5END-P2BAL      Length of WA 2 for Fn 5               07530092
-         ORG                                                            07540092
-
-

P2BAL1A COPY File

-
*/********************************************************************/ 00010064
-*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE P2BAL1A,  ***/ 00020064
-*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTION         ***/ 00030064
-*/*****  1A, BL And BN WHICH SHARE A SINGLE WORK AREA 2 LAYOUT.    ***/ 00040064
-*/*****  The Long Work Area only applies to Functions 1A and BL.   ***/ 00050064
-*/*****  The long work area only exists if the Address Overflow    ***/ 00060064
-*/*****  Flag has been set on.                                     ***/ 00070064
-*/*****  As of 2011, Function 1/1E Extended, Function 1A Extended  ***/ 00080064
-*/*****  and Function 1B have been added to this Copy File         ***/ 00090064
-*/*****  ADDED 2 byte field "Police Patrol Borough" for functions: ***/ 00100064
-*/*****  1X/1EX/1B.                                  August 2014   ***/ 00110064
-*/*****  ADDED 4 fields: "segment from node", "segment to node",   ***/ 00120064
-*/*****  "segment from XYZ", "segment to XYZ" for func 1X/1EX/1B   ***/ 00130064
-*/*****                                                May 2015    ***/ 00140064
-*/*****  ADDED 2 fields: "Bike Lane 2" and "Street Width Maximum"  ***/ 00141068
-*/*****  for functions 1EX/1B                     September 2016   ***/ 00142068
-*/*****  Replaced "Saniitation Reserved" with "Sanitation Bulk     ***/ 00143070
-*/*****  Pick Up" for functions 1E,1B             October   2016   ***/ 00144070
-*/*****  ADDED 2 bytes field "Bike Traffic Direction" for          ***/ 00145072
-*/*****  for functions 1/1E (extended),1B,3X,3CX           12/2016 ***/ 00146071
-*/********************************************************************/ 00150064
-*/*****          LAST UPDATE -  February 2016                      ***/ 00160066
-*/********************************************************************/ 00170064
-P2BAL1A  DS   0H                                                        00180064
-         DS    CL21                                                     00190064
-P21ACPAR DS    CL1           CONTINUOUS PARITY INDICATOR                00200064
-P21AHSEL DS    CL11          LOW HOUSE NUMBER ON BLOCK - HNS Form       00210064
-P21AALT1 DS   0CL11          ALTERNATE KEY                              00220064
-P21ABOR1 DS    CL1           ALTERNATE KEY - BORO                       00230064
-P21ATXB1 DS    CL5           ALTERNATE KEY - TAX BLOCK                  00240064
-P21ATXL1 DS    CL4           ALTERNATE KEY - TAX LOT                    00250064
-         DS    CL1              Future Use                              00260064
-P21ARSCC DS    CL1           RPAD SCC                                   00270064
-         DS    CL1           FILLER                                     00280064
-P21AGLI  DS   0CL13          GENERAL LOT INFO                           00290064
-P21ARBLC DS    CL2           RPAD BUILDING CLASSIFICATION               00300064
-P21ACORC DS    CL2           CORNER CODE                                00310064
-P21A#STC DS    CL4           TOTAL NUMBER STRUCTURES                    00320064
-P21A#BFA DS    CL2           TOTAL NUMBER BLOCKFACES                    00330064
-P21AINTF DS    CL1           INTERIOR LOT FLAG                          00340064
-P21AVACF DS    CL1           VACANT LOT FLAG                            00350064
-P21AIRLF DS    CL1           IRREGULARLY-SHAPED LOT FLAG                00360064
-*                                                                       00370064
-P21AABFL DS    CL1           Marble Hill/ Rikers ALTERNATE BORO FLAG    00380064
-P21AOVFL DS    CL1           Address Overflow Flag                      00390064
-*                                                                       00400064
-P21ASTRK DS    CL19          STROLLING KEY                              00410064
-*                                                                       00420064
-P21ARFIU DS    CL1           RESERVED FOR INTERNAL USE                  00430064
-P21ABIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       00440064
-*                           Condo Information                           00450064
-P21ACONF DS    CL1           CONDO LOT FLAG                             00460064
-         DS    CL1           Filler for Future Use                      00470064
-P21ARCO# DS    CL4           RPAD CONDO NUMBER                          00480064
-         DS    CL7           Future Use - Condo Unit Number             00490064
-P21ACBBL DS    CL11          CONDO BILLING BBL                          00500064
-P21ACBBS DS    CL1           CONDO BILLING BBL SCC                      00510064
-P21ACLBL DS    CL11          CONDO LOW BBL                              00520064
-P21ACHBL DS    CL11          CONDO HIGH BBL                             00530064
-         DS    CL15          Filler                                     00540064
-P21ACOOP DS    CL4           Co-op Number                               00550064
-*                                                                       00560064
-P21ASBVP DS    CL8           SANDBORN BOROUGH/VOLUME/PAGE               00570064
-*                                                                       00580064
-P21ABUSA DS    CL5           BUSINESS AREA                              00590064
-P21ATAXM DS    CL5           Tax Map Number - Section and Volume        00600064
-         DS    CL4           Reserved for Tax Map Page                  00610064
-         DS    CL3              FILLER                                  00620064
-P21ALAT  DS    CL9           LATITUDE                                   00630064
-P21ALONG DS    CL11          LONGITUDE                                  00640064
-P21AXCO  DS    CL7           X Coordinate of Annotation Point           00650064
-P21AYCO  DS    CL7           Y Coordinate of Annotation Point           00660064
-P21ABID  DS    CL6           Business Improvement District              00670064
-P21ATPBS DS    CL1           TPAD BIN Status                            00680064
-P21ATPNB DS    CL7           TPAD New BIN                               00690064
-P21ATPNS DS    CL1           TPAD New BIN Status                        00700064
-P21ATPCF DS    CL1           TPAD Conflict Flag                         00710064
-         DS    CL9           FILLER                                     00720064
-         DS    CL8           Internal Use                               00730064
-P21A#ADR DS    CL4           TOTAL ADDRESSES FOR LOT                    00740064
-P21ALIST DS   0CL1113        LIST OF ADDRESSES, MAXIMUM OF 21           00750064
-P21ALOW# DS    CL16          LOW HOUSE NUMBER-Display Form              00760064
-P21AHI#  DS    CL16          HIGH HOUSE NUMBER-Display Form             00770064
-P21ABCDE DS    CL1           Borough Code                               00780064
-P21ACODE DS    CL5           STREET CODE                                00790064
-P21APLGC DS    CL2           Preferred LGC                              00800064
-P21ALBIN DS    CL7           BIN                                        00810064
-P21ALSOS DS    CL1           Side of Street Indicator                   00820064
-P21AATP  DS    CL1           Address Type Flag                          00830064
-P21AATPS DS    CL1           TPAD BIN Status                            00840064
-         DS    CL3           FILLER                                     00850064
-*  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         00860064
-*  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                00870064
-         DS    CL1060        REMAINING ADDRESSES                        00880064
-P21ASEND EQU   *                                                        00890064
-P21ASLEN EQU   P21ASEND-P2BAL1A    LENGTH OF Short P2BAL1A              00900064
-*                                                                       00910064
-*        Long Work Area Overlay                                         00920064
-*                                                                       00930064
-         ORG   P21A#ADR                                                 00940064
-P21A#BIN DS    CL4           Total Nbr of BINs for Lot                  00950064
-P21ABINS DS    2500CL7                                                  00960064
-P21ALEND EQU   *                                                        00970064
-         ORG   P21ABINS      Redefine the list for TPAD                 00980064
-P21ATPL@ EQU   *             Start of TPAD List for Longwa2             00990064
-P21ATPB  DS    (2187)CL8     2187 8-Byte Elements                       01000064
-         DS    CL4           Filler                                     01010064
-P21ATPL  EQU   P21ATPL@,*-P21ATPL@  Define Start and Length             01020064
-         ORG   P21ATPB       Element Breakdown                          01030064
-P21ATPBN DS    CL7           BIN                                        01040064
-P21ATPST DS    CL1           BIN STATUS                                 01050064
-         ORG   P21ATPL+L'P21ATPL   Point To End of List                 01060064
-P21ALLEN EQU   P21ALEND-P2BAL1A    Length of Long P2BAL1A               01070064
-P21ATPLN EQU   P21ALEND-P2BAL1A    Length of TPAD Long P2BAL1A          01080064
-                                                                        01090064
-**********************************************************************  01100064
-******                                                                  01110064
-         ORG   P2BAL1A           RESET LOCATION FOR FN 1/1E EXTENDED    01120064
-******                                                                  01130064
-**********************************************************************  01140064
-                                                                        01150064
-P2EXKEY  DS    CL21          ACCESS KEY                                 01160064
-P2EXCPAR DS    CL1           CONTINUOUS PARITY INDICATOR                01170064
-P2EXLHNS DS    CL11          LOW HOUSE NUMBER                           01180064
-P2EXHHNS DS    CL11          HIGH HOUSE NUMBER                          01190064
-P2EXLGC  DS    CL2           DCP Prefered LGC                           01200064
-P2EX#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         01210064
-P2EXCDEL DS    CL30          UP TO FIVEPB5SC'S FOR LOW END              01220064
-P2EX#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        01230064
-P2EXCDEH DS    CL30          UP TO FIVE B5SC'S FOR HIGH END             01240064
-P2EXLBOR DS    CL1           LION BOROUGH CODE                          01250064
-P2EXFACE DS    CL4           LION FACE CODE                             01260064
-P2EXSEQ  DS    CL5           LION SEQUENCE NUMBER                       01270064
-P2EXSPAD DS    CL1           SPECIAL ADDRESS FLAG                       01280064
-P2EXSOS  DS    CL1           SIDE OF STREET INDICATOR                   01290064
-P2EXSEGL DS    CL5           SEGMENT LEGNTH                             01300064
-P2EXXCOR DS    CL7           X COORDINATE                               01310064
-P2EXYCOR DS    CL7           Y COORDINATE                               01320064
-P2EXZCOR DS    CL7           Z Coordinate - Not Impl.                   01330064
-P2EXRES1 DS    CL1           RESERVED FOR DCP/GSS USE                   01340064
-P2EXMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             01350064
-P2EXSLA  DS    CL1           STREET LIGHT AREA                          01360064
-P2EXCD   DS   0CL3           COMMUNITY DISTRICT                         01370064
-P2EXCDB  DS    CL1           COMMUNITY DISTRICT BORO                    01380064
-P2EXCDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  01390064
-P2EXZIP  DS    CL5           ZIP CODE                                   01400064
-P2EXEED  DS    CL3           ELECTION DISTRICT                          01410064
-P2EXEAD  DS    CL2           ASSEMBLY DISTRICT                          01420064
-P2EXESED DS    CL1           SPLIT E.D. FLAG                            01430064
-P2EXECON DS    CL2           CONGRESSIONAL DISTRICT                     01440064
-P2EXESEN DS    CL2           SENATORIAL DISTRICT                        01450064
-P2EXECIV DS    CL2           CIVIL COURT DISTRICT                       01460064
-P2EXECOU DS    CL2           CITY COUNCIL DISTRICT                      01470064
-*                                                                       01480064
-P2EXHCD  DS    CL2           HEALTH CODE DISTRICT                       01490064
-P2EXHA   DS    CL4           HEALTH AREA                                01500064
-P2EXSAND DS    CL3           SANITATION DISTRICT                        01510064
-P2EXSANT DS    CL2           SANITATION DEPT SUBSECTION                 01520064
-P2EXSREG DS    CL5           SANITATION REGULAR PICK-UP                 01530064
-P2EXSREC DS    CL3           SANITATION RECYCLE PICK-UP                 01540064
-P2EXPOL  DS    0CL4          POLICE DISTRICT                            01550064
-P2EXPBC  DS    CL1           POLICE PATROL BORO COMMAND                 01560064
-P2EXPOP  DS    CL3           POLICE PRECINCT                            01570064
-P2EXFS   DS    CL2           FIRE DIVISION                              01580064
-P2EXFB   DS    CL2           FIRE BATTALION                             01590064
-P2EXFC   DS   0CL4           FIRE COMPANY                               01600064
-P2EXFCT  DS    CL1           FIRE COMPANY TYPE                          01610064
-P2EXFCN  DS    CL3           FIRE COMPANY NUMBER                        01620064
-         DS    CL1           FILLER-WAS SPLIT SCHOOL DIST               01630064
-P2EXSCH  DS    CL2           SCHOOL DISTRICT                            01640064
-P2EXCPB  DS    CL3           DYNAMIC BLOCK/ATOMIC POLYGON               01650064
-P2EXPPB  DS    CL2           Police Patrol Borough                      01660064
-P2EXFEAT DS    CL1           Feature Type Code                          01670064
-P2EXSTC  DS    CL1           SEGMENT TYPE CODE                          01680064
-P2EXALX  DS    CL1           A=Segment split by Alley                   01690064
-*                            X=Cross Streets modified                   01700064
-P2EXCSC  DS    CL1           Coincident Segment Count                   01710064
-         DS    CL2           Filler                                     01720064
-P2EXCTB  DS    CL1           CENSUS TRACT BORO USED FOR GRIDGEN         01730064
-P2EXCT90 DS    CL6           1990 CENSUS TRACT                          01740064
-P2EXCT10 DS    CL6           2010 CENSUS TRACT                          01750064
-P2EXBL10 DS    CL4           2010 CENSUS BLOCK                          01760064
-P2EXBLS1 DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   01770064
-P2EXT00  DS    CL6           2000 CENSUS TRACT                          01780064
-P2EXB00  DS    CL4           2000 CENSUS BLOCK                          01790064
-P2EXS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   01800064
-P2EXNTA  DS    CL4           NEIGHBORHOOD TABULATION AREA               01810064
-P2EXSP   DS    CL1           SANITATION STREET SNOW PRIORITY            01820064
-P2EXSORG DS    CL5           SANITATION ORGANIC PICK UP                 01830064
-P2EXSBLK DS    CL5           SANITATION BULK PICK UP                    01831069
-*        DS    CL5           SANITATION RESERVED                        01840070
-P2EXHZ   DS    CL2           HURRICANE EVACUATION ZONE-OEM              01850064
-         DS    CL11          FILLER                                     01860064
-P2EXUHNS DS    CL11          Underlying HNS                             01870064
-P2EXB7SC DS    CL8           "True" Borough 7 Digit Street Code         01880064
-P2EXSEGT DS    CL7           Segment Identifier                         01890064
-P2EXCURV DS    CL1           Curve Flag                                 01900064
-P2EXLGCS DS    CL8           List of 4 LGCs                             01910064
-P2EXBOEP DS    CL1           BOE LGC Pointer                            01920064
-P2EXAZM  DS    CL3           Segment Azimuth                            01930064
-P2EXORN  DS    CL1           Segment Orientation                        01940064
-P2EXXCL  DS    CL7           X Coordinate, Low Address end              01950064
-P2EXYCL  DS    CL7           Y Coordinate, Low Address end              01960064
-P2EXZCL  DS    CL7           Z Coordinate, Low Address Not Impl         01970064
-P2EXXCH  DS    CL7           X Coordinate, Hi Address end               01980064
-P2EXYCH  DS    CL7           Y Coordinate, Hi Address end               01990064
-P2EXZCH  DS    CL7           Z Coordinate, Hi Address Not Impl          02000064
-P2EXXCC  DS    CL7           X Coordinate, Center Curve                 02010064
-P2EXYCC  DS    CL7           Y Coordinate, Center Curve                 02020064
-P2EXZCC  DS    CL7           Z Coordinate, Center Curve Not Impl        02030064
-P2EXRAD  DS    CL7           Radius of Circle                           02040064
-P2EXSEC  DS    CL1           Secant Location Related to Curve           02050064
-P2EXBETA DS    CL5           Angle to From Node                         02060064
-P2EXALFA DS    CL5           Angle to To Node                           02070064
-P2EXFNOD DS    CL7           From LION Node Id                          02080064
-P2EXTNOD DS    CL7           To LION Node Id                            02090064
-P2EXLVA  DS    CL10          LION Key for Vanity Address                02100064
-P2EXSVA  DS    CL1           Side of Street for Vanity Address          02110064
-P2EXSLH  DS    CL11          Split Low House Number                     02120064
-P2EXTD   DS    CL1           Traffic Direction                          02130064
-P2EXTR   DS    CL10          Turn Restrictions                          02140064
-P2EXFRC  DS    CL3           Fraction for Curve Calculation             02150064
-P2EXRT   DS    CL2           Roadway Type                               02160064
-P2EXPID  DS    CL7           Physical Id                                02170064
-P2EXGID  DS    CL7           Generic Id                                 02180064
-P2EXPDID DS    CL7           For DCP Use Only                           02190064
-P2EXFDID DS    CL7           For DCP Use Only                           02200064
-P2EXBLN2 DS    CL2           Bike Lane 2 (has 2 byte numeric value)     02201068
-P2EXBTD  DS    CL2           Bike Traffic Direction                     02202072
-         DS    CL3           filler                                     02210071
-P2EXSTS  DS    CL1           Street Status                              02220064
-P2EXSTW  DS    CL3           Street Width                               02230064
-P2EXSTWI DS    CL1           Street Width Irregular (Y/N)               02240064
-P2EXBLN  DS    CL1           Bike Lane                                  02250064
-P2EXFCC  DS    CL2           Federal Classification Code                02260064
-P2EXROW  DS    CL1           Right of Way Type                          02270064
-P2EXSLGC DS    CL10          Set of Second LGCs                         02280064
-P2EXLSID DS    CL7           Legacy Segment ID                          02290064
-P2EXFPL1 DS    CL10          From Preferred LGCs First Set of 5         02300064
-P2EXTPL1 DS    CL10          To Preferred LGCs First Set of 5           02310064
-P2EXFPL2 DS    CL10          From Preferred LGCs Second Set of 5        02320064
-P2EXTPL2 DS    CL10          To Preferred LGCs Second Set of 5          02330064
-P2EXNCR  DS    CL1           No Cross Street Calc Flag                  02340064
-P2EXISL  DS    CL5           Individual Segment Length                  02350064
-P2EXNTAN DS    CL75          NTA Name                                   02360064
-P2EXUSPS DS    CL25          USPS PREFERRED CITY NAME                   02370064
-P2EXLAT  DS    CL9           LATITUDE                                   02380064
-P2EXLONG DS    CL11          LONGITUDE                                  02390064
-P2EXSFRN DS    CL7           SEGMENT FROM NODE                          02400064
-P2EXSTON DS    CL7           SEGMENT TO NODE                            02410064
-P2EXFXYZ DS    CL21          XYZ COORD (SEGMENT FROM XYZ)               02420064
-P2EXTXYZ DS    CL21          XYZ COORD (SEGMENT TO XYZ)                 02430064
-P2EXBFID DS    CL10          NEW location blockface_id because of       02460064
-*                            length changed V16.1                       02470064
-P2EX#TRL DS    CL2           nbr of traveling lanes                     02480064
-P2EX#PKL DS    CL2           nbr of parking lanes                       02490064
-P2EX#TLL DS    CL2           nbr of total lanes on street               02500067
-P2EXSTWX DS    CL3           Street Width-Maximum                       02501068
-         DS    CL252         Filler                                     02510067
-P2EXRC   DS    CL1           REASON CODE                                02520064
-P2EXRCQ  DS    CL1           REASON CODE QUALIFIER                      02530064
-P2EXWC   DS    CL2           WARNING CODE FILLER                        02540064
-P2EXGRC  DS    CL2           GEOSUPPORT RETURN CODE                     02550064
-P2EX#SL  DS    CL1           NUMBER OF CROSS STREETS AT LOW END         02560064
-P2EX7SL  DS    CL40          UP TO 5 B7SC'S FOR LOW END                 02570064
-P2EX#SH  DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        02580064
-P2EX7SH  DS    CL40          UP TO 5 B7SC'S FOR HIGH END                02590064
-P2EXSNL  DS    CL160         UP TO 5 STREET NAMES FOR LOW END           02600064
-P2EXSNH  DS    CL160         UP TO 5 STREET NAMES FOR HIGH END          02610064
-P2EXBPC  DS    CL8           BOE PREFERRED B7SC STREET CODE             02620064
-P2EXBPN  DS    CL32          BOE PREFERRED STREET NAME                  02630064
-P2EXFIL  DS    CL52          Filler                                     02640064
-*                                                                       02650064
-P2EXEND  EQU   *                                                        02660064
-P2EXLEN  EQU   P2EXEND-P2BAL1A  LENGTH OF P21EX WORKAREA 2              02670064
-*                                                                       02680064
-                                                                        02690064
-**********************************************************************  02700064
-******                                                                  02710064
-         ORG   P2BAL1A             RESET LOCATION FOR FN 1A EXTENDED    02720064
-******                                                                  02730064
-**********************************************************************  02740064
-                                                                        02750064
-P2AXKEY  DS    CL21          Internal Use Only                          02760064
-P2AXCPIN DS    CL1           CONTINUOUS PARITY INDICATOR                02770064
-P2AXHSEL DS    CL11          LOW HOUSE NUMBER ON BLOCK - HNS Form       02780064
-P2AXALT1 DS   0CL11          Alternate Key                              02790064
-P2AXBOR1 DS    CL1           ALTERNATE KEY - BORO                       02800064
-P2AXTXB1 DS    CL5           ALTERNATE KEY - TAX BLOCK                  02810064
-P2AXTXL1 DS    CL4           ALTERNATE KEY - TAX LOT                    02820064
-         DS    CL1              Future Use                              02830064
-P2AXRSCC DS    CL1           RPAD SCC                                   02840064
-         DS    CL1           FILLER                                     02850064
-P2AXGLI  DS   0CL13          GENERAL LOT INFO                           02860064
-P2AXRBLC DS    CL2           RPAD BUILDING CLASSIFICATION               02870064
-P2AXCORC DS    CL2           CORNER CODE                                02880064
-P2AX#STC DS    CL4           TOTAL NUMBER STRUCTURES                    02890064
-P2AX#BFA DS    CL2           TOTAL NUMBER BLOCKFACES                    02900064
-P2AXINTF DS    CL1           INTERIOR LOT FLAG                          02910064
-P2AXVACF DS    CL1           VACANT LOT FLAG                            02920064
-P2AXIRLF DS    CL1           IRREGULARLY-SHAPED LOT FLAG                02930064
-*                                                                       02940064
-P2AXABFL DS    CL1           Marble Hill/ Rikers ALTERNATE BORO FLAG    02950064
-P2AXOVFL DS    CL1           Address Overflow Flag                      02960064
-*                                                                       02970064
-P2AXSTRK DS    CL19          STROLLING KEY - FILLER                     02980064
-*                                                                       02990064
-P2AXRFIU DS    CL1           RESERVED FOR INTERNAL USE                  03000064
-P2AXBIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       03010064
-*                            Condo Information                          03020064
-P2AXCONF DS    CL1           CONDO LOT FLAG                             03030064
-         DS    CL1           Filler for Future Use                      03040064
-P2AXRCO# DS    CL4           RPAD CONDO NUMBER                          03050064
-         DS    CL7           Future Use - Condo Unit Number             03060064
-P2AXCBBL DS    CL11          CONDO BILLING BBL                          03070064
-P2AXCBBS DS    CL1           CONDO BILLING BBL SCC                      03080064
-P2AXCLBL DS    CL11          CONDO LOW BBL                              03090064
-P2AXCHBL DS    CL11          CONDO HIGH BBL                             03100064
-         DS    CL15          Filler                                     03110064
-P2AXCOOP DS    CL4           Co-op Number                               03120064
-*                                                                       03130064
-P2AXSBVP DS    CL8           SANDBORN BOROUGH/VOLUME/PAGE               03140064
-*                                                                       03150064
-P2AXBUSA DS    CL5           BUSINESS AREA                              03160064
-P2AXTAXM DS    CL5           Tax Map Number - Section and Volume        03170064
-         DS    CL4           Reserved for Tax Map Page                  03180064
-         DS    CL3              FILLER                                  03190064
-P2AXLAT  DS    CL9           LATITUDE                                   03200064
-P2AXLONG DS    CL11          LONGITUDE                                  03210064
-P2AXXCO  DS    CL7           X Coordinate of Annotation Point           03220064
-P2AXYCO  DS    CL7           Y Coordinate of Annotation Point           03230064
-P2AXBID  DS    CL6           Business Improvement District              03240064
-P2AXTPBS DS    CL1           TPAD BIN Status                            03250064
-P2AXTPNB DS    CL7           TPAD New BIN                               03260064
-P2AXTPNS DS    CL1           TPAD New BIN Status                        03270064
-P2AXTPCF DS    CL1           TPAD Conflict Flag                         03280064
-         DS    CL9           FILLER                                     03290064
-         DS    CL8           Internal Use - LGCS                        03300064
-P2AXRC   DS    CL1           REASON CODE                                03310064
-P2AXRCQ  DS    CL1           REASON CODE QUALIFIER                      03320064
-P2AXWC   DS    CL2           WARNING CODE FILLER                        03330064
-P2AXGRC  DS    CL2           GEOSUPPORT RETURN CODE                     03340064
-         DS    CL108         FILLER                                     03350064
-P2AX#ADR DS    CL4           TOTAL ADDRESSES FOR LOT                    03360064
-P2AXLIST DS   0CL116         LIST OF ADDRESSES, MAXIMUM OF 21           03370064
-P2AXLOW# DS    CL16          LOW HOUSE NUMBER-Display Form              03380064
-P2AXHI#  DS    CL16          HIGH HOUSE NUMBER-Display Form             03390064
-P2AXBCDE DS    CL1           Borough Code                               03400064
-P2AXCODE DS    CL5           STREET CODE                                03410064
-P2AXPLGC DS    CL2           Preferred LGC                              03420064
-P2AXLBIN DS    CL7           BIN                                        03430064
-P2AXLSOS DS    CL1           Side of Street Indicator                   03440064
-P2AXATP  DS    CL1           Address Type Flag                          03450064
-P2AXATPS DS    CL1           TPAD BIN Status                            03460064
-P2AXSTN  DS    CL32          STREET NAME                                03470064
-         DS    CL34          FILLER                                     03480064
-*  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         03490064
-*  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                03500064
-         DS    CL2320        REMAINING ADDRESSES                        03510064
-P2AXEND  EQU   *                                                        03520064
-P2AXLEN  EQU   P2AXEND-P2BAL1A  LENGTH OF P21A EXTEND WORKAREA 2        03530064
-*                                                                       03540064
-                                                                        03550064
-**********************************************************************  03560064
-******                                                                  03570064
-         ORG   P2BAL1A             RESET LOCATION FOR FN 1B             03580064
-******                                                                  03590064
-**********************************************************************  03600064
-P21BKEY  DS    CL21          ACCESS KEY                                 03610064
-P21BCPAR DS    CL1           CONTINUOUS PARITY INDICATOR                03620064
-P21BLHNS DS    CL11          LOW HOUSE NUMBER                           03630064
-P21BHHNS DS    CL11          HIGH HOUSE NUMBER                          03640064
-P21BLGC  DS    CL2           DCP PREFERREDLGC (FN 1) - BOE (FN 1E)      03650064
-P21B#STL DS    CL1           NUMBER OF CROSS STREETS AT LOW END         03660064
-P21BCDEL DS    CL30          UP TO FIVEPB5SC'S FOR LOW END              03670064
-P21B#STH DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        03680064
-P21BCDEH DS    CL30          UP TO FIVE B5SC'S FOR HIGH END             03690064
-P21BLBOR DS    CL1           LION BOROUGH CODE                          03700064
-P21BFACE DS    CL4           LION FACE CODE                             03710064
-P21BSEQ  DS    CL5           LION SEQUENCE NUMBER                       03720064
-P21BSPAD DS    CL1           SPECIAL ADDRESS FLAG                       03730064
-P21BSOS  DS    CL1           SIDE OF STREET INDICATOR                   03740064
-P21BSEGL DS    CL5           SEGMENT LEGNTH                             03750064
-P21BXCOR DS    CL7           X COORDINATE                               03760064
-P21BYCOR DS    CL7           Y COORDINATE                               03770064
-P21BZCOR DS    CL7           Z Coordinate - Not Impl.                   03780064
-P21BRES1 DS    CL1           RESERVED FOR DCP/GSS USE                   03790064
-P21BMHRI DS    CL1           MARBLE HILL/RIKERS ISLAND FLAG             03800064
-P21BSLA  DS    CL1           STREET LIGHT AREA                          03810064
-P21BCD   DS   0CL3           COMMUNITY DISTRICT                         03820064
-P21BCDB  DS    CL1           COMMUNITY DISTRICT BORO                    03830064
-P21BCDN  DS    CL2           COMMUNITY DISTRICT NUMBER                  03840064
-P21BZIP  DS    CL5           ZIP CODE                                   03850064
-P21BEED  DS    CL3           ELECTION DISTRICT                          03860064
-P21BEAD  DS    CL2           ASSEMBLY DISTRICT                          03870064
-P21BESED DS    CL1           SPLIT E.D. FLAG                            03880064
-*                 Next four fields are valid only for Fn 1E             03890064
-P21BECON DS    CL2           CONGRESSIONAL DISTRICT                     03900064
-P21BESEN DS    CL2           SENATORIAL DISTRICT                        03910064
-P21BECIV DS    CL2           CIVIL COURT DISTRICT                       03920064
-P21BECOU DS    CL2           CITY COUNCIL DISTRICT                      03930064
-*                                                                       03940064
-P21BHCD  DS    CL2           HEALTH CODE DISTRICT                       03950064
-P21BHA   DS    CL4           HEALTH AREA                                03960064
-P21BSAND DS    CL3           SANITATION DISTRICT                        03970064
-P21BSANT DS    CL2           SANITATION DEPT SUBSECTION                 03980064
-P21BSREG DS    CL5           SANITATION REGULAR PICK-UP                 03990064
-P21BSREC DS    CL3           SANITATION RECYCLE PICK-UP                 04000064
-P21BPOL  DS    0CL4          POLICE DISTRICT                            04010064
-P21BPBC  DS    CL1           POLICE PATROL BORO COMMAND                 04020064
-P21BPOP  DS    CL3           POLICE PRECINCT                            04030064
-P21BFS   DS    CL2           FIRE DIVISION                              04040064
-P21BFB   DS    CL2           FIRE BATTALION                             04050064
-P21BFC   DS   0CL4           FIRE COMPANY                               04060064
-P21BFCT  DS    CL1           FIRE COMPANY TYPE                          04070064
-P21BFCN  DS    CL3           FIRE COMPANY NUMBER                        04080064
-P21BFILS DS    CL1           FILLER_WAS SPLIT SCHOOL DISTRICT FLAG      04090064
-P21BSCH  DS    CL2           SCHOOL DISTRICT                            04100064
-P21BCPB  DS    CL3           DYNAMIC BLOCK/ATOMIC POLYGON               04110064
-P21BPPB  DS    CL2           Police Patrol Borough                      04120064
-P21BFEAT DS    CL1           FEATURE TYPE CODE                          04130064
-P21BSTC  DS    CL1           SEGMENT TYPE CODE                          04140064
-P21BALX  DS    CL1           A=Segment split by Alley                   04150064
-*                            X=Cross Streets modified                   04160064
-P21BCSC  DS    CL1           COINCIDENT SEGMENT COUNT                   04170064
-         DS    CL2           Filler                                     04180064
-P21BCTB  DS    CL1           CENSUS TRACT BORO USED FOR GRIDGEN         04190064
-P21BCT90 DS    CL6           1990 CENSUS TRACT                          04200064
-P21BCT10 DS    CL6           2010 CENSUS TRACT                          04210064
-P21BBL10 DS    CL4           2010 CENSUS BLOCK                          04220064
-P21BBLS1 DS    CL1           2010 CENSUS BLOCK SUFFIX NOT IMPLEMENTED   04230064
-P21BT00  DS    CL6           2000 CENSUS TRACT                          04240064
-P21BB00  DS    CL4           2000 CENSUS BLOCK                          04250064
-P21BS00  DS    CL1           2000 CENSUS BLOCK SUFFIX                   04260064
-P21BNTA  DS    CL4           NEIGHBORHOOD TABULATION AREA               04270064
-P21BSP   DS    CL1           SANITATION STREET SNOW PRIORITY            04280064
-P21BSORG DS    CL5           SANITATION ORGANIC PICK UP                 04290064
-P21BSBLK DS    CL5           SANITATION BULK PICK UP                    04291069
-*        DS    CL5           SANITATION RESERVED                        04300070
-P21BHZ   DS    CL2           HURRICANE EVACUATION ZONE-OEM              04310064
-         DS    CL11          FILLER                                     04320064
-P21BUHNS DS    CL11          Underlying HNS                             04330064
-P21BB7SC DS    CL8           "True" Borough 7 Digit Street Code         04340064
-P21BSEGT DS    CL7           Segment Identifier                         04350064
-P21BCURV DS    CL1           Curve Flag                                 04360064
-P21BLGCS DS    CL8           List of 4 LGCs                             04370064
-P21BBOEP DS    CL1           BOE LGC Pointer                            04380064
-P21BAZM  DS    CL3           Segment Azimuth                            04390064
-P21BORN  DS    CL1           Segment Orientation                        04400064
-P21BXCL  DS    CL7           X Coordinate, Low Address end              04410064
-P21BYCL  DS    CL7           Y Coordinate, Low Address end              04420064
-P21BZCL  DS    CL7           Z Coordinate, Low Address Not Impl         04430064
-P21BXCH  DS    CL7           X Coordinate, Hi Address end               04440064
-P21BYCH  DS    CL7           Y Coordinate, Hi Address end               04450064
-P21BZCH  DS    CL7           Z Coordinate, Hi Address Not Impl          04460064
-P21BXCC  DS    CL7           X Coordinate, Center Curve                 04470064
-P21BYCC  DS    CL7           Y Coordinate, Center Curve                 04480064
-P21BZCC  DS    CL7           Z Coordinate, Center Curve Not Impl        04490064
-P21BRAD  DS    CL7           Radius of Circle                           04500064
-P21BSEC  DS    CL1           Secant Location Related to Curve           04510064
-P21BBETA DS    CL5           Angle to From Node                         04520064
-P21BALFA DS    CL5           Angle to To Node                           04530064
-P21BFNOD DS    CL7           From LION Node Id                          04540064
-P21BTNOD DS    CL7           To LION Node Id                            04550064
-P21BLVA  DS    CL10          LION Key for Vanity Address                04560064
-P21BSVA  DS    CL1           Side of Street for Vanity Address          04570064
-P21BSLH  DS    CL11          Split Low House Number                     04580064
-P21BTD   DS    CL1           Traffic Direction                          04590064
-P21BTR   DS    CL10          Turn Restrictions                          04600064
-P21BFRC  DS    CL3           Fraction for Curve Calculation             04610064
-P21BRT   DS    CL2           Roadway Type                               04620064
-P21BPID  DS    CL7           Physical Id                                04630064
-P21BGID  DS    CL7           Generic Id                                 04640064
-P21BPDID DS    CL7           For DCP Use Only                           04650064
-P21BFDID DS    CL7           For DCP Use Only                           04660064
-P21BBLN2 DS    CL2           Bike Lane 2 (has 2 bytes numeric value)    04661068
-P21BBTD  DS    CL2           Bike Traffic Direction                     04662072
-         DS    CL3           Filler                                     04670071
-P21BSTS  DS    CL1           Street Status                              04680064
-P21BSTW  DS    CL3           Street Width                               04690064
-P21BSTWI DS    CL1           Street Width Irregular (Y/N)               04700064
-P21BBLN  DS    CL1           Bike Lane                                  04710064
-P21BFCC  DS    CL2           Federal Classification Code                04720064
-P21BRTP  DS    CL1           Row Type                                   04730064
-P21BSLGC DS    CL10          Set of Second LGCs                         04740064
-P21BLSID DS    CL7           Legacy Segment ID                          04750064
-P21BFPL1 DS    CL10          From Preferred LGCs First Set of 5         04760064
-P21BTPL1 DS    CL10          To Preferred LGCs First Set of 5           04770064
-P21BFPL2 DS    CL10          From Preferred LGCs Second Set of 5        04780064
-P21BTPL2 DS    CL10          To Preferred LGCs Second Set of 5          04790064
-P21BNCR  DS    CL1           No Cross Street Calc Flag                  04800064
-P21BISL  DS    CL5           Individual Segment Length                  04810064
-P21BNTAN DS    CL75          NTA Name                                   04820064
-P21BUSPS DS    CL25          USPS PREFERRED CITY NAME                   04830064
-P21B1LAT DS    CL9           LATITUDE                                   04840064
-P21B1LON DS    CL11          LONGITUDE                                  04850064
-P21BSFRN DS    CL7           SEGMENT FROM NODE                          04860064
-P21BSTON DS    CL7           SEGMENT TO NODE                            04870064
-P21BFXYZ DS    CL21          XYZ COORD (SEGMENT FROM XYZ)               04880064
-P21BTXYZ DS    CL21          XYZ COORD (SEGMENT TO XYZ)                 04890064
-P21BBFID DS    CL10          NEW location blockface_id because of       04891065
-*                            length changed V16.1                       04892065
-P21B#TRL DS    CL2           nbr of traveling lanes                     04893065
-P21B#PKL DS    CL2           nbr of parking lanes                       04894065
-P21B#TLL DS    CL2           nbr of total lanes                         04895065
-P21BSTWX DS    CL3           Street Width Maximum                       04895168
-         DS    CL252         Filler                                     04896068
-P21BRC   DS    CL1           REASON CODE                                04910064
-P21BRC1  DS    CL1           REASON CODE QUALIFIER                      04920064
-P21BWC   DS    CL2           WARNING CODE FILLER                        04930064
-P21BGRC  DS    CL2           GEOSUPPORT RETURN CODE                     04940064
-P21B#SL  DS    CL1           NUMBER OF CROSS STREETS AT LOW END         04950064
-P21B7SL  DS    CL40          UP TO 5 B7SC'S FOR LOW END                 04960064
-P21B#SH  DS    CL1           NUMBER OF CROSS STREETS AT HIGH END        04970064
-P21B7SH  DS    CL40          UP TO 5 B7SC'S FOR HIGH END                04980064
-P21BSNL  DS    CL160         UP TO 5 STREET NAMES FOR LOW END           04990064
-P21BSNH  DS    CL160         UP TO 5 STREET NAMES FOR HIGH END          05000064
-P21BBP7  DS    CL8           BOE PREFERRED B7SC                         05010064
-P21BBSN  DS    CL32          BOE PREFERRED STREET NAME                  05020064
-         DS    CL52          Filler                                     05030064
-*                                                                       05040064
-         DS    CL21          Internal Use Only                          05050064
-P21BCPIN DS    CL1           CONTINUOUS PARITY INDICATOR                05060064
-P21BHSEL DS    CL11          LOW HOUSE NUMBER ON BLOCK - HNS Form       05070064
-P21BALT1 DS   0CL11          Alternate Key    Y                         05080064
-P21BBOR1 DS    CL1           ALTERNATE KEY - BORO                       05090064
-P21BTXB1 DS    CL5           ALTERNATE KEY - TAX BLOCK                  05100064
-P21BTXL1 DS    CL4           ALTERNATE KEY - TAX LOT                    05110064
-         DS    CL1              Future Use                              05120064
-P21BRSCC DS    CL1           RPAD SCC                                   05130064
-         DS    CL1           FILLER                                     05140064
-P21BGLI  DS   0CL13          GENERAL LOT INFO                           05150064
-P21BRBLC DS    CL2           RPAD BUILDING CLASSIFICATION               05160064
-P21BCORC DS    CL2           CORNER CODE                                05170064
-P21B#STC DS    CL4           TOTAL NUMBER STRUCTURES                    05180064
-P21B#BFA DS    CL2           TOTAL NUMBER BLOCKFACES                    05190064
-P21BINTF DS    CL1           INTERIOR LOT FLAG                          05200064
-P21BVACF DS    CL1           VACANT LOT FLAG                            05210064
-P21BIRLF DS    CL1           IRREGULARLY-SHAPED LOT FLAG                05220064
-*                                                                       05230064
-P21BABFL DS    CL1           Marble Hill/ Rikers ALTERNATE BORO FLAG    05240064
-P21BOVFL DS    CL1           Address Overflow Flag                      05250064
-*                                                                       05260064
-P21BSTRK DS    CL19          STROLLING KEY - FILLER                     05270064
-*                                                                       05280064
-P21BRFIU DS    CL1           RESERVED FOR INTERNAL USE                  05290064
-P21BBIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       05300064
-*                            Condo Information                          05310064
-P21BCONF DS    CL1           CONDO LOT FLAG                             05320064
-         DS    CL1           Filler for Future Use                      05330064
-P21BRCO# DS    CL4           RPAD CONDO NUMBER                          05340064
-         DS    CL7           Future Use - Condo Unit Number             05350064
-P21BCBBL DS    CL11          CONDO BILLING BBL                          05360064
-P21BCBBS DS    CL1           CONDO BILLING BBL SCC                      05370064
-P21BCLBL DS    CL11          CONDO LOW BBL                              05380064
-P21BCHBL DS    CL11          CONDO HIGH BBL                             05390064
-         DS    CL15          Filler                                     05400064
-P21BCOOP DS    CL4           Co-op Number                               05410064
-*                                                                       05420064
-P21BSBVP DS    CL8           SANDBORN BOROUGH/VOLUME/PAGE               05430064
-*                                                                       05440064
-P21BBUSA DS    CL5           BUSINESS AREA                              05450064
-P21BTAXM DS    CL5           Tax Map Number - Section and Volume        05460064
-         DS    CL4           Reserved for Tax Map Page                  05470064
-         DS    CL3              FILLER                                  05480064
-P21BALAT DS    CL9           LATITUDE                                   05490064
-P21BALON DS    CL11          LONGITUDE                                  05500064
-P21BXCO  DS    CL7           X Coordinate of Annotation Point           05510064
-P21BYCO  DS    CL7           Y Coordinate of Annotation Point           05520064
-P21BBID  DS    CL6           Business Improvement District              05530064
-P21BTPBS DS    CL1           TPAD BIN Status                            05540064
-P21BTPNB DS    CL7           TPAD New BIN                               05550064
-P21BTPNS DS    CL1           TPAD New BIN Status                        05560064
-P21BTPCF DS    CL1           TPAD Conflict Flag                         05570064
-         DS    CL9           FILLER                                     05580064
-         DS    CL8           Internal Use - LGCS                        05590064
-P21BRCS2 DS    CL1           REASON CODE                                05600064
-P21BRCQ2 DS    CL1           REASON CODE QUALIFIER                      05610064
-P21BWC2  DS    CL2           WARNING CODE FILLER                        05620064
-P21BGRC2 DS    CL2           GEOSUPPORT RETURN CODE                     05630064
-         DS    CL108         FILLER                                     05640064
-P21B#ADR DS    CL4           TOTAL ADDRESSES FOR LOT                    05650064
-P21BLIST DS   0CL116         LIST OF ADDRESSES, MAXIMUM OF 21           05660064
-P21BLOW# DS    CL16          LOW HOUSE NUMBER-Display Form              05670064
-P21BHI#  DS    CL16          HIGH HOUSE NUMBER-Display Form             05680064
-P21BBCDE DS    CL1           Borough Code                               05690064
-P21BCODE DS    CL5           STREET CODE                                05700064
-P21BPLGC DS    CL2           Preferred LGC                              05710064
-P21BLBIN DS    CL7           BIN                                        05720064
-P21BLSOS DS    CL1           Side of Street Indicator                   05730064
-P21BATP  DS    CL1           Address Type Flag                          05740064
-P21BATPS DS    CL1           TPAD BIN Status                            05750064
-P21BSTN  DS    CL32          STREET NAME                                05760064
-         DS    CL34          FILLER                                     05770064
-*  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         05780064
-*  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                05790064
-         DS    CL2320        REMAINING ADDRESSES                        05800064
-P21BEND  EQU   *                                                        05810064
-P21BLEN  EQU   P21BEND-P2BAL1A LENGTH OF P21B WORKAREA 2                05820064
-*                                                                       05830064
-         ORG  ,                                                         05840064
-**********************************************************************  05850064
-
-

P2BAL3S COPY File

-
*/********************************************************************/ 00000100
-*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE P2BAL3S,  ***/ 00000200
-*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTION 3S.     ***/ 00000300
-*/********************************************************************/ 00000400
-*/******         Last Modified - 3 April 2002                      ***/ 00000502
-*/********************************************************************/ 00000602
-P2BAL3S  DS   0H                                                        00000700
-P23SAKEY DS   0CL21          ACCESS KEY                                 00000800
-         DS    CL2           Internal Use Only                          00000900
-P23SPORS DS    CL1           P=Primary, S=Secondary                     00001000
-P23SBORO DS    CL1           Borough Code                               00001100
-P23S5SC  DS    CL5           Street Code                                00001200
-P23SLGC  DS    CL2           Blank if P in P23SPORS                     00001300
-         DS    CL10          Internal use Only                          00001400
-P23S#INT DS    CL3           NUMBER OF INTERSECTIONS ON STRETCH         00001500
-*                            Up to 350 Intersections                    00001600
-*P23SINT  DS    0CL87        INTERSECTION LAYOUT                        00001700
-P23SINT  DS    0CL55         INTERSECTION LAYOUT                        00001800
-P23SMHRI DS    CL1           Marble Hill / Rikers Island Flag           00001900
-P23SDIST DS    CL5           DISTANCE IN FEET FROM PREVIOUS INTERSECT.  00002000
-P23SGAPF DS    CL1           GAP FLAG ("G" IF NO SEGMENT CONNECTS THIS  00002100
-*                            INTERSECTION TO THE PREVIOUS ONE)          00002200
-P23SNODE DS    CL7           Node Number                                00002301
-P23S#ST  DS    CL1           Number of Streets intersecting (max 5)     00002400
-P23SCDE1 DS    CL8           NUMERICALLY SMALLEST B7SC                  00002503
-P23SCDE2 DS    CL8           NUMERICALLY 2ND SMALLEST B7SC              00002603
-P23SCDE3 DS    CL8           Remaining Street Codes in any order        00002700
-P23SCDE4 DS    CL8                                                      00002800
-P23SCDE5 DS    CL8                                                      00002900
-P23SREST DS    CL19195      REMAINING INTERSECTIONS Assuming Max size   00003402
-P23SEND  EQU   *                                                        00003500
-P23SLEN  EQU   P23SEND-P2BAL3S     LENGTH OF P2BAL3S                    00003600
-
-

P2BALAP COPY File

-
*/********************************************************************/ 00000100
-*/*****  THIS IS GEOSUPPORT INFORMATION SYSTEM COPY FILE P2BALAP,  ***/ 00000260
-*/*****  CONTAINING THE LAYOUT OF WORK AREA 2 FOR FUNCTION AP AND  ***/ 00000360
-*/*****  APX (ADDRESS POINT AND AP EXTENDED).   TLV 3/2015  V15.2  ***/ 00001260
-*/********************************************************************/ 00001315
-P2BALAP  DS   0H                                                        00001760
-         DS    CL21                                                     00001815
-P2APCPAR DS    CL1           CONTINUOUS PARITY INDICATOR                00001960
-P2APHSEL DS    CL11          LOW HOUSE NUMBER ON BLOCK - HNS FORM       00002060
-P2APALT1 DS   0CL11          ALTERNATE KEY                              00002160
-P2APBOR1 DS    CL1           ALTERNATE KEY - BORO                       00002260
-P2APTXB1 DS    CL5           ALTERNATE KEY - TAX BLOCK                  00002360
-P2APTXL1 DS    CL4           ALTERNATE KEY - TAX LOT                    00002460
-         DS    CL1              Future Use                              00002515
-         DS    CL1           FILLER FOR FUNC AP                         00002661
-         DS    CL1           FILLER                                     00002715
-P2APGLI  DS   0CL13          GENERAL LOT INFO                           00002860
-P2APFL01 DS    CL2           FILLER FOR AP ?fields name for fillers ??  00002961
-P2APFL02 DS    CL2           FILLER FOR FUNC AP                         00003061
-P2AP#STC DS    CL4           TOTAL NUMBER STRUCTURES                    00003160
-P2APFL03 DS    CL2           FILLER FOR FUNC AP ?                       00003261
-P2APFL04 DS    CL1           FILLER FOR FUNC AP ?                       00003361
-P2APFL05 DS    CL1           FILLER FOR FUNC AP ?                       00003461
-P2APFL06 DS    CL1           FILLER FOR FUNC AP                         00003561
-*                                                                       00003615
-         DS    CL1           FILLER FOR FUNC AP                         00003761
-         DS    CL1           FILLER FOR FUNC AP                         00003861
-*                                                                       00003915
-         DS    CL19          FILLER FOR FUNC AP                         00004061
-*                                                                       00004115
-P2APRFIU DS    CL1           RESERVED FOR INTERNAL USE                  00004260
-P2APBIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       00004360
-*                          Condo Information                            00004463
-P2APCONF DS    CL1           CONDO LOT FLAG                             00004560
-         DS    CL1           Filler for Future Use                      00004615
-P2APRCO# DS    CL4           RPAD CONDO NUMBER                          00004760
-         DS    CL7           Future Use - Condo Unit Number             00004815
-P2APCBBL DS    CL11          CONDO BILLING BBL                          00005063
-         DS    CL1           FILLER FOR FUNC AP                         00005161
-P2APCLBL DS    CL11          CONDO LOW BBL                              00005260
-P2APCHBL DS    CL11          CONDO HIGH BBL                             00005360
-         DS    CL15          Filler                                     00005415
-P2APCOOP DS    CL4           CO-OP NUMBER                               00005560
-*                                                                       00005615
-         DS    CL8           FILLER FOR FUNC AP                         00005761
-*                                                                       00005815
-         DS    CL5           FILLER FOR FUNCTION AP                     00005961
-         DS    CL5           FILLER FOR FUNCTION AP                     00006061
-         DS    CL4           FILLER                                     00006161
-         DS    CL3           FILLER                                     00006261
-P2APLAT  DS    CL9           LATITUDE                                   00006360
-P2APLONG DS    CL11          LONGITUDE                                  00006460
-P2APXCO  DS    CL7           X COORDINATE OF ANNOTATION POINT           00006560
-P2APYCO  DS    CL7           Y COORDINATE OF ANNOTATION POINT           00006660
-         DS    CL6           FILLER FOR FUNC AP                         00006761
-         DS    CL1           FILLER FOR FUNC AP                         00006861
-         DS    CL7           FILLER FOR FUNC AP                         00006961
-         DS    CL1           FILLER FOR FUNC AP                         00007061
-         DS    CL1           FILLER FOR FUNC AP                         00007162
-P2APAPID DS    CL9           ADDRESS POINT ID                           00007367
-         DS    CL8           Internal Use                               00007461
-P2AP#ADR DS    CL4           TOTAL ADDRESSES FOR LOT                    00007561
-P2APLIST DS   0CL1113        LIST OF ADDRESSES, MAXIMUM OF 21           00007661
-P2APLOW# DS    CL16          LOW HOUSE NUMBER-Display Form              00007761
-P2APHI#  DS    CL16          HIGH HOUSE NUMBER-DISPLAY FORM             00007863
-P2APBCDE DS    CL1           Borough Code                               00007961
-P2APCODE DS    CL5           STREET CODE                                00008061
-P2APPLGC DS    CL2           Preferred LGC                              00008161
-P2APLBIN DS    CL7           BIN                                        00008261
-P2APLSOS DS    CL1           Side of Street Indicator                   00008361
-P2APATP  DS    CL1           Address Type Flag                          00008461
-         DS    CL1           FILLER FOR FUNC AP                         00008562
-         DS    CL3           FILLER                                     00008661
-*  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         00008761
-*  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                00008861
-         DS    CL1060        REMAINING ADDRESSES                        00008961
-P2APSEND EQU   *                                                        00009061
-P2APSLEN EQU   P2APSEND-P2BALAP    LENGTH OF P2BALAP                    00009162
-                                                                        00021016
-**********************************************************************  01222016
-******                                                                  01223016
-         ORG   P2BALAP             RESET LOCATION FOR FN AP EXTENDED    01224062
-******                                                                  01225016
-**********************************************************************  01226016
-P2PXKEY  DS    CL21          INTERNAL USE ONLY                          01226166
-P2PXCPAR DS    CL1           CONTINUOUS PARITY INDICATOR                01226366
-P2PXHSEL DS    CL11          LOW HOUSE NUMBER ON BLOCK - HNS FORM       01226466
-P2PXALT1 DS   0CL11          BBL                                        01226566
-P2PXBOR1 DS    CL1           BORO                                       01226666
-P2PXTXB1 DS    CL5           TAX BLOCK                                  01226766
-P2PXTXL1 DS    CL4           TAX LOT                                    01226866
-         DS    CL1              Future Use                              01226963
-         DS    CL1           FILLER FOR FUNC AP                         01227063
-         DS    CL1           FILLER                                     01227163
-P2PXGLI  DS   0CL13          GENERAL LOT INFO                           01227266
-P2PXFL01 DS    CL2           FILLER FOR AP ?FIELDS NAME FOR FILLERS ??  01227366
-P2PXFL02 DS    CL2           FILLER FOR FUNC AP                         01227466
-P2PX#STC DS    CL4           TOTAL NUMBER STRUCTURES                    01227566
-P2PXFL03 DS    CL2           FILLER FOR FUNC AP ?                       01227666
-P2PXFL04 DS    CL1           FILLER FOR FUNC AP ?                       01227766
-P2PXFL05 DS    CL1           FILLER FOR FUNC AP ?                       01227866
-P2PXFL06 DS    CL1           FILLER FOR FUNC AP                         01227966
-*                                                                       01228063
-         DS    CL1           FILLER FOR FUNC AP                         01228163
-         DS    CL1           FILLER FOR FUNC AP                         01228263
-*                                                                       01228363
-         DS    CL19          FILLER FOR FUNC AP                         01228463
-*                                                                       01228563
-P2PXRFIU DS    CL1           RESERVED FOR INTERNAL USE                  01228666
-P2PXBIN  DS    CL7           BUILDING IDENTIFICATION NUMBER (BIN)       01228766
-*                          Condo Information                            01228863
-P2PXCONF DS    CL1           CONDO LOT FLAG                             01228966
-         DS    CL1           Filler for Future Use                      01229063
-P2PXRCO# DS    CL4           RPAD CONDO NUMBER                          01229166
-         DS    CL7           Future Use - Condo Unit Number             01229263
-P2PXCBBL DS    CL11          CONDO BILLING BBL                          01229366
-         DS    CL1           FILLER FOR FUNC AP                         01229463
-P2PXCLBL DS    CL11          CONDO LOW BBL                              01229566
-P2PXCHBL DS    CL11          CONDO HIGH BBL                             01229666
-         DS    CL15          Filler                                     01229763
-P2PXCOOP DS    CL4           CO-OP NUMBER                               01229866
-*                                                                       01229963
-         DS    CL8           FILLER FOR FUNC AP                         01230063
-*                                                                       01230163
-         DS    CL5           FILLER FOR FUNCTION AP                     01230263
-         DS    CL5           FILLER FOR FUNCTION AP                     01230363
-         DS    CL4           FILLER                                     01230463
-         DS    CL3           FILLER                                     01230563
-P2PXLAT  DS    CL9           LATITUDE                                   01230666
-P2PXLONG DS    CL11          LONGITUDE                                  01230766
-P2PXXCO  DS    CL7           X COORDINATE OF ANNOTATION POINT           01230866
-P2PXYCO  DS    CL7           Y COORDINATE OF ANNOTATION POINT           01230966
-         DS    CL6           FILLER FOR FUNC AP                         01231063
-         DS    CL1           FILLER FOR FUNC AP                         01231163
-         DS    CL7           FILLER FOR FUNC AP                         01231263
-         DS    CL1           FILLER FOR FUNC AP                         01231363
-         DS    CL1           FILLER FOR FUNC AP                         01231463
-P2PXAPID DS    CL9           ADDRESS POINT ID                           01231667
-         DS    CL8           Internal Use - LGCs                        01231764
-P2PXRC   DS    CL1           REASON CODE                                01231866
-P2PXRCQ  DS    CL1           REASON CODE QUALIFIER                      01231966
-P2PXWC   DS    CL2           WARNING CODE FILLER                        01232066
-P2PXGRC  DS    CL2           GEOSUPPORT RETURN CODE                     01232166
-         DS    CL108         FILLER                                     01232264
-P2PX#ADR DS    CL4           TOTAL ADDRESSES FOR LOT                    01232966
-P2PXLIST DS   0CL116         LIST OF ADDRESSES, MAXIMUM OF 21           01233066
-P2PXLOW# DS    CL16          LOW HOUSE NUMBER-DISPLAY FORM              01233166
-P2PXHI#  DS    CL16          HIGH HOUSE NUMBER-DISPLAY FORM             01233266
-P2PXBCDE DS    CL1           BOROUGH CODE                               01233366
-P2PXCODE DS    CL5           STREET CODE                                01233466
-P2PXPLGC DS    CL2           PREFERRED LGC                              01233566
-P2PXLBIN DS    CL7           BIN                                        01233666
-P2PXLSOS DS    CL1           SIDE OF STREET INDICATOR                   01233766
-P2PXATP  DS    CL1           ADDRESS TYPE FLAG                          01233866
-         DS    CL1           FILLER FOR FUNC AP                         01233963
-P2PXSTN  DS    CL32          STREET NAME                                01234066
-         DS    CL34          FILLER                                     01234164
-*  STORAGE IS RESERVED FOR THE REMAINING 20 ADDRESS STRUCTURES.         01234263
-*  EACH STRUCTURE IS IDENTICAL TO THE ONE DEFINED ABOVE.                01234363
-         DS    CL1060        REMAINING ADDRESSES                        01234463
-P2PXSEND EQU   *                                                        01234566
-P2PXSLEN EQU   P2APSEND-P2BALAP   LENGTH OF P2AP EXTEND WORKAREA 2      01234666
-*                                                                       01234764
-         ORG  ,                                                         01269362
-**********************************************************************  01269516
-
-

PL/1 COPY Files (COW)

-

P1PL1 COPY File

-
/*******************************************************************/ 00000100
-/** ADDED 'UNIT' FIELDS TO WA1                  YNL 10/16  V16.4 ***/ 00000227
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/ 00000300
-/***  INDEPENDENT WORK AREA 1.                                   ***/ 00000400
-/***  COPY FILE - P1PL1.                                         ***/ 00000500
-/***                                                  04/07/98   ***/ 00000600
-/**                      LAST UPDATED OCTOBER  2016               **/ 00000729
-/*******************************************************************/ 00000825
- DCL PP1 POINTER;                                                     00000925
- DCL                                                                  00001025
-   1 P1PL1,                                                           00001125
-     /***********************************************/                00001225
-     /*****           INPUT  FIELDS             *****/                00001325
-     /***********************************************/                00001425
-     2 PIWA1_IN_FUNCTION_CODE,                                        00001525
-       3 PIWA1_IN_FUNCTION_1             CHAR(1),                     00001625
-       3 PIWA1_IN_FUNCTION_2             CHAR(1),                     00001725
-     2 PIWA1_IN_HOUSENUM_DISPLAY         CHAR(16),                    00001825
-     2 PIWA1_IN_HOUSENUM_SORT            CHAR(11),                    00001925
-     2 PIWA1_IN_LOW_HOUSENUM_DISPLAY     CHAR(16),                    00002025
-     2 PIWA1_IN_LOW_HOUSENUM_SORT        CHAR(11),                    00002125
-     2 PIWA1_IN_BORO_1                   CHAR(1),                     00002225
-     2 PIWA1_IN_10SC_1                   CHAR(10),                    00002325
-     2 PIWA1_IN_STREET_1                 CHAR(32),                    00002425
-     2 PIWA1_IN_BORO_2                   CHAR(1),                     00002525
-     2 PIWA1_IN_10SC_2                   CHAR(10),                    00002625
-     2 PIWA1_IN_STREET_2                 CHAR(32),                    00002725
-     2 PIWA1_IN_BORO_3                   CHAR(1),                     00002825
-     2 PIWA1_IN_10SC_3                   CHAR(10),                    00002925
-     2 PIWA1_IN_STREET_3                 CHAR(32),                    00003025
-     2 PIWA1_IN_BBL,                                                  00003125
-       3 PIWA1_IN_BBL_BORO               CHAR(1),                     00003225
-       3 PIWA1_IN_BLOCK                  CHAR(5),                     00003325
-       3 PIWA1_IN_LOT                    CHAR(4),                     00003425
-       3 PIWA1_IN_LOT_VER                CHAR(1),                     00003525
-     2 PIWA1_IN_BIN                      CHAR(7),                     00003625
-     2 PIWA1_IN_COMPASS                  CHAR(1),                     00003725
-     2 PIWA1_IN_COMPASS2                 CHAR(1),                     00003825
-     2 PIWA1_IN_NODE                     CHAR(7),  /*NODE INPUT FN 2*/00003923
-     2 PIWA1_IN_PLATFORM_INDICATOR       CHAR(1),                     00004009
-     2 PIWA1_IN_ZIPIN                    CHAR(5),                     00004112
-     2 PIWA1_IN_UNIT                     CHAR(14),                    00004227
-     2 FILLER_200                        CHAR(82),                    00004327
- /** 2 FILLER_200  *** V16.4 ***         CHAR(96)  ****/              00004427
-     2 PIWA1_IN_LONG_WORKAREA2_FLAG      CHAR(1), /*L=LONG */         00004527
-     2 PIWA1_IN_HSE_NBR_JUSTIFY          CHAR(1),                     00004627
-     2 PIWA1_IN_HNL                      CHAR(2), /* NI */            00004727
-     2 PIWA1_IN_HSE_OVER_FLAG            CHAR(1),                     00004827
-     2 PIWA1_IN_SNL                      CHAR(2),                     00004927
-     2 PIWA1_IN_SN_NORM_FORMAT           CHAR(1), /*C=COMPACT */      00005027
-                                                  /*S OR ' '=SORT*/   00005127
-     2 PIWA1_IN_EXPANDED_FORMAT          CHAR(1),                     00005227
-     2 PIWA1_IN_ROADBED_REQ_SWITCH       CHAR(1),                     00005327
-     2 PIWA1_IN_INTERNAL_USE_LEGACY      CHAR(1),                     00005427
-     2 PIWA1_IN_SEGAUX_SWITCH            CHAR(1),                     00005527
-     2 PIWA1_IN_BROWSE_FLAG              CHAR(1),                     00005627
-     2 PIWA1_IN_REAL_STREET_ONLY         CHAR(1),  /* FN 3S */        00005727
-     2 PIWA1_IN_TPAD_SWITCH              CHAR(1),  /*FN 1A-BL-BN*/    00005827
-     2 PIWA1_IN_MODE_SWITCH              CHAR(1),  /*FN 1-1E-1A-*/    00005927
-                                                   /*FN BL-BN-3-3C*/  00006027
-                                                   /*X=EXTENDED */    00006127
-     2 PIWA1_IN_WTO_SWITCH               CHAR(1),  /*N=NO WTO*/       00006227
-     2 FILLER_400                        CHAR(29),                    00006327
-     /***********************************************/                00006427
-     /*****            OUTPUT  FIELDS           *****/                00006527
-     /***********************************************/                00006627
-     2 PIWA1_OUT_BORONAME                CHAR(9),                     00006727
-     2 PIWA1_OUT_HOUSENUM_DISPLAY        CHAR(16),                    00006827
-     2 PIWA1_OUT_HOUSENUM_SORT           CHAR(11),                    00006927
-     2 PIWA1_OUT_B10SC_1                 CHAR(11),                    00007027
-     2 PIWA1_OUT_STREET_1                CHAR(32),                    00007127
-     2 PIWA1_OUT_B10SC_2                 CHAR(11),                    00007227
-     2 PIWA1_OUT_STREET_2                CHAR(32),                    00007327
-     2 PIWA1_OUT_B10SC_3                 CHAR(11),                    00007427
-     2 PIWA1_OUT_STREET_3                CHAR(32),                    00007527
-     2 PIWA1_OUT_BBL,                                                 00007627
-       3 PIWA1_OUT_BBL_BORO              CHAR(1),                     00007727
-       3 PIWA1_OUT_BLOCK                 CHAR(5),                     00007827
-       3 PIWA1_OUT_LOT                   CHAR(4),                     00007927
-     2 PIWA1_OUT_LOT_VER                 CHAR(1),                     00008027
-     2 PIWA1_OUT_LO_HOUSENUM_DISPLAY     CHAR(16),                    00008127
-     2 PIWA1_OUT_LO_HOUSENUM_SORT        CHAR(11),                    00008227
-     2 PIWA1_OUT_BIN                     CHAR(7),                     00008327
-     2 PIWA1_OUT_STREET_ATTR(3)          CHAR(1),                     00008427
-     2 PIWA1_OUT_REASON_CODE_2           CHAR(1),                     00008527
-     2 PIWA1_OUT_REASON_CODE_QUAL_2      CHAR(1), /*TPAD 2ND REASON*/ 00008627
-                                                  /*CODE QUALIFIER */ 00008727
-     2 PIWA1_OUT_WARNING_CODE_2          CHAR(2),                     00008827
-     2 PIWA1_OUT_RETURN_CODE_2           CHAR(2),                     00008927
-     2 PIWA1_OUT_ERROR_MESSAGE_2         CHAR(80),                    00009027
-     2 PIWA1_OUT_NODE                    CHAR(7),  /*NODE NORMALIZED*/00009127
-     2 PIWA1_OUT_UNIT_SORT,                                           00009227
-       3 PIWA1_OUT_UNIT_TYPE             CHAR(4),                     00009327
-       3 PIWA1_OUT_UNIT_ID               CHAR(10),                    00009427
-     2 PIWA1_OUT_UNIT_DISP               CHAR(14),                    00009527
-     2 FILLER_550                        CHAR(17),                    00009728
- /** 2 FILLER_550   *** V16.4  ***       CHAR(39)  ***/               00009827
- /** 2 FILLER_555                        CHAR(6),  ***/               00009928
-     2 PIWA1_OUT_SND_ATTR                CHAR(1),                     00010027
-     2 PIWA1_OUT_REASON_CODE             CHAR(1),                     00010127
-     2 PIWA1_OUT_REASON_CODE_QUAL        CHAR(1), /*TPAD REASON   */  00010227
-                                                  /*CODE QUALIFIER*/  00010327
-     2 PIWA1_OUT_WARNING_CODE            CHAR(2),                     00010427
-     2 PIWA1_OUT_RETURN_CODE             CHAR(2),                     00010527
-     2 PIWA1_OUT_ERROR_MESSAGE           CHAR(80),                    00010627
-     2 PIWA1_OUT_NUM_SIMILAR_STRS        CHAR(2),                     00010727
-     2 PIWA1_OUT_SIMILAR_B7SC(10)        CHAR(8),                     00010827
-     2 PIWA1_OUT_SIMILAR_NAMES(10)       CHAR(32);                    00010927
-                                                                      00011027
- DCL PIWA1_IN_FUNC_CODE                  CHAR(2)                      00011127
-                BASED(ADDR(PIWA1_IN_FUNCTION_CODE));                  00011227
-                                                                      00011327
- DCL WORK1PL1   BASED(PP1)               CHAR(1200);                  00012027
- PP1=ADDR(P1PL1);                                                     00020018
-
-

P2PL1 COPY File

-
/*******************************************************************/ 00010099
-/***                      P2PL1                                  ***/ 00011099
-/***           LAST MODIFIED DECEMBER 2016                       ***/ 00012099
-/*  ADD NEW 2 BYTE BIKE TRAFFIC DIRECTION           YNL 12/16 V17,1*/ 00015099
-/*  ADD NEW 2 BYTE BIKE LANE AND MAX STR WIDTH      YNL 10/16 V16.4*/ 00015199
-/*                                                                 */ 00016099
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/ 00030099
-/***  INDEPENDENT WORK AREA 2 FOR FUNCTIONS: 1, 1E, 2, 2C, 3,    ***/ 00040099
-/***   AND 5.                                                    ***/ 00050099
-/***  ADDED 3 EXTENDED AND 3C EXTENDED            MEB   6/11     ***/ 00060099
-/***  ADDED 2 WIDE                                MEB   3/14     ***/ 00070099
-/***                                                             ***/ 00080099
-/***  COPY FILE - P2PL1.                                         ***/ 00090099
-/***  PLEASE NOTE THAT FUNCTIONS 1 AND 1E SHARE A SINGLE         ***/ 00100099
-/***  WORK AREA 2 LAYOUT, AND FUNCTIONS 2 AND 2C ALSO            ***/ 00110099
-/***  SHARE A SINGLE WORK AREA 2 LAYOUT.              12/30/97   ***/ 00120099
-/*******************************************************************/ 00130099
-DCL PP2 POINTER;                                                       00140099
-DCL P2PL1             CHAR(10000) INIT(' ');                           00150099
-                                                                      00160099
-                                                                      00170099
-/*******************************************************************/ 00180099
-/*******     FOR: FUNCTIONS 1 & 1E     *****************************/ 00190099
-DCL                                                                    00200099
- 1 PIWA2_FUNCTION1   BASED(PP2),                                      00210099
-   2 PIWA2_FN1_ACCESS_KEY               CHAR(21),                     00220099
-   2 PIWA2_FN1_CONT_PARITY              CHAR(1),/*(OR DUP ADDR IND)*/ 00230099
-   2 PIWA2_FN1_LOW_HOUSENUM             CHAR(11),/* SORT FORMAT */    00240099
-   2 PIWA2_FN1_HI_HOUSENUM              CHAR(11),/* SORT FORMAT */    00250099
-   2 PIWA2_FN1_PREF_LGC                 CHAR(2),                      00260099
-   2 PIWA2_FN1_NUM_X_ST_LOW_END         CHAR(1),                      00270099
-   2 PIWA2_FN1_LOW_B5SC(5)              CHAR(6),                      00280099
-   2 PIWA2_FN1_NUM_X_ST_HI_END          CHAR(1),                      00290099
-   2 PIWA2_FN1_HI_B5SC(5)               CHAR(6),                      00300099
-   2 PIWA2_FN1_LIONKEY,                                               00310099
-     3 PIWA2_FN1_LION_BORO              CHAR(1),                      00320099
-     3 PIWA2_FN1_LION_FACECODE          CHAR(4),                      00330099
-     3 PIWA2_FN1_LION_SEQ               CHAR(5),                      00340099
-   2 PIWA2_FN1_SPECIAL_ADDR_FLAG        CHAR(1),                      00350099
-   2 PIWA2_FN1_SIDE_OF_STR              CHAR(1),                      00360099
-   2 PIWA2_FN1_SEG_LEN                  CHAR(5),                      00370099
-   2 PIWA2_FN1_XCOORD                   CHAR(7),                      00380099
-   2 PIWA2_FN1_YCOORD                   CHAR(7),                      00390099
-   2 FILLER_100                         CHAR(7), /* FOR ZCOORD */     00400099
-   2 FILLER_200                         CHAR(1), /* FOR GSS USE*/     00410099
-   2 PIWA2_FN1_MARBLE_RIKERS_FLAG       CHAR(1),                      00420099
-   2 PIWA2_FN1_DOT_SLA                  CHAR(1),                      00430099
-   2 PIWA2_FN1_COM_DIST,                                              00440099
-     3 PIWA2_FN1_COM_DIST_BORO          CHAR(1),                      00450099
-     3 PIWA2_FN1_COM_DIST_NUM           CHAR(2),                      00460099
-   2 PIWA2_FN1_ZIP                      CHAR(5),                      00470099
-                                                                      00480099
-   2 PIWA2_FN1E_ELECT_DIST              CHAR(3), /*****************/  00490099
-   2 PIWA2_FN1E_ASSEM_DIST              CHAR(2), /* THE FNIE      */  00500099
-   2 PIWA2_FN1E_SPLIT_ED_FLAG           CHAR(1), /* FIELDS ARE    */  00510099
-   2 PIWA2_FN1E_CONG_DIST               CHAR(2), /* VALID ONLY FOR*/  00520099
-   2 PIWA2_FN1E_SENATE_DIST             CHAR(2), /* FUNCTION 1E,  */  00530099
-   2 PIWA2_FN1E_COURT_DIST              CHAR(2), /* NOT FUNC 1.   */  00540099
-   2 PIWA2_FN1E_COUNCIL_DIST            CHAR(2), /*****************/  00550099
-                                                                      00560099
-   2 PIWA2_FN1_HEALTH_CENTER_DIST       CHAR(2), /* HEALTH CENTR*/    00570099
-   2 PIWA2_FN1_HEALTH_AREA              CHAR(4), /* HEALTH AREA*/     00580099
-   2 PIWA2_FN1_SANI_DIST,                                             00590099
-     3 PIWA2_FN1_SANI_DIST_BORO         CHAR(1),                      00600099
-     3 PIWA2_FN1_SANI_DIST_NUM          CHAR(2),                      00610099
-   2 PIWA2_FN1_SANI_SUBSEC              CHAR(2),                      00620099
-   2 PIWA2_FN1_SANI_REG                 CHAR(5),                      00630099
-   2 PIWA2_FN1_SANI_REC                 CHAR(3),                      00640099
-   2 PIWA2_FN1_POLICE_DIST,                                           00650099
-     3  PIWA2_FN1_POL_PAT_BORO_CMD      CHAR(1),                      00660099
-     3  PIWA2_FN1_POL_PRECINCT          CHAR(3),                      00670099
-   2 PIWA2_FN1_FIRE_DIV                 CHAR(2),                      00680099
-   2 PIWA2_FN1_FIRE_BAT                 CHAR(2),                      00690099
-   2 PIWA2_FN1_FIRE_CO,                                               00700099
-     3 PIWA2_FN1_FIRE_CO_TYPE           CHAR(1),                      00710099
-     3 PIWA2_FN1_FIRE_CO_NUM            CHAR(3),                      00720099
-   2 PIWA2_FN1_FILL_DIST_SPLIT_FLAG     CHAR(1),  /*WAS SPLIT SC*/    00730099
-   2 PIWA2_FN1_SCHL_DIST                CHAR(2),                      00740099
-   2 PIWA2_FN1_DYN_BLK                  CHAR(3),  /*ATOMIC POLYGON*/  00750099
-   2 PIWA2_FN1_POLICE_PAT_BORO          CHAR(2),                      00760099
-   2 PIWA2_FN1_FEATURE_TYPE             CHAR(1),                      00770099
-   2 PIWA2_FN1_SEGMENT_TYPE             CHAR(1),                      00780099
-   2 PIWA2_FN1_ALX                      CHAR(1),                      00790099
-   2 PIWA2_FN1_COINCIDENT_SEG_CTR       CHAR(1),                      00800099
-   2 FILLER_290                         CHAR(2),                      00810099
-   2 PIWA2_FN1_CENS_TRCT_BORO           CHAR(1), /*USED FOR GRIDGEN*/ 00820099
-   2 PIWA2_FN1_1990_CENS_TRCT           CHAR(6),                      00830099
-   2 PIWA2_FN1_2010_CENSUS_TRACT        CHAR(6),                      00840099
-   2 PIWA2_FN1_2010_CENSUS_BLOCK        CHAR(4),                      00850099
-   2 PIWA2_FN1_2010_CENSUS_BLK_SF       CHAR(1), /*NOT IMPLEMENTED*/  00860099
-   2 PIWA2_FN1_2000_CENS_TRACT          CHAR(6),                      00870099
-   2 PIWA2_FN1_2000_CENS_BLOCK          CHAR(4),                      00880099
-   2 PIWA2_FN1_2000_CENS_BLOCK_SUF      CHAR(1),                      00890099
-   2 PIWA2_FN1_NTA                      CHAR(4), /*NEIGHBORHOOD    */ 00900099
-                                                 /*TABULATION AREA */ 00910099
-   2 PIWA2_FN1_SANIT_SNOW_PRIORITY      CHAR(1), /*SANITATION STRT */ 00920099
-                                                 /*SNOW PRIORITY   */ 00930099
-   2 PIWA2_FN1_SANIT_ORGANICS           CHAR(5), /*SANITATION      */ 00940099
-                                                 /*ORGANIC PICKUP  */ 00950099
-   2 PIWA2_FN1_SANIT_BULK_PICK_UP       CHAR(5), /*SANITATION BULK */ 00960099
-/** 2 PIWA2_FN1_SANIT_RESERVED *V16.4*   CHAR(5), /*SANITATION RESRV*/ 00961099
-   2 PIWA2_FN1_HURRICANE_ZONE           CHAR(2), /*OEM HURRICANE   */ 00970099
-                                                 /*EVACUATION ZONE */ 00980099
-   2 FILLER_300                         CHAR(11),                     00990099
-   2 PIWA2_FN1_UHNS                     CHAR(11),                     01000099
-   2 PIWA2_FN1_REAL_B7SC                CHAR(8),                      01010099
-   2 PIWA2_FN1_SEGMENT_ID               CHAR(7),                      01020099
-   2 PIWA2_FN1_CURVE_FLAG               CHAR(1);                      01030099
-                                                                      01040099
-DCL   PIWA2_FN1_COMDIST                  CHAR(3)                       01050099
-       BASED(ADDR(PIWA2_FN1_COM_DIST));                               01060099
-DCL   PIWA2_FN1_SANIDIST                 CHAR(3)                       01070099
-       BASED(ADDR(PIWA2_FN1_SANI_DIST));                              01080099
-DCL   PIWA2_FN1_POLDIST                  CHAR(4)                       01090099
-       BASED(ADDR(PIWA2_FN1_POLICE_DIST));                            01100099
-                                                                      01110099
-                                                                      01120099
-/*******************************************************************/ 01130099
-/*******     FOR: FUNCTIONS 2 & 2C     *****************************/ 01140099
-DCL                                                                    01150099
- 1 PIWA2_FUNCTION2   BASED(PP2),                                      01160099
-   2 PIWA2_FN2_ACCESS_KEY               CHAR(21),                     01170099
-   2 PIWA2_FN2_DUP_INTERSECT_FLAG       CHAR(1),                      01180099
-   2 PIWA2_FN2_PREF_LGC1                CHAR(2),                      01190099
-   2 PIWA2_FN2_PREF_LGC2                CHAR(2),                      01200099
-   2 PIWA2_FN2_NUM_OF_INTERSECTS        CHAR(1),                      01210099
-   2 PIWA2_FN2_INTERSECT_B5SC(5)        CHAR(6),                      01220099
-   2 PIWA2_FN2_COMPDIR                  CHAR(1),                      01230099
-   2 PIWA2_FN2_ATOMIC_POLYGON           CHAR(3),                      01240099
-   2 FILLER_350                         CHAR(2),                      01250099
-   2 PIWA2_FN2_LIONNODENUM              CHAR(7),                      01260099
-   2 PIWA2_FN2_XCOORD                   CHAR(7),                      01270099
-   2 PIWA2_FN2_YCOORD                   CHAR(7),                      01280099
-   2 FILLER_400                         CHAR(7), /* FOR ZCOORD */     01290099
-   2 PIWA2_FN2_SANBORN1,                                              01300099
-     3 PIWA2_FN2_SANBORN1_BORO          CHAR(1),                      01310099
-     3 PIWA2_FN2_SANBORN1_VOL           CHAR(3),                      01320099
-     3 PIWA2_FN2_SANBORN1_PAGE          CHAR(4),                      01330099
-   2 PIWA2_FN2_SANBORN2,                                              01340099
-     3 PIWA2_FN2_SANBORN2_BORO          CHAR(1),                      01350099
-     3 PIWA2_FN2_SANBORN2_VOL           CHAR(3),                      01360099
-     3 PIWA2_FN2_SANBORN2_PAGE          CHAR(4),                      01370099
-   2 PIWA2_FN2_MARBLE_RIKERS_FLAG       CHAR(1),                      01380099
-   2 PIWA2_FN2_DOT_SLA                  CHAR(1),                      01390099
-   2 PIWA2_FN2_COM_DIST,                                              01400099
-     3 PIWA2_FN2_COM_DIST_BORO          CHAR(1),                      01410099
-     3 PIWA2_FN2_COM_DIST_NUM           CHAR(2),                      01420099
-   2 PIWA2_FN2_ZIP                      CHAR(5),                      01430099
-   2 PIWA2_FN2_HEALTH_AREA              CHAR(4),  /*HEALTH AREA*/     01440099
-   2 PIWA2_FN2_POLICE_DIST,                                           01450099
-     3  PIWA2_FN2_POL_PAT_BORO_CMD      CHAR(1),                      01460099
-     3  PIWA2_FN2_POL_PRECINCT          CHAR(3),                      01470099
-   2 PIWA2_FN2_FIRE_DIV                 CHAR(2),                      01480099
-   2 PIWA2_FN2_FIRE_BAT                 CHAR(2),                      01490099
-   2 PIWA2_FN2_FIRE_CO,                                               01500099
-     3 PIWA2_FN2_FIRE_CO_TYPE           CHAR(1),                      01510099
-     3 PIWA2_FN2_FIRE_CO_NUM            CHAR(3),                      01520099
-   2 PIWA2_FN2_SCHL_DIST                CHAR(2),                      01530099
-   2 PIWA2_FN2_2010_CENSUS_TRACT        CHAR(6),                      01540099
-   2 PIWA2_FN2_1990_CENS_TRCT           CHAR(6),                      01550099
-   2 PIWA2_FN2_LEVEL_CODES(5,2)         CHAR(1),                      01560099
-   2 PIWA2_FN2_POLICE_PAT_BORO          CHAR(2),                      01570099
-   2 PIWA2_FN2_ASSEM_DIST               CHAR(2),                      01580099
-   2 PIWA2_FN2_CONG_DIST                CHAR(2),                      01590099
-   2 PIWA2_FN2_SENATE_DIST              CHAR(2),                      01600099
-   2 PIWA2_FN2_COURT_DIST               CHAR(2),                      01610099
-   2 PIWA2_FN2_COUNCIL_DIST             CHAR(2),                      01620099
-   2 PIWA2_FN2_CD_ELIGIBLE              CHAR(1),                      01630099
-   2 PIWA2_FN2_DUP_INTERSECT_DIST       CHAR(5),                      01640099
-   2 PIWA2_FN2_2000_CENS_TRACT          CHAR(6),                      01650099
-   2 PIWA2_FN2_HEALTH_CENTER_DIST       CHAR(2), /*HEALTH CENTER*/    01660099
-   2 PIWA2_FN2_SANITATION_DIST          CHAR(3),                      01670099
-   2 PIWA2_FN2_SANITATION_SUBSEC        CHAR(2),                      01680099
-   2 FILLER_500                         CHAR(12);                     01690099
-                                                                      01700099
-DCL   PIWA2_FN2_COMDIST                  CHAR(3)                       01710099
-       BASED(ADDR(PIWA2_FN2_COM_DIST));                               01720099
-DCL   PIWA2_FN2_POLDIST                  CHAR(4)                       01730099
-       BASED(ADDR(PIWA2_FN2_POLICE_DIST));                            01740099
-DCL   PIWA2_FN2_SANBORN1_BVOLPAGE        CHAR(8)                       01750099
-       BASED(ADDR(PIWA2_FN2_SANBORN1)),                               01760099
-     PIWA2_FN2_SANBORN2_BVOLPAGE        CHAR(8)                       01770099
-       BASED(ADDR(PIWA2_FN2_SANBORN2));                               01780099
-                                                                      01790099
-                                                                      01800099
-/*******************************************************************/ 01810099
-/*******     FOR: FUNCTIONS 2W         *****************************/ 01820099
-DCL                                                                    01830099
- 1 PIWA2_FUNCTION2W  BASED(PP2),                                      01840099
-   2 PIWA2_FN2W_ACCESS_KEY              CHAR(21),                     01850099
-   2 PIWA2_FN2W_DUP_INTERSECT_FLAG      CHAR(1),                      01860099
-   2 PIWA2_FN2W_PREF_LGC1               CHAR(2),                      01870099
-   2 PIWA2_FN2W_PREF_LGC2               CHAR(2),                      01880099
-   2 PIWA2_FN2W_NUM_OF_INTERSECTS       CHAR(1),                      01890099
-   2 PIWA2_FN2W_INTERSECT_B5SC(5)       CHAR(6),                      01900099
-   2 PIWA2_FN2W_COMPDIR                 CHAR(1),                      01910099
-   2 PIWA2_FN2W_ATOMIC_POLYGON          CHAR(3),                      01920099
-   2 PIWA2_FN2W_FILLER_350              CHAR(2),                      01930099
-   2 PIWA2_FN2W_LIONNODENUM             CHAR(7),                      01940099
-   2 PIWA2_FN2W_XCOORD                  CHAR(7),                      01950099
-   2 PIWA2_FN2W_YCOORD                  CHAR(7),                      01960099
-   2 PIWA2_FN2W_FILLER_400              CHAR(7), /* FOR ZCOORD */     01970099
-   2 PIWA2_FN2W_SANBORN1,                                             01980099
-     3 PIWA2_FN2W_SANBORN1_BORO         CHAR(1),                      01990099
-     3 PIWA2_FN2W_SANBORN1_VOL          CHAR(3),                      02000099
-     3 PIWA2_FN2W_SANBORN1_PAGE         CHAR(4),                      02010099
-   2 PIWA2_FN2W_SANBORN2,                                             02020099
-     3 PIWA2_FN2W_SANBORN2_BORO         CHAR(1),                      02030099
-     3 PIWA2_FN2W_SANBORN2_VOL          CHAR(3),                      02040099
-     3 PIWA2_FN2W_SANBORN2_PAGE         CHAR(4),                      02050099
-   2 PIWA2_FN2W_MARBLE_RIKERS_FLAG      CHAR(1),                      02060099
-   2 PIWA2_FN2W_DOT_SLA                 CHAR(1),                      02070099
-   2 PIWA2_FN2W_COM_DIST,                                             02080099
-     3 PIWA2_FN2W_COM_DIST_BORO         CHAR(1),                      02090099
-     3 PIWA2_FN2W_COM_DIST_NUM          CHAR(2),                      02100099
-   2 PIWA2_FN2W_ZIP                     CHAR(5),                      02110099
-   2 PIWA2_FN2W_HEALTH_AREA             CHAR(4),  /*HEALTH AREA*/     02120099
-   2 PIWA2_FN2W_POLICE_DIST,                                          02130099
-     3  PIWA2_FN2W_POL_PAT_BORO_CMD     CHAR(1),                      02140099
-     3  PIWA2_FN2W_POL_PRECINCT         CHAR(3),                      02150099
-   2 PIWA2_FN2W_FIRE_DIV                CHAR(2),                      02160099
-   2 PIWA2_FN2W_FIRE_BAT                CHAR(2),                      02170099
-   2 PIWA2_FN2W_FIRE_CO,                                              02180099
-     3 PIWA2_FN2W_FIRE_CO_TYPE          CHAR(1),                      02190099
-     3 PIWA2_FN2W_FIRE_CO_NUM           CHAR(3),                      02200099
-   2 PIWA2_FN2W_SCHL_DIST               CHAR(2),                      02210099
-   2 PIWA2_FN2W_2010_CENSUS_TRACT       CHAR(6),                      02220099
-   2 PIWA2_FN2W_1990_CENS_TRCT          CHAR(6),                      02230099
-   2 PIWA2_FN2W_LEVEL_CODES(5,2)        CHAR(1),                      02240099
-   2 PIWA2_FN2W_POLICE_PAT_BORO         CHAR(2),                      02250099
-   2 PIWA2_FN2W_ASSEM_DIST              CHAR(2),                      02260099
-   2 PIWA2_FN2W_CONG_DIST               CHAR(2),                      02270099
-   2 PIWA2_FN2W_SENATE_DIST             CHAR(2),                      02280099
-   2 PIWA2_FN2W_COURT_DIST              CHAR(2),                      02290099
-   2 PIWA2_FN2W_COUNCIL_DIST            CHAR(2),                      02300099
-   2 PIWA2_FN2W_CD_ELIGIBLE             CHAR(1),                      02310099
-   2 PIWA2_FN2W_DUP_INTERSECT_DIST      CHAR(5),                      02320099
-   2 PIWA2_FN2W_2000_CENS_TRACT         CHAR(6),                      02330099
-   2 PIWA2_FN2W_HEALTH_CENTER_DIST      CHAR(2),                      02340099
-   2 PIWA2_FN2W_SANITATION_DIST         CHAR(3),                      02350099
-   2 PIWA2_FN2W_SANITATION_SUBSEC       CHAR(2),                      02360099
-   2 PIWA2_FN2W_FILLER_500              CHAR(12),                     02370099
-   2 PIWA2_FN2W_FILLER_GRIDGEN          CHAR(22),                     02380099
-   2 PIWA2_FN2W_LGCS_FIRST_INTERSCT(4),          /*UP TO 4 LGCS FOR */02390099
-     3 PIWA2_FN2W_LGC_FIRST_INTERSCT    CHAR(2), /*1ST INPUT STREET */02400099
-                                                 /*IN INTERSECTION  */02410099
-   2 PIWA2_FN2W_LGCS_SECOND_INTERSCT(4),         /*UP TO 4 LGCS FOR */02420099
-     3 PIWA2_FN2W_LGC_SECOND_INTERSCT   CHAR(2), /*2ND INPUT STREET */02430099
-                                                 /*IN INTERSECTION  */02440099
-   2 PIWA2_FN2W_TURN_RESTRICTIONS(10),                                02450099
-     3 PIWA2_FN2W_TURN_RESTRICTION      CHAR(1),                      02460099
-   2 PIWA2_FN2W_INTERSECT_B5SC_LGCS(5),                               02470099
-     3 PIWA2_FN2W_INTERSECT_B5SC_LGC    CHAR(2),                      02480099
-   2 PIWA2_FN2W_TRUE_REP_COUNTER        CHAR(2),                      02490099
-   2 PIWA2_FN2W_NODE_LIST(20),                                        02500099
-     3 PIWA2_FN2W_NODE_LIST_NODE        CHAR(7),                      02510099
-   2 PIWA2_FN2W_NODE_LIST_B7SCS_LIST(20),                             02520099
-     3 PIWA2_FN2W_NODE_LIST_B7SCS(5),                                 02530099
-      4 PIWA2_FN2W_NODE_LIST_B7SC(4)    CHAR(8),                      02540099
-   2 PIWA2_FN2W_REASON_CODE             CHAR(1),                      02550099
-   2 PIWA2_FN2W_REASON_CODE_QUAL        CHAR(1),                      02560099
-   2 PIWA2_FN2W_WARN_CODE               CHAR(2),                      02570099
-   2 PIWA2_FN2W_RETURN_CODE             CHAR(2),                      02580099
-   2 PIWA2_FN2W_LATITUDE                CHAR(9),                      02590099
-   2 PIWA2_FN2W_LONGITUDE               CHAR(11),                     02600099
-   2 PIWA2_FN2W_FILLER6                 CHAR(374);                    02610099
-/* 2 PIWA2_FN2W_FILLER6    V15.3        CHAR(394)  ***/               02620099
-                                                                      02630099
-DCL   PIWA2_FN2W_COMDIST                 CHAR(3)                       02640099
-       BASED(ADDR(PIWA2_FN2W_COM_DIST));                              02650099
-DCL   PIWA2_FN2W_POLDIST                 CHAR(4)                       02660099
-       BASED(ADDR(PIWA2_FN2W_POLICE_DIST));                           02670099
-DCL   PIWA2_FN2W_SANBORN1_BVOLPAGE       CHAR(8)                       02680099
-       BASED(ADDR(PIWA2_FN2W_SANBORN1)),                              02690099
-     PIWA2_FN2W_SANBORN2_BVOLPAGE       CHAR(8)                       02700099
-       BASED(ADDR(PIWA2_FN2W_SANBORN2));                              02710099
-                                                                      02720099
-/*******************************************************************/ 02730099
-/*******     FOR: FUNCTION 3           *****************************/ 02740099
-DCL                                                                    02750099
- 1 PIWA2_FUNCTION3   BASED(PP2),                                      02760099
-   2 PIWA2_FN3_ACCESS_KEY               CHAR(21),                     02770099
-   2 PIWA2_FN3_DUP_KEY_FLAG             CHAR(1),/*(OR CONT PARITY)*/  02780099
-   2 PIWA2_FN3_LOCATION_STATUS          CHAR(1),                      02790099
-   2 PIWA2_FN3_COUNTY_BOUNDARY          CHAR(1),                      02800099
-   2 PIWA2_FN3_PREF_LGC1                CHAR(2),                      02810099
-   2 PIWA2_FN3_PREF_LGC2                CHAR(2),                      02820099
-   2 PIWA2_FN3_PREF_LGC3                CHAR(2),                      02830099
-   2 PIWA2_FN3_NUM_X_ST_LOW_END         CHAR(1),                      02840099
-   2 PIWA2_FN3_LOW_B5SC(5)              CHAR(6),                      02850099
-   2 PIWA2_FN3_NUM_X_ST_HI_END          CHAR(1),                      02860099
-   2 PIWA2_FN3_HI_B5SC(5)               CHAR(6),                      02870099
-   2 PIWA2_FN3_REVERSAL_FLAG            CHAR(1),                      02880099
-   2 PIWA2_FN3_LIONKEY,                                               02890099
-     3 PIWA2_FN3_LION_BORO              CHAR(1),                      02900099
-     3 PIWA2_FN3_LION_FACECODE          CHAR(4),                      02910099
-     3 PIWA2_FN3_LION_SEQ               CHAR(5),                      02920099
-   2 PIWA2_FN3_GENREC_FLAG              CHAR(1),                      02930099
-   2 PIWA2_FN3_SEG_LEN                  CHAR(5),                      02940099
-   2 PIWA2_FN3_SEG_SLOPE                CHAR(3),                      02950099
-   2 PIWA2_FN3_SEG_ORIENT               CHAR(1),                      02960099
-   2 PIWA2_FN3_MARBLE_RIKERS_FLAG       CHAR(1),                      02970099
-   2 PIWA2_FN3_FROM_TO_NODES,                                         02980099
-     3 PIWA2_FN3_FROM_NODE              CHAR(7),                      02990099
-     3 PIWA2_FN3_TO_NODE                CHAR(7),                      03000099
-   2 PIWA2_FN3_SANIT_SNOW_PRIORITY      CHAR(1), /*SANITATION STRT */ 03010099
-                                                 /*SNOW PRIORITY   */ 03020099
-   2 FILLER_600                         CHAR(4),                      03030099
-   2 PIWA2_FN3_SEGMENT_ID               CHAR(7),                      03040099
-   2 PIWA2_FN3_DOT_SLA                  CHAR(1),                      03050099
-   2 PIWA2_FN3_CURVE_FLAG               CHAR(1),                      03060099
-   2 PIWA2_FN3_DOG_LEG                  CHAR(1),                      03070099
-   2 PIWA2_FN3_FEATURE_TYPE             CHAR(1),                      03080099
-   2 PIWA2_FN3_SEGMENT_TYPE             CHAR(1),                      03090099
-   2 PIWA2_FN3_COINCIDENT_SEG_CTR       CHAR(1),                      03100099
-   2 FILLER_700                         CHAR(4),                      03110099
-   2 PIWA2_FN3_LEFT_SIDE_OF_STR,                                      03120099
-     3 PIWA2_FN3_L_COM_DIST,                                          03130099
-       4 PIWA2_FN3_L_COM_DIST_BORO      CHAR(1),                      03140099
-       4 PIWA2_FN3_L_COM_DIST_NUM       CHAR(2),                      03150099
-     3 PIWA2_FN3_L_LOW_HOUSENUM         CHAR(16),/*DISPLAY FORMAT*/   03160099
-     3 PIWA2_FN3_L_HI_HOUSENUM          CHAR(16),/*DISPLAY FORMAT*/   03170099
-     3 FILLER_800                       CHAR(33),/* FOR GSS USE*/     03180099
-     3 PIWA2_FN3_L_ZIP                  CHAR(5),                      03190099
-     3 PIWA2_FN3_L_HEALTH_AREA          CHAR(4), /*HEALTH AREA*/      03200099
-     3 PIWA2_FN3_L_POLICE_DIST,                                       03210099
-       4  PIWA2_FN3_L_POL_PAT_BORO_CMD  CHAR(1),                      03220099
-       4  PIWA2_FN3_L_POL_PRECINCT      CHAR(3),                      03230099
-     3 PIWA2_FN3_L_FIRE_DIV             CHAR(2),                      03240099
-     3 PIWA2_FN3_L_FIRE_BAT             CHAR(2),                      03250099
-     3 PIWA2_FN3_L_FIRE_CO,                                           03260099
-       4 PIWA2_FN3_L_FIRE_CO_TYPE       CHAR(1),                      03270099
-       4 PIWA2_FN3_L_FIRE_CO_NUM        CHAR(3),                      03280099
-     3 PIWA2_FN3_L_SCHL_DIST            CHAR(2),                      03290099
-     3 PIWA2_FN3_L_DYN_BLK              CHAR(3), /*ATOMIC POLYGON*/   03300099
-     3 PIWA2_FN3_L_ED                   CHAR(3),                      03310099
-     3 PIWA2_FN3_L_AD                   CHAR(2),                      03320099
-     3 PIWA2_FN3_L_POLICE_PAT_BORO      CHAR(2),                      03330099
-     3 FILLER_880                       CHAR(1),                      03340099
-     3 PIWA2_FN3_L_BORO                 CHAR(1),                      03350099
-     3 PIWA2_FN3_L_1990_CENS_TRCT       CHAR(6),                      03360099
-     3 PIWA2_FN3_L_2010_CENSUS_TRACT    CHAR(6),                      03370099
-     3 PIWA2_FN3_L_2010_CENSUS_BLOCK    CHAR(4),                      03380099
-     3 PIWA2_FN3_L_2010_CENSUS_BLK_SF   CHAR(1), /*NOT IMPLEMENTED*/  03390099
-     3 PIWA2_FN3_L_2000_CENSUS_TRACT    CHAR(6),                      03400099
-     3 PIWA2_FN3_L_2000_CENSUS_BLOCK    CHAR(4),                      03410099
-     3 PIWA2_FN3_L_2000_CENSUS_BLK_SF   CHAR(1),                      03420099
-     3 FILLER_890                       CHAR(7),                      03430099
-/**  3 PIWA2_FN3_L_BLOCKFACE_ID *V16.1* CHAR(7)  **/                  03440099
-     3 PIWA2_FN3_L_NTA                  CHAR(4), /*NEIGHBORHOOD    */ 03450099
-                                                 /*TABULATION AREA */ 03460099
-     3 FILLER_900                       CHAR(8),                      03470099
-   2 PIWA2_FN3_RIGHT_SIDE_OF_STR,                                     03480099
-     3 PIWA2_FN3_R_COM_DIST,                                          03490099
-       4 PIWA2_FN3_R_COM_DIST_BORO      CHAR(1),                      03500099
-       4 PIWA2_FN3_R_COM_DIST_NUM       CHAR(2),                      03510099
-     3 PIWA2_FN3_R_LOW_HOUSENUM         CHAR(16),/*DISPLAY FORMAT*/   03520099
-     3 PIWA2_FN3_R_HI_HOUSENUM          CHAR(16),/*DISPLAY FORMAT*/   03530099
-     3 FILLER_1000                      CHAR(33),/*FOR GSS USE */     03540099
-     3 PIWA2_FN3_R_ZIP                  CHAR(5),                      03550099
-     3 PIWA2_FN3_R_HEALTH_AREA          CHAR(4), /*HEALTH AREA*/      03560099
-     3 PIWA2_FN3_R_POLICE_DIST,                                       03570099
-       4  PIWA2_FN3_R_POL_PAT_BORO_CMD  CHAR(1),                      03580099
-       4  PIWA2_FN3_R_POL_PRECINCT      CHAR(3),                      03590099
-     3 PIWA2_FN3_R_FIRE_DIV             CHAR(2),                      03600099
-     3 PIWA2_FN3_R_FIRE_BAT             CHAR(2),                      03610099
-     3 PIWA2_FN3_R_FIRE_CO,                                           03620099
-       4 PIWA2_FN3_R_FIRE_CO_TYPE       CHAR(1),                      03630099
-       4 PIWA2_FN3_R_FIRE_CO_NUM        CHAR(3),                      03640099
-     3 PIWA2_FN3_R_SCHL_DIST            CHAR(2),                      03650099
-     3 PIWA2_FN3_R_DYN_BLK              CHAR(3), /*ATOMIC POLYGON*/   03660099
-     3 PIWA2_FN3_R_ED                   CHAR(3),                      03670099
-     3 PIWA2_FN3_R_AD                   CHAR(2),                      03680099
-     3 PIWA2_FN3_R_POLICE_PAT_BORO      CHAR(2),                      03690099
-     3 FILLER_1080                      CHAR(1),                      03700099
-     3 PIWA2_FN3_R_BORO                 CHAR(1),                      03710099
-     3 PIWA2_FN3_R_1990_CENS_TRCT       CHAR(6),                      03720099
-     3 PIWA2_FN3_R_2010_CENSUS_TRACT    CHAR(6),                      03730099
-     3 PIWA2_FN3_R_2010_CENSUS_BLOCK    CHAR(4),                      03740099
-     3 PIWA2_FN3_R_2010_CENSUS_BLK_SF   CHAR(1), /*NOT IMPLEMENTED*/  03750099
-     3 PIWA2_FN3_R_2000_CENS_TRACT      CHAR(6),                      03760099
-     3 PIWA2_FN3_R_2000_CENS_BLOCK      CHAR(4),                      03770099
-     3 PIWA2_FN3_R_2000_CENS_BLK_SUF    CHAR(1),                      03780099
-     3 FILLER_1090                      CHAR(7),                      03790099
-/**  3 PIWA2_FN3_R_BLOCKFACE_ID *V16.1* CHAR(7)  **/                  03800099
-     3 PIWA2_FN3_R_NTA                  CHAR(4), /*NEIGHBORHOOD    */ 03810099
-                                                 /*TABULATION AREA */ 03820099
-     3 FILLER_1100                      CHAR(8),                      03830099
-   2 PIWA2_FN3_SEGAUX,                                                03840099
-     3 PIWA2_FN3_SEGAUX_FILL            CHAR(6),                      03850099
-     3 PIWA2_FN3_SEGAUX_CTR             CHAR(4),                      03860099
-     3 PIWA2_FN3_SEGAUX_SEGS(70)        CHAR(7);                      03870099
-                                                                      03880099
-DCL   PIWA2_FN3_L_COMDIST                CHAR(3)                       03890099
-       BASED(ADDR(PIWA2_FN3_L_COM_DIST));                             03900099
-DCL   PIWA2_FN3_L_POLDIST                CHAR(4)                       03910099
-       BASED(ADDR(PIWA2_FN3_L_POLICE_DIST));                          03920099
-DCL   PIWA2_FN3_R_COMDIST                CHAR(3)                       03930099
-       BASED(ADDR(PIWA2_FN3_R_COM_DIST));                             03940099
-DCL   PIWA2_FN3_R_POLDIST                CHAR(4)                       03950099
-       BASED(ADDR(PIWA2_FN3_R_POLICE_DIST));                          03960099
-                                                                      03970099
-/*******************************************************************/ 03980099
-/*******     FOR: FUNCTION 3 EXTENDED  *****************************/ 03990099
-DCL                                                                    04000099
- 1 PIWA2_FUNCTION3X  BASED(PP2),                                      04010099
-   2 PIWA2_3X_ACCESS_KEY                CHAR(21),                     04020099
-   2 PIWA2_3X_DUP_KEY_FLAG              CHAR(1),/*(OR CONT PARITY)*/  04030099
-   2 PIWA2_3X_LOCATION_STATUS           CHAR(1),                      04040099
-   2 PIWA2_3X_COUNTY_BOUNDARY           CHAR(1),                      04050099
-   2 PIWA2_3X_PREF_LGC1                 CHAR(2),                      04060099
-   2 PIWA2_3X_PREF_LGC2                 CHAR(2),                      04070099
-   2 PIWA2_3X_PREF_LGC3                 CHAR(2),                      04080099
-   2 PIWA2_3X_NUM_X_ST_LOW_END          CHAR(1),                      04090099
-   2 PIWA2_3X_LOW_B5SC(5)               CHAR(6),                      04100099
-   2 PIWA2_3X_NUM_X_ST_HI_END           CHAR(1),                      04110099
-   2 PIWA2_3X_HI_B5SC(5)                CHAR(6),                      04120099
-   2 PIWA2_3X_REVERSAL_FLAG             CHAR(1),                      04130099
-   2 PIWA2_3X_LIONKEY,                                                04140099
-     3 PIWA2_3X_LION_BORO               CHAR(1),                      04150099
-     3 PIWA2_3X_LION_FACECODE           CHAR(4),                      04160099
-     3 PIWA2_3X_LION_SEQ                CHAR(5),                      04170099
-   2 PIWA2_3X_GENREC_FLAG               CHAR(1),                      04180099
-   2 PIWA2_3X_SEG_LEN                   CHAR(5),                      04190099
-   2 PIWA2_3X_SEG_SLOPE                 CHAR(3),                      04200099
-   2 PIWA2_3X_SEG_ORIENT                CHAR(1),                      04210099
-   2 PIWA2_3X_MARBLE_RIKERS_FLAG        CHAR(1),                      04220099
-   2 PIWA2_3X_FROM_TO_NODES,                                          04230099
-     3 PIWA2_3X_FROM_NODE               CHAR(7),                      04240099
-     3 PIWA2_3X_TO_NODE                 CHAR(7),                      04250099
-   2 PIWA2_3X_SANIT_SNOW_PRIORITY       CHAR(1), /*SANITATION STRT */ 04260099
-                                                 /*SNOW PRIORITY   */ 04270099
-   2 FILLER3X_600                       CHAR(4),                      04280099
-   2 PIWA2_3X_SEGMENT_ID                CHAR(7),                      04290099
-   2 PIWA2_3X_DOT_SLA                   CHAR(1),                      04300099
-   2 PIWA2_3X_CURVE_FLAG                CHAR(1),                      04310099
-   2 PIWA2_3X_DOG_LEG                   CHAR(1),                      04320099
-   2 PIWA2_3X_FEATURE_TYPE              CHAR(1),                      04330099
-   2 PIWA2_3X_SEGMENT_TYPE              CHAR(1),                      04340099
-   2 PIWA2_3X_COINCIDENT_SEG_CTR        CHAR(1),                      04350099
-   2 FILLER3X_700                       CHAR(4),                      04360099
-   2 PIWA2_3X_LEFT_SIDE_OF_STR,                                       04370099
-     3 PIWA2_3X_L_COM_DIST,                                           04380099
-       4 PIWA2_3X_L_COM_DIST_BORO       CHAR(1),                      04390099
-       4 PIWA2_3X_L_COM_DIST_NUM        CHAR(2),                      04400099
-     3 PIWA2_3X_L_LOW_HOUSENUM          CHAR(16),/*DISPLAY FORMAT*/   04410099
-     3 PIWA2_3X_L_HI_HOUSENUM           CHAR(16),/*DISPLAY FORMAT*/   04420099
-     3 FILLER3X_800                     CHAR(33),/* FOR GSS USE*/     04430099
-     3 PIWA2_3X_L_ZIP                   CHAR(5),                      04440099
-     3 PIWA2_3X_L_HEALTH_AREA           CHAR(4), /* HEALTH AREA*/     04450099
-     3 PIWA2_3X_L_POLICE_DIST,                                        04460099
-       4  PIWA2_3X_L_POL_PAT_BORO_CMD CHAR(1),                        04470099
-       4  PIWA2_3X_L_POL_PRECINCT       CHAR(3),                      04480099
-     3 PIWA2_3X_L_FIRE_DIV              CHAR(2),                      04490099
-     3 PIWA2_3X_L_FIRE_BAT              CHAR(2),                      04500099
-     3 PIWA2_3X_L_FIRE_CO,                                            04510099
-       4 PIWA2_3X_L_FIRE_CO_TYPE        CHAR(1),                      04520099
-       4 PIWA2_3X_L_FIRE_CO_NUM         CHAR(3),                      04530099
-     3 PIWA2_3X_L_SCHL_DIST             CHAR(2),                      04540099
-     3 PIWA2_3X_L_DYN_BLK               CHAR(3), /*ATOMIC POLYGON*/   04550099
-     3 PIWA2_3X_L_ED                    CHAR(3),                      04560099
-     3 PIWA2_3X_L_AD                    CHAR(2),                      04570099
-     3 PIWA2_3X_L_POLICE_PAT_BORO       CHAR(2),                      04580099
-     3 FILLER3X_880                     CHAR(1),                      04590099
-     3 PIWA2_3X_L_BORO                  CHAR(1),                      04600099
-     3 PIWA2_3X_L_1990_CENS_TRCT        CHAR(6),                      04610099
-     3 PIWA2_3X_L_2010_CENSUS_TRACT     CHAR(6),                      04620099
-     3 PIWA2_3X_L_2010_CENSUS_BLOCK     CHAR(4),                      04630099
-     3 PIWA2_3X_L_2010_CENSUS_BLK_SF    CHAR(1), /*NOT IMPLEMENTED*/  04640099
-     3 PIWA2_3X_L_2000_CENS_TRACT       CHAR(6),                      04650099
-     3 PIWA2_3X_L_2000_CENS_BLOCK       CHAR(4),                      04660099
-     3 PIWA2_3X_L_2000_CENS_BLK_SF      CHAR(1),                      04670099
-     3 FILLER_3X_L_890                  CHAR(7),                      04680099
- /** 3 PIWA2_3X_L_BLOCKFACE_ID *V16.1*  CHAR(7)  **/                  04690099
-     3 PIWA2_3X_L_NTA                   CHAR(4), /*NEIGHBORHOOD    */ 04700099
-                                                 /*TABULATION AREA */ 04710099
-     3 FILLER_3X_L_900                  CHAR(8),                      04720099
-   2 PIWA2_3X_RIGHT_SIDE_OF_STR,                                      04730099
-     3 PIWA2_3X_R_COM_DIST,                                           04740099
-       4 PIWA2_3X_R_COM_DIST_BORO       CHAR(1),                      04750099
-       4 PIWA2_3X_R_COM_DIST_NUM        CHAR(2),                      04760099
-     3 PIWA2_3X_R_LOW_HOUSENUM          CHAR(16),/*DISPLAY FORMAT*/   04770099
-     3 PIWA2_3X_R_HI_HOUSENUM           CHAR(16),/*DISPLAY FORMAT*/   04780099
-     3 FILLER3X_R_1000                  CHAR(33),/*FOR GSS USE */     04790099
-     3 PIWA2_3X_R_ZIP                   CHAR(5),                      04800099
-     3 PIWA2_3X_R_HEALTH_AREA           CHAR(4), /*HEALTH AREA*/      04810099
-     3 PIWA2_3X_R_POLICE_DIST,                                        04820099
-       4  PIWA2_3X_R_POL_PAT_BORO_CMD   CHAR(1),                      04830099
-       4  PIWA2_3X_R_POL_PRECINCT       CHAR(3),                      04840099
-     3 PIWA2_3X_R_FIRE_DIV              CHAR(2),                      04850099
-     3 PIWA2_3X_R_FIRE_BAT              CHAR(2),                      04860099
-     3 PIWA2_3X_R_FIRE_CO,                                            04870099
-       4 PIWA2_3X_R_FIRE_CO_TYPE        CHAR(1),                      04880099
-       4 PIWA2_3X_R_FIRE_CO_NUM         CHAR(3),                      04890099
-     3 PIWA2_3X_R_SCHL_DIST             CHAR(2),                      04900099
-     3 PIWA2_3X_R_DYN_BLK               CHAR(3), /*ATOMIC POLYGON*/   04910099
-     3 PIWA2_3X_R_ED                    CHAR(3),                      04920099
-     3 PIWA2_3X_R_AD                    CHAR(2),                      04930099
-     3 PIWA2_3X_R_POLICE_PAT_BORO       CHAR(2),                      04940099
-     3 FILLER3X_R_1080                  CHAR(1),                      04950099
-     3 PIWA2_3X_R_BORO                  CHAR(1),                      04960099
-     3 PIWA2_3X_R_1990_CENS_TRCT        CHAR(6),                      04970099
-     3 PIWA2_3X_R_2010_CENSUS_TRACT     CHAR(6),                      04980099
-     3 PIWA2_3X_R_2010_CENSUS_BLOCK     CHAR(4),                      04990099
-     3 PIWA2_3X_R_2010_CENSUS_BLK_SF    CHAR(1), /*NOT IMPLEMENTED*/  05000099
-     3 PIWA2_3X_R_2000_CENS_TRACT       CHAR(6),                      05010099
-     3 PIWA2_3X_R_2000_CENS_BLOCK       CHAR(4),                      05020099
-     3 PIWA2_3X_R_2000_CENS_BLK_SF      CHAR(1),                      05030099
-     3 FILLER3X_R_1090                  CHAR(7),                      05040099
- /** 3 PIWA2_3X_R_BLOCKFACE_ID *V16.1*  CHAR(7)  **/                  05050099
-     3 PIWA2_3X_R_NTA                   CHAR(4), /*NEIGHBORHOOD    */ 05060099
-                                                 /*TABULATION AREA */ 05070099
-     3 FILLER_3X_R_1100                 CHAR(8),                      05080099
-   2   PIWA2_3X_LGCS                    CHAR(8),                      05090099
-   2   PIWA2_3X_LGCS_FROM               CHAR(8),                      05100099
-   2   PIWA2_3X_LGCS_TO                 CHAR(8),                      05110099
-   2   PIWA2_3X_L_HEALTH_CTR_DIST       CHAR(2), /*HEALTH CENTER*/    05120099
-   2   PIWA2_3X_R_HEALTH_CTR_DIST       CHAR(2), /*HEALTH CENTER*/    05130099
-   2   PIWA2_3X_FILL1                   CHAR(1),                      05140099
-   2   PIWA2_3X_TRAFFIC_DIR             CHAR(1),                      05150099
-   2   PIWA2_3X_ROADWAY_TYPE            CHAR(2),                      05160099
-   2   PIWA2_3X_PHYSICAL_ID             CHAR(7),                      05170099
-   2   PIWA2_3X_GENERIC_ID              CHAR(7),                      05180099
-   2   PIWA2_3X_INTP_ID                 CHAR(7),  /*INTERNAL USE*/    05190099
-   2   PIWA2_3X_INTF_ID                 CHAR(7),  /*INTERNAL USE*/    05200099
-   2   PIWA2_3X_STR_STATUS              CHAR(1),                      05210099
-   2   PIWA2_3X_STR_WIDTH               CHAR(3),                      05220099
-   2   PIWA2_3X_STR_WIDTH_IRREG         CHAR(1),                      05230099
-   2   PIWA2_3X_BIKE_LANE               CHAR(1),                      05240099
-   2   PIWA2_3X_FED_CLASS_CODE          CHAR(2),                      05250099
-   2   PIWA2_3X_ROW_TYPE                CHAR(1),                      05260099
-   2   PIWA2_3X_LGC_LIST                CHAR(10),                     05270099
-   2   PIWA2_3X_LEGACY_ID               CHAR(7),                      05280099
-   2   PIWA2_3X_L_NTA_NAME              CHAR(75),                     05290099
-   2   PIWA2_3X_R_NTA_NAME              CHAR(75),                     05300099
-   2   PIWA2_3X_FROM_XCOORD             CHAR(7),                      05310099
-   2   PIWA2_3X_FROM_YCOORD             CHAR(7),                      05320099
-   2   PIWA2_3X_TO_XCOORD               CHAR(7),                      05330099
-   2   PIWA2_3X_TO_YCOORD               CHAR(7),                      05340099
-   2   PIWA2_3X_FROM_LATITUDE           CHAR(9),                      05350099
-   2   PIWA2_3X_FROM_LONGITUDE          CHAR(11),                     05360099
-   2   PIWA2_3X_TO_LATITUDE             CHAR(9),                      05370099
-   2   PIWA2_3X_TO_LONGITUDE            CHAR(11),                     05380099
-   2   PIWA2_3X_L_BLOCKFACE_ID          CHAR(10),                     05390099
-   2   PIWA2_3X_R_BLOCKFACE_ID          CHAR(10),                     05400099
-   2   PIWA2_3X_NBR_TRAVEL_LANES        CHAR(2),                      05410099
-   2   PIWA2_3X_NBR_PARK_LANES          CHAR(2),                      05420099
-   2   PIWA2_3X_NBR_TOTAL_LANES         CHAR(2),                      05430099
-   2   PIWA2_3X_BIKE_LANE_2             CHAR(2),                      05431099
-   2   PIWA2_3X_STR_WIDTH_MAX           CHAR(3),                      05432099
-   2   PIWA2_3X_BIKE_TRAFFIC_DIR        CHAR(2),                      05433099
-   2   PIWA2_3X_FILL2                   CHAR(213),                    05440099
-/* 2   PIWA2_3X_FILL2 ** V17.1   ***    CHAR(215), **/                05441099
-/* 2   PIWA2_3X_FILL2 ** V16.4   ***    CHAR(220), **/                05442099
-/* 2   PIWA2_3X_FILL2 ** V16.1   ***    CHAR(246)  **/                05450099
-/* 2   PIWA2_3X_FILL2 ** V15.3   ***    CHAR(286)  **/                05460099
-   2 PIWA2_3X_SEGAUX,                                                 05470099
-     3 PIWA2_3X_SEGAUX_FILL             CHAR(6),                      05480099
-     3 PIWA2_3X_SEGAUX_CTR              CHAR(4),                      05490099
-     3 PIWA2_3X_SEGAUX_SEGS(70)         CHAR(7);                      05500099
-                                                                      05510099
-/*******************************************************************/ 05520099
-/*******     FOR: FUNCTION 3C          *****************************/ 05530099
-DCL                                                                    05540099
- 1 PIWA2_FUNCTION3C  BASED(PP2),                                      05550099
-   2 PIWA2_FN3C_ACCESS_KEY              CHAR(21),                     05560099
-   2 PIWA2_FN3C_DUP_KEY_FLAG            CHAR(1),/*(OR CONT PARITY)*/  05570099
-   2 PIWA2_FN3C_LOCATION_STATUS         CHAR(1),                      05580099
-   2 PIWA2_FN3C_COUNTY_BOUNDARY         CHAR(1),                      05590099
-   2 PIWA2_FN3C_PREF_LGC1               CHAR(2),                      05600099
-   2 PIWA2_FN3C_PREF_LGC2               CHAR(2),                      05610099
-   2 PIWA2_FN3C_PREF_LGC3               CHAR(2),                      05620099
-   2 PIWA2_FN3C_NUM_X_ST_LOW_END        CHAR(1),                      05630099
-   2 PIWA2_FN3C_LOW_B5SC(5)             CHAR(6),                      05640099
-   2 PIWA2_FN3C_NUM_X_ST_HI_END         CHAR(1),                      05650099
-   2 PIWA2_FN3C_HI_B5SC(5)              CHAR(6),                      05660099
-   2 PIWA2_FN3C_REVERSAL_FLAG           CHAR(1),                      05670099
-   2 PIWA2_FN3C_LIONKEY,                                              05680099
-     3 PIWA2_FN3C_LION_BORO             CHAR(1),                      05690099
-     3 PIWA2_FN3C_LION_FACECODE         CHAR(4),                      05700099
-     3 PIWA2_FN3C_LION_SEQ              CHAR(5),                      05710099
-   2 PIWA2_FN3C_GENREC_FLAG             CHAR(1),                      05720099
-   2 PIWA2_FN3C_SEG_LEN                 CHAR(5),                      05730099
-   2 PIWA2_FN3C_SEG_SLOPE               CHAR(3),                      05740099
-   2 PIWA2_FN3C_SEG_ORIENT              CHAR(1),                      05750099
-   2 PIWA2_FN3C_MARBLE_RIKERS_FLAG      CHAR(1),                      05760099
-   2 PIWA2_FN3C_FROM_TO_NODES,                                        05770099
-     3 PIWA2_FN3C_FROM_NODE             CHAR(7),                      05780099
-     3 PIWA2_FN3C_TO_NODE               CHAR(7),                      05790099
-   2 PIWA2_FN3C_SANIT_SNOW_PRIORITY     CHAR(1), /*SANITATION STRT */ 05800099
-                                                 /*SNOW PRIORITY   */ 05810099
-   2 FILLER_1200                        CHAR(4),                      05820099
-   2 PIWA2_FN3C_SEGMENT_ID              CHAR(7),                      05830099
-   2 PIWA2_FN3C_DOT_SLA                 CHAR(1),                      05840099
-   2 PIWA2_FN3C_SIDE_OF_STR             CHAR(1),                      05850099
-   2 PIWA2_FN3C_CURVE_FLAG              CHAR(1),                      05860099
-   2 PIWA2_FN3C_FEATURE_TYPE            CHAR(1),                      05870099
-   2 PIWA2_FN3C_SEGMENT_TYPE            CHAR(1),                      05880099
-   2 PIWA2_FN3C_COINCIDENT_SEG_CTR      CHAR(1),                      05890099
-   2 FILLER_1300                        CHAR(4),                      05900099
-   2 PIWA2_FN3C_BLOCKFACE_INFO,                                       05910099
-     3 PIWA2_FN3C_COM_DIST,                                           05920099
-       4 PIWA2_FN3C_COM_DIST_BORO       CHAR(1),                      05930099
-       4 PIWA2_FN3C_COM_DIST_NUM        CHAR(2),                      05940099
-     3 PIWA2_FN3C_LOW_HOUSENUM          CHAR(16),/*DISPLAY FORMAT*/   05950099
-     3 PIWA2_FN3C_HI_HOUSENUM           CHAR(16),/*DISPLAY FORMAT*/   05960099
-     3 PIWA2_FN3C_LOW_HOUSENUM2         CHAR(16),/*DISPLAY FORMAT*/   05970099
-     3 PIWA2_FN3C_HI_HOUSENUM2          CHAR(16),/*DISPLAY FORMAT*/   05980099
-     3 FILLER_1400                      CHAR(1), /* FOR GSS USE */    05990099
-     3 PIWA2_FN3C_ZIP                   CHAR(5),                      06000099
-     3 PIWA2_FN3C_HEALTH_AREA           CHAR(4), /*HEALTH AREA*/      06010099
-     3 PIWA2_FN3C_POLICE_DIST,                                        06020099
-       4 PIWA2_FN3C_POL_PAT_BORO_CMD    CHAR(1),                      06030099
-       4 PIWA2_FN3C_POL_PRECINCT        CHAR(3),                      06040099
-     3 PIWA2_FN3C_FIRE_DIV              CHAR(2),                      06050099
-     3 PIWA2_FN3C_FIRE_BAT              CHAR(2),                      06060099
-     3 PIWA2_FN3C_FIRE_CO,                                            06070099
-       4 PIWA2_FN3C_FIRE_CO_TYPE        CHAR(1),                      06080099
-       4 PIWA2_FN3C_FIRE_CO_NUM         CHAR(3),                      06090099
-     3 PIWA2_FN3C_SCHL_DIST             CHAR(2),                      06100099
-     3 PIWA2_FN3C_DYN_BLK               CHAR(3), /*ATOMIC POLYGON*/   06110099
-     3 PIWA2_FN3C_ED                    CHAR(3),                      06120099
-     3 PIWA2_FN3C_AD                    CHAR(2),                      06130099
-     3 PIWA2_FN3C_POLICE_PAT_BORO       CHAR(2),                      06140099
-     3 FILLER_1480                      CHAR(1),                      06150099
-     3 PIWA2_FN3C_BORO                  CHAR(1),                      06160099
-     3 PIWA2_FN3C_1990_CENS_TRCT        CHAR(6),                      06170099
-     3 PIWA2_FN3C_2010_CENSUS_TRACT     CHAR(6),                      06180099
-     3 PIWA2_FN3C_2010_CENSUS_BLOCK     CHAR(4),                      06190099
-     3 PIWA2_FN3C_2010_CENSUS_BLK_SF    CHAR(1), /*NOT IMPLEMENTED*/  06200099
-     3 PIWA2_FN3C_2000_CENS_TRACT       CHAR(6),                      06210099
-     3 PIWA2_FN3C_2000_CENS_BLOCK       CHAR(4),                      06220099
-     3 PIWA2_FN3C_2000_CENS_BLK_SUF     CHAR(1),                      06230099
-     3 FILLER_1490                      CHAR(7),                      06240099
-/**  3 PIWA2_FN3C_BLOCKFACE_ID *V16.1*  CHAR(7)  **/                  06250099
-     3 PIWA2_FN3C_NTA                   CHAR(4), /*NEIGHBORHOOD    */ 06260099
-                                                 /*TABULATION AREA */ 06270099
-     3 FILLER_1500                      CHAR(8),                      06280099
-   2 PIWA2_FN3C_SEGAUX,                                               06290099
-     3 PIWA2_FN3C_SEGAUX_FILL           CHAR(6),                      06300099
-     3 PIWA2_FN3C_SEGAUX_CTR            CHAR(4),                      06310099
-     3 PIWA2_FN3C_SEGAUX_SEGS(70)       CHAR(7);                      06320099
-                                                                      06330099
-DCL   PIWA2_FN3C_COMDIST                 CHAR(3)                       06340099
-       BASED(ADDR(PIWA2_FN3C_COM_DIST));                              06350099
-DCL   PIWA2_FN3C_POLDIST                 CHAR(4)                       06360099
-       BASED(ADDR(PIWA2_FN3C_POLICE_DIST));                           06370099
-                                                                      06380099
-/*******************************************************************/ 06390099
-/*******     FOR: FUNCTION 3CX (EXTENDED) **************************/ 06400099
-DCL                                                                    06410099
- 1 PIWA2_FUNCTION3CX BASED(PP2),                                      06420099
-   2 PIWA2_3CX_ACCESS_KEY               CHAR(21),                     06430099
-   2 PIWA2_3CX_DUP_KEY_FLAG             CHAR(1),/*(OR CONT PARITY)*/  06440099
-   2 PIWA2_3CX_LOCATION_STATUS          CHAR(1),                      06450099
-   2 PIWA2_3CX_COUNTY_BOUNDARY          CHAR(1),                      06460099
-   2 PIWA2_3CX_PREF_LGC1                CHAR(2),                      06470099
-   2 PIWA2_3CX_PREF_LGC2                CHAR(2),                      06480099
-   2 PIWA2_3CX_PREF_LGC3                CHAR(2),                      06490099
-   2 PIWA2_3CX_NUM_X_ST_LOW_END         CHAR(1),                      06500099
-   2 PIWA2_3CX_LOW_B5SC(5)              CHAR(6),                      06510099
-   2 PIWA2_3CX_NUM_X_ST_HI_END          CHAR(1),                      06520099
-   2 PIWA2_3CX_HI_B5SC(5)               CHAR(6),                      06530099
-   2 PIWA2_3CX_REVERSAL_FLAG            CHAR(1),                      06540099
-   2 PIWA2_3CX_LIONKEY,                                               06550099
-     3 PIWA2_3CX_LION_BORO              CHAR(1),                      06560099
-     3 PIWA2_3CX_LION_FACECODE          CHAR(4),                      06570099
-     3 PIWA2_3CX_LION_SEQ               CHAR(5),                      06580099
-   2 PIWA2_3CX_GENREC_FLAG              CHAR(1),                      06590099
-   2 PIWA2_3CX_SEG_LEN                  CHAR(5),                      06600099
-   2 PIWA2_3CX_SEG_SLOPE                CHAR(3),                      06610099
-   2 PIWA2_3CX_SEG_ORIENT               CHAR(1),                      06620099
-   2 PIWA2_3CX_MARBLE_RIKERS_FLAG       CHAR(1),                      06630099
-   2 PIWA2_3CX_FROM_TO_NODES,                                         06640099
-     3 PIWA2_3CX_FROM_NODE              CHAR(7),                      06650099
-     3 PIWA2_3CX_TO_NODE                CHAR(7),                      06660099
-   2 PIWA2_3CX_SANIT_SNOW_PRIORITY      CHAR(1), /*SANITATION STRT */ 06670099
-                                                 /*SNOW PRIORITY   */ 06680099
-   2 FILLER3CX_1200                     CHAR(4),                      06690099
-   2 PIWA2_3CX_SEGMENT_ID               CHAR(7),                      06700099
-   2 PIWA2_3CX_DOT_SLA                  CHAR(1),                      06710099
-   2 PIWA2_3CX_SIDE_OF_STR              CHAR(1),                      06720099
-   2 PIWA2_3CX_CURVE_FLAG               CHAR(1),                      06730099
-   2 PIWA2_3CX_FEATURE_TYPE             CHAR(1),                      06740099
-   2 PIWA2_3CX_SEGMENT_TYPE             CHAR(1),                      06750099
-   2 PIWA2_3CX_COINCIDENT_SEG_CTR       CHAR(1),                      06760099
-   2 FILLER3CX_1300                     CHAR(4),                      06770099
-   2 PIWA2_3CX_BLOCKFACE_INFO,                                        06780099
-     3 PIWA2_3CX_COM_DIST,                                            06790099
-       4 PIWA2_3CX_COM_DIST_BORO        CHAR(1),                      06800099
-       4 PIWA2_3CX_COM_DIST_NUM         CHAR(2),                      06810099
-     3 PIWA2_3CX_LOW_HOUSENUM           CHAR(16),/*DISPLAY FORMAT*/   06820099
-     3 PIWA2_3CX_HI_HOUSENUM            CHAR(16),/*DISPLAY FORMAT*/   06830099
-     3 PIWA2_3CX_LOW_HOUSENUM2          CHAR(16),/*DISPLAY FORMAT*/   06840099
-     3 PIWA2_3CX_HI_HOUSENUM2           CHAR(16),/*DISPLAY FORMAT*/   06850099
-     3 FILLER3CX_1400                   CHAR(1), /* FOR GSS USE */    06860099
-     3 PIWA2_3CX_ZIP                    CHAR(5),                      06870099
-     3 PIWA2_3CX_HEALTH_AREA            CHAR(4), /*HEALTH AREA*/      06880099
-     3 PIWA2_3CX_POLICE_DIST,                                         06890099
-       4 PIWA2_3CX_POL_PAT_BORO_CMD     CHAR(1),                      06900099
-       4 PIWA2_3CX_POL_PRECINCT         CHAR(3),                      06910099
-     3 PIWA2_3CX_FIRE_DIV               CHAR(2),                      06920099
-     3 PIWA2_3CX_FIRE_BAT               CHAR(2),                      06930099
-     3 PIWA2_3CX_FIRE_CO,                                             06940099
-       4 PIWA2_3CX_FIRE_CO_TYPE         CHAR(1),                      06950099
-       4 PIWA2_3CX_FIRE_CO_NUM          CHAR(3),                      06960099
-     3 PIWA2_3CX_SCHL_DIST              CHAR(2),                      06970099
-     3 PIWA2_3CX_DYN_BLK                CHAR(3), /*ATOMIC POLYGON*/   06980099
-     3 PIWA2_3CX_ED                     CHAR(3),                      06990099
-     3 PIWA2_3CX_AD                     CHAR(2),                      07000099
-     3 PIWA2_3CX_POLICE_PAT_BORO        CHAR(2),                      07010099
-     3 FILLER3CX_1480                   CHAR(1),                      07020099
-     3 PIWA2_3CX_BORO                   CHAR(1),                      07030099
-     3 PIWA2_3CX_1990_CENS_TRCT         CHAR(6),                      07040099
-     3 PIWA2_3CX_2010_CENSUS_TRACT      CHAR(6),                      07050099
-     3 PIWA2_3CX_2010_CENSUS_BLOCK      CHAR(4),                      07060099
-     3 PIWA2_3CX_2010_CENSUS_BLK_SF     CHAR(1), /*NOT IMPLEMENTED*/  07070099
-     3 PIWA2_3CX_2000_CENS_TRACT        CHAR(6),                      07080099
-     3 PIWA2_3CX_2000_CENS_BLOCK        CHAR(4),                      07090099
-     3 PIWA2_3CX_2000_CENS_BLK_S        CHAR(1),                      07100099
-     3 FILLER3CX_1490                   CHAR(7),                      07110099
- /** 3 PIWA2_3CX_BLOCKFACE_ID *V16.1*   CHAR(7)  **/                  07120099
-     3 PIWA2_3CX_NTA                    CHAR(4), /*NEIGHBORHOOD    */ 07130099
-                                                 /*TABULATION AREA */ 07140099
-     3 FILLER3CX_1500                   CHAR(8),                      07150099
-                                                                      07160099
-   2   PIWA2_3CX_LGCS                   CHAR(8),                      07170099
-   2   PIWA2_3CX_LGCS_FROM              CHAR(8),                      07180099
-   2   PIWA2_3CX_LGCS_TO                CHAR(8),                      07190099
-   2   PIWA2_3CX_L_HEALTH_CTR_DIST      CHAR(2), /*HEALTH CENTER*/    07200099
-   2   PIWA2_3CX_R_HEALTH_CTR_DIST      CHAR(2), /*HEALTH CENTER*/    07210099
-   2   PIWA2_3CX_FILL1550               CHAR(1),                      07220099
-   2   PIWA2_3CX_TRAFFIC_DIRECTN        CHAR(1),                      07230099
-   2   PIWA2_3CX_ROADWAY_TYPE           CHAR(2),                      07240099
-   2   PIWA2_3CX_PHYSICAL_ID            CHAR(7),                      07250099
-   2   PIWA2_3CX_GENERIC_ID             CHAR(7),                      07260099
-   2   PIWA2_3CX_INTP_ID                CHAR(7),  /*INTERNAL USE*/    07270099
-   2   PIWA2_3CX_INTF_ID                CHAR(7),  /*INTERNAL USE*/    07280099
-   2   PIWA2_3CX_STREET_STATUS          CHAR(1),                      07290099
-   2   PIWA2_3CX_STREET_WIDTH           CHAR(3),                      07300099
-   2   PIWA2_3CX_STREET_WIDTH_IRREG     CHAR(1),                      07310099
-   2   PIWA2_3CX_BIKE_LANE              CHAR(1),                      07320099
-   2   PIWA2_3CX_FED_CLASS_CODE         CHAR(2),                      07330099
-   2   PIWA2_3CX_ROW_TYPE               CHAR(1),                      07340099
-   2   PIWA2_3CX_LGC_LIST               CHAR(10),                     07350099
-   2   PIWA2_3CX_LEGACY_ID              CHAR(7),                      07360099
-   2   PIWA2_3CX_NTA_NAME               CHAR(75),                     07370099
-   2   PIWA2_3CX_FROM_XCOORD            CHAR(7),                      07380099
-   2   PIWA2_3CX_FROM_YCOORD            CHAR(7),                      07390099
-   2   PIWA2_3CX_TO_XCOORD              CHAR(7),                      07400099
-   2   PIWA2_3CX_TO_YCOORD              CHAR(7),                      07410099
-   2   PIWA2_3CX_FROM_LATITUDE          CHAR(9),                      07420099
-   2   PIWA2_3CX_FROM_LONGITUDE         CHAR(11),                     07430099
-   2   PIWA2_3CX_TO_LATITUDE            CHAR(9),                      07440099
-   2   PIWA2_3CX_TO_LONGITUDE           CHAR(11),                     07450099
-   2   PIWA2_3CX_BLOCKFACE_ID           CHAR(10),                     07460099
-   2   PIWA2_3CX_NBR_TRAVEL_LANES       CHAR(2),                      07470099
-   2   PIWA2_3CX_NBR_PARK_LANES         CHAR(2),                      07480099
-   2   PIWA2_3CX_NBR_TOTAL_LANES        CHAR(2),                      07490099
-   2   PIWA2_3CX_BIKE_LANE_2            CHAR(2),                      07491099
-   2   PIWA2_3CX_STREET_WIDTH_MAX       CHAR(3),                      07492099
-   2   PIWA2_3CX_BIKE_TRAFFIC_DIR       CHAR(2),                      07493099
-   2   PIWA2_3CX_FILL1560               CHAR(298),                    07500099
-/* 2   PIWA2_3CX_FILL1560 ** V17.1 **   CHAR(300), **/                07501099
-/* 2   PIWA2_3CX_FILL1560 ** V16.4 **   CHAR(305), **/                07502099
-/* 2   PIWA2_3CX_FILL1560 ** V16.1 **   CHAR(321)  **/                07510099
-/* 2   PIWA2_3CX_FILL1560 ** V15.3 **   CHAR(361)  **/                07520099
-   2 PIWA2_3CX_SEGAUX,                                                07530099
-     3 PIWA2_3CX_SEGAUX_FILL            CHAR(6),                      07540099
-     3 PIWA2_3CX_SEGAUX_CTR             CHAR(4),                      07550099
-     3 PIWA2_3CX_SEGAUX_SEGS(70)        CHAR(7);                      07560099
-                                                                      07570099
-/*******************************************************************/ 07580099
-/*******     FOR: FUNCTION 5           *****************************/ 07590099
-DCL                                                                    07600099
- 1 PIWA2_FUNCTION5   BASED(PP2),                                      07610099
-   2 PIWA2_FN5_ADDR_MATCHING_KEY        CHAR(33),                     07620099
-   2 FILLER_1600                        CHAR(267);                    07630099
-                                                                      07640099
-PP2=ADDR(P2PL1);                                                       07650099
-
-

P2PL11A COPY File

-
/*******************************************************************/  00000100
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/  00000200
-/***  INDEPENDENT REGULAR WORK AREA 2 FOR FUNCTIONS: 1A , BL,    ***/  00000300
-/***  AND BN.                                                    ***/  00000400
-/***  THESE THREE FUNCTIONS SHARE A SINGLE WORK AREA 2 LAYOUT.   ***/  00000500
-/***                                                             ***/  00000600
-/***  COPY FILE - P2PL11A.                          10/10/97     ***/  00000700
-/*******************************************************************/  00000800
-                                                                       00000900
-DCL                                                                    00001000
- 1 P2PL11A,                                                            00001100
-   2 PIWA2_1A_ACCESS_KEY                CHAR(21),                      00001200
-   2 PIWA2_1A_CONT_PARITY               CHAR(1), /*(OR DUP ADDR IND)*/ 00001300
-   2 PIWA2_1A_LOW_HOUSENUM              CHAR(11), /* SORT FORMAT */    00001400
-   2 PIWA2_1A_BBL,                                                     00001500
-     3 PIWA2_1A_BBL_BORO                CHAR(1),                       00001600
-     3 PIWA2_1A_BLOCK                   CHAR(5),                       00001700
-     3 PIWA2_1A_LOT                     CHAR(4),                       00001800
-   2 PIWA2_1A_LOT_VER                   CHAR(1),                       00001900
-   2 PIWA2_1A_SCC                       CHAR(1),                       00002000
-   2 FILLER_100                         CHAR(1),                       00002100
-   2 PIWA2_1A_GENERAL_LOT_INFO,                                        00002200
-     3 PIWA2_1A_RPAD_BLDG_CLASS         CHAR(2),                       00002300
-     3 PIWA2_1A_CORNER_CODE             CHAR(2),                       00002400
-     3 PIWA2_1A_NUM_OF_STRUCTURES       CHAR(4),                       00002502
-     3 PIWA2_1A_NUM_OF_BLOCKFACES       CHAR(2),                       00002600
-     3 PIWA2_1A_INTERIOR_FLAG           CHAR(1),                       00002700
-     3 PIWA2_1A_VACANT_FLAG             CHAR(1),                       00002800
-     3 PIWA2_1A_IRREG_LOT_FLAG          CHAR(1),                       00002900
-   2 PIWA2_1A_MARBLE_RIKERS_FLAG        CHAR(1),                       00003000
-   2 PIWA2_1A_ADDR_LIST_OVFLOW_FLAG     CHAR(1),                       00003100
-   2 PIWA2_1A_STROLL_KEY,                                              00003200
-     3 PIWA2_1A_STROLL_BORO             CHAR(1),                       00003300
-     3 PIWA2_1A_STROLL_5SC              CHAR(5),                       00003400
-     3 PIWA2_1A_STROLL_SIDE_OF_STR      CHAR(1),  /* L, R */           00003500
-     3 PIWA2_1A_STROLL_HI_HOUSENUM      CHAR(11), /* SORT FORMAT */    00003600
-     3 FILLER_200                       CHAR(1),                       00003700
-   2 FILLER_300                         CHAR(1),  /* FOR GSS USE*/     00003800
-   2 PIWA2_1A_BIN                       CHAR(7),                       00003900
-   2 PIWA2_1A_CONDO_FLAG                CHAR(1),                       00004000
-   2 FILLER_400                         CHAR(1),                       00004100
-   2 PIWA2_1A_RPAD_CONDO_ID_NUM         CHAR(4),                       00004200
-   2 PIWA2_1A_CONDO_UNIT_ID_NUM         CHAR(7),                       00004300
-   2 PIWA2_1A_CONDO_BILL_BBL            CHAR(10),                      00004400
-   2 PIWA2_1A_CONDO_BILL_BBL_VER        CHAR(1),                       00004500
-   2 PIWA2_1A_CONDO_BILL_BBL_SCC        CHAR(1),                       00004600
-   2 PIWA2_1A_CONDO_LOW_BBL             CHAR(10),                      00004700
-   2 PIWA2_1A_CONDO_LOW_BBL_VER         CHAR(1),                       00004800
-   2 PIWA2_1A_CONDO_HIGH_BBL            CHAR(10),                      00004900
-   2 PIWA2_1A_CONDO_HIGH_BBL_VER        CHAR(1),                       00005000
-   2 FILLER_500                         CHAR(15),                      00005100
-   2 PIWA2_1A_COOP_NUM                  CHAR(4),                       00005200
-   2 PIWA2_1A_SANBORN,                                                 00005300
-     3 PIWA2_1A_SANBORN_BORO            CHAR(1),                       00005400
-     3 PIWA2_1A_SANBORN_VOL             CHAR(3),                       00005500
-     3 PIWA2_1A_SANBORN_PAGE            CHAR(4),                       00005600
-   2 PIWA2_1A_COMMERC_DIST              CHAR(5),                       00005700
-   2 PIWA2_1A_DOF_MAP_BORO              CHAR(1),                       00005803
-   2 PIWA2_1A_DOF_MAP_SECVOL            CHAR(4),                       00005902
-   2 PIWA2_1A_DOF_MAP_PAGE              CHAR(4),                       00006003
-   2 RESERVED_DCP                       CHAR(3),                       00006110
-   2 PIWA2_1A_LATITUDE                  CHAR(09),                      00006210
-   2 PIWA2_1A_LONGITUDE                 CHAR(11),                      00006310
-   2 PIWA2_1A_X_COORD                   CHAR(07),                      00006410
-   2 PIWA2_1A_Y_COORD                   CHAR(07),                      00006510
-   2 PIWA2_1A_BID                       CHAR(06),                      00006610
-   2 PIWA2_1A_TPAD_BIN_ST               CHAR(01),  /*CURRENT STATUS*/  00006710
-   2 PIWA2_1A_TPAD_NEW_BIN              CHAR(07),  /*NEW BIN       */  00006810
-   2 PIWA2_1A_TPAD_NEW_BIN_ST           CHAR(01),  /*NEW BIN STATUS*/  00006910
-   2 PIWA2_1A_TPAD_CONFLICT             CHAR(01),  /*CONFLICT FLAG */  00007010
-   2 FILLER_650                         CHAR(09),                      00007110
-   2 FILLER_700                         CHAR(8),  /* LGC - GSS USE*/   00007210
-   2 PIWA2_1A_NUM_OF_ADDR               CHAR(4),                       00007310
-   2 PIWA2_1A_ADDR_LIST(21),                                           00007410
-     3 PIWA2_1A_LIST_LOW_HOUSENUM       CHAR(16), /*DISPLAY FORMAT*/   00007510
-     3 PIWA2_1A_LIST_HI_HOUSENUM        CHAR(16), /*DISPLAY FORMAT*/   00007610
-     3 PIWA2_1A_LIST_BORO               CHAR(1),                       00007710
-     3 PIWA2_1A_LIST_5SC                CHAR(5),                       00007810
-     3 PIWA2_1A_LIST_LGC                CHAR(2),                       00007910
-     3 PIWA2_1A_LIST_BIN                CHAR(7),                       00008010
-     3 PIWA2_1A_LIST_SIDE_OF_STR        CHAR(1),  /* L, R */           00008110
-     3 PIWA2_1A_ADDR_TYPE               CHAR(1),  /*               */  00008210
-                                                  /* BLANK = NORMAL*/  00008310
-     3 PIWA2_1A_TPAD_STATUS             CHAR(1),  /* 0 - 9         */  00008410
-     3 FILLER_800                       CHAR(3);                       00008510
-                                                                       00008610
-DCL  PIWA2_1A_SANBORN_BVOLPAGE          CHAR(8)                        00008710
-        BASED(ADDR(PIWA2_1A_SANBORN));                                 00008810
-DCL  PIWA2_1A_STROLLKEY                 CHAR(19)                       00008910
-        BASED(ADDR(PIWA2_1A_STROLL_KEY));                              00009004
-
-

P2PL11AL COPY File

-
/*******************************************************************/  00000100
-/*********************************************************************/00000276
-/*                                                                   */00000376
-/***                      P2PL11AL                                 ***/00000480
-/***           LAST MODIFIED DECEMBER 2016                         ***/00000580
-/*  ADD NEW 2 BYTE BIKE TRAFFIC DIRECTION            YNL 12/16  V17.1*/00000680
-/*  REPLACED SANIT_RESERVED WITH SANIT_BULK_PICK_UP  YNL 10/16  V16.4*/00000776
-/*  ADD NEW 2 BYTE BIKE LANE AND MAX STR WIDTH       YNL 10/16  V16.4*/00000876
-/*                                                                   */00000976
-/*********************************************************************/00001076
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/  00001100
-/***  INDEPENDENT LONG WORK AREA 2 FOR FUNCTIONS: 1A , AND BL.   ***/  00001200
-/***  THESE TWO FUNCTIONS SHARE A SINGLE LONG WORK AREA 2 LAYOUT.***/  00001300
-/***  THIS IS ALSO THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM      ***/  00001415
-/***   PLATFORM INDEPENDENT EXTENDED WORK AREA 2 FOR             ***/  00001515
-/***   FUNCTIONS 1E AND 1A, AND FOR FUNCTION 1B WHICH IS A       ***/  00001635
-/***   COMBINATION OF EXTENDED 1/1E AND EXTENDED 1A)             ***/  00001726
-/***                                                             ***/  00001800
-/***                           LAST MODIFIED OCTOBER  2016       ***/  00001976
-/***  COPY FILE - P2PL11AL.                          10/11/2000  ***/  00002026
-/*******************************************************************/  00002126
-                                                                       00002226
-DCL                                                                    00002326
- 1 P2PL11AL,                                                           00002426
-   2 PIWA2_1AL_ACCESS_KEY               CHAR(21),                      00002526
-   2 PIWA2_1AL_CONT_PARITY              CHAR(1), /*(OR DUP ADDR IND)*/ 00002626
-   2 PIWA2_1AL_LOW_HOUSENUM             CHAR(11), /* SORT FORMAT */    00002726
-   2 PIWA2_1AL_BBL,                                                    00002826
-     3 PIWA2_1AL_BBL_BORO               CHAR(1),                       00002926
-     3 PIWA2_1AL_BLOCK                  CHAR(5),                       00003026
-     3 PIWA2_1AL_LOT                    CHAR(4),                       00003126
-   2 PIWA2_1AL_LOT_VER                  CHAR(1),                       00003226
-   2 PIWA2_1AL_SCC                      CHAR(1),                       00003326
-   2 FILLER_100                         CHAR(1),                       00003426
-   2 PIWA2_1AL_GENERAL_LOT_INFO,                                       00003526
-     3 PIWA2_1AL_RPAD_BLDG_CLASS        CHAR(2),                       00003626
-     3 PIWA2_1AL_CORNER_CODE            CHAR(2),                       00003726
-     3 PIWA2_1AL_NUM_OF_STRUCTURES      CHAR(4),                       00003826
-     3 PIWA2_1AL_NUM_OF_BLOCKFACES      CHAR(2),                       00003926
-     3 PIWA2_1AL_INTERIOR_FLAG          CHAR(1),                       00004026
-     3 PIWA2_1AL_VACANT_FLAG            CHAR(1),                       00004126
-     3 PIWA2_1AL_IRREG_LOT_FLAG         CHAR(1),                       00004226
-   2 PIWA2_1AL_MARBLE_RIKERS_FLAG       CHAR(1),                       00004326
-   2 PIWA2_1AL_ADDR_LIST_OVFLOW_FLAG    CHAR(1),                       00004426
-   2 PIWA2_1AL_STROLL_KEY,                                             00004526
-     3 PIWA2_1AL_STROLL_BORO            CHAR(1),                       00004626
-     3 PIWA2_1AL_STROLL_5SC             CHAR(5),                       00004726
-     3 PIWA2_1AL_STROLL_SIDE_OF_STR     CHAR(1),  /* L, R */           00004826
-     3 PIWA2_1AL_STROLL_HI_HOUSENUM     CHAR(11), /* SORT FORMAT */    00004926
-     3 FILLER_200                       CHAR(1),                       00005026
-   2 FILLER_300                         CHAR(1),  /* FOR GSS USE*/     00005126
-   2 PIWA2_1AL_BIN                      CHAR(7),                       00005226
-   2 PIWA2_1AL_CONDO_FLAG               CHAR(1),                       00005326
-   2 FILLER_400                         CHAR(1),                       00005426
-   2 PIWA2_1AL_RPAD_CONDO_ID_NUM        CHAR(4),                       00005526
-   2 PIWA2_1AL_CONDO_UNIT_ID_NUM        CHAR(7),                       00005626
-   2 PIWA2_1AL_CONDO_BILL_BBL           CHAR(10),                      00005726
-   2 PIWA2_1AL_CONDO_BILL_BBL_VER       CHAR(1),                       00005826
-   2 PIWA2_1AL_CONDO_BILL_BBL_SCC       CHAR(1),                       00005926
-   2 PIWA2_1AL_CONDO_LOW_BBL            CHAR(10),                      00006026
-   2 PIWA2_1AL_CONDO_LOW_BBL_VER        CHAR(1),                       00006126
-   2 PIWA2_1AL_CONDO_HIGH_BBL           CHAR(10),                      00006226
-   2 PIWA2_1AL_CONDO_HIGH_BBL_VER       CHAR(1),                       00006326
-   2 FILLER_500                         CHAR(15),                      00006426
-   2 PIWA2_1AL_COOP_NUM                 CHAR(4),                       00006526
-   2 PIWA2_1AL_SANBORN,                                                00006626
-     3 PIWA2_1AL_SANBORN_BORO           CHAR(1),                       00006726
-     3 PIWA2_1AL_SANBORN_VOL            CHAR(3),                       00006826
-     3 PIWA2_1AL_SANBORN_PAGE           CHAR(4),                       00006926
-   2 PIWA2_1AL_COMMERC_DIST             CHAR(5),                       00007026
-   2 PIWA2_1AL_DOF_MAP_BORO             CHAR(1),                       00007126
-   2 PIWA2_1AL_DOF_MAP_SECVOL           CHAR(4),                       00007226
-   2 PIWA2_1AL_DOF_MAP_PAGE             CHAR(4),                       00007326
-   2 FILLER_600                         CHAR(3),                       00007465
-   2 PIWA2_1AL_LATITUDE                 CHAR(9),                       00007565
-   2 PIWA2_1AL_LONGITUDE                CHAR(11),                      00007665
-   2 PIWA2_1AL_X_COORD                  CHAR(07),                      00007765
-   2 PIWA2_1AL_Y_COORD                  CHAR(07),                      00007865
-   2 PIWA2_1AL_BID                      CHAR(06),                      00007965
-   2 PIWA2_1AL_TPAD_BIN_ST              CHAR(01), /*CURRENT STATUS*/   00008065
-   2 PIWA2_1AL_TPAD_NEW_BIN             CHAR(07), /*NEW BIN       */   00008165
-   2 PIWA2_1AL_TPAD_NEW_BIN_ST          CHAR(01), /*NEW BIN STATUS*/   00008265
-   2 PIWA2_1AL_TPAD_CONFLICT            CHAR(01), /*CONFLICT FLAG */   00008365
-   2 FILLER_650                         CHAR(09),                      00008465
-   2 FILLER_700                         CHAR(8),  /*LGC -GSS USE*/     00008565
-   2 PIWA2_1AL_NUM_OF_BINS              CHAR(4),                       00008665
-   2 PIWA2_1AL_BINS(2500)               CHAR(7);                       00008765
-                                                                       00008865
-DCL 1 PIWA2_1AL_TPAD_BINLIST BASED(ADDR(PIWA2_1AL_BINS)),              00008965
-      2 PIWA2_1AL_TPAD_BINS(2187),                                     00009065
-        3 PIWA2_1AL_TPAD_BINS_BIN   CHAR (7),                          00009165
-        3 PIWA2_1AL_TPAD_BINS_STAT  CHAR (1),                          00009265
-      2 PIWA2_1AL_TPAD_FILL         CHAR (4);                          00009365
-                                                                       00009465
-DCL  PIWA2_1AL_SANBORN_BVOLPAGE         CHAR(8)                        00009565
-        BASED(ADDR(PIWA2_1AL_SANBORN));                                00009665
-DCL  PIWA2_1AL_STROLLKEY                CHAR(19)                       00009765
-        BASED(ADDR(PIWA2_1AL_STROLL_KEY));                             00009865
-                                                                       00009965
-                                                                       00010065
-DCL 1 PIWA2_1EX BASED(ADDR(P2PL11AL)),                                 00010165
-                                                                       00010265
- /*******************************************************************/ 00010365
- /***              WORK AREA 2 FOR FUNCTION 1/1E EXTENDED         ***/ 00010465
- /***                                                             ***/ 00010565
- /*******************************************************************/ 00010665
- /*******************************************************************/ 00010765
-                                                                       00010865
- /*******************************************************************/ 00010915
- /***                                                             ***/ 00011015
- /*** THE FOLLOWING FIELDS ARE FROM FUNCTION 1/1E                 ***/ 00011115
- /*******************************************************************/ 00011215
-    2 PIWA2_1EX_ACCESS_KEY            CHAR(21),                        00011338
-    2 PIWA2_1EX_CONT_PARITY           CHAR(1),/*(OR DUP ADDR IND)*/    00011438
-    2 PIWA2_1EX_LOW_HOUSENUM          CHAR(11),/* SORT FORMAT */       00011538
-    2 PIWA2_1EX_HI_HOUSENUM           CHAR(11),/* SORT FORMAT */       00011638
-    2 PIWA2_1EX_DCP_PREF_LGC          CHAR(2),                         00011738
-    2 PIWA2_1EX_NUM_X_ST_LOW_END      CHAR(1),                         00011838
-    2 PIWA2_1EX_LOW_B5SC(5)           CHAR(6),                         00011938
-    2 PIWA2_1EX_NUM_X_ST_HI_END       CHAR(1),                         00012038
-    2 PIWA2_1EX_HI_B5SC(5)            CHAR(6),                         00012138
-    2 PIWA2_1EX_LIONKEY,                                               00012238
-      3 PIWA2_1EX_LION_BORO           CHAR(1),                         00012338
-      3 PIWA2_1EX_LION_FACECODE       CHAR(4),                         00012438
-      3 PIWA2_1EX_LION_SEQ            CHAR(5),                         00012538
-    2 PIWA2_1EX_SPECIAL_ADDR_FLAG     CHAR(1),                         00012638
-    2 PIWA2_1EX_SIDE_OF_STR           CHAR(1),                         00012738
-    2 PIWA2_1EX_SEG_LEN               CHAR(5),                         00012838
-    2 PIWA2_1EX_XCOORD                CHAR(7),                         00012938
-    2 PIWA2_1EX_YCOORD                CHAR(7),                         00013038
-    2 FILLER_1EX_100                  CHAR(7), /* FOR ZCOORD */        00013138
-    2 FILLER_1EX_200                  CHAR(1), /* FOR GSS USE*/        00013238
-    2 PIWA2_1EX_MARBLE_RIKERS_FLAG    CHAR(1),                         00013338
-    2 PIWA2_1EX_DOT_SLA               CHAR(1),                         00013438
-    2 PIWA2_1EX_COM_DIST,                                              00013538
-      3 PIWA2_1EX_COM_DIST_BORO       CHAR(1),                         00013638
-      3 PIWA2_1EX_COM_DIST_NUM        CHAR(2),                         00013738
-    2 PIWA2_1EX_ZIP                   CHAR(5),                         00013838
-                                                                       00013915
-    2 PIWA2_1EX_ELECT_DIST            CHAR(3), /*****************/     00014038
-    2 PIWA2_1EX_ASSEM_DIST            CHAR(2), /* FUNCTION 1E   */     00014138
-    2 PIWA2_1EX_SPLIT_ED_FLAG         CHAR(1), /* FIELDS        */     00014238
-    2 PIWA2_1EX_CONG_DIST             CHAR(2), /*               */     00014338
-    2 PIWA2_1EX_SENATE_DIST           CHAR(2), /*               */     00014438
-    2 PIWA2_1EX_COURT_DIST            CHAR(2), /*               */     00014538
-    2 PIWA2_1EX_COUNCIL_DIST          CHAR(2), /*****************/     00014638
-                                                                       00014715
-    2 PIWA2_1EX_HEALTH_CENTER_DIST    CHAR(2), /*HEALTH CENTER*/       00014854
-    2 PIWA2_1EX_HEALTH_AREA           CHAR(4), /*HEALTH AREA*/         00014954
-    2 PIWA2_1EX_SANI_DIST,                                             00015038
-      3 PIWA2_1EX_SANI_DIST_BORO      CHAR(1),                         00015138
-      3 PIWA2_1EX_SANI_DIST_NUM       CHAR(2),                         00015238
-    2 PIWA2_1EX_SANI_SUBSEC           CHAR(2),                         00015338
-    2 PIWA2_1EX_SANI_REG              CHAR(5),                         00015438
-    2 PIWA2_1EX_SANI_REC              CHAR(3),                         00015538
-    2 PIWA2_1EX_POLICE_DIST,                                           00015638
-      3  PIWA2_1EX_POL_PAT_BORO_CMD   CHAR(1),                         00015738
-      3  PIWA2_1EX_POL_PRECINCT       CHAR(3),                         00015838
-    2 PIWA2_1EX_FIRE_DIV              CHAR(2),                         00015938
-    2 PIWA2_1EX_FIRE_BAT              CHAR(2),                         00016038
-    2 PIWA2_1EX_FIRE_CO,                                               00016138
-      3 PIWA2_1EX_FIRE_CO_TYPE        CHAR(1),                         00016238
-      3 PIWA2_1EX_FIRE_CO_NUM         CHAR(3),                         00016338
-    2 PIWA2_1EX_FILL_DIST_SPLT_FLAG   CHAR(1),                         00016438
-    2 PIWA2_1EX_SCHL_DIST             CHAR(2),                         00016538
-    2 PIWA2_1EX_DYN_BLK               CHAR(3), /*ATOMIC POLYGON*/      00016638
-    2 PIWA2_1EX_POLICE_PAT_BORO       CHAR(2),                         00016769
-    2 PIWA2_1EX_FEATURE_TYPE          CHAR(1),                         00016838
-    2 PIWA2_1EX_SEGMENT_TYPE          CHAR(1),                         00016938
-    2 PIWA2_1EX_ALX                   CHAR(1),                         00017038
-    2 PIWA2_1EX_COINCIDENT_SEG_CTR    CHAR(1),                         00017138
-    2 FILLER_1EX_290                  CHAR(2),                         00017255
-    2 PIWA2_1EX_CENS_TRCT_BORO        CHAR(1),  /*USED FOR GRIDGEN*/   00017355
-    2 PIWA2_1EX_1990_CENS_TRCT        CHAR(6),                         00017455
-    2 PIWA2_1EX_2010_CENSUS_TRACT     CHAR(6),                         00017555
-    2 PIWA2_1EX_2010_CENSUS_BLOCK     CHAR(4),                         00017655
-    2 PIWA2_1EX_2010_CENSUS_BLK_SF    CHAR(1), /*NOT IMPLEMENTED*/     00017755
-    2 PIWA2_1EX_2000_CENS_TRACT       CHAR(6),                         00017855
-    2 PIWA2_1EX_2000_CENS_BLOCK       CHAR(4),                         00017955
-    2 PIWA2_1EX_2000_CENS_BLK_S       CHAR(1),                         00018055
-    2 PIWA2_1EX_NTA                   CHAR(4), /*NEIGHBORHOOD     */   00018155
-                                               /*TABULATION AREA  */   00018255
-    2 PIWA2_1EX_SANIT_SNOW_PRIORITY   CHAR(1), /*SANITATION STRT  */   00018355
-                                               /*SNOW PRIORITY    */   00018455
-    2 PIWA2_1EX_SANIT_ORGANICS        CHAR(5), /*SANITATION       */   00018559
-                                               /*ORGANIC PICK UP  */   00018657
-    2 PIWA2_1EX_SANIT_BULK_PICK_UP    CHAR(5), /*SANITATION BULK  */   00018776
- /* 2 PIWA2_1EX_SANIT_RESERVED *V16.4*CHAR(5),  *SANITATION RESERVE*/  00018876
-    2 PIWA2_1EX_HURRICANE_ZONE        CHAR(2), /*OEM HURRICANE     */  00018976
-                                               /*EVACUATION ZONE   */  00019076
-    2 FILLER_1EX_400                  CHAR(11),                        00019176
-    2 PIWA2_1EX_UHNS                  CHAR(11),                        00019276
-    2 PIWA2_1EX_REAL_B7SC             CHAR(8),                         00019376
-    2 PIWA2_1EX_SEGMENT_ID            CHAR(7),                         00019476
-    2 PIWA2_1EX_CURVE_FLAG            CHAR(1),                         00019576
-    2 PIWA2_1EX_LGCS                  CHAR(8),                         00019676
-    2 PIWA2_1EX_BOE_PTR               CHAR(1),                         00019776
-    2 PIWA2_1EX_AZIMUTH               CHAR(3),                         00019876
-    2 PIWA2_1EX_ORIENT                CHAR(1),                         00019976
-    2 PIWA2_1EX_X_LOW                 CHAR(7),                         00020076
-    2 PIWA2_1EX_Y_LOW                 CHAR(7),                         00020176
-    2 PIWA2_1EX_Z_LOW                 CHAR(7), /*NOT IMPLEMENTED*/     00020276
-    2 PIWA2_1EX_X_HI                  CHAR(7),                         00020376
-    2 PIWA2_1EX_Y_HI                  CHAR(7),                         00020476
-    2 PIWA2_1EX_Z_HI                  CHAR(7), /*NOT IMPLEMENTED*/     00020576
-    /* SPATIAL COORDINATES OF CENTER OF CURVATURE                 */   00020676
-    2 PIWA2_1EX_X_CC                  CHAR(7),                         00020776
-    2 PIWA2_1EX_Y_CC                  CHAR(7),                         00020876
-    2 PIWA2_1EX_Z_CC                  CHAR(7), /*NOT IMPLEMENTED*/     00020976
-    2 PIWA2_1EX_RADIUS                CHAR(7),                         00021076
-    2 PIWA2_1EX_SECANT                CHAR(1),                         00021176
-    2 PIWA2_1EX_ANGLE_FROM            CHAR(5),                         00021276
-    2 PIWA2_1EX_ANGLE_TO              CHAR(5),                         00021376
-    2 PIWA2_1EX_NODE_FROM             CHAR(7),                         00021476
-    2 PIWA2_1EX_NODE_TO               CHAR(7),                         00021576
-    2 PIWA2_1EX_VANITY_LION           CHAR(10),                        00021676
-    2 PIWA2_1EX_SOS                   CHAR(1),                         00021776
-    2 PIWA2_1EX_SPLIT_LOHSN           CHAR(11),                        00021876
-    2 PIWA2_1EX_TD                    CHAR(1),                         00021976
-    2 PIWA2_1EX_TR                    CHAR(10),                        00022076
-    2 PIWA2_1EX_CURVE_FRACTION        CHAR(3),                         00022176
-    2 PIWA2_1EX_ROADWAY_TYPE          CHAR(2),                         00022276
-    2 PIWA2_1EX_PHYSICAL_ID           CHAR(7),                         00022376
-    2 PIWA2_1EX_GENERIC_ID            CHAR(7),                         00022476
-    2 PIWA2_1EX_INTP_ID               CHAR(7),  /*INTERNAL USE*/       00022576
-    2 PIWA2_1EX_INTF_ID               CHAR(7),  /*INTERNAL USE*/       00022676
-    2 PIWA2_1EX_BIKE_LANE_2           CHAR(2),                         00022776
-    2 PIWA2_1EX_BIKE_TRAFFIC_DIR      CHAR(2),                         00022879
-    2 PIWA2_1EX_FILL450               CHAR(3),                         00022979
- /* 2 PIWA2_1EX_FILL450  * V17.1 *    CHAR(5),  **/                    00023079
- /* 2 PIWA2_1EX_FILL450  * V16.4 *    CHAR(7),  **/                    00023179
- /* 2 PIWA2_1EX_BLOCKFACE_ID * V16.1* CHAR(7),  **/                    00023279
-    2 PIWA2_1EX_STREET_STATUS         CHAR(1),                         00023379
-    2 PIWA2_1EX_STREET_WIDTH          CHAR(3),                         00023479
-    2 PIWA2_1EX_STREET_WIDTH_IRR      CHAR(1),                         00023579
-    2 PIWA2_1EX_BIKE_LANE             CHAR(1),                         00023679
-    2 PIWA2_1EX_FED_CLASS_CODE        CHAR(2),                         00023779
-    2 PIWA2_1EX_ROW_TYPE              CHAR(1),                         00023879
-    2 PIWA2_1EX_LGC_LIST_2            CHAR(10),                        00023979
-    2 PIWA2_1EX_LEGACY_SEG_ID         CHAR(7),                         00024079
-    2 PIWA2_1EX_LGC_LIST_FROM_1       CHAR(10),                        00024179
-    2 PIWA2_1EX_LGC_LIST_TO_1         CHAR(10),                        00024279
-    2 PIWA2_1EX_LGC_LIST_FROM_2       CHAR(10),                        00024379
-    2 PIWA2_1EX_LGC_LIST_TO_2         CHAR(10),                        00024479
-    2 PIWA2_1EX_NOCROSS_FLG           CHAR(1),                         00024579
-    2 PIWA2_1EX_IND_SEG_LEN           CHAR(5),                         00024679
-    2 PIWA2_1EX_NTA_NAME              CHAR(75),                        00024779
-    2 PIWA2_1EX_USPS_CITY_NAME        CHAR(25),                        00024879
-    2 PIWA2_1EX_LATITUDE              CHAR(9),                         00024979
-    2 PIWA2_1EX_LONGITUDE             CHAR(11),                        00025079
-    2 PIWA2_1EX_SEG_FROM_NODE         CHAR(7),                         00025179
-    2 PIWA2_1EX_SEG_TO_NODE           CHAR(7),                         00025279
-    2 PIWA2_1EX_SEG_FROM_XYZ          CHAR(21),                        00025379
-    2 PIWA2_1EX_SEG_TO_XYZ            CHAR(21),                        00025479
-    2 PIWA2_1EX_BLOCKFACE_ID          CHAR(10),                        00025579
-    2 PIWA2_1EX_NBR_TRAVEL_LANES      CHAR(2),                         00025679
-    2 PIWA2_1EX_NBR_PARK_LANES        CHAR(2),                         00025779
-    2 PIWA2_1EX_NBR_TOTAL_LANES       CHAR(2),                         00025879
-    2 PIWA2_1EX_STR_WIDTH_MAX         CHAR(3),                         00025979
-    2 PIWA2_1EX_FILL500               CHAR(252),                       00026079
- /* 2 PIWA2_1EX_FILL500 ** V16.4 **   CHAR(255) **/                    00026179
- /* 2 PIWA2_1EX_FILL500 ** V16.1 **   CHAR(271) **/                    00026279
- /* 2 PIWA2_1EX_FILL500 ** V15.3 **   CHAR(327) **/                    00026379
- /*******************************************************************/ 00026479
- /***                                                             ***/ 00026579
- /*** THE FOLLOWING FIELDS ARE AN ADDITION TO 1E                  ***/ 00026679
- /*******************************************************************/ 00026779
-    2 PIWA2_1EX_REASON_CODE           CHAR(1),                         00026879
-    2 PIWA2_1EX_REASON_CODE_QUAL      CHAR(1),                         00026979
-    2 PIWA2_1EX_WARN_CODE             CHAR(2),                         00027079
-    2 PIWA2_1EX_RETURN_CODE           CHAR(2),                         00027179
-    2 PIWA2_1EX_NUM_X_STS_LO_END      CHAR(1),                         00027279
-    2 PIWA2_1EX_LO_B7SC(5)            CHAR(8),                         00027379
-    2 PIWA2_1EX_NUM_X_STS_HI_END      CHAR(1),                         00027479
-    2 PIWA2_1EX_HI_B7SC(5)            CHAR(8),                         00027579
-    2 PIWA2_1EX_LO_ST_NAME(5)         CHAR(32),                        00027679
-    2 PIWA2_1EX_HI_ST_NAME(5)         CHAR(32),                        00027779
-    2 PIWA2_1EX_BOE_B7SC              CHAR(8),                         00027879
-    2 PIWA2_1EX_BOE_ST_NAME           CHAR(32),                        00027979
-    2 PIWA2_1EX_FILL600               CHAR(52);                        00028079
-                                                                       00028179
-                                                                       00028279
-                                                                       00028379
-DCL 1 PIWA2_FN1AX BASED(ADDR(P2PL11AL)),                               00028479
- /*******************************************************************/ 00028579
- /***              WORK AREA 2 FOR FUNCTION 1A EXTENDED           ***/ 00028679
- /***                                                             ***/ 00028779
- /*******************************************************************/ 00028879
-                                                                       00028979
-                                                                       00029079
-   2 PIWA2_1AX_ACCESS_KEY               CHAR(21),                      00029179
-   2 PIWA2_1AX_CONT_PARITY              CHAR(1), /*(OR DUP ADDR IND)*/ 00029279
-   2 PIWA2_1AX_LOW_HOUSENUM             CHAR(11), /* SORT FORMAT */    00029379
-   2 PIWA2_1AX_BBL,                                                    00029479
-     3 PIWA2_1AX_BBL_BORO               CHAR(1),                       00029579
-     3 PIWA2_1AX_BLOCK                  CHAR(5),                       00029679
-     3 PIWA2_1AX_LOT                    CHAR(4),                       00029779
-   2 PIWA2_1AX_LOT_VER                  CHAR(1),                       00029879
-   2 PIWA2_1AX_SCC                      CHAR(1),                       00029979
-   2 FILLER_1AX1                        CHAR(1),                       00030079
-   2 PIWA2_1AX_GENERAL_LOT_INFO,                                       00030179
-     3 PIWA2_1AX_RPAD_BLDG_CLASS        CHAR(2),                       00030279
-     3 PIWA2_1AX_CORNER_CODE            CHAR(2),                       00030379
-     3 PIWA2_1AX_NUM_OF_STRUCTURES      CHAR(4),                       00030479
-     3 PIWA2_1AX_NUM_OF_BLOCKFACES      CHAR(2),                       00030579
-     3 PIWA2_1AX_INTERIOR_FLAG          CHAR(1),                       00030679
-     3 PIWA2_1AX_VACANT_FLAG            CHAR(1),                       00030779
-     3 PIWA2_1AX_IRREG_LOT_FLAG         CHAR(1),                       00030879
-   2 PIWA2_1AX_MARBLE_RIKERS_FLAG       CHAR(1),                       00030979
-   2 PIWA2_1AX_ADDR_LIST_OVFLOW_FLAG    CHAR(1),                       00031079
-   2 PIWA2_1AX_STROLL_KEY,                                             00031179
-     3 PIWA2_1AX_STROLL_BORO            CHAR(1),                       00031279
-     3 PIWA2_1AX_STROLL_5SC             CHAR(5),                       00031379
-     3 PIWA2_1AX_STROLL_SIDE_OF_STR     CHAR(1),    /* L, R */         00031479
-     3 PIWA2_1AX_STROLL_HI_HOUSENUM     CHAR(11), /* SORT FORMAT */    00031579
-     3 FILLER_1AX2                      CHAR(1),                       00031679
-   2 FILLER_1AX3                        CHAR(1),  /* FOR GSS USE*/     00031779
-   2 PIWA2_1AX_BIN                      CHAR(7),                       00031879
-   2 PIWA2_1AX_CONDO_FLAG               CHAR(1),                       00031979
-   2 FILLER_1AX4                        CHAR(1),                       00032079
-   2 PIWA2_1AX_RPAD_CONDO_ID_NUM        CHAR(4),                       00032179
-   2 PIWA2_1AX_CONDO_UNIT_ID_NUM        CHAR(7),                       00032279
-   2 PIWA2_1AX_CONDO_BILL_BBL           CHAR(10),                      00032379
-   2 PIWA2_1AX_CONDO_BILL_BBL_VER       CHAR(1),                       00032479
-   2 PIWA2_1AX_CONDO_BILL_BBL_SCC       CHAR(1),                       00032579
-   2 PIWA2_1AX_CONDO_LOW_BBL            CHAR(10),                      00032679
-   2 PIWA2_1AX_CONDO_LOW_BBL_VER        CHAR(1),                       00032779
-   2 PIWA2_1AX_CONDO_HIGH_BBL           CHAR(10),                      00032879
-   2 PIWA2_1AX_CONDO_HIGH_BBL_VER       CHAR(1),                       00032979
-   2 FILLER_1AX5                        CHAR(15),                      00033079
-   2 PIWA2_1AX_COOP_NUM                 CHAR(4),                       00033179
-   2 PIWA2_1AX_SANBORN,                                                00033279
-     3 PIWA2_1AX_SANBORN_BORO           CHAR(1),                       00033379
-     3 PIWA2_1AX_SANBORN_VOL            CHAR(3),                       00033479
-     3 PIWA2_1AX_SANBORN_PAGE           CHAR(4),                       00033579
-   2 PIWA2_1AX_COMMERC_DIST             CHAR(5),                       00033679
-   2 PIWA2_1AX_DOF_MAP_BORO             CHAR(1),                       00033779
-   2 PIWA2_1AX_DOF_MAP_SECVOL           CHAR(4),                       00033879
-   2 PIWA2_1AX_DOF_MAP_PAGE             CHAR(4),                       00033979
-   2 PIWA2_1AX_RESERVED                 CHAR(03),                      00034079
-   2 PIWA2_1AX_LATITUDE                 CHAR(09),                      00034179
-   2 PIWA2_1AX_LONGITUDE                CHAR(11),                      00034279
-   2 PIWA2_1AX_X_COORD                  CHAR(07),                      00034379
-   2 PIWA2_1AX_Y_COORD                  CHAR(07),                      00034479
-   2 PIWA2_1AX_BID                      CHAR(06),                      00034579
-   2 PIWA2_1AX_TPAD_BIN_ST              CHAR(01),  /*CURRENT STATUS*/  00034679
-   2 PIWA2_1AX_TPAD_NEW_BIN             CHAR(07),  /*NEW BIN       */  00034779
-   2 PIWA2_1AX_TPAD_NEW_BIN_ST          CHAR(01),  /*NEW BIN STATUS*/  00034879
-   2 PIWA2_1AX_TPAD_CONFLICT            CHAR(01),  /*CONFLICT FLAG */  00034979
-   2 FILLER_1AX7                        CHAR(09),                      00035079
-   2 FILLER_1AX8                        CHAR(8),  /* LGC - GSS USE*/   00035179
-   2 PIWA2_1AX_REASON_CODE              CHAR(01),                      00035279
-   2 PIWA2_1AX_REASON_CODE_QUAL         CHAR(01),                      00035379
-   2 PIWA2_1AX_WARN_CODE                CHAR(02),                      00035479
-   2 PIWA2_1AX_RETURN_CODE              CHAR(02),                      00035579
-   2 FILLER_1AX9                        CHAR(108),                     00035679
-   2 PIWA2_1AX_NUM_OF_ADDR              CHAR(4),                       00035779
-   2 PIWA2_1AX_ADDR_LIST(21),                                          00035879
-     3 PIWA2_1AX_LIST_LOW_HOUSENUM      CHAR(16), /*DISPLAY FORMAT*/   00035979
-     3 PIWA2_1AX_LIST_HI_HOUSENUM       CHAR(16), /*DISPLAY FORMAT*/   00036079
-     3 PIWA2_1AX_LIST_BORO              CHAR(1),                       00036179
-     3 PIWA2_1AX_LIST_5SC               CHAR(5),                       00036279
-     3 PIWA2_1AX_LIST_LGC               CHAR(2),                       00036379
-     3 PIWA2_1AX_LIST_BIN               CHAR(7),                       00036479
-     3 PIWA2_1AX_LIST_SIDE_OF_STR       CHAR(1),  /* L, R */           00036579
-     3 PIWA2_1AX_ADDR_TYPE              CHAR(1),  /*               */  00036679
-                                                  /* BLANK = NORMAL*/  00036779
-     3 PIWA2_1AX_TPAD_STATUS            CHAR(1),                       00036879
-     3 PIWA2_1AX_ST_NAME                CHAR(32),                      00036979
-     3 FILLER_1AX10                     CHAR(34);                      00037079
-                                                                       00037179
-                                                                       00037279
-DCL 1 PIWA2_FN1B BASED(ADDR(P2PL11AL)),                                00037379
-                                                                       00037479
- /*******************************************************************/ 00037579
- /***              WORK AREA 2 FOR FUNCTION 1B                    ***/ 00037679
- /***                                                             ***/ 00037779
- /*******************************************************************/ 00037879
-    2 PIWA2_1B_1_ACCESS_KEY               CHAR(21),                    00037979
-    2 PIWA2_1B_1_CONT_PARITY              CHAR(1),  /*(DUP ADDR IND)*/ 00038079
-    2 PIWA2_1B_1_LOW_HOUSENUM             CHAR(11), /* SORT FORMAT */  00038179
-    2 PIWA2_1B_1_HI_HOUSENUM              CHAR(11), /* SORT FORMAT */  00038279
-    2 PIWA2_1B_1_PREF_LGC                 CHAR(2),                     00038379
-    2 PIWA2_1B_1_NUM_X_ST_LOW_END         CHAR(1),                     00038479
-    2 PIWA2_1B_1_LOW_B5SC(5)              CHAR(6),                     00038579
-    2 PIWA2_1B_1_NUM_X_ST_HI_END          CHAR(1),                     00038679
-    2 PIWA2_1B_1_HI_B5SC(5)               CHAR(6),                     00038779
-    2 PIWA2_1B_1_LIONKEY,                                              00038879
-      3 PIWA2_1B_1_LION_BORO              CHAR(1),                     00038979
-      3 PIWA2_1B_1_LION_FACECODE          CHAR(4),                     00039079
-      3 PIWA2_1B_1_LION_SEQ               CHAR(5),                     00039179
-    2 PIWA2_1B_1_SPECIAL_ADDR_FLAG        CHAR(1),                     00039279
-    2 PIWA2_1B_1_SIDE_OF_STR              CHAR(1),                     00039379
-    2 PIWA2_1B_1_SEG_LEN                  CHAR(5),                     00039479
-    2 PIWA2_1B_1_XCOORD                   CHAR(7),                     00039579
-    2 PIWA2_1B_1_YCOORD                   CHAR(7),                     00039679
-    2 FILLER_1B_1_100                     CHAR(7), /* FOR ZCOORD */    00039779
-    2 FILLER_1B_1_200                     CHAR(1), /* FOR GSS USE*/    00039879
-    2 PIWA2_1B_1_MARBLE_RIKERS_FLAG       CHAR(1),                     00039979
-    2 PIWA2_1B_1_DOT_SLA                  CHAR(1),                     00040079
-    2 PIWA2_1B_1_COM_DIST,                                             00040179
-      3 PIWA2_1B_1_COM_DIST_BORO          CHAR(1),                     00040279
-      3 PIWA2_1B_1_COM_DIST_NUM           CHAR(2),                     00040379
-    2 PIWA2_1B_1_ZIP                      CHAR(5),                     00040479
-                                                                       00040579
-    2 PIWA2_1B_1_ELECT_DIST               CHAR(3), /*****************/ 00040679
-    2 PIWA2_1B_1_ASSEM_DIST               CHAR(2), /* FUNCTION 1E   */ 00040779
-    2 PIWA2_1B_1_SPLIT_ED_FLAG            CHAR(1), /* FIELDS        */ 00040879
-    2 PIWA2_1B_1_CONG_DIST                CHAR(2), /*               */ 00040979
-    2 PIWA2_1B_1_SENATE_DIST              CHAR(2), /*               */ 00041079
-    2 PIWA2_1B_1_COURT_DIST               CHAR(2), /*               */ 00041179
-    2 PIWA2_1B_1_COUNCIL_DIST             CHAR(2), /*****************/ 00041279
-                                                                       00041379
-    2 PIWA2_1B_1_HEALTH_CENTER_DIST       CHAR(2),                     00041479
-    2 PIWA2_1B_1_HEALTH_AREA              CHAR(4),                     00041579
-    2 PIWA2_1B_1_SANI_DIST,                                            00041679
-      3 PIWA2_1B_1_SANI_DIST_BORO         CHAR(1),                     00041779
-      3 PIWA2_1B_1_SANI_DIST_NUM          CHAR(2),                     00041879
-    2 PIWA2_1B_1_SANI_SUBSEC              CHAR(2),                     00041979
-    2 PIWA2_1B_1_SANI_REG                 CHAR(5),                     00042079
-    2 PIWA2_1B_1_SANI_REC                 CHAR(3),                     00042179
-    2 PIWA2_1B_1_POLICE_DIST,                                          00042279
-      3  PIWA2_1B_1_POL_PAT_BORO_CMD      CHAR(1),                     00042379
-      3  PIWA2_1B_1_POL_PRECINCT          CHAR(3),                     00042479
-    2 PIWA2_1B_1_FIRE_DIV                 CHAR(2),                     00042579
-    2 PIWA2_1B_1_FIRE_BAT                 CHAR(2),                     00042679
-    2 PIWA2_1B_1_FIRE_CO,                                              00042779
-      3 PIWA2_1B_1_FIRE_CO_TYPE           CHAR(1),                     00042879
-      3 PIWA2_1B_1_FIRE_CO_NUM            CHAR(3),                     00042979
-    2 PIWA2_1B_1_FILL_DIST_SPLIT_FLAG     CHAR(1),                     00043079
-    2 PIWA2_1B_1_SCHL_DIST                CHAR(2),                     00043179
-    2 PIWA2_1B_1_DYN_BLK                  CHAR(3), /*ATOMIC POLYGON*/  00043279
-    2 PIWA2_1B_1_POLICE_PAT_BORO          CHAR(2),                     00043379
-    2 PIWA2_1B_1_FEATURE_TYPE             CHAR(1),                     00043479
-    2 PIWA2_1B_1_SEGMENT_TYPE             CHAR(1),                     00043579
-    2 PIWA2_1B_1_ALX                      CHAR(1),                     00043679
-    2 PIWA2_1B_1_COINCIDENT_SEG_CTR       CHAR(1),                     00043779
-    2 FILLER_1B_1_290                     CHAR(2),                     00043879
-    2 PIWA2_1B_1_CENS_TRCT_BORO           CHAR(1),                     00043979
-    2 PIWA2_1B_1_1990_CENS_TRCT           CHAR(6),                     00044079
-    2 PIWA2_1B_1_2010_CENSUS_TRACT        CHAR(6),                     00044179
-    2 PIWA2_1B_1_2010_CENSUS_BLOCK        CHAR(4),                     00044279
-    2 PIWA2_1B_1_2010_CENSUS_BLK_SF       CHAR(1), /*NOT IMPLELMENTED*/00044379
-    2 PIWA2_1B_1_2000_CENS_TRACT          CHAR(6),                     00044479
-    2 PIWA2_1B_1_2000_CENS_BLOCK          CHAR(4),                     00044579
-    2 PIWA2_1B_1_2000_CENS_BLK_S          CHAR(1),                     00044679
-    2 PIWA2_1B_1_NTA                      CHAR(4), /*NEIGHBORHOOD    */00044779
-                                                   /*TABULATION AREA */00044879
-    2 PIWA2_1B_1_SANIT_SNOW_PRIORITY      CHAR(1), /*SANITATION STRT*/ 00044979
-                                                   /*SNOW PRIORITY */  00045079
-    2 PIWA2_1B_1_SANIT_ORGANICS           CHAR(5), /*SANITATION */     00045179
-                                                   /*ORGANIC PICK UP*/ 00045279
-    2 PIWA2_1B_1_SANIT_BULK_PICK_UP       CHAR(5), /*SANIT BULK   */   00045379
- /* 2 PIWA2_1B_1_SANIT_RESERVE *V16.4 **  CHAR(5),  *SANIT RESERVE*/   00045479
-    2 PIWA2_1B_1_HURRICANE_ZONE           CHAR(2), /*OEM HURRICANE */  00045579
-                                                   /*EVACUATION ZONE*/ 00045679
-    2 FILLER_1B_1_400                     CHAR(11),                    00045779
-    2 PIWA2_1B_1_UHNS                     CHAR(11),                    00045879
-    2 PIWA2_1B_1_REAL_B7SC                CHAR(8),                     00045979
-    2 PIWA2_1B_1_SEGMENT_ID               CHAR(7),                     00046079
-    2 PIWA2_1B_1_CURVE_FLAG               CHAR(1),                     00046179
-    2 PIWA2_1B_1_LGCS                     CHAR(8),                     00046279
-    2 PIWA2_1B_1_BOE_PTR                  CHAR(1),                     00046379
-    2 PIWA2_1B_1_AZIMUTH                  CHAR(3),                     00046479
-    2 PIWA2_1B_1_ORIENT                   CHAR(1),                     00046579
-    2 PIWA2_1B_1_X_LOW                    CHAR(7),                     00046679
-    2 PIWA2_1B_1_Y_LOW                    CHAR(7),                     00047027
-    2 PIWA2_1B_1_Z_LOW                    CHAR(7), /*NOT IMPLEMENTED*/ 00048027
-    2 PIWA2_1B_1_X_HI                     CHAR(7),                     00049027
-    2 PIWA2_1B_1_Y_HI                     CHAR(7),                     00049127
-    2 PIWA2_1B_1_Z_HI                     CHAR(7), /*NOT IMPLEMENTED*/ 00049227
-    /* SPATIAL COORDINATES OF CENTER OF CURVATURE                 */   00049327
-    2 PIWA2_1B_1_X_CC                     CHAR(7),                     00049427
-    2 PIWA2_1B_1_Y_CC                     CHAR(7),                     00049527
-    2 PIWA2_1B_1_Z_CC                     CHAR(7), /*NOT IMPLEMENTED*/ 00049627
-    2 PIWA2_1B_1_RADIUS                   CHAR(7),                     00049727
-    2 PIWA2_1B_1_SECANT                   CHAR(1),                     00049827
-    2 PIWA2_1B_1_ANGLE_FROM               CHAR(5),                     00049927
-    2 PIWA2_1B_1_ANGLE_TO                 CHAR(5),                     00050027
-    2 PIWA2_1B_1_NODE_FROM                CHAR(7),                     00051027
-    2 PIWA2_1B_1_NODE_TO                  CHAR(7),                     00052027
-    2 PIWA2_1B_1_VANITY_LION              CHAR(10),                    00053027
-    2 PIWA2_1B_1_SOS                      CHAR(1),                     00054027
-    2 PIWA2_1B_1_SPLIT_LOHSN              CHAR(11),                    00055027
-    2 PIWA2_1B_1_TD                       CHAR(1),                     00056027
-    2 PIWA2_1B_1_TR                       CHAR(10),                    00057027
-    2 PIWA2_1B_1_CURVE_FRACTION           CHAR(3),                     00058027
-    2 PIWA2_1B_1_ROADWAY_TYPE             CHAR(2),                     00058132
-    2 PIWA2_1B_1_PHYSICAL_ID              CHAR(7),                     00058232
-    2 PIWA2_1B_1_GENERIC_ID               CHAR(7),                     00058332
-    2 PIWA2_1B_1_INTP_ID                  CHAR(7),  /*INTERNAL USE*/   00058436
-    2 PIWA2_1B_1_INTF_ID                  CHAR(7),  /*INTERNAL USE*/   00058536
-    2 PIWA2_1B_1_BIKE_LANE_2              CHAR(2),                     00058676
-    2 PIWA2_1B_1_BIKE_TRAFFIC_DIR         CHAR(2),                     00058781
-    2 PIWA2_1B_1_FILL450                  CHAR(3),                     00058879
- /* 2 PIWA2_1B_1_FILL450      ** V17.1 ** CHAR(5),**/                  00058979
- /* 2 PIWA2_1B_1_FILL450      ** V16.4 ** CHAR(7),**/                  00059079
- /* 2 PIWA2_1B_1_BLOCKFACE_ID ** V16.1 ** CHAR(7) **/                  00059179
-    2 PIWA2_1B_1_STREET_STATUS            CHAR(1),                     00059279
-    2 PIWA2_1B_1_STREET_WIDTH             CHAR(3),                     00059379
-    2 PIWA2_1B_1_STREET_WIDTH_IRR         CHAR(1),                     00059479
-    2 PIWA2_1B_1_BIKE_LANE                CHAR(1),                     00059579
-    2 PIWA2_1B_1_FED_CLASS_CODE           CHAR(2),                     00059679
-    2 PIWA2_1B_1_ROW_TYPE                 CHAR(1),                     00059779
-    2 PIWA2_1B_1_LGC_LIST_2               CHAR(10),                    00059879
-    2 PIWA2_1B_1_LEGACY_SEG_ID            CHAR(7),                     00059979
-    2 PIWA2_1B_1_LGC_LIST_FROM_1          CHAR(10),                    00060079
-    2 PIWA2_1B_1_LGC_LIST_TO_1            CHAR(10),                    00060179
-    2 PIWA2_1B_1_LGC_LIST_FROM_2          CHAR(10),                    00060279
-    2 PIWA2_1B_1_LGC_LIST_TO_2            CHAR(10),                    00060379
-    2 PIWA2_1B_1_NOCROSS_FLG              CHAR(1),                     00060479
-    2 PIWA2_1B_1_IND_SEG_LEN              CHAR(5),                     00060579
-    2 PIWA2_1B_1_NTA_NAME                 CHAR(75),                    00060679
-    2 PIWA2_1B_1_USPS_CITY_NAME           CHAR(25),                    00060779
-    2 PIWA2_1B_1_LATITUDE                 CHAR(9),                     00060879
-    2 PIWA2_1B_1_LONGITUDE                CHAR(11),                    00060979
-    2 PIWA2_1B_1_SEG_FROM_NODE            CHAR(7),                     00061079
-    2 PIWA2_1B_1_SEG_TO_NODE              CHAR(7),                     00061179
-    2 PIWA2_1B_1_SEG_FROM_XYZ             CHAR(21),                    00061279
-    2 PIWA2_1B_1_SEG_TO_XYZ               CHAR(21),                    00061379
-    2 PIWA2_1B_1_BLOCKFACE_ID             CHAR(10),                    00061479
-    2 PIWA2_1B_1_NBR_TRAVEL_LANES         CHAR(2),                     00061579
-    2 PIWA2_1B_1_NBR_PARK_LANES           CHAR(2),                     00061679
-    2 PIWA2_1B_1_NBR_TOTAL_LANES          CHAR(2),                     00061779
-    2 PIWA2_1B_1_STREET_WIDTH_MAX         CHAR(3),                     00061879
-    2 PIWA2_1B_1_FILL500                  CHAR(252),                   00061979
- /* 2 PIWA2_1B_1_FILL500 ** V16.4 **      CHAR(255) **/                00062079
- /**2 PIWA2_1B_1_FILL500 ** V16.1  **     CHAR(271) **/                00062173
- /**2 PIWA2_1B_1_FILL500 ** V15.3  **     CHAR(327) **/                00062270
- /*******************************************************************/ 00062370
- /***                                                             ***/ 00062470
- /*** THE FOLLOWING FIELDS ARE AN ADDITION TO 1/1E                ***/ 00062570
- /*******************************************************************/ 00062670
-    2 PIWA2_1B_1_REASON_CODE              CHAR(1),                     00062770
-    2 PIWA2_1B_1_REASON_CODE_QUAL         CHAR(1),                     00062870
-    2 PIWA2_1B_1_WARN_CODE                CHAR(2),                     00062970
-    2 PIWA2_1B_1_RETURN_CODE              CHAR(2),                     00063070
-    2 PIWA2_1B_1_NUM_X_STS_LO_END         CHAR(1),                     00063127
-    2 PIWA2_1B_1_LO_B7SC(5)               CHAR(8),                     00063227
-    2 PIWA2_1B_1_NUM_X_STS_HI_END         CHAR(1),                     00064027
-    2 PIWA2_1B_1_HI_B7SC(5)               CHAR(8),                     00065027
-    2 PIWA2_1B_1_LO_ST_NAME(5)            CHAR(32),                    00066027
-    2 PIWA2_1B_1_HI_ST_NAME(5)            CHAR(32),                    00067027
-    2 PIWA2_1B_1_BOE_B7SC                 CHAR(8),                     00068027
-    2 PIWA2_1B_1_BOE_ST_NAME              CHAR(32),                    00069027
-    2 PIWA2_1B_1_FILL600                  CHAR(52),                    00069127
-                                                                       00069227
- /*******************************************************************/ 00069627
- /***   THE FOLLOWING ARE FROM THE 1A WORK AREA 2                 ***/ 00069727
- /***                                                             ***/ 00069827
- /*******************************************************************/ 00069927
-                                                                       00070027
-   2 PIWA2_1B_1A_ACCESS_KEY               CHAR(21),                    00072027
-   2 PIWA2_1B_1A_CONT_PARITY              CHAR(1), /*(DUP ADDR IND)*/  00073027
-   2 PIWA2_1B_1A_LOW_HOUSENUM             CHAR(11), /* SORT FORMAT */  00074027
-   2 PIWA2_1B_1A_BBL,                                                  00075027
-     3 PIWA2_1B_1A_BBL_BORO               CHAR(1),                     00076027
-     3 PIWA2_1B_1A_BLOCK                  CHAR(5),                     00077027
-     3 PIWA2_1B_1A_LOT                    CHAR(4),                     00078027
-   2 PIWA2_1B_1A_LOT_VER                  CHAR(1),                     00079027
-   2 PIWA2_1B_1A_SCC                      CHAR(1),                     00079127
-   2 FILLER_1B_1A_1                       CHAR(1),                     00079227
-   2 PIWA2_1B_1A_GENERAL_LOT_INFO,                                     00079327
-     3 PIWA2_1B_1A_RPAD_BLDG_CLASS        CHAR(2),                     00079427
-     3 PIWA2_1B_1A_CORNER_CODE            CHAR(2),                     00079527
-     3 PIWA2_1B_1A_NUM_OF_STRUCTURES      CHAR(4),                     00079627
-     3 PIWA2_1B_1A_NUM_OF_BLOCKFACES      CHAR(2),                     00079727
-     3 PIWA2_1B_1A_INTERIOR_FLAG          CHAR(1),                     00079827
-     3 PIWA2_1B_1A_VACANT_FLAG            CHAR(1),                     00079927
-     3 PIWA2_1B_1A_IRREG_LOT_FLAG         CHAR(1),                     00080027
-   2 PIWA2_1B_1A_MARBLE_RIKERS_FLAG       CHAR(1),                     00081028
-   2 PIWA2_1B_1A_OVERFLOW_FLAG            CHAR(1),                     00082072
-   2 PIWA2_1B_1A_STROLL_KEY,                                           00083027
-     3 PIWA2_1B_1A_STROLL_BORO            CHAR(1),                     00084027
-     3 PIWA2_1B_1A_STROLL_5SC             CHAR(5),                     00085027
-     3 PIWA2_1B_1A_STROLL_SIDE_OF_STR     CHAR(1),    /* L, R */       00086027
-     3 PIWA2_1B_1A_STROLL_HI_HOUSENUM     CHAR(11), /* SORT FORMAT */  00087027
-     3 FILLER_1B_1A_2                     CHAR(1),                     00088027
-   2 FILLER_1B_1A_3                       CHAR(1),  /* FOR GSS USE*/   00089029
-   2 PIWA2_1B_1A_BIN                      CHAR(7),                     00089127
-   2 PIWA2_1B_1A_CONDO_FLAG               CHAR(1),                     00089227
-   2 FILLER_1B_1A_4                       CHAR(1),                     00089327
-   2 PIWA2_1B_1A_RPAD_CONDO_ID_NUM        CHAR(4),                     00089427
-   2 PIWA2_1B_1A_CONDO_UNIT_ID_NUM        CHAR(7),                     00089527
-   2 PIWA2_1B_1A_CONDO_BILL_BBL           CHAR(10),                    00089627
-   2 PIWA2_1B_1A_CONDO_BILL_BBL_VER       CHAR(1),                     00089727
-   2 PIWA2_1B_1A_CONDO_BILL_BBL_SCC       CHAR(1),                     00089827
-   2 PIWA2_1B_1A_CONDO_LOW_BBL            CHAR(10),                    00089927
-   2 PIWA2_1B_1A_CONDO_LOW_BBL_VER        CHAR(1),                     00090027
-   2 PIWA2_1B_1A_CONDO_HIGH_BBL           CHAR(10),                    00091027
-   2 PIWA2_1B_1A_CONDO_HIGH_BBL_VER       CHAR(1),                     00092027
-   2 FILLER_1B_1A_5                       CHAR(15),                    00093027
-   2 PIWA2_1B_1A_COOP_NUM                 CHAR(4),                     00094027
-   2 PIWA2_1B_1A_SANBORN,                                              00095027
-     3 PIWA2_1B_1A_SANBORN_BORO           CHAR(1),                     00096027
-     3 PIWA2_1B_1A_SANBORN_VOL            CHAR(3),                     00097027
-     3 PIWA2_1B_1A_SANBORN_PAGE           CHAR(4),                     00098027
-   2 PIWA2_1B_1A_COMMERC_DIST             CHAR(5),                     00099027
-   2 PIWA2_1B_1A_DOF_MAP_BORO             CHAR(1),                     00099127
-   2 PIWA2_1B_1A_DOF_MAP_SECVOL           CHAR(4),                     00099227
-   2 PIWA2_1B_1A_DOF_MAP_PAGE             CHAR(4),                     00099327
-   2 PIWA2_1B_1A_RESERVED                 CHAR(3),                     00099464
-   2 PIWA2_1B_1A_LATITUDE                 CHAR(9),                     00099564
-   2 PIWA2_1B_1A_LONGITUDE                CHAR(11),                    00099664
-   2 PIWA2_1B_1A_X_COORD                  CHAR(07),                    00099764
-   2 PIWA2_1B_1A_Y_COORD                  CHAR(07),                    00099864
-   2 PIWA2_1B_1A_BID                      CHAR(06),                    00099964
-   2 PIWA2_1B_1A_TPAD_BIN_ST              CHAR(01), /*CURRENT STATUS*/ 00100064
-   2 PIWA2_1B_1A_TPAD_NEW_BIN             CHAR(07), /*NEW BIN       */ 00100164
-   2 PIWA2_1B_1A_TPAD_NEW_BIN_ST          CHAR(01), /*NEW BIN STATUS*/ 00100264
-   2 PIWA2_1B_1A_TPAD_CONFLICT            CHAR(01), /*CONFLICT FLAG */ 00101027
-   2 FILLER_1B_1A_7                       CHAR(09),                    00102027
-   2 FILLER_1B_1A_8                       CHAR(8),  /*LGC M GSS USE*/  00103070
-   2 PIWA2_1B_1A_REASON_CODE              CHAR(01),                    00104027
-   2 PIWA2_1B_1A_REASON_CODE_QUAL         CHAR(01),                    00105052
-   2 PIWA2_1B_1A_WARN_CODE                CHAR(02),                    00106027
-   2 PIWA2_1B_1A_RETURN_CODE              CHAR(02),                    00107027
-   2 FILLER_1B_1A_9                       CHAR(108),                   00108027
-   2 PIWA2_1B_1A_NUM_OF_ADDR              CHAR(4),                     00109027
-   2 PIWA2_1B_1A_ADDR_LIST(21),                                        00109127
-     3 PIWA2_1B_1A_LIST_LOW_HOUSENUM      CHAR(16), /*DISPLAY FORMAT*/ 00109227
-     3 PIWA2_1B_1A_LIST_HI_HOUSENUM       CHAR(16), /*DISPLAY FORMAT*/ 00109327
-     3 PIWA2_1B_1A_LIST_BORO              CHAR(1),                     00109427
-     3 PIWA2_1B_1A_LIST_5SC               CHAR(5),                     00109527
-     3 PIWA2_1B_1A_LIST_LGC               CHAR(2),                     00109627
-     3 PIWA2_1B_1A_LIST_BIN               CHAR(7),                     00109727
-     3 PIWA2_1B_1A_LIST_SIDE_OF_STR       CHAR(1),  /* L, R */         00109827
-     3 PIWA2_1B_1A_ADDR_TYPE              CHAR(1),  /*              */ 00109927
-                                                    /*BLANK = NORMAL*/ 00110027
-     3 PIWA2_1B_1A_TPAD_STATUS            CHAR(1),                     00111027
-     3 PIWA2_1B_1A_ST_NAME                CHAR(32),                    00112027
-     3 FILLER_1B_1A_10                    CHAR(34);                    00113027
-                                                                       00120019
-
-

P2PL13S COPY FIle

-
/*******************************************************************/  00000100
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/  00000200
-/***  INDEPENDENT WORK AREA 2 FOR FUNCTION: 3S.                  ***/  00000300
-/***                                                             ***/  00000400
-/**   COPY FILE - P2PL13S.                             09/17/97  ***/  00000500
-/*******************************************************************/  00000600
-DCL                                                                    00000700
- 1 P2PL13S,                                                            00000800
-   2 PIWA2_3S_ACCESS_KEY,                                              00000900
-     3 FILLER_GSS                       CHAR(2),                       00001000
-     3 PIWA2_3S_PORS_STNAME_IND         CHAR(1),/* P = PRIMARY */      00001100
-                                                /* S = SECONDARY */    00001200
-     3 PIWA2_3S_BORO                    CHAR(1),                       00001300
-     3 PIWA2_3S_5SC                     CHAR(5),                       00001400
-     3 PIWA2_3S_LGC                     CHAR(2),/* BLANK IF P IN */    00001500
-     3 FILLER                           CHAR(10),/* POSITION 3 */      00001600
-   2 PIWA2_3S_NUM_OF_INTERSECTS         CHAR(3),                       00001700
-   2 PIWA2_3S_LIST_OF_INTERSECTS(350),                                 00001800
-     3 PIWA2_3S_MARBLE_RIKERS_FLAG      CHAR(1),                       00001900
-     3 PIWA2_3S_DISTANCE                CHAR(5),                       00002000
-     3 PIWA2_3S_GAP_FLAG                CHAR(1),                       00002100
-     3 FILLER_100                       CHAR(7),                       00002200
-     3 PIWA2_3S_NUM_OF_STR              CHAR(1),                       00002300
-     3 PIWA2_3S_B7SC(5)                 CHAR(8);                       00002400
-
-

P2PL1AP COPY File

-
/*******************************************************************/  00000100
-/***  THIS IS THE PL/1 STRUCTURE FOR GEOSUPPORT SYSTEM PLATFORM  ***/  00000200
-/***  INDEPENDENT      WORK AREA 2 FOR FUNCTIONS: AP , AND APX.  ***/  00000370
-/***  MARCH 2015 BY YNL V15.2 FOR ADDRESS POINT AND AP EXTENDED. ***/  00000470
-/***  COPY FILE - P2PL1AP.                                       ***/  00001170
-/*******************************************************************/  00001226
-                                                                       00001326
-DCL 1 PIWA2_FNAPX,                                                     00026170
- /*******************************************************************/ 00026263
- /***              WORK AREA 2 FOR FUNCTION AP EXTENDED           ***/ 00026370
- /***                                                             ***/ 00026463
- /*******************************************************************/ 00026563
-                                                                       00026663
-                                                                       00026763
-   2 PIWA2_APX_ACCESS_KEY               CHAR(21),                      00026870
-   2 PIWA2_APX_CONT_PARITY              CHAR(1), /*(OR DUP ADDR IND)*/ 00026970
-   2 PIWA2_APX_LOW_HOUSENUM             CHAR(11), /* SORT FORMAT */    00027070
-   2 PIWA2_APX_BBL,                                                    00027170
-     3 PIWA2_APX_BBL_BORO               CHAR(1),                       00027270
-     3 PIWA2_APX_BLOCK                  CHAR(5),                       00027370
-     3 PIWA2_APX_LOT                    CHAR(4),                       00027470
-   2 FILLER_APX01                       CHAR(7),                       00027771
-   2 PIWA2_APX_NUM_OF_STRUCTURES        CHAR(4),                       00028171
-   2 FILLER_APX02                       CHAR(26),                      00028271
-   2 FILLER_GSS1                        CHAR(1),  /* FOR GSS USE*/     00029571
-   2 PIWA2_APX_BIN                      CHAR(7),                       00029670
-   2 PIWA2_APX_CONDO_FLAG               CHAR(1),                       00029770
-   2 FILLER_APX03                       CHAR(1),                       00029871
-   2 PIWA2_APX_RPAD_CONDO_ID_NUM        CHAR(4),                       00029970
-   2 FILLER_APX04                       CHAR(7),                       00030071
-   2 PIWA2_APX_CONDO_BILL_BBL           CHAR(10),                      00030270
-   2 FILLER_APX05                       CHAR(2),                       00030371
-   2 PIWA2_APX_CONDO_LOW_BBL            CHAR(10),                      00030670
-   2 FILLER_APX06                       CHAR(1),                       00030771
-   2 PIWA2_APX_CONDO_HIGH_BBL           CHAR(10),                      00030970
-   2 FILLER_APX07                       CHAR(16),                      00031071
-   2 PIWA2_APX_COOP_NUM                 CHAR(4),                       00031370
-   2 FILLER_APX08                       CHAR(22),                      00031475
-   2 PIWA2_APX_RESERVED                 CHAR(03),                      00032370
-   2 PIWA2_APX_LATITUDE                 CHAR(09),                      00032470
-   2 PIWA2_APX_LONGITUDE                CHAR(11),                      00032570
-   2 PIWA2_APX_X_COORD                  CHAR(07),                      00032670
-   2 PIWA2_APX_Y_COORD                  CHAR(07),                      00032770
-   2 FILLER_APX09                       CHAR(16),                      00032873
-   2 PIWA2_APX_AP_ID                    CHAR(09),                      00033473
-   2 FILLER_GSS2                        CHAR(8),  /* LGC - GSS USE*/   00033571
-   2 PIWA2_APX_REASON_CODE              CHAR(01),                      00033670
-   2 PIWA2_APX_REASON_CODE_QUAL         CHAR(01),                      00033770
-   2 PIWA2_APX_WARN_CODE                CHAR(02),                      00033870
-   2 PIWA2_APX_RETURN_CODE              CHAR(02),                      00033970
-   2 FILLER_APX10                       CHAR(108),                     00034072
-   2 PIWA2_APX_NUM_OF_ADDR              CHAR(4),                       00034170
-   2 PIWA2_APX_ADDR_LIST(21),                                          00034270
-     3 PIWA2_APX_LIST_LOW_HOUSENUM      CHAR(16), /*DISPLAY FORMAT*/   00034370
-     3 PIWA2_APX_LIST_HI_HOUSENUM       CHAR(16), /*DISPLAY FORMAT*/   00034470
-     3 PIWA2_APX_LIST_BORO              CHAR(1),                       00034570
-     3 PIWA2_APX_LIST_5SC               CHAR(5),                       00034670
-     3 PIWA2_APX_LIST_LGC               CHAR(2),                       00034770
-     3 PIWA2_APX_LIST_BIN               CHAR(7),                       00034870
-     3 PIWA2_APX_LIST_SIDE_OF_STR       CHAR(1),  /* L, R */           00034970
-     3 PIWA2_APX_ADDR_TYPE              CHAR(1),  /*               */  00035070
-                                                  /* BLANK = NORMAL*/  00035165
-     3 FILLER_APX11                     CHAR(1),                       00035274
-     3 PIWA2_APX_ST_NAME                CHAR(32),                      00035470
-     3 FILLER_APX12                     CHAR(34);                      00035572
-                                                                       00036065
-                                                                       00037071
-DCL 1 PIWA2_FNAP BASED(ADDR(PIWA2_FNAPX)),                             00037171
- /*******************************************************************/ 00039071
- /***              WORK AREA 2 FOR FUNCTION AP                    ***/ 00040071
- /***                                                             ***/ 00050071
- /*******************************************************************/ 00060071
-                                                                       00070071
-                                                                       00080071
-   2 PIWA2_AP_ACCESS_KEY                CHAR(21),                      00090071
-   2 PIWA2_AP_CONT_PARITY               CHAR(1), /*(OR DUP ADDR IND)*/ 00100071
-   2 PIWA2_AP_LOW_HOUSENUM              CHAR(11), /* SORT FORMAT */    00110071
-   2 PIWA2_AP_BBL,                                                     00120071
-     3 PIWA2_AP_BBL_BORO                CHAR(1),                       00130071
-     3 PIWA2_AP_BLOCK                   CHAR(5),                       00140071
-     3 PIWA2_AP_LOT                     CHAR(4),                       00150071
-   2 FILLER_AP01                        CHAR(7),                       00160071
-   2 PIWA2_AP_NUM_OF_STRUCTURES         CHAR(4),                       00170071
-   2 FILLER_AP02                        CHAR(26),                      00180071
-   2 FILLER_GSS1                        CHAR(1),  /* FOR GSS USE*/     00190071
-   2 PIWA2_AP_BIN                       CHAR(7),                       00200071
-   2 PIWA2_AP_CONDO_FLAG                CHAR(1),                       00210071
-   2 FILLER_AP03                        CHAR(1),                       00220071
-   2 PIWA2_AP_RPAD_CONDO_ID_NUM         CHAR(4),                       00230071
-   2 FILLER_AP04                        CHAR(7),                       00240071
-   2 PIWA2_AP_CONDO_BILL_BBL            CHAR(10),                      00250071
-   2 FILLER_AP05                        CHAR(2),                       00260071
-   2 PIWA2_AP_CONDO_LOW_BBL             CHAR(10),                      00270071
-   2 FILLER_AP06                        CHAR(1),                       00280071
-   2 PIWA2_AP_CONDO_HIGH_BBL            CHAR(10),                      00290071
-   2 FILLER_AP07                        CHAR(16),                      00300071
-   2 PIWA2_AP_COOP_NUM                  CHAR(4),                       00310071
-   2 FILLER_AP08                        CHAR(18),                      00320072
-   2 PIWA2_AP_DOF_MAP_PAGE              CHAR(4),                       00330071
-   2 PIWA2_AP_RESERVED                  CHAR(03),                      00340071
-   2 PIWA2_AP_LATITUDE                  CHAR(09),                      00350071
-   2 PIWA2_AP_LONGITUDE                 CHAR(11),                      00360071
-   2 PIWA2_AP_X_COORD                   CHAR(07),                      00370071
-   2 PIWA2_AP_Y_COORD                   CHAR(07),                      00380071
-   2 FILLER_AP09                        CHAR(16),                      00390073
-   2 PIWA2_AP_AP_ID                     CHAR(09),                      00400073
-   2 FILLER_GSS2                        CHAR(8),  /* LGC - GSS USE*/   00410071
-   2 PIWA2_AP_NUM_OF_ADDR               CHAR(4),                       00470071
-   2 PIWA2_AP_ADDR_LIST(21),                                           00480071
-     3 PIWA2_AP_LIST_LOW_HOUSENUM       CHAR(16), /*DISPLAY FORMAT*/   00490071
-     3 PIWA2_AP_LIST_HI_HOUSENUM        CHAR(16), /*DISPLAY FORMAT*/   00500071
-     3 PIWA2_AP_LIST_BORO               CHAR(1),                       00510071
-     3 PIWA2_AP_LIST_5SC                CHAR(5),                       00520071
-     3 PIWA2_AP_LIST_LGC                CHAR(2),                       00530071
-     3 PIWA2_AP_LIST_BIN                CHAR(7),                       00540071
-     3 PIWA2_AP_LIST_SIDE_OF_STR        CHAR(1),  /* L, R */           00550071
-     3 PIWA2_AP_ADDR_TYPE               CHAR(1),  /*               */  00560071
-                                                  /* BLANK = NORMAL*/  00570071
-     3 FILLER_AP10                      CHAR(4);                       00600071
-                                                                       00610071
-
-

C COPY File (COW)

-

PAC COPY File

-
#ifndef GEOSUPPORT
-#define GEOSUPPORT
-#ifdef __cplusplus
-extern "C" {
-#endif
- /*********************************************************************/
- /*                                                                   */
- /*  Add new 2 bytes Bike Traffic Direction          TLV 12/2016 V17.1*/
- /*  Replaced sanit_reserved with sanit_bulk_pick_up TLV  9/2016 V16.4*/
- /*  Added 'unit' fields to WA1                      TLV  9/2016 V16.4*/
- /*  Add new 2 bytes Bike Lane and Max Str Width     TLV  9/2016 V16.4*/
- /*                                                                   */
- /*********************************************************************/
- /*                                                                   */
- /*            GeoSupport System C-Language Header File               */
- /*               for Platform-Independent Work Areas                 */
- /*                                                                   */
- /*                 Last Updated: February 2016                       */
- /*                                                                   */
- /*********************************************************************/
-
- /*********************************************************************/
- /*                                                                   */
- /*      Group Items Used in Platform-Independent Work Area 1         */
- /*                                                                   */
- /*********************************************************************/
-#define UNIT_SIZE     14               //unit type+identifier v16.4
-#define UNITT_SIZE     4               //unit type            v16.4
-#define UNITI_SIZE    10               //unit identfier       v16.4
-
-typedef struct { char boro;              // Borough Code
-                 char SC10[10];          // 10 Digit Street Code
-                 char Street_name[32];   // Street Name
-               } STREET;
-
-typedef union { char bbl[10];            /* Borough-Block-Lot        */
-                struct { char boro;      /* Borough                  */
-                         char block[5];  /* Tax Block                */
-                         char lot[4];    /* Tax Lot                  */
-                       } cas;
-              } BBL;
-
-typedef struct {
-  char unitt[UNITT_SIZE];                /* Output unit type  V16.4 */
-  char uniti[UNITI_SIZE];                /* Output unit identifier  */
-} UNIT, *PUNIT;                          /* Output unit       V16.4 */
-
-
-typedef struct {
-                 char func_code[2];      /* Function Code            */
-                 char hse_nbr_disp[16];  /* House nbr in Disp form   */
-                 char hse_nbr_hns[11];   /* House nbr in Sort form   */
-                 char lohse_nbr_disp[16];/* Lo House nbr in Disp form*/
-                 char lohse_nbr_hns[11]; /* Lo House nbr in Sort form*/
-                 STREET sti[3];          /* Street Information       */
-                 BBL bbli;               /* Borough-Block-Lot        */
-                 char filler01;          /* Filler-Tax Lot Version # */
-                 char bld_id[7];         /* Building Id Number (BIN) */
-                 char comp_direction;    /* Compass Direction        */
-                 char comp_direction2;   /* Compass Direction-Fn 3S  */
-                 char node[7];           /* Node input for Fn2       */
-                 char platform_ind;      /* Must be equal to 'C'     */
-                 char zipin[5];          /* Input Zip Code           */
-                 char unit[UNIT_SIZE];   /* Input unit          V16.4*/
-                 char filler03[82];      /* Future Use               */
-
-                        /* Flags that influence processing */
-
-                 char long_WA_flag;      /* Long Work Area 2 Flag     */
-                                         /* Next 2 fields not impl    */
-                 char hse_nbr_justify;   /* Hse Nbr Justification Flg */
-                 char hnl[2];            /* Hse Nbr Normalization len */
-                 char hse_nbr_over_flag; /* Reserved for GSS Use      */
-                 char snl[2];            /* Street Name Norm Length   */
-                 char st_name_norm;      /* Street Name Normalization */
-                                         /*   Format Flag             */
-                 char expanded_format;   /* Expanded Format Flag      */
-                 char roadbedrequest;    /* Roadbed Request Switch    */
-                 char res_01;            /* Reserved for Internal Use */
-                 char segaux_switch;     /* Request Auxiliary Segment */
-                                         /* Information               */
-                 char browse_flag;       /* Determines if browse      */
-                                         /* displays all or some names*/
-                 char real_street_only;  /* Display real streets only */
-                 char tpad_switch;       /* TPAD read for PAD process */
-                 char mode_switch;       /* Mode Flag                 */
-                                         /* X = Extended WA2          */
-                 char wto_switch;        /* WTOs Switch N = No WTOs  */
-                                         /*   should be issued       */
-                 char filler04[29];      /* Future Use                */
-                } INWA1;
-
-typedef struct {
-                 char boro_name[9];      /* Boro Name of First Street*/
-                 char hse_nbr_disp[16];  /* House nbr in Normalized  */
-                                         /* Display form             */
-                 char hse_nbr_hns[11];   /* House number in Sort Form*/
-                 STREET sto[3];          /* Street Information       */
-                 BBL bblo;               /* Boro(len=1), Block(len=5)*/
-                                         /* and Lot (len=4)-Normalizd*/
-                 char filler05;          /* Filler-Tax Lot Version # */
-                 char lo_hse_nbr_disp[16]; /* low Hse nbr - display  */
-                 char lo_hse_nbr_hns[11]; /* low Hse nbr - sort form */
-                 char bin[7];            /* Building Id Number       */
-                 char attrbytes[3];      /* NAP Identification Number*/
-                 char reason_code_2;     /* 2nd Reason Code          */
-                 char reason_code_qual_2;/* 2nd Reason Code Qualifier*/
-             //  char filler08_2;        /* Future Use               */
-                 char warn_code_2[2];    /* 2nd Warning Return Code  */
-                 char ret_code_2[2];     /* 2nd GeoSupport Return Cod*/
-                 char msg_2[80];         /* 2nd GeoSupport Message   */
-                 char node[7];           /* Node output for Fn 2     */
-                 UNIT units;             /* Output unit Sort    V16.4*/
-                 char unitd[UNIT_SIZE];  /* Output unit Display V16.4*/
-                 char filler07[11];      /* Future Use               */
-                 char nap_id_nbr[6];     /* NAP Id Nbr - Not Impl.   */
-                 char int_use1;          /* Internal Use Only        */
-                 char reason_code;       /* Reason Code              */
-                 char reason_code_qual;  /* Reason Code Qualifier    */
-             //  char filler08;          /* Future Use               */
-                 char warn_code[2];      /* Warning Ret. Code-NotImpl*/
-                 char ret_code[2];       /* GeoSupport Return Code   */
-                 char msg[80];           /* GeoSupport Message       */
-                 char nbr_names[2];      /* Nbr of Sreet Names       */
-                 char B_7SC[10][8];      /* 10 Boro+7-digit st codes */
-                 char st_names[10][32];  /* Up to 10 Street Names    */
-               } OUTWA1;
-
- /*********************************************************************/
- /*                                                                   */
- /*                 Platform-Independent Work Area 1                  */
- /*                                                                   */
- /*********************************************************************/
-
-typedef struct { INWA1 input;
-                 OUTWA1 output;
-               } C_WA1;
-
- /******************************************************************/
- /*                                                                */
- /*     Group Items Used in Platform-Independent Work Area 2's     */
- /*                                                                */
- /******************************************************************/
-
-typedef struct {                         /* LION KEY                 */
-                 char lion_boro;         /* LION Borough Code        */
-                                         /* Differs from GeoSupport  */
-                                         /* Borough Codes            */
-                 char face[4];           /* Face Code                */
-                 char seq[5];            /* Sequence Number          */
-               } LION;
-
-typedef struct {
-                 char nbr_sts;           /* Number of streets */
-                 char B5SC[5][6];        /* Boro+5 Street Code*/
-               } St_list;
-
-typedef struct {                    /* used for longwa for TPAD */
-  char bin[7];                             /* BIN               */
-  char status;                             /* Status of BIN     */
-} TPAD_LIST;
-
-typedef struct {
-  TPAD_LIST   tpadlist[2187];            /* or BINs + Status Byte  */
-  char        fill[4];
-} TPADLST;
-
-typedef struct { char lo_hse_nbr[16];    /* Low House Nbr-Disply form*/
-                 char hi_hse_nbr[16];    /* Hi House Nbr-Display form*/
-                 char B5SC[6];           /* Boro & 5 digit Str Code  */
-                 char lgc[2];            /* DCP Preferred Street LGC */
-                 char bld_id[7];         /* BIN of address range     */
-                 char sos_ind;           /* Side of Street Indicator */
-                 char adr_type;          /* Address type - P=NAP,    */
-                                         /*    B=NAB, Blank=Normal   */
-                 char TPAD_bin_status;   /* Status of Job            */
-                 char filler01[3];       /* Future Use               */
-               } ADDR_RANGE;
-
-typedef struct {
-  char lo_hse_nbr[16];                   /* Low House Nbr-Disply form*/
-  char hi_hse_nbr[16];                   /* Hi House Nbr-Display form*/
-  char B5SC[6];                          /* Boro & 5 digit Str Code  */
-  char lgc[2];                           /* DCP Preferred Street LGC */
-  char bld_id[7];                        /* BIN of address range     */
-  char sos_ind;                          /* Side of Street Indicator */
-  char adr_type;                         /* Address type             */
-                                         /* (Blank = Normal)         */
-  char TPAD_bin_status;                  /* Status of BIN from TPAD  */
-  char st_name[32];                      /* Street Name              */
-  char filler01[34];                     /* Future Use               */
-} ADDR_RANGE_1AX;
-
-typedef struct { char lo_hse_nbr[16];    /* Low House Nbr-Disply form*/
-                 char hi_hse_nbr[16];    /* Hi House Nbr-Display form*/
-                 char B5SC[6];           /* Boro & 5 digit Str Code  */
-                 char lgc[2];            /* DCP Preferred Street LGC */
-                 char bld_id[7];         /* BIN of address range     */
-                 char sos_ind;           /* Side of Street Indicator */
-                 char adr_type;          /* Address type - V=VANITY  */
-                                         /*   Blank=Normal           */
-                 char filler02;          /* filler for func AP       */
-                 char filler01[3];       /* Future Use               */
-               } ADDR_RANGE_AP;
-
-typedef struct { char lo_hse_nbr[16];    /* Low House Nbr-Disply form*/
-                 char hi_hse_nbr[16];    /* Hi House Nbr-Display form*/
-                 char B5SC[6];           /* Boro & 5 digit Str Code  */
-                 char lgc[2];            /* DCP Preferred Street LGC */
-                 char bld_id[7];         /* BIN of address range     */
-                 char sos_ind;           /* Side of Street Indicator */
-                 char adr_type;          /* Address type - V=VANITY  */
-                                         /*    Blank=Normal          */
-                 char filler02;          /* filler for func APX      */
-                 char st_name[32];       /* Street Name              */
-                 char filler01[34];      /* Future Use               */
-               } ADDR_RANGE_APX;
-
-typedef struct { char sanborn_boro;      /* Sanborn Borough Code     */
-                 char sanborn_vol[3];    /* Sanborn Volume           */
-                 char sanborn_page[4];   /* Sanborn Page             */
-               } SANBORN;
-
-typedef struct { char com_dist[3];       /* Community District       */
-                 char lo_hse_nbr[16];    /* Low House Nbr-Disply form*/
-                 char hi_hse_nbr[16];    /* Hi House Nbr-Display form*/
-                 char filler01[32];      /* Future Use               */
-                 char iaei;              /* Interim Ass'tance Elig   */
-                                         /* Indicator                */
-                 char zip_code[5];       /* Zip code for Street seg. */
-                 char health_area[4];    /* Health Area        */
-                 char police_boro_com;   /* Police Patrl Boro Command*/
-                 char police_pre[3];     /* Police Precinct          */
-                 char fire_divisn[2];    /* Fire Division            */
-                 char fire_bat[2];       /* Fire Battalion           */
-                 char fire_co_type;      /* Fire Company Type        */
-                 char fire_co_nbr[3];    /* Fire Company Number      */
-                 char com_schl_dist[2];  /* Community School District*/
-                 char dynam_blk[3];      /* Atomic Polygon           */
-                                         /* (was Dynamic Block)      */
-                 char ED[3];             /* ED                       */
-                 char AD[2];             /* AD                       */
-                 char police_pat_boro[2];/* Police Patrol Borough    */
-           //    char instruc_div[2];    /* Instructional Division   */
-                 char filler02;          /* Future Use               */
-                 char boro;              /* Used for the NTA name    */
-                 char cen_tract_90[6];   /* 1990 Census Tract        */
-                 char cen_tract_10[6];   /* 2010 Census Tract        */
-                 char cen_blk_10[4];     /* 2010 Census Block        */
-                 char cen_blk_10_sufx;   /* 2010 Census Block Suffix */
-                                         /* 2010 Suffix Not Implement*/
-                 char cen_tract_2000[6]; /* 2000 Census Tract        */
-                 char cen_blk_2000[4];   /* 2000 Census Block        */
-                 char cen_blk_2000_sufx; /* 2000 Census Block Suffix */
-            //   char blockface_id[7];   /* "Blockface ID" became    */
-                 char filler03[7];       /* filler   V16.1           */
-                 char nta[4];            /* Neighborhood Tabulation  */
-                                         /* Area                     */
-                 char filler04[8];       /* Future Use               */
-               } SEGSIDE;
-
-typedef struct { char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                         /* Alternative Boro flag    */
-                 char len[5];            /* Len in ft from prev node */
-                 char gap_flag;          /* Gap Flag                 */
-                 char node_nbr[7];       /* Node Number of Intersect */
-                 char nbr_streets;       /* Nbr streets intersecting */
-                 char B7SC[5][8];        /* Lowest B7SC at Intersect */
-                                         /* is first and 2nd Lowest  */
-                                         /* B7SC is next. Remaining  */
-                                         /* B7SC's in no particular  */
-                                         /* order.                   */
-               } CROSS_STRS;
-
- /********************************************************************/
- /*                                                                  */
- /*        Platform-Independent Work Area 2 for Function 1           */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct { char filler01[21];
-                 char cont_parity_ind;   /* Continuous Parity Ind.   */
-                                         /* or Duplicate Address Ind.*/
-                 char lo_hse_nbr[11];    /* Lo House nbr in Sort form*/
-                 char hi_hse_nbr[11];    /* Hi House Nbr in Sort form*/
-                 char lgc[2];            /* DCP or BOE Preferred LGC */
-                 St_list st[2];          /* 1=Low and 2=High         */
-                                         /* Nbr of cross streets at  */
-                                         /* low house nbr end of st  */
-                                         /* B5SCs of lo end cross st */
-                 LION key;               /* LION Key - 10 Characters */
-                 char sagr_flag;         /* Special Address Generated*/
-                                         /* Record flag              */
-                 char sos_ind;           /* Side of Street Indicator */
-                 char seg_len[5];        /* Segment Length in Feet   */
-                 char coord[3][7];       /* 1 = X coordinate,        */
-                                         /* 2 = Y coordinate,        */
-                                         /* 3 = Z coordinate, Not Imp*/
-                 char iaei;              /* Interim Ass'tance Elig   */
-                                         /* Indicator                */
-                 char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                         /* Alternative Borough flag */
-                 char DOT_slca;          /* DOT St Lght Contractr Are*/
-                 char com_dist[3];       /* Community District       */
-                                         /* Position 0 contains the  */
-                                         /* CD Boro Code & Pos 1 & 2,*/
-                                         /* the district number      */
-                 char zip_code[5];       /* Zip code for st seg      */
-
-           /* Following seven fields used for Function 1E only*/
-
-                 char ed[3];             /* Election District        */
-                 char ad[2];             /* Assembly District        */
-                 char sped_flag;         /* Split Elect District Flag*/
-                 char congress_dist[2];  /* Congressional District   */
-                 char state_sen_dist[2]; /* State Senatorial District*/
-                 char civil_court[2];    /* Civil Court District     */
-                 char city_council[2];   /* City Council District    */
-                 char health_cent[2];    /* Health Center Dictr*/
-                 char health_area[4];    /* Health Area        */
-                 char sanit_dist[3];     /* Sanitation District      */
-                 char sanit_sub_sect[2]; /* Sanit Collect Scheduling */
-                                         /* Section and Subsection   */
-                 char sanit_reg_pick_up[5]; /* Regular Pick up       */
-                 char sanit_recycle[3];  /* Recycle pick up          */
-                 char police_boro_com;   /* Police Patrol Boro Commnd*/
-                 char police_pre[3];     /* Police Precinct          */
-                 char fire_divisn[2];    /* Fire Division            */
-                 char fire_bat[2];       /* Fire Battalion           */
-                 char fire_co_type;      /* Fire Company Type        */
-                 char fire_co_nbr[3];    /* Fire Company Number      */
-                 char filler_scsd;       /* Was Split Com School     */
-                                         /* District Flag            */
-                 char com_schl_dist[2];  /* Community School District*/
-                 char dynam_blk[3];      /* Atomic Polygon           */
-                                         /* (was Dynamic Block)      */
-                 char police_pat_boro[2];/* Police Patrol Borough    */
-         //      char filler_indv[2];    /*                          */
-         //      char instruc_div[2];    /* Instructional Division   */
-                 char feature_type;      /* Feature Type Code        */
-                 char segmenttypecode;   /* Segment Type Code        */
-                 char alx;               /* Segment split by Alley(s)*/
-                                         /* A=Split by Alley(s)      */
-                                         /* X=Cross Streets Modified */
-                 char coincident_seg_cnt; /* Coincident Segment      */
-                                         /*    Counter               */
-                 char filler02[2];       /* Future Use               */
-                 char boro_of_cen_tract; /* boro of Census Tract used*/
-                 char cen_tract_90[6];   /* 1990 Census Tract        */
-                 char cen_tract_10[6];   /* 2010 Census Tract        */
-                 char cen_blk_10[4];     /* 2010 Census Block        */
-                 char cen_blk_10_sufx;   /* 2010 Census Block Suffix */
-                                         /* 2010 Suffix Not Implement*/
-                 char cen_tract_2000[6]; /* 2000 Census Tract        */
-                 char cen_blk_2000[4];   /* 2000 Census Block        */
-                 char cen_blk_2000_sufx; /* 2000 Census Block Suffix */
-                 char nta[4];            /* Neighborhood Tabulation  */
-                                         /* Area                     */
-                 char sanit_snow_priority;/* Sanitation Street Snow  */
-                                         /* Priority (P,S,T,V)       */
-                 char sanit_org_pick_up[5];/* Organics Pick up       */
-                 char sanit_bulk_pick_up[5]; /* Bulk Pick Up V16.4   */
-               //char sanit_reserved[5]; /* Reserved for Possible    */
-                 char hurricane_zone[2]; /* Hurricane Evacuation Zone*/
-                 char filler04[11];      /* Future Use               */
-                 char true_hns[11];      /* Underlying HNS           */
-                 char true_b7sc[8];      /* True Boro 7 Street Code  */
-                 char seg_id[7];         /* Segment Identifier       */
-                 char curv_flag;         /* Curve Flag               */
-               } C_WA2_F1;
-
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function 1V/1W         */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {
-  C_WA2_F1 c_wa2_f1;
-  char int_use[8];                       /* valid on street lgcs     */
-  char boe_lgc;                          /* BOE LGC Pointer          */
-  char seg_azm[3];                       /* Segment Azimuth          */
-  char seg_orient;                       /* Segment Orientation      */
-  char seg_coord[2][3][7];               /* Spatial Coordinates of   */
-                                         /* Segment                  */
-  char cc_coord[3][7];                   /* Spatial Coordinates of   */
-                                         /* Center of Curvature      */
-  char radius[7];                        /* Radius of Circle         */
-  char cc_sos;                           /* Center of Curvature Side */
-                                         /* of Street Flag           */
-  char node_angles[2][5];                /* Angle to FROM & TO Nodes */
-  char nodes[2][7];                      /* LION Node Numbers of     */
-                                         /* FROM and TO nodes        */
-  LION LION_key;                         /* LION Key for Vanity      */
-                                         /* Addresses                */
-  char LION_sos_ind;                     /* LION SoS Indicator       */
-  char split_low_hn[11];                 /* Split Low House Number   */
-  char traffic_dir;                      /* Traffic Direction        */
-  char turn_restricts[10];               /* Turn restrictions        */
-  char curve_fraction[3];                /*                          */
-  char roadway_type[2];                  /* Roadway Type             */
-  char physical_id[7];                   /*                          */
-  char generic_id[7];                    /*                          */
-  char filler03[7];                      /* DCP internal use         */
-  char filler04[7];                      /* DCP internal use         */
-//char blockface_id[7];      /** V16.1 **  blockface id 10 bytes long*/
-  char bike_lane_2[2];                   /*Bike Lane has 2 bytes     */
-                                         /* numeric value moved in   */
-                                         /* wa2 of F1EX              */
-  char bike_traffic_dir[2];              //V17.1 Bike Traffic Direction
-  char filler05[3];                      // V17.1
-  char status;                           /*                          */
-  char str_width[3];                     /*                          */
-  char str_width_irregular;              /* Yes or No                */
-  char bike_lane;                        /*                          */
-  char fcc[2];                           /* Federal Classification Cd*/
-  char row_type;                         /*                          */
-  char lgcs_additional[5][2];            /* additional lgcs for on st*/
-} C_WA2_F1V;
-
- /********************************************************************/
- /*                                                                  */
- /*   Platform-Independent Work Area 2 for Function 1E Extended      */
- /*                                                                  */
- /********************************************************************/
-typedef struct {                         /* Fn 1E with extra bytes   */
-  C_WA2_F1V cwa2f1v;
-  char legacy_segid[7];                  /*                          */
-  char from_preferred_lgcs[5][2];        /*                          */
-  char to_preferred_lgcs[5][2];          /*                          */
-  char from_additional_lgcs[5][2];       /*                          */
-  char to_additional_lgcs[5][2];         /*                          */
-  char no_x_st_calc_flg;                 /* No Cross Street          */
-                                         /* Calculation Flag         */
-  char indiv_seg_len[5];                 /* Individual Segment Length*/
-                                         /* Used with Above Flag     */
-  char nta_name[75];                     /* Neighborhood Tabulation  */
-                                         /* Area Name                */
-  char USPS_city_name[25];               /* USPS Preferred City Name */
-  char latitude[9];                      /* Latitude calc from X-Y   */
-  char longitude[11];                    /* Longitude calc from X-Y  */
-  char seg_from_node[7];                 /* Segment from node        */
-  char seg_to_node[7];                   /* Segment to node          */
-  char seg_from_xyz[3][7];               /* XYZ coord (segment from) */
-  char seg_to_xyz[3][7];                 /* XYZ coord (segment to)   */
-  char blockface_id[10];                 /* NEW location V16.1       */
-                                         /* because of length changed*/
-  char nbr_travel_lanes[2];              /* nbr of traveling lanes   */
-  char nbr_park_lanes[2];                /* nbr of parking lanes     */
-  char nbr_total_lanes[2];               /* total nbr of lanes       */
-  char str_width_max[3];                 /*street width maximum      */
-  char filler6[252];                     /* Future Use               */
-  char reason_code;                      /* Reason Code              */
-  char reason_code_qual;                 /* Reason Code Qualifier    */
-  char warn_code[2];                     /* Warning Return Code      */
-  char ret_code[2];                      /* GeoSupport Return Code   */
-  char nbr_names_lo;                     /* Nbr of St Names Low End  */
-  char B7SC_lo[5][8];                    /* 5(Boro+7-digit) st codes */
-  char nbr_names_hi;                     /* Nbr of St Names High End */
-  char B7SC_hi[5][8];                    /* 5 Boro+7-digit st codes  */
-  char st_names_lo[5][32];               /* Up to 5 St Names Low End */
-  char st_names_hi[5][32];               /* Up to 5 St Names High End*/
-  char BOE_B5SC[6];                      /* BOE Preffered B7SC       */
-  char BOE_lgc[2];                       /* BOE Preffered B7SC       */
-  char BOE_st_name[32];                  /* BOE Preffered Street Name*/
-  char filler7[52];                      /* Future Use               */
-} C_WA2_F1EX;                            /* Fn 1EX with filler       */
-
- /********************************************************************/
- /*                                                                  */
- /*   Platform-Independent Work Area 2 for Function 1A Extended      */
- /*                                                                  */
- /********************************************************************/
-typedef struct {                         /* Fn 1A with extra bytes   */
-  char filler01[21];
-  char cont_parity_ind;                  /* Continuous Parity Ind    */
-                                         /* or Duplicate Address Ind */
-  char lo_hse_nbr[11];                   /* Low House Number-Sort Frm*/
-
-  BBL  bbl;                              /* Borough-Block-Lot        */
-  char filler02;                         /* Reserved for Tax Lot Ver#*/
-  char RPAD_scc;                         /* RPAD Self_Check Code(SCC)*/
-  char filler03;
-  char RPAD_lucc[2];                     /* RPAD Land Use Class. Code*/
-  char corner[2];                        /* Corner Code              */
-  char nbr_blds[4];                      /* Nbr of buildings on lot  */
-  char nbr_str[2];                       /* Nbr Street Frontages     */
-  char inter_flag;                       /* Interior Lot Flag        */
-  char vacant_flag;                      /* Vacant Lot Flag          */
-  char irreg_flag;                       /* Irregularly-Shaped Lot Fl*/
-  char mh_ri_flag;                       /* Marble Hill/Rikers Island*/
-  char adr_range_overflow;               /* Addr Rnge Lst Ovrflow Flg*/
-  char stroll_key[18];                   /* Strolling key Not Implem */
-  char filler04;
-  char res_internal_use;                 /* Reserved for Internal Use*/
-  char bld_id[7];                        /* Building Ident. Number   */
-                                         /* (BIN) of Input Address of*/
-                                         /* Existing Building, If any*/
-  char condo_flag;                       /* Condominium Flag         */
-  char filler05;                         /* Future Use               */
-  char condo_id[4];                      /* RPAD Condo Id Number     */
-  char condo_unit_id[7];                 /* Condo Unit Id Nbr-Not Imp*/
-  BBL  condo_bill_bbl;                   /* Condo Billing BBL        */
-  char filler06;                         /* Reserved for Tax Lot Ver */
-  char condo_scc;                        /* Self-Check Code          */
-  BBL  condo_lo_bbl;                     /* Low BBL of Condo         */
-  char filler07;                         /* Reserved for Tax Lot Ver */
-  BBL  condo_hi_bbl;                     /* High BBL of Condo        */
-  char filler08;                         /* Reserved for Tax Lot Ver */
-  char filler09[15];
-  char co_op_nbr[4];                     /* Co-op Number             */
-  SANBORN San;                           /* Sanborn Information      */
-  char business_area[5];                 /* Business Area            */
-  char tax_map_nbr[5];                   /* Tax Map Nbr-Sect and Vol */
-  char filler10[4];                      /* Tax Map Nbr Page Not Impl*/
-  char filler11[3];
-  char latitude[9];                      /* Latitude calc from X-Y   */
-  char longitude[11];                    /* Longitude calc from X-Y  */
-  char coord[2][7];                      /* 1 = X coordinate-Annotat */
-                                         /* 2 = Y coordinate-Annotat */
-  char bid_id[6];                        /* Business Improvement     */
-                                         /* District ID (BID)        */
-
-  char TPAD_bin_status;                  /* Status of Demolition job */
-                                         /* on Existing BIN of Input */
-                                         /* Address                  */
-  char TPAD_new_bin[7];                  /* BIN for New Building     */
-  char TPAD_new_bin_status;              /* Status of New Buildng BIN*/
-  char TPAD_conflict_flag;               /* From TPAD                */
-  char filler12[9];
-
-  char int_use[8];                       /* Internal Use             */
-  char reason_code;                      /* Reason Code              */
-  char reason_code_qual;                 /* Reason Code Qualifier    */
-  char warn_code[2];                     /* Warning Return Code      */
-  char ret_code[2];                      /* GeoSupport Return Code   */
-  char filler14[108];
-  char nbr_addr[4];                      /* Nbr of Addr Ranges or Nbr*/
-                                         /* of BINs in List          */
-  ADDR_RANGE_1AX addr_range_1ax[21];
-} C_WA2_F1AX;                            /* Fn 1AX with filler       */
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function 1B            */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {                         /* Function 1B              */
-  C_WA2_F1EX cwa2f1ex;                   /* 1EX Component            */
-  C_WA2_F1AX cwa2f1ax;                   /* 1AX Component            */
-} C_WA2_F1B;                             /* Fn 1B                    */
-
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function 1A            */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {
-   char filler01[21];
-   char cont_parity_ind;   /* Continuous Parity Ind    */
-                           /* or Duplicate Address Ind */
-   char lo_hse_nbr[11];    /* Low House Number-Sort Frm*/
-
-   BBL bbl;                /* Borough-Block-Lot        */
-   char filler02;          /* Reserved for Tax Lot Ver#*/
-   char RPAD_scc;          /* RPAD Self_Check Code(SCC)*/
-   char filler03;
-   char RPAD_lucc[2];      /* RPAD Land Use Class. Code*/
-   char corner[2];         /* Corner Code              */
-   char nbr_blds[4];       /* Nbr of buildings on lot  */
-   char nbr_str[2];        /* Nbr Street Frontages     */
-   char inter_flag;        /* Interior Lot Flag        */
-   char vacant_flag;       /* Vacant Lot Flag          */
-   char irreg_flag;        /* Irregularly-Shaped Lot Fl*/
-   char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-   char adr_range_overflow;/* Addr Rnge Lst Ovrflow Flg*/
-   char stroll_key[18];    /* Strolling key            */
-   char filler04;
-   char res_internal_use;  /* Reserved for Internal Use*/
-   char bld_id[7];         /* Building Ident. Number   */
-                           /* (BIN) of Input Address of*/
-                           /* Existing Building, If any*/
-   char condo_flag;        /* Condominium Flag         */
-   char filler05;          /* Future Use               */
-   char condo_id[4];       /* RPAD Condo Id Number     */
-   char condo_unit_id[7];  /* Condo Unit Id Nbr-Not Impl*/
-   BBL  condo_bill_bbl;    /* Condo Billing BBL        */
-   char filler06;          /* Reserved for Tax Lot Ver */
-   char condo_scc;         /* Self-Check Code          */
-   BBL  condo_lo_bbl;      /* Low BBL of Condo         */
-   char filler07;          /* Reserved for Tax Lot Ver */
-   BBL  condo_hi_bbl;      /* High BBL of Condo        */
-   char filler08;          /* Reserved for Tax Lot Ver */
-   char filler09[15];
-   char co_op_nbr[4];      /* Co-op Number             */
-   SANBORN San;            /* Sanborn Information      */
-   char business_area[5];  /* Business Area            */
-   char tax_map_nbr[5];    /* Tax Map Nbr-Sect and Vol */
-   char filler10[4];       /* Tax Map Nbr Page Not Impl*/
-   char filler11[3];
-   char latitude[9];       /* Latitude calc from X-Y   */
-   char longitude[11];     /* Longitude calc from X-Y  */
-   char coord[2][7];       /* 1 = X coordinate-Annotat */
-                           /* 2 = Y coordinate-Annotat  */
-   char bid_id[6];         /* Business Improvement Dist */
-                           /* District ID (BID)         */
-   char TPAD_bin_status;   /* Existing BIN of Input Addr*/
-   char TPAD_new_bin[7];    /* BIN for New Building job */
-   char TPAD_new_bin_status;/* Status of New Buildng BIN*/
-   char TPAD_conflict_flag; /* From TPAD                */
-   char filler12[9];
-   char int_use[8];        /* Internal Use             */
-   char nbr_addr[4];       /* Nbr of Addr Ranges or Nbr*/
-                           /* of BINs in List          */
-   union {
-           ADDR_RANGE addr_range[21]; /* List of Addr  */
-           TPADLST   tpad_list;       /*or BINs + Status Byte */
-           char bin_list[2500][7];    /* or BINs*/
-         } bar;
-} C_WA2_F1A;
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function AP            */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {
-   char filler01[21];
-   char cont_parity_ind;   /* Continuous Parity Ind    */
-                           /* or Duplicate Address Ind */
-   char lo_hse_nbr[11];    /* Low House Number-Sort Frm*/
-
-   BBL bbl;                /* Borough-Block-Lot        */
-   char filler02;          /* Reserved for Tax Lot Ver#*/
-   char fil_RPAD_scc;      /* filler for func AP       */
-   char filler03;
-   char fil_RPAD_lucc[2];  /* fillers for func AP      */
-   char fil_corner[2];     /* fillers for func AP      */
-   char nbr_blds[4];       /* Nbr of buildings on lot  */
-   char fil_nbr_str[2];    /* fillers for func AP      */
-   char fil_inter_flag;    /* filler for func AP       */
-   char fil_vacant_flag;   /* filler for func AP       */
-   char fil_irreg_flag;    /* filler for func AP       */
-   char fil_mh_ri_flag;    /* filler for func AP       */
-   char fil_adr_range_overflow;/* filler for func AP   */
-   char fil_stroll_key[18];/* fillers for func AP      */
-   char filler04;
-   char res_internal_use;  /* Reserved for Internal Use*/
-   char bld_id[7];         /* Building Ident. Number   */
-                           /* (BIN) of Input Address of*/
-                           /* Existing Building,       */
-   char condo_flag;        /* Condominium Flag         */
-   char filler05;          /* Future Use               */
-   char condo_id[4];       /* RPAD Condo Id Number     */
-   char filler_unit_id[7]; /* Condo Unit Id Nbr-Not Impl*/
-   BBL  condo_bill_bbl;    /* Condo Billing BBL        */
-   char filler06;          /* Reserved for Tax Lot Ver */
-   char fil_condo_scc;     /* filler for func AP       */
-   BBL  condo_lo_bbl;      /* Low BBL of Condo         */
-   char filler07;          /* Reserved for Tax Lot Ver */
-   BBL  condo_hi_bbl;      /* High BBL of Condo        */
-   char filler08;          /* Reserved for Tax Lot Ver */
-   char filler09[15];
-   char co_op_nbr[4];      /* Co-op Number             */
-   char fil_sanborn[8];    /* fillers for func AP      */
-   char fil_business_area[5];  /* fillers for func AP  */
-   char fil_tax_map_nbr[5];    /* fillers for func AP  */
-   char filler10[4];
-   char filler11[3];
-   char latitude[9];       /* Latitude calc from X-Y   */
-   char longitude[11];     /* Longitude calc from X-Y  */
-   char coord[2][7];       /* 1 = X coordinate from AP */
-                           /* 2 = Y coordinate from AP */
-   char fil_bid_id[6];          /* fillers for func AP */
-   char fil_TPAD_bin_status;    /* fillers for func AP */
-   char fil_TPAD_new_bin[7];    /* fillers for func AP */
-   char fil_TPAD_new_bin_status;/* filler for func AP  */
-   char fil_TPAD_conflict_flag; /* filler for func AP  */
-   char ap_id[9];               /* Address Point Id    */
-   char int_use[8];             /* Internal Use        */
-   char nbr_addr[4];            /* Nbr of Addr = 0001  */
-
-   union {
-           ADDR_RANGE_AP addr_range_ap[21]; /* List of Addr  */
-           char fil_tpad_list[2191];
-           char fil_bin_list[2500][7];
-         } bar;
-} C_WA2_FAP;
-
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function APX           */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {
-   char filler01[21];      /* Fn AP with extra bytes   */
-   char cont_parity_ind;   /* Continuous Parity Ind    */
-                           /* or Duplicate Address Ind */
-   char lo_hse_nbr[11];    /* Low House Number-Sort Frm*/
-
-   BBL bbl;                /* Borough-Block-Lot        */
-   char filler02;          /* Reserved for Tax Lot Ver#*/
-   char fil_RPAD_scc;      /* filler for func AP       */
-   char filler03;
-   char fil_RPAD_lucc[2];  /* fillers for func AP      */
-   char fil_corner[2];     /* fillers for func AP      */
-   char nbr_blds[4];       /* Nbr of buildings on lot  */
-   char fil_nbr_str[2];    /* fillers for func AP      */
-   char fil_inter_flag;    /* filler for func AP       */
-   char fil_vacant_flag;   /* filler for func AP       */
-   char fil_irreg_flag;    /* filler for func AP       */
-   char fil_mh_ri_flag;    /* filler for func AP       */
-   char fil_adr_range_overflow;/* filler for func AP   */
-   char fil_stroll_key[18];/* fillers for func AP      */
-   char filler04;
-   char res_internal_use;  /* Reserved for Internal Use*/
-   char bld_id[7];         /* Building Ident. Number   */
-                           /* (BIN) of Input Address of*/
-                           /* Existing Building,       */
-   char condo_flag;        /* Condominium Flag         */
-   char filler05;          /* Future Use               */
-   char condo_id[4];       /* RPAD Condo Id Number     */
-   char filler_unit_id[7]; /* Condo Unit Id Nbr-Not Impl*/
-   BBL  condo_bill_bbl;    /* Condo Billing BBL        */
-   char filler06;          /* Reserved for Tax Lot Ver */
-   char fil_condo_scc;     /* filler for func AP       */
-   BBL  condo_lo_bbl;      /* Low BBL of Condo         */
-   char filler07;          /* Reserved for Tax Lot Ver */
-   BBL  condo_hi_bbl;      /* High BBL of Condo        */
-   char filler08;          /* Reserved for Tax Lot Ver */
-   char filler09[15];
-   char co_op_nbr[4];      /* Co-op Number             */
-   char fil_sanborn[8];    /* fillers for func AP      */
-   char fil_business_area[5];  /* fillers for func AP  */
-   char fil_tax_map_nbr[5];    /* fillers for func AP  */
-   char filler10[4];
-   char filler11[3];
-   char latitude[9];       /* Latitude calc from X-Y   */
-   char longitude[11];     /* Longitude calc from X-Y  */
-   char coord[2][7];       /* 1 = X coordinate from AP */
-                           /* 2 = Y coordinate from AP */
-   char fil_bid_id[6];          /* fillers for func AP */
-   char fil_TPAD_bin_status;    /* fillers for func AP */
-   char fil_TPAD_new_bin[7];    /* fillers for func AP */
-   char fil_TPAD_new_bin_status;/* filler for func AP  */
-   char fil_TPAD_conflict_flag; /* filler for func AP  */
-   char ap_id[9];               /* Address Point Id    */
-   char int_use[8];             /* Internal Use        */
-   char reason_code;            /* Reason Code              */
-   char reason_code_qual;       /* Reason Code Qualifier    */
-   char warn_code[2];           /* Warning Return Code      */
-   char ret_code[2];            /* GeoSupport Return Code   */
-   char filler14[108];
-   char nbr_addr[4];            /* Nbr of Addr = 0001  */
-
-   ADDR_RANGE_APX addr_range_apx[21];
-} C_WA2_FAPX;
-
- /********************************************************************/
- /*                                                                  */
- /*       Platform-Independent Work Area 2 for Function 2            */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct { char filler01[21];
-                 char rep_cnt;           /* Intersection Replication */
-                                         /* Counter*/
-                 char lgc[2][2];         /* Preferred LGCs           */
-                 St_list inter;          /* Number of Intersecting St*/
-                                         /* B5SCs of Intersection St */
-                 char Dup_comp;          /* Duplicate compass Directn*/
-                 char atomic_polygon[3]; /* Atomic Polygon added V131*/
-                 char filler02[2];
-                 char LION_node_nbr[7];  /* LION Node Number         */
-                 char coord[3][7];       /* 1 = X coordinate,        */
-                                         /* 2 = Y coordinate,        */
-                                         /* 3 = Z coordinate, Not Imp*/
-                 SANBORN San[2];         /* Sanborn Information      */
-                 char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                 char DOT_slca;          /* DOT St Lght Contractr Are*/
-                 char com_dist[3];       /* Community District       */
-                 char zip_code[5];       /* Zip code for st segment  */
-                 char health_area[4];    /* Health Area        */
-                 char police_boro_com;   /* Police Patrol Boro Commnd*/
-                 char police_pre[3];     /* Police Precinct          */
-                 char fire_sector[2];    /* Fire Sector              */
-                 char fire_bat[2];       /* Fire Battalion           */
-                 char fire_co_type;      /* Fire Company Type        */
-                 char fire_co_nbr[3];    /* Fire Company Number      */
-                 char com_schl_dist[2];  /* Community School District*/
-                 char cen_tract_10[6];   /* 2010 Census Tract        */
-                 char cen_tract_90[6];   /* 1990 Census Tract        */
-                 char level_codes [10];  /* Level codes              */
-                 char police_pat_boro[2];/* Police Patrol Borough    */
-         //      char filler_indv[2];    /*                          */
-         //      char instruc_div [2];   /* Instructional Division   */
-                 char ad[2];             /* Assembly District        */
-                 char congress_dist[2];  /* Congressional District   */
-                 char state_sen_dist[2]; /* State Senatorial District*/
-                 char civil_court[2];    /* Civil Court District     */
-                 char city_council[2];   /* City Council District    */
-                 char cd_eligible;       /* CD Eligibility           */
-                 char dup_intersect_distance[5];  /*Distance in Feet */
-                                         /*Betwn Duplicate Intersects*/
-                                         /* not implemented */
-                 char cen_tract_2000[6]; /* 2000 Census Tract        */
-                 char health_cen_dist[2];/* Health Cent Distr*/
-                 char sanit_dist[3];     /* Sanitation District      */
-                 char sanit_sub_sect[2]; /* Sanit Collect Scheduling */
-                                         /* Section and Subsection   */
-                 char filler03[12];
-               } C_WA2_F2;
-
- /********************************************************************/
- /*                                                                  */
- /*   Platform-Independent Work Area 2 for Function 2W               */
- /********************************************************************/
-typedef struct {                         /* Fn 2 - 200 Bytes         */
-  C_WA2_F2 cwa2f2;                       /* Start with Fn 2 WA2      */
-  char filler04[22];                     /* Fields used for Grid gen */
-  char lgcs_first_intersct[4][2];        /* Up to 4 LGC's for 1st    */
-                                         /* intersecting street;     */
-  char lgcs_second_intersct[4][2];       /* Up to 4 LGC's for 2nd    */
-                                         /* intersecting street;     */
-  char turn_restricts[10];               /* Up to 10 Turn restrictns */
-  char pref_lgc_list[5][2];              /* Preferd LGCs for Str list*/
-  char true_rep_cnt[2];                  /* True Int Replication Cntr*/
-  char dup_node_list[20][7];       /* 140 *Node list for dup str code*/
-  char b7sc_list[20][5][4][8];     /* 3200 *B7SC lists for Node list */
-  char reason_code;                      /* Reason Code              */
-  char reason_code_qual;                 /* future use               */
-  char warn_code[2];                     /* Warning Return Code      */
-  char ret_code[2];                      /* GeoSupport Return Code   */
-  char latitude[9];                      /* Latitude calc from X-Y   */
-  char longitude[11];                    /* Longitude calc from X-Y  */
-  char filler8[374];                     /* Future Use               */
-} C_WA2_F2W, *PC_WA2_F2W;                /* Fn 2W with filler        */
- /********************************************************************/
- /*                                                                  */
- /*        Platform-Independent Work Area 2 for Function 3           */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct { char filler01[21];
-                 char dup_key_flag;      /* Duplicate Key Flag or    */
-                                         /* Continuous Parity Flag   */
-                 char loc_stat_seg;      /* Locational Status of Seg */
-                 char cnty_bnd_ind;      /* County Boundary Indicat  */
-                 char lgc[3][2];         /* Preferred LGCs           */
-                 St_list st[2];          /* 1=Low and 2=High         */
-                                         /* Nbr of cross sts at low  */
-                                         /* house nbr end of street  */
-                                         /* B5SCs of lo end X sts    */
-                 char x_street_reversal_flag; /* X St Reversal Flag  */
-                 LION key;               /* LION Key                 */
-                 char genr_flag;         /* Generated Record Flag    */
-                 char seg_len[5];        /* Segment Length in Feet   */
-                 char seg_azm[3];        /* Segment Azimuth          */
-                 char seg_orient;        /* Segment Orientation      */
-                 char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                         /* Alternative Boro flag    */
-                 char from_node[7];      /* From node                */
-                 char to_node[7];        /* To node                  */
-                 char sanit_snow_priority;/* Sanitation Street Snow  */
-                                         /* Priority (P,S,T,V)       */
-                 char filler02[4];       /* Future use               */
-                 char seg_id[7];         /* Segment Identifier       */
-                 char DOT_slca;          /* DOT St Lght Contractr Are*/
-                 char curve_flag;        /* Curve Flag               */
-                 char dog_leg;           /* Dog leg flag             */
-                 char feature_type;      /* Feature Type Code        */
-                 char segmenttypecode;   /* Segment Type Code        */
-                 char coincident_seg_cnt; /* Coincident Segment      */
-                                         /*    Counter               */
-                 char filler03[4];
-                 SEGSIDE side[2];        /* 1 = Left Side of street  */
-                                         /* 2 = Right Side of street */
-               } C_WA2_F3;
-
-typedef struct { C_WA2_F3 cwa2f3;
-                 char filler1[6];        /* Future use              */
-                 char seg_cnt[4];        /* Number of Segments      */
-                 char segments[70][7];   /* Segment Ids             */
-               } C_WA2_F3_AUXSEG;
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function 3 EXTENDED    */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct {                        /*  Data from CSCL added     */
-  C_WA2_F3 cwa2f3;
-  char lgc_list[4][2];                   /* List of LGC's            */
-  char from_lgcs[4][2];                  /* List of from LGC's       */
-  char to_lgcs[4][2];                    /* List of to LGC's         */
-  char left_hcd[2];                      /* Left Health Center   */
-                                         /* District                 */
-  char right_hcd[2];                     /* Right Health Center  */
-                                         /* District                 */
-  char filler_csd;                       /*                          */
-  char traffic_dir;                      /* Traffic Direction        */
-  char roadway_type[2];                  /*                          */
-  char physical_id[7];                   /*                          */
-  char generic_id[7];                    /*                          */
-  char filler03[7];                      /* DCP internal use         */
-  char filler04[7];                      /* DCP internal use         */
-  char street_status;                    /*                          */
-  char str_width[3];                     /* Street Width             */
-  char str_width_irr;                    /* Irregular Width Y or N   */
-  char bike_lane;                        /*                          */
-  char fcc[2];                           /* Federal Classification Cd*/
-  char row_type;                         /*                          */
-  char lgc5[2];                          /*                          */
-  char lgc6[2];                          /*                          */
-  char lgc7[2];                          /*                          */
-  char lgc8[2];                          /*                          */
-  char lgc9[2];                          /*                          */
-  char legacy_id[7];                     /*                          */
-  char nta_name_left[75];                /* Neighborhood Tabulation  */
-                                         /* Area Name (Left)         */
-  char nta_name_right[75];               /* Neighborhood Tabulation  */
-                                         /* Area Name (Right)        */
-  char from_coord[2][7];                 /* 1 = X Coordinate         */
-                                         /* 2 = Y Coordinate         */
-  char to_coord[2][7];                   /* 1 = X Coordinate         */
-                                         /* 2 = Y Coordinate         */
-  char from_latitude[9];                 /*Latitude of from intersct.*/
-  char from_longitude[11];               /*Longitude of from intersct*/
-  char to_latitude[9];                   /*Latitude of to intersect. */
-  char to_longitude[11];                 /*Longitude of to intersect.*/
-  char left_blockface_id[10];            //NEW location of blockface id
-  char right_blockface_id[10];
-  char nbr_travel_lanes[2];              /* nbr of traveling lanes   */
-  char nbr_park_lanes[2];                /* nbr of parking lanes     */
-  char nbr_total_lanes[2];               /* total nbr of lanes       */
-  char bike_lane_2[2];                   /*Bike Lane has 2 bytes     */
-                                         /* numeric value            */
-  char str_width_max[3];                 /*Street width maximum      */
-  char bike_traffic_dir[2];             //V17.1 Bike Traffic Direction
-  char filler05[213];                    // V17.1
-} C_WA2_F3X;
-
-typedef struct {                         /* Fn 3 Extended with       */
-  C_WA2_F3X cwa2f3x;                     /* Auxilary Segments        */
-  char filler1[6];                        /* Future use              */
-  char seg_cnt[4];                        /* Number of Segments      */
-  char segments[70][7];                   /* Segment Ids             */
-} C_WA2_F3X_AUXSEG;                      /* Fn 3X with AUXSEGID      */
-
-
- /********************************************************************/
- /*                                                                  */
- /*        Platform-Independent Work Area 2 for Function 3C          */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct { char filler01[21];
-                 char dup_key_flag;      /* Duplicate Key Flag or    */
-                                         /* Continuous Parity Flag   */
-                 char loc_stat_seg;      /* Locational Status of Seg */
-                 char cnty_bnd_ind;      /* County Boundary Indicat  */
-                 char lgc[3][2];         /* Preferred LGCs           */
-                 St_list st[2];          /* 1=Low and 2=High         */
-                                         /* Nbr of cross sts at low  */
-                                         /* house nbr end of street  */
-                                         /* B5SCs of lo end Cross sts*/
-                 char x_street_reversal_flag; /* X St Reversal Flag  */
-                 LION key;               /* LION key                 */
-                 char genr_flag;         /* Generated Record Flag    */
-                 char seg_len[5];        /* Segment Length in Feet   */
-                 char seg_azm[3];        /* Segment Azimuth          */
-                 char seg_orient;        /* Segment Orientation      */
-                 char mh_ri_flag;        /* Marble Hill/Rikers Island*/
-                                         /* Alternative Boro flag    */
-                 char from_node[7];      /* From node                */
-                 char to_node[7];        /* To Node                  */
-                 char sanit_snow_priority;/* Sanitation Street Snow  */
-                                          /* Priority (P,S,T,V)      */
-                 char filler02[4];       /* Future use               */
-                 char seg_id  [7];       /* Segment Identifier       */
-                 char DOT_slca;          /* DOT St Lght Contractr Are*/
-                 char sos_ind;           /* Side of Street Indicator */
-                 char curve_flag;        /* Curve Flag               */
-                 char feature_type;      /* Feature Type Code        */
-                 char segmenttypecode;   /* Segment Type Code        */
-                 char coincident_seg_cnt; /* Coincident Segment      */
-                                          /*    Counter              */
-                 char filler03[4];
-                 SEGSIDE req;           /* Geographic Information for*/
-              } C_WA2_F3C;
-
-typedef struct { C_WA2_F3C cwa2f3c;
-                 char filler1[6];        /* Future use              */
-                 char seg_cnt[4];        /* Number of Segments      */
-                 char segments[70][7];   /* Segment ids             */
-               } C_WA2_F3C_AUXSEG;
-
- /********************************************************************/
- /*                                                                  */
- /*      Platform-Independent Work Area 2 for Function 3C EXTENDED   */
- /*                                                                  */
- /********************************************************************/
-typedef struct {                         /* Data from CSCL added     */
-  C_WA2_F3C cwa2f3c;
-  char lgc_list[4][2];                   /* List of LGC's            */
-  char from_lgcs[4][2];                  /* List of from LGC's       */
-  char to_lgcs[4][2];                    /* List of to LGC's         */
-  char left_hcd[2];                      /* Left Health Center Distr */
-  char right_hcd[2];                     /* Right Health Center Distr*/
-  char fill_csd;                         /* Filler                   */
-  char traffic_dir;                      /* Traffic Direction        */
-  char roadway_type[2];                  /*                          */
-  char physical_id[7];                   /*                          */
-  char generic_id[7];                    /*                          */
-  char filler03[7];                      /* DCP internal use         */
-  char filler04[7];                      /* DCP internal use         */
-  char street_status;                    /*                          */
-  char str_width[3];                     /* Street Width             */
-  char str_width_irr;                    /* Irregular Width Y or N   */
-  char bike_lane;                        /*                          */
-  char fcc[2];                           /* Federal Classification Cd*/
-  char row_type;                         /*                          */
-  char lgc5[2];                          /*                          */
-  char lgc6[2];                          /*                          */
-  char lgc7[2];                          /*                          */
-  char lgc8[2];                          /*                          */
-  char lgc9[2];                          /*                          */
-  char legacy_id[7];                     /*                          */
-  char nta_name[75];                     /* Neighborhood Tabulation  */
-                                         /* Area Name                */
-  char from_coord[2][7];                 /* 1 = X Coordinate         */
-                                         /* 2 = Y Coordinate         */
-  char to_coord[2][7];                   /* 1 = X Coordinate         */
-                                         /* 2 = Y Coordinate         */
-  char from_latitude[9];                /* Latitude of from intersct.*/
-  char from_longitude[11];              /* Longitude of from intersct*/
-  char to_latitude[9];                  /* Latitude of to intersct.  */
-  char to_longitude[11];                /* Longitude of to intersct. */
-  char blockface_id[10];                /* NEW location of this field*/
-                                        /* because of length changed */
-  char nbr_travel_lanes[2];              /* nbr of traveling lanes   */
-  char nbr_park_lanes[2];                /* nbr of parking lanes     */
-  char nbr_total_lanes[2];               /* total nbr of lanes       */
-  char bike_lane_2[2];                   /*Bike Lane has 2 bytes     */
-                                         /* numeric value            */
-  char str_width_max[3];                 /*street width maximum      */
-  char bike_traffic_dir[2];              //V17.1 Bike Traffic Direction
-  char filler05[298];                    // V17.1
-} C_WA2_F3CX;
-
-typedef struct {                         /* Fn 3C Extended with      */
-  C_WA2_F3CX cwa2f3cx;                   /* Auxilary Segments        */
-  char filler1[6];                       /* Future use              */
-  char seg_cnt[4];                       /* Number of Segments      */
-  char segments[70][7];                  /* Segment Ids             */
-} C_WA2_F3CX_AUXSEG;                     /* Fn 3CX with AUXSEGID     */
-
- /********************************************************************/
- /*                                                                  */
- /*        Platform-Independent Work Area 2 for Function 3S          */
- /*                                                                  */
- /********************************************************************/
-
-typedef struct { char filler01[21];
-                 char nbr_x_str[3];      /* Nbr of Cross sts in list */
-                 CROSS_STRS cross_strs[350];/* Cross Street structure*/
-               } C_WA2_F3S;
-
-#ifdef __cplusplus
-       }
-#endif
-#endif
-
-

NATURAL LDAs (COW)

-

GEOLP1 COPY File

-
*    USER PROGRAMS MUST RESET GEOLP1        BEFORE PRIMING WORKAREA 1             
-   1 GEOLP1                                        /* LRECL=1200                  
-*    THE FIELD P1NAT IS USED AS A        PARAMETER TO CALL GEOSUPPORT        RT   
-   2 P1NAT                            A          2                                
-R  2 P1NAT                                                                        
-*  * * * *   INPUT FIELDS    * * * *  *  * * * * * /* WORK AREA 1 FOR             
-*  *                                               /* ALL FUNCTIONS               
-   3 PIWA1-IN-FUNCTION-CODE           A          2                                
-R  3 PIWA1-IN-FUNCTION-CODE                                                       
-   4 PIWA1-IN-FUNCTION-1              A          1                                
-   4 PIWA1-IN-FUNCTION-2              A          1                                
-   2 PIWA1-IN-HOUSENUM-DISPLAY        A         16                                
-   2 PIWA1-IN-HOUSENUM-SORT           A         11                                
-   2 PIWA1-IN-LOW-HOUSENUM-DISPLAY    A         16                                
-   2 PIWA1-IN-LOW-HOUSENUM-SORT       A         11                                
-   2 PIWA1-IN-BORO-1                  A          1                                
-   2 PIWA1-IN-10SC-1                  A         10                                
-   2 PIWA1-IN-STREET-1                A         32                                
-   2 PIWA1-IN-BORO-2                  A          1                                
-   2 PIWA1-IN-10SC-2                  A         10                                
-   2 PIWA1-IN-STREET-2                A         32                                
-   2 PIWA1-IN-BORO-3                  A          1                                
-   2 PIWA1-IN-10SC-3                  A         10                                
-   2 PIWA1-IN-STREET-3                A         32                                
-   2 PIWA1-IN-BBL                     A         10 /* 3 LEVEL 3 ITEMS             
-R  2 PIWA1-IN-BBL                                                                 
-   3 PIWA1-IN-BBL-BORO                A          1                                
-   3 PIWA1-IN-BLOCK                   A          5                                
-   3 PIWA1-IN-LOT                     A          4                                
-   2 PIWA1-IN-LOT-VERSION             A          1 /* NA                          
-   2 PIWA1-IN-BIN                     A          7                                
-   2 PIWA1-IN-COMPASS                 A          1                                
-   2 PIWA1-IN-COMPASS2                A          1                                
-   2 PIWA1-IN-NODE                    A          7                                
-   2 PIWA1-IN-PLATFORM-INDICATOR      A          1                                
-   2 PIWA1-IN-ZIPCODE                 A          5                                
-   2 PIWA1-IN-UNIT                    A         14 /* V16.4 ADDITION              
-   2 FILLER-200                       A         82 /* V16.4 ALTERATION            
-*  2 FILLER-200                       A         96                                
-   2 PIWA1-IN-LONG-WORKAREA2-FLAG     A          1 /* L=LONG WA - 1A/BL(1200)     
-   2 PIWA1-IN-HSE-NBR-JUSTIFY         A          1                                
-   2 PIWA1-IN-HNL                     A          2 /* HN LENGTH                   
-   2 PIWA1-IN-HSE-OVER-FLAG           A          1 /* HN OVERRIDE *,$,' '         
-   2 PIWA1-IN-SNL                     A          2                                
-   2 PIWA1-IN-SN-NORM-FORMAT          A          1 /* C=COMPACT,S OR ' '=SORTT    
-   2 PIWA1-IN-EXPANDED-FORMAT         A          1                                
-   2 PIWA1-IN-ROADBED-REQ-SWITCH      A          1                                
-   2 PIWA1-IN-INTERNAL-USE-LEGACY     A          1 /* RESERVED FOR GSS USE        
-   2 PIWA1-IN-SEGAUX-SWITCH           A          1                                
-   2 PIWA1-IN-BROWSE-FLAG             A          1                                
-   2 PIWA1-IN-REAL-STREET-ONLY        A          1 /* FN 3S                       
-   2 PIWA1-IN-TPAD-SWITCH             A          1 /* FN 1A                       
-   2 PIWA1-IN-MODE-SWITCH             A          1                                
-   2 PIWA1-IN-WTO-SWITCH              A          1                                
-   2 FILLER-400                       A         29                                
-*  * * * *   OUTPUT FIELDS   * * * *  *  * * * * *                                
-   2 PIWA1-OUT-BORONAME               A          9                                
-   2 PIWA1-OUT-HOUSENUM-DISPLAY       A         16                                
-   2 PIWA1-OUT-HOUSENUM-SORT          A         11                                
-   2 PIWA1-OUT-B10SC-1                A         11                                
-   2 PIWA1-OUT-STREET-1               A         32                                
-   2 PIWA1-OUT-B10SC-2                A         11                                
-   2 PIWA1-OUT-STREET-2               A         32                                
-   2 PIWA1-OUT-B10SC-3                A         11                                
-   2 PIWA1-OUT-STREET-3               A         32                                
-   2 PIWA1-OUT-BBL                    A         10 /* 3 LEVEL 3 ITEMS             
-R  2 PIWA1-OUT-BBL                                                                
-   3 PIWA1-OUT-BBL-BORO               A          1                                
-   3 PIWA1-OUT-BLOCK                  A          5                                
-   3 PIWA1-OUT-LOT                    A          4                                
-   2 PIWA1-OUT-LOT-VERSION            A          1 /* FOR FUTRUE LOT VERSION #    
-   2 PIWA1-OUT-LOW-HOUSENUM-DISPLAY   A         16                                
-   2 PIWA1-OUT-LOW-HOUSENUM-SORT      A         11                                
-   2 PIWA1-OUT-BIN                    A          7                                
-   2 PIWA1-OUT-STREET-ATTR            A          1 (1:3) /* RES FOR GSS           
-   2 PIWA1-OUT-REASON-CODE-2          A          1 /* FN 1B                       
-   2 PIWA1-OUT-REASON-CODE-QUAL-2     A          1 /*TPAD 2ND REASON CODE         
-*  *                                               /*QUALIFIER                    
-   2 PIWA1-OUT-WARNING-CODE-2         A          2 /* FN 1B                       
-   2 PIWA1-OUT-RETURN-CODE-2          A          2 /* FN 1B                       
-   2 PIWA1-OUT-ERROR-MESSAGE-2        A         80 /* FN 1B                       
-   2 PIWA1-OUT-NODE                   A          7                                
-   2 PIWA1-OUT-UNIT-SORT              A         14 /* V16.4 ADDITION              
-R  2 PIWA1-OUT-UNIT-SORT                                                          
-   3 PIWA1-OUT-UNIT-TYPE              A          4 /* V16.4 ADDITION              
-   3 PIWA1-OUT-UNIT-ID                A         10 /* V16.4 ADDITION              
-   2 PIWA1-OUT-UNIT-DISP              A         14 /* V16.4 ADDITION              
-   2 FILLER-550                       A         11 /* V16.4 ALTERATION            
-*  2 FILLER-550                       A         39                                
-   2 FILLER-555                       A          6 /* NIN, NYI                    
-   2 PIWA1-OUT-SND-ATTR               A          1 /* RES FOR GSS                 
-   2 PIWA1-OUT-REASON-CODE            A          1                                
-   2 PIWA1-OUT-REASON-CODE-QUAL       A          1 /*TAPAD REASON CODE            
-*  *                                               /*QUALIFIER                    
-   2 PIWA1-OUT-WARNING-CODE           A          2                                
-   2 PIWA1-OUT-RETURN-CODE            A          2                                
-   2 PIWA1-OUT-ERROR-MESSAGE          A         80                                
-   2 PIWA1-OUT-NUM-SIMILAR-STRS       A          2                                
-   2 PIWA1-OUT-SIMILAR-B7SC           A          8 (1:10)                         
-   2 PIWA1-OUT-SIMILAR-NAMES          A         32 (1:10)
-
-

GEOLP2 COPY File

-
1 GEOLP2                                                                       
-*    THE FIELD P2NAT IS USED AS A        PARAMETER TO CALL GEOSUPPORT FOR ALLLL   
-*        FUNCTIONS THAT ARE REDEFINED           ON GEOLP2                         
-*  * MAXIMUM LENGTH 2W - 4000 BYTES                                               
-2 P2NAT                            A         21                                
-R  2 P2NAT                                                                        
-*  *  BEGINNING OF FUNCTION 1 LAYOUT  *       **** *******                        
-3 PIWA2-FN1-ACCESS-KEY             A         21                                
-2 PIWA2-FN1-CONT-PARITY            A          1 /* (OR DUP ADDR IND)           
-2 PIWA2-FN1-LOW-HOUSENUM           A         11 /* SORT FORMAT                 
-2 PIWA2-FN1-HI-HOUSENUM            A         11 /* SORT FORMAT                 
-2 PIWA2-FN1-PREFERRED-LGC          A          2                                
-2 PIWA2-FN1-NUM-X-ST-LOW-END       A          1                                
-2 PIWA2-FN1-LOW-B5SC               A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN1-NUM-X-ST-HI-END        A          1                                
-2 PIWA2-FN1-HI-B5SC                A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN1-LIONKEY                A         10                                
-R  2 PIWA2-FN1-LIONKEY                                                            
-3 PIWA2-FN1-LION-BORO              A          1                                
-3 PIWA2-FN1-LION-FACECODE          A          4                                
-3 PIWA2-FN1-LION-SEQ               A          5                                
-2 PIWA2-FN1-SPECIAL-ADDR-FLAG      A          1                                
-2 PIWA2-FN1-SIDE-OF-STR            A          1                                
-2 PIWA2-FN1-SEG-LEN                A          5                                
-2 PIWA2-FN1-X-COORD                A          7                                
-2 PIWA2-FN1-Y-COORD                A          7                                
-2 FILLER-100                       A          7 /* FOR ZCOORD                  
-2 FILLER-200                       A          1 /* FOR GSS USE                 
-2 PIWA2-FN1-MARBLE-RIKERS-FLAG     A          1                                
-2 PIWA2-FN1-DOT-SLA                A          1                                
-2 PIWA2-FN1-COM-DIST               A          3                                
-R  2 PIWA2-FN1-COM-DIST                                                           
-3 PIWA2-FN1-COM-DIST-BORO          A          1                                
-3 PIWA2-FN1-COM-DIST-NUM           A          2                                
-2 PIWA2-FN1-ZIP                    A          5                                
-*  *                                  *       **** *****                          
-*  *  THE FN1E FIELDS ARE VALID ONLY  *       **** *****                          
-*  *  FOR FUNCTION 1E, NOT FUNC 1.    *       **** *****                          
-2 PIWA2-FN1E-ELECT-DIST            A          3                                
-2 PIWA2-FN1E-ASSEM-DIST            A          2                                
-2 PIWA2-FN1E-SPLIT-ED-FLAG         A          1                                
-2 PIWA2-FN1E-CONG-DIST             A          2                                
-2 PIWA2-FN1E-SENATE-DIST           A          2                                
-2 PIWA2-FN1E-COURT-DIST            A          2                                
-2 PIWA2-FN1E-COUNCIL-DIST          A          2                                
-*  *                                  *       **** *****                          
-2 PIWA2-FN1-HEALTH-CENTER-DIST     A          2                                
-2 PIWA2-FN1-HEALTH-AREA            A          4                                
-2 PIWA2-FN1-SANI-DIST              A          3                                
-R  2 PIWA2-FN1-SANI-DIST                                                          
-3 PIWA2-FN1-SANI-DIST-BORO         A          1                                
-3 PIWA2-FN1-SANI-DIST-NUM          A          2                                
-2 PIWA2-FN1-SANI-SUBSEC            A          2                                
-2 PIWA2-FN1-SANI-REG               A          5                                
-2 PIWA2-FN1-SANI-REC               A          3                                
-2 PIWA2-FN1-POLICE-DIST            A          4                                
-R  2 PIWA2-FN1-POLICE-DIST                                                        
-3 PIWA2-FN1-POL-PAT-BORO-CMD       A          1                                
-3 PIWA2-FN1-POL-PRECINCT           A          3                                
-2 PIWA2-FN1-FIRE-DIV               A          2                                
-2 PIWA2-FN1-FIRE-BAT               A          2                                
-2 PIWA2-FN1-FIRE-CO                A          4                                
-R  2 PIWA2-FN1-FIRE-CO                                                            
-3 PIWA2-FN1-FIRE-CO-TYPE           A          1                                
-3 PIWA2-FN1-FIRE-CO-NUM            A          3                                
-2 PIWA2-FN1-SCHL-DIST-SPLIT-FLAG   A          1                                
-2 PIWA2-FN1-SCHL-DIST              A          2                                
-2 PIWA2-FN1-DYN-BLK                A          3                                
-2 PIWA2-FN1-POLICE-PAT-BORO        A          2                                
-2 PIWA2-FN1-FEATURE-TYPE           A          1                                
-2 PIWA2-FN1-SEGMENT-TYPE           A          1                                
-2 PIWA2-FN1-ALX                    A          1                                
-2 PIWA2-FN1-COINCIDENT-SEG-CTR     A          1                                
-2 FILLER-290                       A          3                                
-2 PIWA2-FN1-1990-CENSUS-TRACT      A          6                                
-2 PIWA2-FN1-2010-CENSUS-TRACT      A          6                                
-2 PIWA2-FN1-2010-CENSUS-BLOCK      A          4                                
-2 PIWA2-FN1-2010-CENSUS-BLOCK-SUF  A          1 /* NA                          
-2 PIWA2-FN1-2000-CENS-TRACT        A          6                                
-2 PIWA2-FN1-2000-CENS-BLOCK        A          4                                
-2 PIWA2-FN1-2000-CENS-BLOCK-SUF    A          1 /* NA                          
-2 PIWA2-FN1-NTA                    A          4                                
-2 PIWA2-FN1-SANIT-SNOW-PRIORITY    A          1                                
-2 PIWA2-FN1-SANIT-ORGANICS         A          5                                
-2 PIWA2-FN1-SANIT-BULK-PICK-UP     A          5 /* V16.4 ADDITION              
-*  2 PIWA2-FN1-SANIT-RESERVED         A          5 /*FOR POSSIBLE FUTURE USE      
-2 PIWA2-FN1-HURRICANE-ZONE         A          2 /*OEM HURRICANE EVAC ZONE      
-2 FILLER-300                       A         11                                
-2 PIWA2-FN1-UHNS                   A         11 /* UNDERLYING HNS              
-2 PIWA2-FN1-REAL-B7SC              A          8                                
-2 PIWA2-FN1-SEGMENT-ID             A          7                                
-2 PIWA2-FN1-CURVE-FLAG             A          1                                
-2 PIWA2-FN1-PSEUDO-FILLER          A       3700 /*MAX RECORD 2W IS 4000        
-*  *  END OF FUNCTION 1 LAYOUT        *       **** *******                        
-*  - -------------------------------- -       ---- -------------------------------
-*  *  BEGINNING OF FUNCTION 2                                                     
-*  *           & FUNCTION 2C LAYOUT   * ********** *******                        
-R  1 GEOLP2                                                                       
-2 PIWA2-FN2-ACCESS-KEY             A         21 /* FOR FUNCTIONS 2 & 2C        
-2 PIWA2-FN2-DUP-INTERSECT-FLAG     A          1                                
-2 PIWA2-FN2-PREFERRED-LGC1         A          2                                
-2 PIWA2-FN2-PREFERRED-LGC2         A          2                                
-2 PIWA2-FN2-NUM-OF-INTERSECTS      A          1                                
-2 PIWA2-FN2-INTERSECT-B5SC         A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN2-COMP-DIR               A          1                                
-2 PIWA2-FN2-ATOMIC-POLYGON         A          3                                
-2 FILLER-350                       A          2                                
-2 PIWA2-FN2-NODE-NUM               A          7                                
-2 PIWA2-FN2-X-COORD                A          7                                
-2 PIWA2-FN2-Y-COORD                A          7                                
-2 FILLER-400                       A          7 /* FOR ZCOORD                  
-2 PIWA2-FN2-SANBORN1               A          8                                
-R  2 PIWA2-FN2-SANBORN1                                                           
-3 PIWA2-FN2-SANBORN1-BORO          A          1                                
-3 PIWA2-FN2-SANBORN1-VOL           A          3                                
-3 PIWA2-FN2-SANBORN1-PAGE          A          4                                
-2 PIWA2-FN2-SANBORN2               A          8                                
-R  2 PIWA2-FN2-SANBORN2                                                           
-3 PIWA2-FN2-SANBORN2-BORO          A          1                                
-3 PIWA2-FN2-SANBORN2-VOL           A          3                                
-3 PIWA2-FN2-SANBORN2-PAGE          A          4                                
-2 PIWA2-FN2-MARBLE-RIKERS-FLAG     A          1                                
-2 PIWA2-FN2-DOT-SLA                A          1                                
-2 PIWA2-FN2-COM-DIST               A          3                                
-R  2 PIWA2-FN2-COM-DIST                                                           
-3 PIWA2-FN2-COM-DIST-BORO          A          1                                
-3 PIWA2-FN2-COM-DIST-NUM           A          2                                
-2 PIWA2-FN2-ZIP                    A          5                                
-2 PIWA2-FN2-HEALTH-AREA            A          4                                
-2 PIWA2-FN2-POLICE-DIST            A          4                                
-R  2 PIWA2-FN2-POLICE-DIST                                                        
-3 PIWA2-FN2-POL-PAT-BORO-CMD       A          1                                
-3 PIWA2-FN2-POL-PRECINCT           A          3                                
-2 PIWA2-FN2-FIRE-DIV               A          2                                
-2 PIWA2-FN2-FIRE-BAT               A          2                                
-2 PIWA2-FN2-FIRE-CO                A          4                                
-R  2 PIWA2-FN2-FIRE-CO                                                            
-3 PIWA2-FN2-FIRE-CO-TYPE           A          1                                
-3 PIWA2-FN2-FIRE-CO-NUM            A          3                                
-2 PIWA2-FN2-SCHL-DIST              A          2                                
-2 PIWA2-FN2-2010-CENSUS-TRACT      A          6                                
-2 PIWA2-FN2-1990-CENSUS-TRACT      A          6                                
-2 PIWA2-FN2-LEVEL-CODE-TBL         A         10                                
-R  2 PIWA2-FN2-LEVEL-CODE-TBL                                                     
-3 PIWA2-FN2-LEVEL-CODE             A          1 (5,2) /* 10-BYTES              
-2 PIWA2-FN2-POLICE-PAT-BORO        A          2                                
-2 PIWA2-FN2-ASSEM-DIST             A          2                                
-2 PIWA2-FN2-CONG-DIST              A          2                                
-2 PIWA2-FN2-SENATE-DIST            A          2                                
-2 PIWA2-FN2-COURT-DIST             A          2                                
-2 PIWA2-FN2-COUNCIL-DIST           A          2                                
-2 PIWA2-FN2-CD-ELIGIBLE            A          1                                
-2 PIWA2-FN2-DUP-INTERSECT-DIST     A          5                                
-2 PIWA2-FN2-2000-CENS-TRACT        A          6                                
-2 PIWA2-FN2-HEALTH-CENTER-DIST     A          2                                
-2 PIWA2-FN2-SANITATION-DIST        A          3                                
-2 PIWA2-FN2-SANITATION-SUBSEC      A          2                                
-2 FILLER-500                       A         12                                
-*  2 PIWA2-FN2-PSEUDO-FILLER          A       3800                                
-*  *  END OF FUNCTION 2               * ********** ********                       
-*  *       & FUNCTION 2C LAYOUT       * ********** ********                       
-*  * -------------------------------- - ---------- -----------------              
-*  *  BEGINNING OF FUNCTION 2W        * ********** *******                        
-R  1 GEOLP2                                                                       
-2 PIWA2-FN2W-ACCESS-KEY            A         21 /* FOR FUNCTION 2W             
-2 PIWA2-FN2W-DUP-INTERSECT-FLAG    A          1                                
-2 PIWA2-FN2W-PREFERRED-LGC1        A          2                                
-2 PIWA2-FN2W-PREFERRED-LGC2        A          2                                
-2 PIWA2-FN2W-NUM-OF-INTERSECTS     A          1                                
-2 PIWA2-FN2W-INTERSECT-B5SC        A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN2W-COMP-DIR              A          1                                
-2 PIWA2-FN2W-ATOMIC-POLYGON        A          3                                
-2 FILLER-350W                      A          2                                
-2 PIWA2-FN2W-NODE-NUM              A          7                                
-2 PIWA2-FN2W-X-COORD               A          7                                
-2 PIWA2-FN2W-Y-COORD               A          7                                
-2 FILLER-400W                      A          7 /* FOR ZCOORD                  
-2 PIWA2-FN2W-SANBORN1              A          8                                
-R  2 PIWA2-FN2W-SANBORN1                                                          
-3 PIWA2-FN2W-SANBORN1-BORO         A          1                                
-3 PIWA2-FN2W-SANBORN1-VOL          A          3                                
-3 PIWA2-FN2W-SANBORN1-PAGE         A          4                                
-2 PIWA2-FN2W-SANBORN2              A          8                                
-R  2 PIWA2-FN2W-SANBORN2                                                          
-3 PIWA2-FN2W-SANBORN2-BORO         A          1                                
-3 PIWA2-FN2W-SANBORN2-VOL          A          3                                
-3 PIWA2-FN2W-SANBORN2-PAGE         A          4                                
-2 PIWA2-FN2W-MARBLE-RIKERS-FLAG    A          1                                
-2 PIWA2-FN2W-DOT-SLA               A          1                                
-2 PIWA2-FN2W-COM-DIST              A          3                                
-R  2 PIWA2-FN2W-COM-DIST                                                          
-3 PIWA2-FN2W-COM-DIST-BORO         A          1                                
-3 PIWA2-FN2W-COM-DIST-NUM          A          2                                
-2 PIWA2-FN2W-ZIP                   A          5                                
-2 PIWA2-FN2W-HEALTH-AREA           A          4                                
-2 PIWA2-FN2W-POLICE-DIST           A          4                                
-R  2 PIWA2-FN2W-POLICE-DIST                                                       
-3 PIWA2-FN2W-POL-PAT-BORO-CMD      A          1                                
-3 PIWA2-FN2W-POL-PRECINCT          A          3                                
-2 PIWA2-FN2W-FIRE-DIV              A          2                                
-2 PIWA2-FN2W-FIRE-BAT              A          2                                
-2 PIWA2-FN2W-FIRE-CO               A          4                                
-R  2 PIWA2-FN2W-FIRE-CO                                                           
-3 PIWA2-FN2W-FIRE-CO-TYPE          A          1                                
-3 PIWA2-FN2W-FIRE-CO-NUM           A          3                                
-2 PIWA2-FN2W-SCHL-DIST             A          2                                
-2 PIWA2-FN2W-2010-CENSUS-TRACT     A          6                                
-2 PIWA2-FN2W-1990-CENSUS-TRACT     A          6                                
-2 PIWA2-FN2W-LEVEL-CODE-TBL        A         10                                
-R  2 PIWA2-FN2W-LEVEL-CODE-TBL                                                    
-3 PIWA2-FN2W-LEVEL-CODE            A          1 (5,2) /* 10-BYTES              
-2 PIWA2-FN2W-POLICE-PAT-BORO       A          2                                
-2 PIWA2-FN2W-ASSEM-DIST            A          2                                
-2 PIWA2-FN2W-CONG-DIST             A          2                                
-2 PIWA2-FN2W-SENATE-DIST           A          2                                
-2 PIWA2-FN2W-COURT-DIST            A          2                                
-2 PIWA2-FN2W-COUNCIL-DIST          A          2                                
-2 PIWA2-FN2W-CD-ELIGIBLE           A          1                                
-2 PIWA2-FN2W-DUP-INTERSECT-DIST    A          5                                
-2 PIWA2-FN2W-2000-CENS-TRACT       A          6                                
-2 PIWA2-FN2W-HEALTH-CENTER-DIST    A          2                                
-2 PIWA2-FN2W-SANITATION-DIST       A          3                                
-2 PIWA2-FN2W-SANITATION-SUBSEC     A          2                                
-2 FILLER-500W                      A         12                                
-2 PIWA2-FN2W-FILLER-GRIDGEN        A         22 /*INTERNAL USE                 
-2 PIWA2-FN2W-LGCS-FIRST-INTERSCT   A          2 (1:4) /*UP TO 4 LGCS           
-2 PIWA2-FN2W-LGCS-SECOND-INTERSCT  A          2 (1:4) /*UP TO 4 LGCS           
-2 PIWA2-FN2W-TURN-RESTRICTIONS     A          1 (1:10)                         
-2 PIWA2-FN2W-INTERSECT-B5SC-LGCS   A          2 (1:5) /*LGCS FOR LIST          
-*                                                  /*OF INTERSECTING STS          
-2 PIWA2-FN2W-REPLICATION-CNTR      A          2                                
-2 PIWA2-FN2W-NODE-LIST             A          7 (1:20) /*UP TO 20 NODES        
-2 PIWA2-FN2W-NODE-LIST-B7SCS-TBLS  A       3200                                
-R  2 PIWA2-FN2W-NODE-LIST-B7SCS-TBLS               /* REDEF. BEGIN : PIWA2-FN2W-NO
-3 PIWA2-FN2W-NODE-LIST-B7SCS-TBL   A        160 (20)                           
-R  2 PIWA2-FN2W-NODE-LIST-B7SCS-TBLS               /* REDEF. BEGIN : PIWA2-FN2W-NO
-3 PIWA2-FN2W-NODE-LIST-B7SCS-STS   A         32 (20,5)                         
-R  2 PIWA2-FN2W-NODE-LIST-B7SCS-TBLS               /* REDEF. BEGIN : PIWA2-FN2W-NO
-3 PIWA2-FN2W-NODE-LIST-B7SCS       A          8 (20,5,4)                       
-2 PIWA2-FN2W-REASON-CODE           A          1                                
-2 PIWA2-FN2W-REASON-CODE-QUAL      A          1                                
-2 PIWA2-FN2W-WARN-CODE             A          2                                
-2 PIWA2-FN2W-RETURN-CODE           A          2                                
-2 PIWA2-FN2W-LATITUDE              A          9                                
-2 PIWA2-FN2W-LONGITUDE             A         11                                
-2 PIWA2-FN2W-FILLER2W              A        374                                
-*  *  END OF FUNCTION 2W              * ********** ********                       
-*  * -------------------------------- - ---------- -----------------              
-*  *  BEGINNING OF FUNCTION 3 LAYOUT  * ********** *********                      
-R  1 GEOLP2                                                                       
-2 PIWA2-FN3-ACCESS-KEY             A         21                                
-2 PIWA2-FN3-DUP-KEY-FLAG           A          1 /* OR CONTI PARITY             
-2 PIWA2-FN3-LOCATION-STATUS        A          1                                
-2 PIWA2-FN3-COUNTY-BOUNDARY        A          1                                
-2 PIWA2-FN3-PREFERRED-LGC1         A          2                                
-2 PIWA2-FN3-PREFERRED-LGC2         A          2                                
-2 PIWA2-FN3-PREFERRED-LGC3         A          2                                
-2 PIWA2-FN3-NUM-X-ST-LOW-END       A          1                                
-2 PIWA2-FN3-LOW-B5SC               A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN3-NUM-X-ST-HI-END        A          1                                
-2 PIWA2-FN3-HI-B5SC                A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN3-REVERSAL-FLAG          A          1                                
-2 PIWA2-FN3-LION-KEY               A         10                                
-R  2 PIWA2-FN3-LION-KEY                                                           
-3 PIWA2-FN3-LION-BORO              A          1                                
-3 PIWA2-FN3-LION-FACECODE          A          4                                
-3 PIWA2-FN3-LION-SEQ               A          5                                
-2 PIWA2-FN3-GENREC-FLAG            A          1                                
-2 PIWA2-FN3-SEG-LENGTH             A          5                                
-2 PIWA2-FN3-SEG-SLOP               A          3                                
-2 PIWA2-FN3-SEG-ORIENT             A          1                                
-2 PIWA2-FN3-MARBLE-RIKERS-FLAG     A          1                                
-2 PIWA2-FN3-FROM-NODE              A          7                                
-2 PIWA2-FN3-TO-NODE                A          7                                
-2 PIWA2-FN3-SANIT-SNOW-PRIORITY    A          1 /*SANITATION STRT              
-*  *                                               /*SNOW PRIORITY                
-2 FILLER-600                       A          4                                
-2 PIWA2-FN3-SEGMENT-ID             A          7                                
-2 PIWA2-FN3-DOT-SLA                A          1                                
-2 PIWA2-FN3-CURVE-FLAG             A          1                                
-2 PIWA2-FN3-DOG-LEG                A          1                                
-2 PIWA2-FN3-FEATURE-TYPE           A          1                                
-2 PIWA2-FN3-SEGMENT-TYPE           A          1                                
-2 PIWA2-FN3-COINCIDENT-SEG-CTR     A          1                                
-2 FILLER-700                       A          4                                
-*  * *** LEFT SIDE OF THE STREET **** * ********** ******                         
-2 PIWA2-FN3-LEFT-SIDE-OF-STR       A        150                                
-R  2 PIWA2-FN3-LEFT-SIDE-OF-STR                                                   
-3 PIWA2-FN3-L-COM-DIST             A          3                                
-R  3 PIWA2-FN3-L-COM-DIST                                                         
-4 PIWA2-FN3-L-COM-DIST-BORO        A          1                                
-4 PIWA2-FN3-L-COM-DIST-NUM         A          2                                
-3 PIWA2-FN3-L-LOW-HOUSENUM         A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3-L-HI-HOUSENUM          A         16 /* DISPLAY FORMAT              
-3 FILLER-800                       A         32 /* FOR FUTURE USE              
-3 PIWA2-FN3-L-CD-ELIGIBLE          A          1                                
-3 PIWA2-FN3-L-ZIP                  A          5                                
-3 PIWA2-FN3-L-HEALTH-AREA          A          4                                
-3 PIWA2-FN3-L-POLICE-DIST          A          4                                
-R  3 PIWA2-FN3-L-POLICE-DIST                                                      
-4 PIWA2-FN3-L-POL-PAT-BORO-CMD     A          1                                
-4 PIWA2-FN3-L-POL-PRECINCT         A          3                                
-3 PIWA2-FN3-L-FIRE-DIV             A          2                                
-3 PIWA2-FN3-L-FIRE-BAT             A          2                                
-3 PIWA2-FN3-L-FIRE-CO              A          4                                
-R  3 PIWA2-FN3-L-FIRE-CO                                                          
-4 PIWA2-FN3-L-FIRE-CO-TYPE         A          1                                
-4 PIWA2-FN3-L-FIRE-CO-NUM          A          3                                
-3 PIWA2-FN3-L-SCHL-DIST            A          2                                
-3 PIWA2-FN3-L-DYN-BLK              A          3                                
-3 PIWA2-FN3-L-ED                   A          3                                
-3 PIWA2-FN3-L-AD                   A          2                                
-3 PIWA2-FN3-L-POLICE-PAT-BORO      A          2                                
-3 FILLER-880                       A          1                                
-3 PIWA2-FN3-L-BORO                 A          1                                
-3 PIWA2-FN3-L-1990-CENSUS-TRACT    A          6                                
-3 PIWA2-FN3-L-2010-CENSUS-TRACT    A          6                                
-3 PIWA2-FN3-L-2010-CENSUS-BLOCK    A          4                                
-3 PIWA2-FN3-L-2010-CENSUS-BLK-SUF  A          1 /* NA                          
-3 PIWA2-FN3-L-2000-CENS-TRACT      A          6                                
-3 PIWA2-FN3-L-2000-CENS-BLOCK      A          4                                
-3 PIWA2-FN3-L-2000-CENS-BLK-SUF    A          1 /* NA                          
-3 PIWA2-FN3-L-FILLER-890           A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-FN3-L-NTA                  A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-3 FILLER-900                       A          8                                
-*  * *** RIGHT SIDE OF THE STREET *** * ********** ***********                    
-2 PIWA2-FN3-RIGHT-SIDE-OF-STR      A        150                                
-R  2 PIWA2-FN3-RIGHT-SIDE-OF-STR                                                  
-3 PIWA2-FN3-R-COM-DIST             A          3                                
-R  3 PIWA2-FN3-R-COM-DIST                                                         
-4 PIWA2-FN3-R-COM-DIST-BORO        A          1                                
-4 PIWA2-FN3-R-COM-DIST-NUM         A          2                                
-3 PIWA2-FN3-R-LOW-HOUSENUM         A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3-R-HI-HOUSENUM          A         16 /* DISPLAY FORMAT              
-3 FILLER-1000                      A         32 /* FOR FUTURE USE              
-3 PIWA2-FN3-R-CD-ELIGIBLE          A          1                                
-3 PIWA2-FN3-R-ZIP                  A          5                                
-3 PIWA2-FN3-R-HEALTH-AREA          A          4                                
-3 PIWA2-FN3-R-POLICE-DIST          A          4                                
-R  3 PIWA2-FN3-R-POLICE-DIST                                                      
-4 PIWA2-FN3-R-POL-PAT-BORO-CMD     A          1                                
-4 PIWA2-FN3-R-POL-PRECINCT         A          3                                
-3 PIWA2-FN3-R-FIRE-DIV             A          2                                
-3 PIWA2-FN3-R-FIRE-BAT             A          2                                
-3 PIWA2-FN3-R-FIRE-CO              A          4                                
-R  3 PIWA2-FN3-R-FIRE-CO                                                          
-4 PIWA2-FN3-R-FIRE-CO-TYPE         A          1                                
-4 PIWA2-FN3-R-FIRE-CO-NUM          A          3                                
-3 PIWA2-FN3-R-SCHL-DIST            A          2                                
-3 PIWA2-FN3-R-DYN-BLK              A          3                                
-3 PIWA2-FN3-R-ED                   A          3                                
-3 PIWA2-FN3-R-AD                   A          2                                
-3 PIWA2-FN3-R-POLICE-PAT-BORO      A          2                                
-3 FILLER-1080                      A          1                                
-3 PIWA2-FN3-R-BORO                 A          1                                
-3 PIWA2-FN3-R-1990-CENSUS-TRACT    A          6                                
-3 PIWA2-FN3-R-2010-CENSUS-TRACT    A          6                                
-3 PIWA2-FN3-R-2010-CENSUS-BLOCK    A          4                                
-3 PIWA2-FN3-R-2010-CENSUS-BLK-SUF  A          1 /* NA                          
-3 PIWA2-FN3-R-2000-CENS-TRACT      A          6                                
-3 PIWA2-FN3-R-2000-CENS-BLOCK      A          4                                
-3 PIWA2-FN3-R-2000-CENS-BLK-SUF    A          1 /* NA                          
-3 PIWA2-FN3-R-FILLER-1090          A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-FN3-R-NTA                  A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-3 FILLER-1100                      A          8                                
-*  2 PIWA2-FN3-PSEUDO-FILLER          A       3550                                
-*  * ******************************** * ********** **********                     
-* ** *** END OF FUNCTION 3 LAYOUT**** * ********** **********                     
-R  1 GEOLP2                                                                       
-2 PIWA2-FN3-SEGAUX                 A        450 /* SAME AS FN3                 
-2 PIWA2-FN3-FILLER-SEGAUX          A          6 /* FOR FUTURE USE              
-2 PIWA2-FN3-SEGAUX-COUNTER         A          4                                
-2 PIWA2-FN3-SEGAUX-SEGMENTS        A          7 (1:70)                         
-*  2 PIWA2-FN3-SEGAUX-PSEUDO-FILLER   A       3050                                
-*  * ******************************** * ********** FOR AUX SEGS                   
-*  *  END OF FUNCTION 3 AUX LAYOUT    * ********** ********                       
-*  * -------------------------------- - ---------- --------                       
-*  *  START OF FUNCTION 3 EXTENDED      LAYOUT     ********                       
-R  1 GEOLP2                                                                       
-2 PIWA2-3X-ACCESS-KEY              A         21                                
-2 PIWA2-3X-DUP-KEY-FLAG            A          1 /* OR CONTI PARITY             
-2 PIWA2-3X-LOCATION-STATUS         A          1                                
-2 PIWA2-3X-COUNTY-BOUNDARY         A          1                                
-2 PIWA2-3X-PREFERRED-LGC1          A          2                                
-2 PIWA2-3X-PREFERRED-LGC2          A          2                                
-2 PIWA2-3X-PREFERRED-LGC3          A          2                                
-2 PIWA2-3X-NUM-X-ST-LOW-END        A          1                                
-2 PIWA2-3X-LOW-B5SC                A          6 (1:5) /* 30-BYTES              
-2 PIWA2-3X-NUM-X-ST-HI-END         A          1                                
-2 PIWA2-3X-HI-B5SC                 A          6 (1:5) /* 30-BYTES              
-2 PIWA2-3X-REVERSAL-FLAG           A          1                                
-2 PIWA2-3X-LION-KEY                A         10                                
-R  2 PIWA2-3X-LION-KEY                                                            
-3 PIWA2-3X-LION-BORO               A          1                                
-3 PIWA2-3X-LION-FACECODE           A          4                                
-3 PIWA2-3X-LION-SEQ                A          5                                
-2 PIWA2-3X-GENREC-FLAG             A          1                                
-2 PIWA2-3X-SEG-LENGTH              A          5                                
-2 PIWA2-3X-SEG-SLOP                A          3                                
-2 PIWA2-3X-SEG-ORIENT              A          1                                
-2 PIWA2-3X-MARBLE-RIKERS-FLAG      A          1                                
-2 PIWA2-3X-FROM-NODE               A          7                                
-2 PIWA2-3X-TO-NODE                 A          7                                
-2 PIWA2-3X-SANIT-SNOW-PRIORITY     A          1 /*SANITATION STRT              
-*  *                                               /*SNOW PRIORITY                
-2 FILLER-3X-600                    A          4                                
-2 PIWA2-3X-SEGMENT-ID              A          7                                
-2 PIWA2-3X-DOT-SLA                 A          1                                
-2 PIWA2-3X-CURVE-FLAG              A          1                                
-2 PIWA2-3X-DOG-LEG                 A          1                                
-2 PIWA2-3X-FEATURE-TYPE            A          1                                
-2 PIWA2-3X-SEGMENT-TYPE            A          1                                
-2 PIWA2-3X-COINCIDENT-SEG-CTR      A          1                                
-2 FILLER-3X-700                    A          4                                
-*  * *** LEFT SIDE OF THE STREET **** * *** ****** ******                         
-2 PIWA2-3X-LEFT-SIDE-OF-STR        A        150                                
-R  2 PIWA2-3X-LEFT-SIDE-OF-STR                                                    
-3 PIWA2-3X-L-COM-DIST              A          3                                
-R  3 PIWA2-3X-L-COM-DIST                                                          
-4 PIWA2-3X-L-COM-DIST-BORO         A          1                                
-4 PIWA2-3X-L-COM-DIST-NUM          A          2                                
-3 PIWA2-3X-L-LOW-HOUSENUM          A         16 /* DISPLAY FORMAT              
-3 PIWA2-3X-L-HI-HOUSENUM           A         16 /* DISPLAY FORMAT              
-3 FILLER-3X-800                    A         32 /* FOR FUTURE USE              
-3 PIWA2-3X-L-CD-ELIGIBLE           A          1                                
-3 PIWA2-3X-L-ZIP                   A          5                                
-3 PIWA2-3X-L-HEALTH-AREA           A          4                                
-3 PIWA2-3X-L-POLICE-DIST           A          4                                
-R  3 PIWA2-3X-L-POLICE-DIST                                                       
-4 PIWA2-3X-L-POL-PAT-BORO-CMD      A          1                                
-4 PIWA2-3X-L-POL-PRECINCT          A          3                                
-3 PIWA2-3X-L-FIRE-DIV              A          2                                
-3 PIWA2-3X-L-FIRE-BAT              A          2                                
-3 PIWA2-3X-L-FIRE-CO               A          4                                
-R  3 PIWA2-3X-L-FIRE-CO                                                           
-4 PIWA2-3X-L-FIRE-CO-TYPE          A          1                                
-4 PIWA2-3X-L-FIRE-CO-NUM           A          3                                
-3 PIWA2-3X-L-SCHL-DIST             A          2                                
-3 PIWA2-3X-L-DYN-BLK               A          3                                
-3 PIWA2-3X-L-ED                    A          3                                
-3 PIWA2-3X-L-AD                    A          2                                
-3 PIWA2-3X-L-POLICE-PAT-BORO       A          2                                
-3 FILLER-3X-880                    A          1                                
-3 PIWA2-3X-L-BORO                  A          1                                
-3 PIWA2-3X-L-1990-CENSUS-TRACT     A          6                                
-3 PIWA2-3X-L-2010-CENSUS-TRACT     A          6                                
-3 PIWA2-3X-L-2010-CENSUS-BLOCK     A          4                                
-3 PIWA2-3X-L-2010-CENSUS-BLK-SUF   A          1 /* NA                          
-3 PIWA2-3X-L-2000-CENS-TRACT       A          6                                
-3 PIWA2-3X-L-2000-CENS-BLOCK       A          4                                
-3 PIWA2-3X-L-2010-CENS-BLK-SUF     A          1 /* NA                          
-3 PIWA2-3X-L-FILLER-890            A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-3X-L-NTA                   A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-3 FILLER-3X-900                    A          8                                
-*  * *** RIGHT SIDE OF THE STREET *** * ********** ***********                    
-2 PIWA2-3X-RIGHT-SIDE-OF-STR       A        150                                
-R  2 PIWA2-3X-RIGHT-SIDE-OF-STR                                                   
-3 PIWA2-3X-R-COM-DIST              A          3                                
-R  3 PIWA2-3X-R-COM-DIST                                                          
-4 PIWA2-3X-R-COM-DIST-BORO         A          1                                
-4 PIWA2-3X-R-COM-DIST-NUM          A          2                                
-3 PIWA2-3X-R-LOW-HOUSENUM          A         16 /* DISPLAY FORMAT              
-3 PIWA2-3X-R-HI-HOUSENUM           A         16 /* DISPLAY FORMAT              
-3 FILLER-3X-1000                   A         32 /* FOR FUTURE USE              
-3 PIWA2-3X-R-CD-ELIGIBLE           A          1                                
-3 PIWA2-3X-R-ZIP                   A          5                                
-3 PIWA2-3X-R-HEALTH-AREA           A          4                                
-3 PIWA2-3X-R-POLICE-DIST           A          4                                
-R  3 PIWA2-3X-R-POLICE-DIST                                                       
-4 PIWA2-3X-R-POL-PAT-BORO-CMD      A          1                                
-4 PIWA2-3X-R-POL-PRECINCT          A          3                                
-3 PIWA2-3X-R-FIRE-DIV              A          2                                
-3 PIWA2-3X-R-FIRE-BAT              A          2                                
-3 PIWA2-3X-R-FIRE-CO               A          4                                
-R  3 PIWA2-3X-R-FIRE-CO                                                           
-4 PIWA2-3X-R-FIRE-CO-TYPE          A          1                                
-4 PIWA2-3X-R-FIRE-CO-NUM           A          3                                
-3 PIWA2-3X-R-SCHL-DIST             A          2                                
-3 PIWA2-3X-R-DYN-BLK               A          3                                
-3 PIWA2-3X-R-ED                    A          3                                
-3 PIWA2-3X-R-AD                    A          2                                
-3 PIWA2-3X-R-POLICE-PAT-BORO       A          2                                
-3 FILLER-3X-1080                   A          1                                
-3 PIWA2-3X-R-BORO                  A          1                                
-3 PIWA2-3X-R-1990-CENSUS-TRACT     A          6                                
-3 PIWA2-3X-R-2010-CENSUS-TRACT     A          6                                
-3 PIWA2-3X-R-2010-CENSUS-BLOCK     A          4                                
-3 PIWA2-3X-R-2010-CENSUS-BLK-SUF   A          1 /* NA                          
-3 PIWA2-3X-R-2000-CENS-TRACT       A          6                                
-3 PIWA2-3X-R-2000-CENS-BLOCK       A          4                                
-3 PIWA2-3X-R-2000-CENS-BLK-SUF     A          1 /* NA                          
-3 PIWA2-3X-R-FILLER-1090           A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-3X-R-NTA                   A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-3 FILLER-3X-1100                   A          8                                
-2 PIWA2-3X-LGCS                    A          8                                
-2 PIWA2-3X-LGCS-FROM               A          8                                
-2 PIWA2-3X-LGCS-TO                 A          8                                
-2 PIWA2-3X-L-HEALTH-CTR-DIST       A          2                                
-2 PIWA2-3X-R-HEALTH-CTR-DIST       A          2                                
-2 PIWA2-3X-FILL1                   A          1                                
-2 PIWA2-3X-TRAFFIC-DIR             A          1                                
-2 PIWA2-3X-ROADWAY-TYPE            A          2                                
-2 PIWA2-3X-PHYSICAL-ID             A          7                                
-2 PIWA2-3X-GENERIC-ID              A          7                                
-2 PIWA2-3X-INTP-ID                 A          7 /* INTERNAL USE                
-2 PIWA2-3X-INTF-ID                 A          7 /* INTERNAL USE                
-2 PIWA2-3X-STR-STATUS              A          1                                
-2 PIWA2-3X-STR-WIDTH               A          3                                
-2 PIWA2-3X-STR-WIDTH-IRREG         A          1                                
-2 PIWA2-3X-BIKE-LANE               A          1                                
-2 PIWA2-3X-FED-CLASS-CODE          A          2                                
-2 PIWA2-3X-ROW-TYPE                A          1                                
-2 PIWA2-3X-LGC-LIST                A         10                                
-2 PIWA2-3X-LEGACY-ID               A          7                                
-2 PIWA2-3X-L-NTA-NAME              A         75                                
-2 PIWA2-3X-R-NTA-NAME              A         75                                
-2 PIWA2-3X-FROM-XCOORD             A          7                                
-2 PIWA2-3X-FROM-YCOORD             A          7                                
-2 PIWA2-3X-TO-XCOORD               A          7                                
-2 PIWA2-3X-TO-YCOORD               A          7                                
-2 PIWA2-3X-FROM-LATITUDE           A          9                                
-2 PIWA2-3X-FROM-LONGITUDE          A         11                                
-2 PIWA2-3X-TO-LATITUDE             A          9                                
-2 PIWA2-3X-TO-LONGITUDE            A         11                                
-2 PIWA2-3X-L-BLOCKFACE-ID          A         10 /* V16.1 ADD                   
-2 PIWA2-3X-R-BLOCKFACE-ID          A         10 /* V16.1 ADD                   
-2 PIWA2-3X-NBR-TRAVEL-LANES        A          2 /* V16.1 ADD                   
-2 PIWA2-3X-NBR-PARK-LANES          A          2 /* V16.1 ADD                   
-2 PIWA2-3X-NBR-TOTAL-LANES         A          2 /* V16.1 ADD                   
-2 PIWA2-3X-BIKE-LANE-2             A          2 /* V16.4 ADDITION              
-2 PIWA2-3X-STR-WIDTH-MAX           A          3 /* V16.4 ADDITION              
-2 PIWA2-3X-BIKE-TRAFFIC-DIR        A          2 /* V17.1 ADDITION              
-2 FILLER-3X-FILL2                  A        213 /* V17.1 ALTERATION            
-*  2 FILLER-3X-FILL2                  A        215 /* V16.4 ALTERATION            
-*  2 FILLER-3X-FILL2                  A        220 /* V16.1 MOD                   
-*  2 PIWA2-3X-PSEUDO-FILLER           A       3000                                
-*  * ******************************** * ********** **********                     
-*  * END OF FCT 3 EXTENDED LAYOUT *** * ********** **********                     
-R  1 GEOLP2                                                                       
-2 PIWA2-3X-SEGAUX                  A       1000 /* SAME AS FN 3X               
-2 PIWA2-3X-FILLER-SEGAUX           A          6 /* FOR FUTURE USE              
-2 PIWA2-3X-SEGAUX-COUNTER          A          4                                
-2 PIWA2-3X-SEGAUX-SEGMENTS         A          7 (1:70)                         
-*  * ******************************** * ********** FOR AUX SEGS                   
-*  * END OF FCT 3 EXTENDED AUX LAYOUT * ********** *************                  
-*  * -------------------------------- - ---------- --------                       
-*  *  BEGINNING OF FUNCTION 3C LAYOUT * ********** ********                       
-R  1 GEOLP2                                                                       
-2 PIWA2-FN3C-ACCESS-KEY            A         21                                
-2 PIWA2-FN3C-DUP-KEY-FLAG          A          1 /* OR CONTI PARITY             
-2 PIWA2-FN3C-LOCATION-STATUS       A          1                                
-2 PIWA2-FN3C-COUNTY-BOUNDARY       A          1                                
-2 PIWA2-FN3C-PREFERRED-LGC1        A          2                                
-2 PIWA2-FN3C-PREFERRED-LGC2        A          2                                
-2 PIWA2-FN3C-PREFERRED-LGC3        A          2                                
-2 PIWA2-FN3C-NUM-X-ST-LOW-END      A          1                                
-2 PIWA2-FN3C-LOW-B5SC              A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN3C-NUM-X-ST-HI-END       A          1                                
-2 PIWA2-FN3C-HI-B5SC               A          6 (1:5) /* 30-BYTES              
-2 PIWA2-FN3C-REVERSAL-FLAG         A          1                                
-2 PIWA2-FN3C-LIONKEY               A         10                                
-R  2 PIWA2-FN3C-LIONKEY                                                           
-3 PIWA2-FN3C-LION-BORO             A          1                                
-3 PIWA2-FN3C-LION-FACECODE         A          4                                
-3 PIWA2-FN3C-LION-SEQ              A          5                                
-2 PIWA2-FN3C-GENREC-FLAG           A          1                                
-2 PIWA2-FN3C-SEG-LENGTH            A          5                                
-2 PIWA2-FN3C-SEG-AZIMUTH           A          3                                
-2 PIWA2-FN3C-SEG-ORIENT            A          1                                
-2 PIWA2-FN3C-MARBLE-RIKERS-FLAG    A          1                                
-2 PIWA2-FN3C-FROM-NODE             A          7                                
-2 PIWA2-FN3C-TO-NODE               A          7                                
-2 PIWA2-FN3C-SANIT-SNOW-PRIORITY   A          1 /*SANITATION STRT              
-*  *                                               /*SNOW PRIORITY                
-2 FILLER-1200                      A          4                                
-2 PIWA2-FN3C-SEGMENT-ID            A          7                                
-2 PIWA2-FN3C-DOT-SLA               A          1                                
-2 PIWA2-FN3C-SIDE-OF-STR           A          1                                
-2 PIWA2-FN3C-CURVE-FLAG            A          1                                
-2 PIWA2-FN3C-FEATURE-TYPE          A          1                                
-2 PIWA2-FN3C-SEGMENT-TYPE          A          1                                
-2 PIWA2-FN3C-COINCIDENT-SEG-CTR    A          1                                
-2 FILLER-1300                      A          4                                
-*  * *** FCT 3C BLOCKFACE INFORMATION * ********** ******************             
-2 PIWA2-FN3C-BLOCKFACE-INFO        A        150                                
-R  2 PIWA2-FN3C-BLOCKFACE-INFO                                                    
-3 PIWA2-FN3C-COM-DIST              A          3                                
-R  3 PIWA2-FN3C-COM-DIST                                                          
-4 PIWA2-FN3C-COMDIST-BORO          A          1                                
-4 PIWA2-FN3C-COMDIST-NUM           A          2                                
-3 PIWA2-FN3C-LOW-HOUSENUM          A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3C-HI-HOUSENUM           A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3C-LOW-HOUSENUM2         A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3C-HI-HOUSENUM2          A         16 /* DISPLAY FORMAT              
-3 PIWA2-FN3C-FILLER-1400           A          1 /* FOR GSS USE                 
-3 PIWA2-FN3C-ZIP                   A          5                                
-3 PIWA2-FN3C-HEALTH-AREA           A          4                                
-3 PIWA2-FN3C-POLICE-DIST           A          4                                
-R  3 PIWA2-FN3C-POLICE-DIST                                                       
-4 PIWA2-FN3C-POL-PAT-BORO-CMD      A          1                                
-4 PIWA2-FN3C-POL-PRECINCT          A          3                                
-3 PIWA2-FN3C-FIRE-DIV              A          2                                
-3 PIWA2-FN3C-FIRE-BAT              A          2                                
-3 PIWA2-FN3C-FIRE-CO               A          4                                
-R  3 PIWA2-FN3C-FIRE-CO                                                           
-4 PIWA2-FN3C-FIRE-CO-TYPE          A          1                                
-4 PIWA2-FN3C-FIRE-CO-NUM           A          3                                
-3 PIWA2-FN3C-SCHL-DIST             A          2                                
-3 PIWA2-FN3C-DYN-BLK               A          3                                
-3 PIWA2-FN3C-ED                    A          3                                
-3 PIWA2-FN3C-AD                    A          2                                
-3 PIWA2-FN3C-POLICE-PAT-BORO       A          2                                
-3 FILLER-1480                      A          1                                
-3 PIWA2-FN3C-BORO                  A          1                                
-3 PIWA2-FN3C-1900-CENSUS-TRACT     A          6                                
-3 PIWA2-FN3C-2010-CENSUS-TRACT     A          6                                
-3 PIWA2-FN3C-2010-CENSUS-BLOCK     A          4                                
-3 PIWA2-FN3C-2010-CENSUS-BLOCK-SUF A          1 /* NA                          
-3 PIWA2-FN3C-2000-CENS-TRACT       A          6                                
-3 PIWA2-FN3C-2000-CENS-BLOCK       A          4                                
-3 PIWA2-FN3C-2000-CENS-BLK-SUF     A          1 /* NA                          
-3 PIWA2-FN3C-FILLER-1490           A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-FN3C-NTA                   A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-*  3 FILLER-1500                      A          8                                
-*  * PIWA2-FN3C-PSEUDO-FILLER         A       3700 /*LEVEL 2 IN DEF               
-*  * ******************************** * ********** ******                         
-*  *  END OF FCT 3C LAYOUT ********** * ********** ******                         
-R  1 GEOLP2                                                                       
-2 PIWA2-FN3C-SEGAUX                A        300 /*SAME AS FN3C                 
-2 PIWA2-FN3C-SEGAUX-FILL           A          6                                
-2 PIWA2-FN3C-SEGAUX-CTR            A          4                                
-2 PIWA2-FN3C-SEGAUX-SEGS           A          7 (1:70)                         
-*  2 PIWA2-FN3C-AUX-PSEUDO-FILLER     A       3200                                
-* ** ******************************** * ********** FN3C AUX SEGS                  
-*  *  END OF FCT 3C AUX LAYOUT ****** * ********** *******                        
-* ** ******************************** * ********** *************                  
-* ** ******************************** * ********** *************                  
-*  *  START OF FUNCTION 3CX LAYOUT    * ********** ********                       
-R  1 GEOLP2                                                                       
-2 PIWA2-3CX-ACCESS-KEY             A         21                                
-2 PIWA2-3CX-DUP-KEY-FLAG           A          1 /* OR CONTI PARITY             
-2 PIWA2-3CX-LOCATION-STATUS        A          1                                
-2 PIWA2-3CX-COUNTY-BOUNDARY        A          1                                
-2 PIWA2-3CX-PREFERRED-LGC1         A          2                                
-2 PIWA2-3CX-PREFERRED-LGC2         A          2                                
-2 PIWA2-3CX-PREFERRED-LGC3         A          2                                
-2 PIWA2-3CX-NUM-X-ST-LOW-END       A          1                                
-2 PIWA2-3CX-LOW-B5SC               A          6 (1:5) /* 30-BYTES              
-2 PIWA2-3CX-NUM-X-ST-HI-END        A          1                                
-2 PIWA2-3CX-HI-B5SC                A          6 (1:5) /* 30-BYTES              
-2 PIWA2-3CX-REVERSAL-FLAG          A          1                                
-2 PIWA2-3CX-LIONKEY                A         10                                
-R  2 PIWA2-3CX-LIONKEY                                                            
-3 PIWA2-3CX-LION-BORO              A          1                                
-3 PIWA2-3CX-LION-FACECODE          A          4                                
-3 PIWA2-3CX-LION-SEQ               A          5                                
-2 PIWA2-3CX-GENREC-FLAG            A          1                                
-2 PIWA2-3CX-SEG-LENGTH             A          5                                
-2 PIWA2-3CX-SEG-SLOPE              A          3                                
-2 PIWA2-3CX-SEG-ORIENT             A          1                                
-2 PIWA2-3CX-MARBLE-RIKERS-FLAG     A          1                                
-2 PIWA2-3CX-FROM-NODE              A          7                                
-2 PIWA2-3CX-TO-NODE                A          7                                
-2 PIWA2-3CX-SANIT-SNOW-PRIORITY    A          1 /*SANITATION STRT              
-*  *                                               /*SNOW PRIORITY                
-2 FILLER-3CX-1200                  A          4                                
-2 PIWA2-3CX-SEGMENT-ID             A          7                                
-2 PIWA2-3CX-DOT-SLA                A          1                                
-2 PIWA2-3CX-SIDE-OF-STR            A          1                                
-2 PIWA2-3CX-CURVE-FLAG             A          1                                
-2 PIWA2-3CX-FEATURE-TYPE           A          1                                
-2 PIWA2-3CX-SEGMENT-TYPE           A          1                                
-2 PIWA2-3CX-COINCIDENT-SEG-CTR     A          1                                
-2 FILLER-3CX-1300                  A          4                                
-*  * ***FCT 3C BLOCKFACE INFORMATION  * ********** ******************             
-2 PIWA2-3CX-BLOCKFACE-INFO         A        150                                
-R  2 PIWA2-3CX-BLOCKFACE-INFO                                                     
-3 PIWA2-3CX-COM-DIST               A          3                                
-R  3 PIWA2-3CX-COM-DIST                                                           
-4 PIWA2-3CX-COMDIST-BORO           A          1                                
-4 PIWA2-3CX-COMDIST-NUM            A          2                                
-3 PIWA2-3CX-LOW-HOUSENUM           A         16 /* DISPLAY FORMAT              
-3 PIWA2-3CX-HI-HOUSENUM            A         16 /* DISPLAY FORMAT              
-3 PIWA2-3CX-LOW-HOUSENUM2          A         16 /* DISPLAY FORMAT              
-3 PIWA2-3CX-HI-HOUSENUM2           A         16 /* DISPLAY FORMAT              
-3 FIWA2-3CX-CD-ELIGIBLE            A          1                                
-3 PIWA2-3CX-ZIP                    A          5                                
-3 PIWA2-3CX-HEALTH-AREA            A          4                                
-3 PIWA2-3CX-POLICE-DIST            A          4                                
-R  3 PIWA2-3CX-POLICE-DIST                                                        
-4 PIWA2-3CX-POL-PAT-BORO-CMD       A          1                                
-4 PIWA2-3CX-POL-PRECINCT           A          3                                
-3 PIWA2-3CX-FIRE-DIV               A          2                                
-3 PIWA2-3CX-FIRE-BAT               A          2                                
-3 PIWA2-3CX-FIRE-CO                A          4                                
-R  3 PIWA2-3CX-FIRE-CO                                                            
-4 PIWA2-3CX-FIRE-CO-TYPE           A          1                                
-4 PIWA2-3CX-FIRE-CO-NUM            A          3                                
-3 PIWA2-3CX-SCHL-DIST              A          2                                
-3 PIWA2-3CX-DYN-BLK                A          3                                
-3 PIWA2-3CX-ED                     A          3                                
-3 PIWA2-3CX-AD                     A          2                                
-3 PIWA2-3CX-POLICE-PAT-BORO        A          2                                
-3 FILLER-3CX-1480                  A          1                                
-3 PIWA2-3CX-BORO                   A          1                                
-3 PIWA2-3CX-1990-CENSUS-TRACT      A          6                                
-3 PIWA2-3CX-2010-CENSUS-TRACT      A          6                                
-3 PIWA2-3CX-2010-CENSUS-BLOCK      A          4                                
-3 PIWA2-3CX-2010-CENSUS-BLOCK-SUF  A          1 /* NA                          
-3 PIWA2-3CX-2000-CENS-TRACT        A          6                                
-3 PIWA2-3CX-2000-CENS-BLOCK        A          4                                
-3 PIWA2-3CX-2000-CENS-BLK-SUF      A          1 /* NA                          
-3 PIWA2-3CX-FILLER-1490            A          7 /* V16.1 REPLACEMENT           
-3 PIWA2-3CX-NTA                    A          4 /*NEIGHBORHOOD                 
-*  *                                               /*TABULATION AREA              
-3 FILLER-1500                      A          8                                
-2 PIWA2-3CX-LGCS                   A          8                                
-2 PIWA2-3CX-LGCS-FROM              A          8                                
-2 PIWA2-3CX-LGCS-TO                A          8                                
-2 PIWA2-3CX-L-HEALTH-CTR-DIST      A          2                                
-2 PIWA2-3CX-R-HEALTH-CTR-DIST      A          2                                
-2 PIWA2-3CX-FILL1                  A          1                                
-2 PIWA2-3CX-TRAFFIC-DIR            A          1                                
-2 PIWA2-3CX-ROADWAY-TYPE           A          2                                
-2 PIWA2-3CX-PHYSICAL-ID            A          7                                
-2 PIWA2-3CX-GENERIC-ID             A          7                                
-2 PIWA2-3CX-INTP-ID                A          7 /* INTERNAL USE                
-2 PIWA2-3CX-INTF-ID                A          7 /* INTERNAL USE                
-2 PIWA2-3CX-STREET-STATUS          A          1                                
-2 PIWA2-3CX-STREET-WIDTH           A          3                                
-2 PIWA2-3CX-STREET-WIDTH-IRREG     A          1                                
-2 PIWA2-3CX-BIKE-LANE              A          1                                
-2 PIWA2-3CX-FED-CLASS-CODE         A          2                                
-2 PIWA2-3CX-ROW-TYPE               A          1                                
-2 PIWA2-3CX-LGC-LIST               A         10                                
-2 PIWA2-3CX-LEGACY-ID              A          7                                
-2 PIWA2-3CX-NTA-NAME               A         75                                
-2 PIWA2-3CX-FROM-XCOORD            A          7                                
-2 PIWA2-3CX-FROM-YCOORD            A          7                                
-2 PIWA2-3CX-TO-XCOORD              A          7                                
-2 PIWA2-3CX-TO-YCOORD              A          7                                
-2 PIWA2-3CX-FROM-LATITUDE          A          9                                
-2 PIWA2-3CX-FROM-LONGITUDE         A         11                                
-2 PIWA2-3CX-TO-LATITUDE            A          9                                
-2 PIWA2-3CX-TO-LONGITUDE           A         11                                
-2 PIWA2-3CX-BLOCKFACE-ID           A         10 /* V16.1 ADD                   
-2 PIWA2-3CX-NBR-TRAVEL-LANES       A          2 /* V16.1 ADD                   
-2 PIWA2-3CX-NBR-PARK-LANES         A          2 /* V16.1 ADD                   
-2 PIWA2-3CX-NBR-TOTAL-LANES        A          2 /* V16.1 ADD                   
-2 PIWA2-3CX-BIKE-LANE-2            A          2 /* V16.4 ADDITION              
-2 PIWA2-3CX-STR-WIDTH-MAX          A          3 /* V16.4 ADDITION              
-2 PIWA2-3CX-BIKE-TRAFFIC-DIR       A          2 /* V17.1 ADDITION              
-2 FILLER-3CX-FILL1560              A        298 /* V17.1 ALTERATION            
-*  2 FILLER-3CX-FILL1560              A        300 /* V16.4 ALTERATION            
-*  2 FILLER-3CX-FILL1560              A        305 /* V16.1 MOD                   
-*  2 PIWA2-3CX-PSEUDO-FILER           A       3150                                
-*  * ******************************** * ********** ******                         
-*  *  END OF FCT 3CX LAYOUT ********* * ********** ******                         
-R  1 GEOLP2                                                                       
-2 PIWA2-3CX-SEGAUX                 A        850 /* SAME AS FN 3CX              
-2 PIWA2-3CX-SEGAUX-FILL            A          6                                
-2 PIWA2-3CX-SEGAUX-CTR             A          4                                
-2 PIWA2-3CX-SEGAUX-SEGS            A          7 (1:70)                         
-*  2 PIWA2-3CX-AUX-PSEUDO-FILLER      A       2650                                
-* ** ******************************** * ********** FN3C AUX SEGS                  
-*  *  END OF FCT 3CX AUX LAYOUT*****  * ********** *******                        
-* ** ******************************** * ********** *************                  
-* ** ******************************** * ********** *************                  
-*  *  BEGINNING OF FUNCTION 5 LAYOUT  *       **** *******                        
-R  1 GEOLP2                                                                       
-2 PIWA2-FN5-ADDR-MATCHING-KEY      A         33                                
-2 FILLER-1600                      A        267                                
-*  *  END OF FUNCTION 5 LAYOUT        *       **** *******                        
-*  - -------------------------------- -       ---- -------------------------------
-
-

GEOLP21A COPY File

-
1 GEOLP21A                                      /*FCT 1A,BL USE SAME WA2 LAY
-*  * THE FIELD P2NAT1A IS USED AS A      PARAMETER TO CALL GEOSUPPORT              
-2 P2NAT1A                          A         21                                 
-R  2 P2NAT1A                                                                       
-3 PIWA2-1A-ACCESS-KEY              A         21                                 
-2 PIWA2-1A-CONT-PARITY             A          1 /* OR DUP ADDR IND              
-2 PIWA2-1A-LOW-HOUSENUM            A         11 /* SORT FORMAT                  
-2 PIWA2-1A-BBL                     A         10                                 
-R  2 PIWA2-1A-BBL                                                                  
-3 PIWA2-1A-BBL-BORO                A          1                                 
-3 PIWA2-1A-BLOCK                   A          5                                 
-3 PIWA2-1A-LOT                     A          4                                 
-2 PIWA2-1A-LOT-VERSION             A          1 /* NYI */                       
-2 PIWA2-1A-SCC                     A          1                                 
-2 FILLER-100                       A          1                                 
-2 PIWA2-1A-GENERAL-LOT-INFO                                                     
-3 PIWA2-1A-RPAD-BLDG-CLASS         A          2                                 
-3 PIWA2-1A-CORNER-CODE             A          2                                 
-3 PIWA2-1A-NUM-OF-STRUCTURES       A          4                                 
-3 PIWA2-1A-NUM-OF-BLOCKFACES       A          2                                 
-3 PIWA2-1A-INTERIOR-FLAG           A          1                                 
-3 PIWA2-1A-VACANT-FLAG             A          1                                 
-3 PIWA2-1A-IRREG-LOT-FLAG          A          1                                 
-2 PIWA2-1A-MARBLE-RIKERS-FLAG      A          1                                 
-2 PIWA2-1A-ADDR-LIST-OVFLOW-FLAG   A          1                                 
-2 PIWA2-1A-STROLL-KEY              A         19                                 
-R  2 PIWA2-1A-STROLL-KEY                                                           
-3 PIWA2-1A-STROLL-BORO             A          1                                 
-3 PIWA2-1A-STROLL-5SC              A          5                                 
-3 PIWA2-1A-STROLL-SIDE-OF-STR      A          1 /* L OR R                       
-3 PIWA2-1A-STROLL-HI-HOUSENUM      A         11 /* SORT FORMAT                  
-3 FILLER-200                       A          1                                 
-2 FILLER-300                       A          1 /* FOR GSS USE                  
-2 PIWA2-1A-BIN                     A          7                                 
-2 PIWA2-1A-CONDO-FLAG              A          1                                 
-2 FILLER-400                       A          1                                 
-2 PIWA2-1A-RPAD-CONDO-ID-NUM       A          4                                 
-2 PIWA2-1A-CONDO-UNIT-ID-NUM       A          7                                 
-2 PIWA2-1A-CONDO-BILL-BBL          A         10                                 
-2 PIWA2-1A-CONDO-BILL-BBL-VER      A          1                                 
-2 PIWA2-1A-CONDO-BILL-BBL-SCC      A          1                                 
-2 PIWA2-1A-CONDO-LOW-BBL           A         10                                 
-2 PIWA2-1A-CONDO-LOW-BBL-VER       A          1                                 
-2 PIWA2-1A-CONDO-HIGH-BBL          A         10                                 
-2 PIWA2-1A-CONDO-HIGH-BBL-VER      A          1                                 
-2 FILLER-500                       A         15                                 
-2 PIWA1-1A-COOP-NUM                A          4                                 
-2 PIWA2-1A-SANBORN                 A          8                                 
-R  2 PIWA2-1A-SANBORN                                                              
-3 PIWA2-1A-SANBORN-BORO            A          1                                 
-3 PIWA2-1A-SANBORN-VOL             A          3                                 
-3 PIWA2-1A-SANBORN-PAGE            A          4                                 
-2 PIWA2-1A-COMMERC-DIST            A          5                                 
-2 PIWA2-1A-DOF-MAP-BORO            A          1                                 
-2 PIWA2-1A-DOF-MAP-SECVOL          A          4                                 
-2 PIWA2-1A-DOF-MAP-PAGE            A          4                                 
-2 FILLER-1A-RESERVED-DCP           A          3                                 
-2 PIWA2-1A-LATITUDE                A          9                                 
-2 PIWA2-1A-LONGITUDE               A         11                                 
-2 PIWA2-1A-X-COORD                 A          7                                 
-2 PIWA2-1A-Y-COORD                 A          7                                 
-2 PIWA2-1A-BID                     A          6                                 
-2 PIWA2-1A-TPAD-BIN-ST             A          1 /* CURRENT STATUS */            
-2 PIWA2-1A-TPAD-NEW-BIN            A          7 /* NEW BIN */                   
-2 PIWA2-1A-TPAD-NEW-BIN-ST         A          1 /* NEW BIN STATUS */            
-2 PIWA2-1A-TPAD-CONFLICT           A          1 /* CONFLICT FLAG */             
-2 FILLER-650                       A          9                                 
-2 FILLER-700                       A          8 /* FOR GSS USE                  
-2 PIWA2-1A-NUM-OF-ADDR             A          4                                 
-2 PIWA2-1A-LIST-OF-ADDR                         (1:21)                          
-3 PIWA2-1A-LIST-LOW-HOUSENUM       A         16 /* DISPLAY FORMAT               
-3 PIWA2-1A-LIST-HI-HOUSENUM        A         16 /* DISPLAY FORMAT               
-3 PIWA2-1A-LIST-BORO               A          1                                 
-3 PIWA2-1A-LIST-5SC                A          5                                 
-3 PIWA2-1A-LIST-LGC                A          2                                 
-3 PIWA2-1A-LIST-BIN                A          7                                 
-3 PIWA2-1A-LIST-SIDE-OF-STR        A          1 /* L OR R                       
-3 PIWA2-1A-LIST-ADDR-TYPE          A          1 /* P=NAP, B=NAB,          MAL   
-*  *                                               /* BLANK=NORMAL                 
-3 PIWA2-1A-LIST-TPAD-STATUS        A          1 /* 0 - 9                        
-3 FILLER-800                       A          3
-
-

GEOLP2AL COPY File

-
1 GEOLP2AL                                      /* FCT 1A, BL LONG WA2    WA2   
-*  * THE FIELD P2NAT1AL IS USED AS A     PARAMETER TO CALL GEOSUPPORT              
-2 P2NAT1AL                         A         21                                 
-R  2 P2NAT1AL                                                                      
-3 PIWA2-1AL-ACCESS-KEY             A         21                                 
-*  * BEGINNING OF FUNCTION 1AL LAYOUT * ********** *******************             
-2 PIWA2-1AL-CONT-PARITY            A          1 /* OR DUP ADDR IND              
-2 PIWA2-1AL-LOW-HOUSENUM           A         11 /* SORT FORMAT                  
-2 PIWA2-1AL-BBL                    A         10                                 
-R  2 PIWA2-1AL-BBL                                                                 
-3 PIWA2-1AL-BBL-BORO               A          1                                 
-3 PIWA2-1AL-BLOCK                  A          5                                 
-3 PIWA2-1AL-LOT                    A          4                                 
-2 FILLER-1AL-LOT-VERSION           A          1 /* NA                           
-2 PIWA2-1AL-SCC                    A          1                                 
-2 FILLER-100                       A          1                                 
-2 PIWA2-1AL-GENERAL-LOT-INFO                                                    
-3 PIWA2-1AL-RPAD-BLDG-CLASS        A          2                                 
-3 PIWA2-1AL-CORNER-CODE            A          2                                 
-3 PIWA2-1AL-NUM-OF-STRUCTURES      A          4                                 
-3 PIWA2-1AL-NUM-OF-BLOCKFACES      A          2                                 
-3 PIWA2-1AL-INTERIOR-FLAG          A          1                                 
-3 PIWA2-1AL-VACANT-FLAG            A          1                                 
-3 PIWA2-1AL-IRREG-LOT-FLAG         A          1                                 
-2 PIWA2-1AL-MARBLE-RIKERS-FLAG     A          1                                 
-2 PIWA2-1AL-ADDR-LIST-OVFLOW-FLAG  A          1                                 
-2 PIWA2-1AL-STROLL-KEY             A         19                                 
-R  2 PIWA2-1AL-STROLL-KEY                                                          
-3 PIWA2-1AL-STROLL-KEY-BORO        A          1                                 
-3 PIWA2-1AL-STROLL-KEY-5SC         A          5                                 
-3 PIWA2-1AL-STROLL-SIDE-OF-STR     A          1 /* L OR R                       
-3 PIWA2-1AL-STROLL-HI-HOUSENUM     A         11 /* SORT FORMAT                  
-3 FILLER-200                       A          1                                 
-2 FILLER-300                       A          1 /* FOR GSS USE                  
-2 PIWA2-1AL-BIN                    A          7                                 
-2 PIWA2-1AL-CONDO-FLAG             A          1                                 
-2 FILLER-400                       A          1                                 
-2 PIWA2-1AL-RPAD-CONDO-ID-NUM      A          4                                 
-2 PIWA2-1AL-CONDO-UNIT-ID-NUM      A          7                                 
-2 PIWA2-1AL-CONDO-BILL-BBL         A         10                                 
-2 PIWA2-1AL-CONDO-BILL-BBL-VER     A          1                                 
-2 PIWA2-1AL-CONDO-BILL-BBL-SCC     A          1                                 
-2 PIWA2-1AL-CONDO-LOW-BBL          A         10                                 
-2 PIWA2-1AL-CONDO-LOW-BBL-VER      A          1                                 
-2 PIWA2-1AL-CONDO-HIGH-BBL         A         10                                 
-2 PIWA2-1AL-CONDO-HIGH-BBL-VER     A          1                                 
-2 FILLER-500                       A         15                                 
-2 PIWA2-1AL-COOP-NUM               A          4                                 
-2 PIWA2-1AL-SANBORN                A          8                                 
-R  2 PIWA2-1AL-SANBORN                                                             
-3 PIWA2-1AL-SANBORN-BORO           A          1                                 
-3 PIWA2-1AL-SANBORN-VOL            A          3                                 
-3 PIWA2-1AL-SANBORN-PAGE           A          4                                 
-2 PIWA2-1AL-COMMERC-DIST           A          5                                 
-2 PIWA2-1AL-DOF-MAP-BORO           A          1                                 
-2 PIWA2-1AL-DOF-MAP-SECVOL         A          4                                 
-2 PIWA2-1AL-DOF-MAP-PAGE           A          4                                 
-2 FILLER-600                       A          3                                 
-2 PIWA2-1AL-LATITUDE               A          9                                 
-2 PIWA2-1AL-LONGITUDE              A         11                                 
-2 PIWA2-1AL-X-COORD                A          7                                 
-2 PIWA2-1AL-Y-COORD                A          7                                 
-2 PIWA2-1AL-BID                    A          6                                 
-2 PIWA2-1AL-TPAD-BIN-ST            A          1 /*CURRENT STATUS                
-2 PIWA2-1AL-TPAD-NEW-BIN           A          7 /*NEW BIN                       
-2 PIWA2-1AL-TPAD-NEW-BIN-ST        A          1 /*NEW BIN STATUS                
-2 PIWA2-1AL-TPAD-CONFLICT          A          1 /*CONFLICT FLAG                 
-2 FILLER-650                       A          9                                 
-2 FILLER-700                       A          8 /* LGC GSS USE                  
-2 PIWA2-1AL-NUM-OF-BINS            A          4                                 
-2 PIWA2-1AL-TPAD-BINLIST           A      17500                                 
-R  2 PIWA2-1AL-TPAD-BINLIST                        /* REDEF. BEGIN : PIWA2-1AL-TPAD
-3 PIWA2-1AL-TPAD-BINS                           (1:2187)                        
-4 PIWA2-1AL-TPAD-BIN               A          7                                 
-4 PIWA2-1AL-TPAD-BINS-STAT         A          1                                 
-3 PIWA2-1AL-TPAD-FILL              A          4                                 
-R  2 PIWA2-1AL-TPAD-BINLIST                                                        
-3 PIWA2-1AL-BINS                   A          7 (1:2500)                        
-* ** END OF FUNCTION 1AL LAYOUT ***** * ********** **********************          
-* -- -------------------------------- - ---------- --------------------------      
-* ** BEGINNING OF FCT 1/1E EXTENDED * * ********** **********************          
-R  1 GEOLP2AL                                                                      
-2 PIWA2-1EX-ACCESS-KEY             A         21                                 
-2 PIWA2-1EX-CONT-PARITY            A          1 /* (OR DUP ADDR IND)            
-2 PIWA2-1EX-LOW-HOUSENUM           A         11 /* SORT FORMAT                  
-2 PIWA2-1EX-HI-HOUSENUM            A         11 /* SORT FORMAT                  
-2 PIWA2-1EX-PREFERRED-LGC          A          2                                 
-2 PIWA2-1EX-NUM-X-ST-LOW-END       A          1                                 
-2 PIWA2-1EX-LOW-B5SC               A          6 (1:5) /* 30-BYTES               
-2 PIWA2-1EX-NUM-X-ST-HI-END        A          1                                 
-2 PIWA2-1EX-HI-B5SC                A          6 (1:5) /* 30-BYTES               
-2 PIWA2-1EX-LIONKEY                A         10                                 
-R  2 PIWA2-1EX-LIONKEY                                                             
-3 PIWA2-1EX-LION-BORO              A          1                                 
-3 PIWA2-1EX-LION-FACECODE          A          4                                 
-3 PIWA2-1EX-LION-SEQ               A          5                                 
-2 PIWA2-1EX-SPECIAL-ADDR-FLAG      A          1                                 
-2 PIWA2-1EX-SIDE-OF-STR            A          1                                 
-2 PIWA2-1EX-SEG-LEN                A          5                                 
-2 PIWA2-1EX-X-COORD                A          7                                 
-2 PIWA2-1EX-Y-COORD                A          7                                 
-2 FILLER-1EX-100                   A          7 /* FOR ZCOORD                   
-2 FILLER-1EX-200                   A          1 /* FOR GSS USE                  
-2 PIWA2-1EX-MARBLE-RIKERS-FLAG     A          1                                 
-2 PIWA2-1EX-DOT-SLA                A          1                                 
-2 PIWA2-1EX-COM-DIST               A          3                                 
-R  2 PIWA2-1EX-COM-DIST                                                            
-3 PIWA2-1EX-COM-DIST-BORO          A          1                                 
-3 PIWA2-1EX-COM-DIST-NUM           A          2                                 
-2 PIWA2-1EX-ZIP                    A          5                                 
-*  *                                  *       **** *****                           
-*  *  THE FN1E FIELDS ARE VALID ONLY  *       **** *****                           
-*  *  FOR FUNCTION 1E, NOT FUNC 1.    *       **** *****                           
-2 PIWA2-1EX-ELECT-DIST             A          3                                 
-2 PIWA2-1EX-ASSEM-DIST             A          2                                 
-2 PIWA2-1EX-SPLIT-ED-FLAG          A          1                                 
-2 PIWA2-1EX-CONG-DIST              A          2                                 
-2 PIWA2-1EX-SENATE-DIST            A          2                                 
-2 PIWA2-1EX-COURT-DIST             A          2                                 
-2 PIWA2-1EX-COUNCIL-DIST           A          2                                 
-*  *                                  *       **** *****                           
-2 PIWA2-1EX-HEALTH-CENTER-DIST     A          2                                 
-2 PIWA2-1EX-HEALTH-AREA            A          4                                 
-2 PIWA2-1EX-SANI-DIST              A          3                                 
-R  2 PIWA2-1EX-SANI-DIST                                                           
-3 PIWA2-1EX-SANI-DIST-BORO         A          1                                 
-3 PIWA2-1EX-SANI-DIST-NUM          A          2                                 
-2 PIWA2-1EX-SANI-SUBSEC            A          2                                 
-2 PIWA2-1EX-SANI-REG               A          5                                 
-2 PIWA2-1EX-SANI-REC               A          3                                 
-2 PIWA2-1EX-POLICE-DIST            A          4                                 
-R  2 PIWA2-1EX-POLICE-DIST                                                         
-3 PIWA2-1EX-POL-PAT-BORO-CMD       A          1                                 
-3 PIWA2-1EX-POL-PRECINCT           A          3                                 
-2 PIWA2-1EX-FIRE-DIV               A          2                                 
-2 PIWA2-1EX-FIRE-BAT               A          2                                 
-2 PIWA2-1EX-FIRE-CO                A          4                                 
-R  2 PIWA2-1EX-FIRE-CO                                                             
-3 PIWA2-1EX-FIRE-CO-TYPE           A          1                                 
-3 PIWA2-1EX-FIRE-CO-NUM            A          3                                 
-2 PIWA2-1EX-SCHL-DIST-SPLIT-FLAG   A          1                                 
-2 PIWA2-1EX-SCHL-DIST              A          2                                 
-2 PIWA2-1EX-DYN-BLK                A          3                                 
-2 PIWA2-1EX-POLICE-PAT-BORO        A          2                                 
-2 PIWA2-1EX-FEATURE-TYPE           A          1                                 
-2 PIWA2-1EX-SEGMENT-TYPE           A          1                                 
-2 PIWA2-1EX-ALX                    A          1                                 
-2 PIWA2-1EX-COINCIDENT-SEG-CTR     A          1                                 
-2 FILLER-290                       A          3                                 
-2 PIWA2-1EX-1990-CENSUS-TRACT      A          6                                 
-2 PIWA2-1EX-2010-CENSUS-TRACT      A          6                                 
-2 PIWA2-1EX-2010-CENSUS-BLOCK      A          4                                 
-2 PIWA2-1EX-2010-CENSUS-BLOCK-SUF  A          1                                 
-2 PIWA2-1EX-2000-CENSUS-TRACT      A          6 /* NA                           
-2 PIWA2-1EX-2000-CENSUS-BLOCK      A          4 /* NA                           
-2 PIWA2-1EX-2000-CENSUS-BLOCK-SUF  A          1 /* NA                           
-2 PIWA2-1EX-NTA                    A          4 /*NEIGHBORHOOD                  
-*  *                                               /*TABULATION AREA*/             
-2 PIWA2-1EX-SANIT-SNOW-PRIORITY    A          1 /*SANITATION STRT               
-*  *                                               /*SNOW PRIORITY                 
-2 PIWA2-1EX-SANIT-ORGANICS         A          5                                 
-2 PIWA2-1EX-SANIT-BULK-PICK-UP     A          5 /* V16.4 ADDITION               
-*  2 PIWA2-1EX-SANIT-RESERVED         A          5                                 
-2 PIWA2-1EX-HURRICANE-ZONE         A          2 /*OEM HURRICANE EVAC ZONE       
-2 FILLER-1EX-300                   A         11                                 
-2 PIWA2-1EX-UHNS                   A         11                                 
-2 PIWA2-1EX-REAL-B7SC              A          8                                 
-2 PIWA2-1EX-SEGMENT-ID             A          7                                 
-2 PIWA2-1EX-CURVE-FLAG             A          1                                 
-2 PIWA2-1EX-LGC                    A          8                                 
-2 PIWA2-1EX-BOE-PTR                A          1                                 
-2 PIWA2-1EX-AZIMUTH                A          3                                 
-2 PIWA2-1EX-ORIENT                 A          1                                 
-2 PIWA2-1EX-X-LOW                  A          7                                 
-2 PIWA2-1EX-Y-LOW                  A          7                                 
-2 PIWA2-1EX-Z-LOW                  A          7                                 
-2 PIWA2-1EX-X-HI                   A          7                                 
-2 PIWA2-1EX-Y-HI                   A          7                                 
-2 PIWA2-1EX-Z-HI                   A          7                                 
-2 PIWA2-1EX-X-CC                   A          7                                 
-2 PIWA2-1EX-Y-CC                   A          7                                 
-2 PIWA2-1EX-Z-CC                   A          7                                 
-2 PIWA2-1EX-RADIUS                 A          7                                 
-2 PIWA2-1EX-SECANT                 A          1                                 
-2 PIWA2-1EX-ANGLE-FROM             A          5                                 
-2 PIWA2-1EX-ANGLE-TO               A          5                                 
-2 PIWA2-1EX-NODE-FROM              A          7                                 
-2 PIWA2-1EX-NODE-TO                A          7                                 
-2 PIWA2-1EX-VANITY-LION            A         10                                 
-2 PIWA2-1EX-SOS                    A          1                                 
-2 PIWA2-1EX-SPLIT-LOHSN            A         11                                 
-2 PIWA2-1EX-TD                     A          1                                 
-2 PIWA2-1EX-TR                     A         10                                 
-2 PIWA2-1EX-CURVE-FRACTION         A          3                                 
-2 PIWA2-1EX-ROADWAY-TYPE           A          2                                 
-2 PIWA2-1EX-PHYSICAL-ID            A          7                                 
-2 PIWA2-1EX-GENERIC-ID             A          7                                 
-2 PIWA2-1EX-INTP-ID                A          7                                 
-2 PIWA2-1EX-INTF-ID                A          7                                 
-2 PIWA2-1EX-BIKE-LANE-2            A          2 /* V16.4 ADDITION               
-2 PIWA2-1EX-BIKE-TRAFFIC-DIR       A          2 /* V17.1 ADDITION               
-2 PIWA2-1EX-FILL450                A          3 /* V17.1 ALTERATION             
-*  2 PIWA2-1EX-FILL450                A          5 /* V16.4 ALTERATION             
-*  2 PIWA2-1EX-FILL450                A          7 /* V16.1 REPLACEMENT            
-2 PIWA2-1EX-STREET-STATUS          A          1                                 
-2 PIWA2-1EX-STREET-WIDTH           A          3                                 
-2 PIWA2-1EX-STREET-IRR             A          1                                 
-2 PIWA2-1EX-BIKE-LANE              A          1                                 
-2 PIWA2-1EX-FED-CLASS-CODE         A          2                                 
-2 PIWA2-1EX-ROW-TYPE               A          1                                 
-2 PIWA2-1EX-LGC-LIST-2             A         10                                 
-2 PIWA2-1EX-LEGACY-SEG-ID          A          7                                 
-2 PIWA2-1EX-LGC-LIST-FROM-1        A         10                                 
-2 PIWA2-1EX-LGC-LIST-TO-1          A         10                                 
-2 PIWA2-1EX-LGC-LIST-FROM-2        A         10                                 
-2 PIWA2-1EX-LGC-LIST-TO-2          A         10                                 
-2 PIWA2-1EX-NOCROSS-FLG            A          1                                 
-2 PIWA2-1EX-IND-SEG-LEN            A          5                                 
-2 PIWA2-1EX-NTA-NAME               A         75                                 
-2 PIWA2-1EX-USPS-CITY-NAME         A         25 /*USPS PREFERRED CITY NAME      
-2 PIWA2-1EX-LATITUDE               A          9                                 
-2 PIWA2-1EX-LONGITUDE              A         11                                 
-2 PIWA2-1EX-SEG-FROM-NODE          A          7                                 
-2 PIWA2-1EX-SEG-TO-NODE            A          7                                 
-2 PIWA2-1EX-SEG-FROM-XYZ           A         21                                 
-2 PIWA2-1EX-SEG-TO-XYZ             A         21                                 
-2 PIWA2-1EX-BLOCKFACE-ID           A         10 /* V16.1 ADD                    
-2 PIWA2-1EX-NBR-TRAVEL-LANES       A          2 /* V16.1 ADD                    
-2 PIWA2-1EX-NBR-PARK-LANES         A          2 /* V16.1 ADD                    
-2 PIWA2-1EX-NBR-TOTAL-LANES        A          2 /* V16.1 ADD                    
-2 PIWA2-1EX-STR-WIDTH-MAX          A          3 /* V16.4 ADDITION               
-2 FILLER-1EX-500                   A        252 /* V16.1 MOD + V16.4 MOD        
-*  2 FILLER-1EX-500                   A        255 /* V16.1 MOD                    
-* ** ***  THE FOLLOWING FIELDS ARE IN     ADDITION TO 1E *****************         
-2 PIWA2-1EX-REASON-CODE            A          1                                 
-2 PIWA2-1EX-REASON-CODE-QUAL       A          1                                 
-2 PIWA2-1EX-WARN-CODE              A          2                                 
-2 PIWA2-1EX-RETURN-CODE            A          2                                 
-2 PIWA2-1EX-NUM-X-STS-LO-END       A          1                                 
-2 PIWA2-1EX-LO-B7SC                A          8 (1:5)                           
-2 PIWA2-1EX-NUM-X-STS-HI-END       A          1                                 
-2 PIWA2-1EX-HI-B7SC                A          8 (1:5)                           
-2 PIWA2-1EX-LO-ST-NAME             A         32 (1:5)                           
-2 PIWA2-1EX-HI-ST-NAME             A         32 (1:5)                           
-2 PIWA2-1EX-BOE-B7SC               A          8                                 
-2 PIWA2-1EX-BOE-ST-NAME            A         32                                 
-2 FILLER-1EX-600                   A         52                                 
-*  *  END OF FUNCTION 1/1E LAYOUT     *       **** *******                         
-*  - -------------------------------- -       ---- --------------------------------
-*  *  BEGNING OF FCT 1A EXTENDED      * ********** *******                         
-R  1 GEOLP2AL                                                                      
-2 PIWA2-1AX-ACCESS-KEY             A         21                                 
-2 PIWA2-1AX-CONT-PARITY            A          1 /* OR DUP ADDR IND              
-2 PIWA2-1AX-LOW-HOUSENUM           A         11 /* SORT FORMAT                  
-2 PIWA2-1AX-BBL                    A         10                                 
-R  2 PIWA2-1AX-BBL                                                                 
-3 PIWA2-1AX-BBL-BORO               A          1                                 
-3 PIWA2-1AX-BLOCK                  A          5                                 
-3 PIWA2-1AX-LOT                    A          4                                 
-2 PIWA2-1AX-LOT-VERSION            A          1 /* NYI */                       
-2 PIWA2-1AX-SCC                    A          1                                 
-2 FILLER-1AX-100                   A          1                                 
-2 PIWA2-1AX-GENERAL-LOT-INFO                                                    
-3 PIWA2-1AX-RPAD-BLDG-CLASS        A          2                                 
-3 PIWA2-1AX-CORNER-CODE            A          2                                 
-3 PIWA2-1AX-NUM-OF-STRUCTURES      A          4                                 
-3 PIWA2-1AX-NUM-OF-BLOCKFACES      A          2                                 
-3 PIWA2-1AX-INTERIOR-FLAG          A          1                                 
-3 PIWA2-1AX-VACANT-FLAG            A          1                                 
-3 PIWA2-1AX-IRREG-LOT-FLAG         A          1                                 
-2 PIWA2-1AX-MARBLE-RIKERS-FLAG     A          1                                 
-2 PIWA2-1AX-ADDR-LIST-OVFLOW-FLAG  A          1                                 
-2 PIWA2-1AX-STROLL-KEY             A         19                                 
-R  2 PIWA2-1AX-STROLL-KEY                                                          
-3 PIWA2-1AX-STROLL-BORO            A          1                                 
-3 PIWA2-1AX-STROLL-5SC             A          5                                 
-3 PIWA2-1AX-STROLL-SIDE-OF-STR     A          1 /* L OR R                       
-3 PIWA2-1AX-STROLL-HI-HOUSENUM     A         11 /* SORT FORMAT                  
-3 FILLER-1AX-200                   A          1                                 
-2 FILLER-1AX-300                   A          1 /* FOR GSS USE                  
-2 PIWA2-1AX-BIN                    A          7                                 
-2 PIWA2-1AX-CONDO-FLAG             A          1                                 
-2 FILLER-1AX-400                   A          1                                 
-2 PIWA2-1AX-RPAD-CONDO-ID-NUM      A          4                                 
-2 PIWA2-1AX-CONDO-UNIT-ID-NUM      A          7                                 
-2 PIWA2-1AX-CONDO-BILL-BBL         A         10                                 
-2 PIWA2-1AX-CONDO-BILL-BBL-VER     A          1                                 
-2 PIWA2-1AX-CONDO-BILL-BBL-SCC     A          1                                 
-2 PIWA2-1AX-CONDO-LOW-BBL          A         10                                 
-2 PIWA2-1AX-CONDO-LOW-BBL-VER      A          1                                 
-2 PIWA2-1AX-CONDO-HIGH-BBL         A         10                                 
-2 PIWA2-1AX-CONDO-HIGH-BBL-VER     A          1                                 
-2 FILLER-1AX-600                   A         15                                 
-2 PIWA1-1AX-COOP-NUM               A          4                                 
-2 PIWA2-1AX-SANBORN                A          8                                 
-R  2 PIWA2-1AX-SANBORN                                                             
-3 PIWA2-1AX-SANBORN-BORO           A          1                                 
-3 PIWA2-1AX-SANBORN-VOL            A          3                                 
-3 PIWA2-1AX-SANBORN-PAGE           A          4                                 
-2 PIWA2-1AX-COMMERC-DIST           A          5                                 
-2 PIWA2-1AX-DOF-MAP-BORO           A          1                                 
-2 PIWA2-1AX-DOF-MAP-SECVOL         A          4                                 
-2 PIWA2-1AX-DOF-MAP-PAGE           A          4                                 
-2 FILLER-1AX-RESERVED-DCP          A          3                                 
-2 PIWA2-1AX-LATITUDE               A          9                                 
-2 PIWA2-1AX-LONGITUDE              A         11                                 
-2 PIWA2-1AX-X-COORD                A          7                                 
-2 PIWA2-1AX-Y-COORD                A          7                                 
-2 PIWA2-1AX-BID                    A          6                                 
-2 PIWA2-1AX-TPAD-BIN-ST            A          1 /* CURRENT STATUS */            
-2 PIWA2-1AX-TPAD-NEW-BIN           A          7 /* NEW BIN */                   
-2 PIWA2-1AX-TPAD-NEW-BIN-ST        A          1 /* NEW BIN STATUS */            
-2 PIWA2-1AX-TPAD-CONFLICT          A          1 /* CONFLICT FLAG */             
-2 FILLER-1AX-650                   A          9                                 
-2 FILLER-1AX-700                   A          8 /* FOR GSS USE                  
-2 PIWA2-1AX-REASON-CODE            A          1                                 
-2 PIWA2-1AX-REASON-CODE-QUAL       A          1                                 
-2 PIWA2-1AX-WARN-CODE              A          2                                 
-2 PIWA2-1AX-RETURN-CODE            A          2                                 
-2 FILLER-1AX-750                   A        108                                 
-2 PIWA2-1AX-NUM-OF-ADDR            A          4                                 
-2 PIWA2-1AX-LIST-OF-ADDR                        (1:21)                          
-3 PIWA2-1AX-LIST-LOW-HOUSENUM      A         16 /* DISPLAY FORMAT               
-3 PIWA2-1AX-LIST-HI-HOUSENUM       A         16 /* DISPLAY FORMAT               
-3 PIWA2-1AX-LIST-BORO              A          1                                 
-3 PIWA2-1AX-LIST-5SC               A          5                                 
-3 PIWA2-1AX-LIST-LGC               A          2                                 
-3 PIWA2-1AX-LIST-BIN               A          7                                 
-3 PIWA2-1AX-LIST-SIDE-OF-STR       A          1 /* L OR R                       
-3 PIWA2-1AX-ADDR-TYPE              A          1 /* P=NAP, B=NAB,          MAL   
-R  3 PIWA2-1AX-ADDR-TYPE                           /* REDEF. BEGIN : PIWA2-1AX-ADDR
-4 PIWA2-1AX-LIST-ADDR-TYPE         A          1 /* BLANK=NORMAL                 
-*  *                                               /* BLANK=NORMAL                 
-3 PIWA2-1AX-TPAD-STATUS            A          1 /* 0 - 9                        
-R  3 PIWA2-1AX-TPAD-STATUS                         /* REDEF. BEGIN : PIWA2-1AX-TPAD
-4 PIWA2-1AX-LIST-TPAD-STATUS       A          1                                 
-3 PIWA2-1AX-ST-NAME                A         32 /* 0 - 9                        
-R  3 PIWA2-1AX-ST-NAME                             /* REDEF. BEGIN : PIWA2-1AX-ST-N
-4 PIWA2-1AX-LIST-ST-NAME           A         32                                 
-3 FILLER-800                       A         34                                 
-* ** END OF FUNCTION 1A EXTENDED **** * ********** ***********************         
-* -- -------------------------------- - ---------- --------------------------      
-* ** BEGINNING OF FUNCTION 1B ******* * ********** ***********************         
-R  1 GEOLP2AL                                                                      
-2 PIWA2-1B-1-ACCESS-KEY            A         21                                 
-2 PIWA2-1B-1-CONT-PARITY           A          1 /* (OR DUP ADDR IND)            
-2 PIWA2-1B-1-LOW-HOUSENUM          A         11 /* SORT FORMAT                  
-2 PIWA2-1B-1-HI-HOUSENUM           A         11 /* SORT FORMAT                  
-2 PIWA2-1B-1-PREFERRED-LGC         A          2                                 
-2 PIWA2-1B-1-NUM-X-ST-LOW-END      A          1                                 
-2 PIWA2-1B-1-LOW-B5SC              A          6 (1:5) /* 30-BYTES               
-2 PIWA2-1B-1-NUM-X-ST-HI-END       A          1                                 
-2 PIWA2-1B-1-HI-B5SC               A          6 (1:5) /* 30-BYTES               
-2 PIWA2-1B-1-LIONKEY               A         10                                 
-R  2 PIWA2-1B-1-LIONKEY                                                            
-3 PIWA2-1B-1-LION-BORO             A          1                                 
-3 PIWA2-1B-1-LION-FACECODE         A          4                                 
-3 PIWA2-1B-1-LION-SEQ              A          5                                 
-2 PIWA2-1B-1-SPECIAL-ADDR-FLAG     A          1                                 
-2 PIWA2-1B-1-SIDE-OF-STR           A          1                                 
-2 PIWA2-1B-1-SEG-LEN               A          5                                 
-2 PIWA2-1B-1-X-COORD               A          7                                 
-2 PIWA2-1B-1-Y-COORD               A          7                                 
-2 FILLER-1B-1-100                  A          7 /* FOR ZCOORD                   
-2 PIWA2-1B-1-CD-ELIGIBLE           A          1                                 
-2 PIWA2-1B-1-MARBLE-RIKERS-FLAG    A          1                                 
-2 PIWA2-1B-1-DOT-SLA               A          1                                 
-2 PIWA2-1B-1-COM-DIST              A          3                                 
-R  2 PIWA2-1B-1-COM-DIST                                                           
-3 PIWA2-1B-1-COM-DIST-BORO         A          1                                 
-3 PIWA2-1B-1-COM-DIST-NUM          A          2                                 
-2 PIWA2-1B-1-ZIP                   A          5                                 
-*  *                                  *       **** *****                           
-*  *  THE FN1E FIELDS ARE VALID ONLY  *       **** *****                           
-*  *  FOR FUNCTION 1E, NOT FUNC 1.    *       **** *****                           
-2 PIWA2-1B-1-ELECT-DIST            A          3                                 
-2 PIWA2-1B-1-ASSEM-DIST            A          2                                 
-2 PIWA2-1B-1-SPLIT-ED-FLAG         A          1                                 
-2 PIWA2-1B-1-CONG-DIST             A          2                                 
-2 PIWA2-1B-1-SENATE-DIST           A          2                                 
-2 PIWA2-1B-1-COURT-DIST            A          2                                 
-2 PIWA2-1B-1-COUNCIL-DIST          A          2                                 
-*  *                                  *       **** *****                           
-2 PIWA2-1B-1-HEALTH-CENTER-DIST    A          2                                 
-2 PIWA2-1B-1-HEALTH-AREA           A          4                                 
-2 PIWA2-1B-1-SANI-DIST             A          3                                 
-R  2 PIWA2-1B-1-SANI-DIST                                                          
-3 PIWA2-1B-1-SANI-DIST-BORO        A          1                                 
-3 PIWA2-1B-1-SANI-DIST-NUM         A          2                                 
-2 PIWA2-1B-1-SANI-SUBSEC           A          2                                 
-2 PIWA2-1B-1-SANI-REG              A          5                                 
-2 PIWA2-1B-1-SANI-REC              A          3                                 
-2 PIWA2-1B-1-POLICE-DIST           A          4                                 
-R  2 PIWA2-1B-1-POLICE-DIST                                                        
-3 PIWA2-1B-1-POL-PAT-BORO-CMD      A          1                                 
-3 PIWA2-1B-1-POL-PRECINCT          A          3                                 
-2 PIWA2-1B-1-FIRE-DIV              A          2                                 
-2 PIWA2-1B-1-FIRE-BAT              A          2                                 
-2 PIWA2-1B-1-FIRE-CO               A          4                                 
-R  2 PIWA2-1B-1-FIRE-CO                                                            
-3 PIWA2-1B-1-FIRE-CO-TYPE          A          1                                 
-3 PIWA2-1B-1-FIRE-CO-NUM           A          3                                 
-2 FILLER-1B-1-250                  A          1 /* WAS SPLIT COM SCHL           
-2 PIWA2-1B-1-SCHL-DIST             A          2                                 
-2 PIWA2-1B-1-DYN-BLK               A          3                                 
-2 PIWA2-1B-1-POLICE-PAT-BORO       A          2                                 
-2 PIWA2-1B-1-FEATURE-TYPE          A          1                                 
-2 PIWA2-1B-1-SEGMENT-TYPE          A          1                                 
-2 PIWA2-1B-1-ALX                   A          1                                 
-2 PIWA2-1B-1-COINCIDENT-SEG-CTR    A          1                                 
-2 FILLER-1B-1-290                  A          3                                 
-2 PIWA2-1B-1-1990-CENSUS-TRACT     A          6                                 
-2 PIWA2-1B-1-2010-CENSUS-TRACT     A          6                                 
-2 PIWA2-1B-1-2010-CENSUS-BLOCK     A          4                                 
-2 PIWA2-1B-1-2010-CENSUS-BLOCK-SUF A          1                                 
-2 PIWA2-1B-1-2000-CENSUS-TRACT     A          6 /* NA                           
-2 PIWA2-1B-1-2000-CENSUS-BLOCK     A          4 /* NA                           
-2 PIWA2-1B-1-2000-CENSUS-BLOCK-SUF A          1 /* NA                           
-2 PIWA2-1B-1-NTA                   A          4 /*NEIGHBORHOOD                  
-*  *                                               /*TABULATION AREA               
-2 PIWA2-1B-1-SANIT-SNOW-PRIORITY   A          1 /*SANITATION STRT               
-*  *                                               /*SNOW PRIORITY                 
-2 PIWA2-1B-1-SANIT-ORGANICS        A          5                                 
-2 PIWA2-1B-1-SANIT-BULK-PICK-UP    A          5 /* V16.4 ADDITION               
-*  2 PIWA2-1B-1-SANIT-RESERVED        A          5                                 
-2 PIWA2-1B-1-HURRICANE-ZONE        A          2 /*OEM HURRICANE EVAC ZONE       
-2 FILLER-1B-1-300                  A         11                                 
-2 PIWA2-1B-1-UHNS                  A         11 /* UNDERLYING HNS               
-2 PIWA2-1B-1-REAL-B7SC             A          8                                 
-2 PIWA2-1B-1-SEGMENT-ID            A          7                                 
-2 PIWA2-1B-1-CURVE-FLAG            A          1                                 
-2 PIWA2-1B-1-LGCS                  A          8                                 
-2 PIWA2-1B-1-BOE-PTR               A          1                                 
-2 PIWA2-1B-1-AZIMUTH               A          3                                 
-2 PIWA2-1B-1-ORIENT                A          1                                 
-2 PIWA2-1B-1-X-LOW                 A          7                                 
-2 PIWA2-1B-1-Y-LOW                 A          7                                 
-2 PIWA2-1B-1-Z-LOW                 A          7                                 
-2 PIWA2-1B-1-X-HI                  A          7                                 
-2 PIWA2-1B-1-Y-HI                  A          7                                 
-2 PIWA2-1B-1-Z-HI                  A          7                                 
-2 PIWA2-1B-1-X-CC                  A          7                                 
-2 PIWA2-1B-1-Y-CC                  A          7                                 
-2 PIWA2-1B-1-Z-CC                  A          7                                 
-2 PIWA2-1B-1-RADIUS                A          7                                 
-2 PIWA2-1B-1-SECANT                A          1                                 
-2 PIWA2-1B-1-ANGLE-FROM            A          5                                 
-2 PIWA2-1B-1-ANGLE-TO              A          5                                 
-2 PIWA2-1B-1-NODE-FROM             A          7                                 
-2 PIWA2-1B-1-NODE-TO               A          7                                 
-2 PIWA2-1B-1-VANITY-LION           A         10                                 
-2 PIWA2-1B-1-SOS                   A          1                                 
-2 PIWA2-1B-1-SPLIT-LOHSN           A         11                                 
-2 PIWA2-1B-1-TD                    A          1                                 
-2 PIWA2-1B-1-TR                    A         10                                 
-2 PIWA2-1B-1-CURVE-FRACTION        A          3                                 
-2 PIWA2-1B-1-ROADWAY-TYPE          A          2                                 
-2 PIWA2-1B-1-PHYSICAL-ID           A          7                                 
-2 PIWA2-1B-1-GENERIC-ID            A          7                                 
-2 PIWA2-1B-1-INTP-ID               A          7                                 
-2 PIWA2-1B-1-INTF-ID               A          7                                 
-2 PIWA2-1B-1-BIKE-LANE-2           A          2                                 
-2 PIWA2-1B-1-BIKE-TRAFFIC-DIR      A          2 /* V17.1 ADDITION               
-2 PIWA2-1B-1-FILL450               A          3 /* V17.1 ALTERATION             
-*  2 PIWA2-1B-1-FILL450               A          5 /* V16.4 ALTERATION             
-*  2 PIWA2-1B-1-FILL450               A          7 /* V16.1 REPLACEMENT            
-2 PIWA2-1B-1-STREET-STATUS         A          1                                 
-2 PIWA2-1B-1-STREET-WIDTH          A          3                                 
-2 PIWA2-1B-1-STREET-WIDTH-IRR      A          1                                 
-2 PIWA2-1B-1-BIKE-LANE             A          1                                 
-2 PIWA2-1B-1-FED-CLASS-CODE        A          2                                 
-2 PIWA2-1B-1-ROW-TYPE              A          1                                 
-2 PIWA2-1B-1-LGC-LIST-2            A         10                                 
-2 PIWA2-1B-1-LEGACY-SEG-ID         A          7                                 
-2 PIWA2-1B-1-LGC-LIST-FROM-1       A         10                                 
-2 PIWA2-1B-1-LGC-LIST-TO-1         A         10                                 
-2 PIWA2-1B-1-LGC-LIST-FROM-2       A         10                                 
-2 PIWA2-1B-1-LGC-LIST-TO-2         A         10                                 
-2 PIWA2-1B-1-NOCROSS-FLG           A          1                                 
-2 PIWA2-1B-1-IND-SEG-LEN           A          5                                 
-2 PIWA2-1B-1-NTA-NAME              A         75                                 
-2 PIWA2-1B-1-USPS-CITY-NAME        A         25 /*USPS PREFERRED CITY NAME      
-2 PIWA2-1B-1-LATITUDE              A          9                                 
-2 PIWA2-1B-1-LONGITUDE             A         11                                 
-2 PIWA2-1B-1-SEG-FROM-NODE         A          7                                 
-2 PIWA2-1B-1-SEG-TO-NODE           A          7                                 
-2 PIWA2-1B-1-SEG-FROM-XYZ          A         21                                 
-2 PIWA2-1B-1-SEG-TO-XYZ            A         21                                 
-2 PIWA2-1B-1-BLOCKFACE-ID          A         10 /* V16.1 ADD                    
-2 PIWA2-1B-1-NBR-TRAVEL-LANES      A          2 /* V16.1 ADD                    
-2 PIWA2-1B-1-NBR-PARK-LANES        A          2 /* V16.1 ADD                    
-2 PIWA2-1B-1-NBR-TOTAL-LANES       A          2 /* V16.1 ADD                    
-2 PIWA2-1B-1-STR-WIDTH-MAX         A          3 /* V16.4 ADDITION               
-2 FILLER-1B-1-500                  A        252 /* V16.4 MOD                    
-*  2 FILLER-1B-1-500                  A        255 /* V16.1 MOD                    
-* ** **** THE FOLLOWING FIELDS ARE IN   ADDITION   TO 1/1E****************         
-2 PIWA2-1B-1-REASON-CODE           A          1                                 
-2 PIWA2-1B-1-REASON-CODE-QUAL      A          1                                 
-2 PIWA2-1B-1-WARN-CODE             A          2                                 
-2 PIWA2-1B-1-RETURN-CODE           A          2                                 
-2 PIWA2-1B-1-NUM-X-STS-LO-END      A          1                                 
-2 PIWA2-1B-1-LO-B7SC               A          8 (1:5)                           
-2 PIWA2-1B-1-NUM-X-STS-HI-END      A          1                                 
-2 PIWA2-1B-1-HI-B7SC               A          8 (1:5)                           
-2 PIWA2-1B-1-LO-ST-NAME            A         32 (1:5)                           
-2 PIWA2-1B-1-HI-ST-NAME            A         32 (1:5)                           
-2 PIWA2-1B-1-BOE-B7SC              A          8                                 
-2 PIWA2-1B-1-BOE-ST-NAME           A         32                                 
-2 FILLER-1B-1-600                  A         52                                 
-*  * ******************************** * ********** ******************              
-*  * THE FOLLOWING FIELDS ARE         * ********** ********                        
-*  *     PROPERTY LEVEL FIELDS        * ********** ********                        
-2 PIWA2-1B-1A-ACCESS-KEY           A         21 /*CHG FROM LEVEL 3 TO 2???      
-2 PIWA2-1B-1A-CONT-PARITY          A          1 /* OR DUP ADDR IND              
-2 PIWA2-1B-1A-LOW-HOUSENUM         A         11 /* SORT FORMAT                  
-2 PIWA2-1B-1A-BBL                  A         10                                 
-R  2 PIWA2-1B-1A-BBL                                                               
-3 PIWA2-1B-1A-BBL-BORO             A          1                                 
-3 PIWA2-1B-1A-BLOCK                A          5                                 
-3 PIWA2-1B-1A-LOT                  A          4                                 
-2 PIWA2-1B-1A-LOT-VERSION          A          1 /* NYI */                       
-2 PIWA2-1B-1A-SCC                  A          1                                 
-2 FILLER-1B-1A-100                 A          1                                 
-2 PIWA2-1B-1A-GENERAL-LOT-INFO                                                  
-3 PIWA2-1B-1A-RPAD-BLDG-CLASS      A          2                                 
-3 PIWA2-1B-1A-CORNER-CODE          A          2                                 
-3 PIWA2-1B-1A-NUM-OF-STRUCTURES    A          4                                 
-3 PIWA2-1B-1A-NUM-OF-BLOCKFACES    A          2                                 
-3 PIWA2-1B-1A-INTERIOR-FLAG        A          1                                 
-3 PIWA2-1B-1A-VACANT-FLAG          A          1                                 
-3 PIWA2-1B-1A-IRREG-LOT-FLAG       A          1                                 
-2 PIWA2-1B-1A-MARBLE-RIKERS-FLAG   A          1                                 
-2 PIWA2-1B-1A-ADDR-LIST-OVFLOW-FLG A          1 /*FLAG,FLG?????????             
-2 PIWA2-1B-1A-STROLL-KEY           A         19                                 
-R  2 PIWA2-1B-1A-STROLL-KEY                                                        
-3 PIWA2-1B-1A-STROLL-BORO          A          1                                 
-3 PIWA2-1B-1A-STROLL-5SC           A          5                                 
-3 PIWA2-1B-1A-STROLL-SIDE-OF-STR   A          1 /* L OR R                       
-3 PIWA2-1B-1A-STROLL-HI-HOUSENUM   A         11 /* SORT FORMAT                  
-3 FILLER-1B-1A-200                 A          1                                 
-2 FILLER-1B-1A-300                 A          1 /* FOR GSS USE                  
-2 PIWA2-1B-1A-BIN                  A          7                                 
-2 PIWA2-1B-1A-CONDO-FLAG           A          1                                 
-2 FILLER-1B-1A-400                 A          1                                 
-2 PIWA2-1B-1A-RPAD-CONDO-ID-NUM    A          4                                 
-2 PIWA2-1B-1A-CONDO-UNIT-ID-NUM    A          7                                 
-2 PIWA2-1B-1A-CONDO-BILL-BBL       A         10                                 
-2 PIWA2-1B-1A-CONDO-BILL-BBL-VER   A          1                                 
-2 PIWA2-1B-1A-CONDO-BILL-BBL-SCC   A          1                                 
-2 PIWA2-1B-1A-CONDO-LOW-BBL        A         10                                 
-2 PIWA2-1B-1A-CONDO-LOW-BBL-VER    A          1                                 
-2 PIWA2-1B-1A-CONDO-HIGH-BBL       A         10                                 
-2 PIWA2-1B-1A-CONDO-HIGH-BBL-VER   A          1                                 
-2 FILLER-1B-1A-500                 A         15                                 
-2 PIWA1-1B-1A-COOP-NUM             A          4                                 
-2 PIWA2-1B-1A-SANBORN              A          8                                 
-R  2 PIWA2-1B-1A-SANBORN                                                           
-3 PIWA2-1B-1A-SANBORN-BORO         A          1                                 
-3 PIWA2-1B-1A-SANBORN-VOL          A          3                                 
-3 PIWA2-1B-1A-SANBORN-PAGE         A          4                                 
-2 PIWA2-1B-1A-COMMERC-DIST         A          5                                 
-2 PIWA2-1B-1A-DOF-MAP-BORO         A          1                                 
-2 PIWA2-1B-1A-DOF-MAP-SECVOL       A          4                                 
-2 PIWA2-1B-1A-DOF-MAP-PAGE         A          4                                 
-2 FILLER-1B-1A-RESERVED-DCP        A          3                                 
-2 PIWA2-1B-1A-LATITUDE             A          9                                 
-2 PIWA2-1B-1A-LONGITUDE            A         11                                 
-2 PIWA2-1B-1A-X-COORD              A          7                                 
-2 PIWA2-1B-1A-Y-COORD              A          7                                 
-2 PIWA2-1B-1A-BID                  A          6                                 
-2 PIWA2-1B-1A-TPAD-BIN-ST          A          1 /* CURRENT STATUS */            
-2 PIWA2-1B-1A-TPAD-NEW-BIN         A          7 /* NEW BIN */                   
-2 PIWA2-1B-1A-TPAD-NEW-BIN-ST      A          1 /* NEW BIN STATUS */            
-2 PIWA2-1B-1A-TPAD-CONFLICT        A          1 /* CONFLICT FLAG */             
-2 FILLER-1B-1A-650                 A          9                                 
-2 FILLER-1B-1A-700                 A          8 /* FOR GSS USE                  
-2 PIWA2-1B-1A-REASON-CODE          A          1                                 
-2 PIWA2-1B-1A-REASON-CODE-FILL     A          1                                 
-2 PIWA2-1B-1A-WARN-CODE            A          2                                 
-2 PIWA2-1B-1A-RETURN-CODE          A          2                                 
-2 FILLER-1B-1A-750                 A        108                                 
-2 PIWA2-1B-1A-NUM-OF-ADDR          A          4                                 
-2 PIWA2-1B-1A-LIST-OF-ADDR                      (1:21)                          
-3 PIWA2-1B-1A-LIST-LOW-HOUSENUM    A         16 /* DISPLAY FORMAT               
-3 PIWA2-1B-1A-LIST-HI-HOUSENUM     A         16 /* DISPLAY FORMAT               
-3 PIWA2-1B-1A-LIST-BORO            A          1                                 
-3 PIWA2-1B-1A-LIST-5SC             A          5                                 
-3 PIWA2-1B-1A-LIST-LGC             A          2                                 
-3 PIWA2-1B-1A-LIST-BIN             A          7                                 
-3 PIWA2-1B-1A-LIST-SIDE-OF-STR     A          1 /* L OR R                       
-3 PIWA2-1B-1A-ADDR-TYPE            A          1 /* P=NAP, B=NAB,          MAL   
-R  3 PIWA2-1B-1A-ADDR-TYPE                         /* REDEF. BEGIN : PIWA2-1B-1A-AD
-4 PIWA2-1B-1A-LIST-ADDR-TYPE       A          1 /* BLANK=NORMAL                 
-3 PIWA2-1B-1A-TPAD-STATUS          A          1 /* 0 - 9                        
-R  3 PIWA2-1B-1A-TPAD-STATUS                       /* REDEF. BEGIN : PIWA2-1B-1A-TP
-4 PIWA2-1B-1A-LIST-TPAD-STATUS     A          1                                 
-3 PIWA2-1B-1A-ST-NAME              A         32                                 
-R  3 PIWA2-1B-1A-ST-NAME                           /* REDEF. BEGIN : PIWA2-1B-1A-ST
-4 PIWA2-1B-1A-LIST-ST-NAME         A         32                                 
-3 FILLER-1B-1A-800                 A         34                                 
-* ** END OF FUNCTION 1B ************* * ********** **************************
-
-

GEOLP23S COPY File

-
1 GEOLP23S                                                                   
-*  * THE FIELD P2NAT3S IS USED AS A      PARAMETER TO CALL GEOSUPPORT           
-2 P2NAT3S                          A         21                              
-R  2 P2NAT3S                                                                    
-3 PIWA2-3S-ACCESS-KEY              A         21                              
-R  3 PIWA2-3S-ACCESS-KEY                                                        
-4 FILLER-GSS                       A          2                              
-4 PIWA2-3S-PORS-STNAME-IND         A          1                              
-4 PIWA2-3S-BORO                    A          1 /* P=PRIMARY                 
-*  *                                               /* B=SECONDARY               
-4 PIWA2-3S-5SC                     A          5                              
-4 PIWA2-3S-LGC                     A          2 /* BLANK IF P IN             
-4 FILLER                           A         10 /* POSITION 3                
-2 PIWA2-3S-NUM-OF-INTERSECTS       A          3                              
-2 PIWA2-3S-LIST-OF-INTERSECTS                   (1:350)                      
-3 PIWA2-3S-MARBLE-RIKERS-FLAG      A          1                              
-3 PIWA2-3S-DISTANCE                A          5                              
-3 PIWA2-3S-GAP-FLAG                A          1                              
-3 FILLER-100                       A          7                              
-3 PIWA2-3S-NUM-OF-STR              A          1                              
-3 PIWA2-3S-B7SC                    A          8 (1:5)
-
-

GEOL2AP COPY File

-
1 GEOL2AP                                                                   
-2 P2NATAP                          A         21                             
-R  2 P2NATAP                                                                   
-3 PIWA2-AP-ACCESS-KEY              A         21                             
-2 PIWA2-AP-CONT-PARITY             A          1                             
-2 PIWA2-AP-LOW-HOUSENUM            A         11                             
-2 PIWA2-AP-BBL                     A         10                             
-R  2 PIWA2-AP-BBL                                                              
-3 PIWA2-AP-BBL-BORO                A          1                             
-3 PIWA2-AP-BBL-BLOCK               A          5                             
-3 PIWA2-AP-BBL-LOT                 A          4                             
-2 FILLER-AP01                      A          7                             
-2 PIWA2-AP-NUM-OF-STRUCTURES       A          4                             
-2 FILLER-AP02                      A         26                             
-2 FILLER-AP-GSS1                   A          1                             
-2 PIWA2-AP-BIN                     A          7                             
-2 PIWA2-AP-CONDO-FLAG              A          1                             
-2 FILLER-AP03                      A          1                             
-2 PIWA2-AP-RPAD-CONDO-ID-NUM       A          4                             
-2 FILLER-AP04                      A          7                             
-2 PIWA2-AP-CONDO-BILL-BBL          A         10                             
-2 FILLER-AP05                      A          2                             
-2 PIWA2-AP-CONDO-LOW-BBL           A         10                             
-2 FILLER-AP06                      A          1                             
-2 PIWA2-AP-CONDO-HIGH-BBL          A         10                             
-2 FILLER-AP07                      A         16                             
-2 PIWA2-AP-COOP-NUM                A          4                             
-2 FILLER-AP08                      A         22                             
-2 PIWA2-AP-RESERVED                A          3                             
-2 PIWA2-AP-LATITUDE                A          9                             
-2 PIWA2-AP-LONGITUDE               A         11                             
-2 PIWA2-AP-X-COORD                 A          7                             
-2 PIWA2-AP-Y-COORD                 A          7                             
-2 FILLER-AP09                      A         16                             
-2 PIWA2-AP-AP-ID                   A          9                             
-2 FILLER-AP-GSS2                   A          8                             
-2 PIWA2-AP-NUM-OF-ADDR             A          4                             
-2 PIWA2-AP-ADDR-LIST                            (1:21)                      
-3 PIWA2-AP-LIST-LOW-HOUSENUM       A         16                             
-3 PIWA2-AP-LIST-HI-HOUSENUM        A         16                             
-3 PIWA2-AP-LIST-BORO               A          1                             
-3 PIWA2-AP-LIST-5SC                A          5                             
-3 PIWA2-AP-LIST-LGC                A          2                             
-3 PIWA2-AP-LIST-BIN                A          7                            
-3 PIWA2-AP-LIST-SIDE-OF-STR        A          1                            
-3 PIWA2-AP-ADDR-TYPE               A          1                            
-R  3 PIWA2-AP-ADDR-TYPE                                                       
-4 PIWA2-AP-LIST-ADDR-TYPE          A          1                             
-3 FILLER-AP10                      A          4
-
-

GEOL2APX COPY File

-
1 GEOL2APX                                                                   
-2 P2NATAPX                         A         21                              
-R  2 P2NATAPX                                                                   
-3 PIWA2-APX-ACCESS-KEY             A         21                              
-2 PIWA2-APX-CONT-PARITY            A          1                              
-2 PIWA2-APX-LOW-HOUSENUM           A         11                              
-2 PIWA2-APX-BBL                    A         10                              
-R  2 PIWA2-APX-BBL                                                              
-3 PIWA2-APX-BBL-BORO               A          1                              
-3 PIWA2-APX-BBL-BLOCK              A          5                              
-3 PIWA2-APX-BBL-LOT                A          4                              
-2 FILLER-APX01                     A          7                              
-2 PIWA2-APX-NUM-OF-STRUCTURES      A          4                              
-2 FILLER-APX02                     A         26                              
-2 FILLER-APX-GSS1                  A          1                              
-2 PIWA2-APX-BIN                    A          7                              
-2 PIWA2-APX-CONDO-FLAG             A          1                              
-2 FILLER-APX03                     A          1                              
-2 PIWA2-APX-RPAD-CONDO-ID-NUM      A          4                              
-2 FILLER-APX04                     A          7                              
-2 PIWA2-APX-CONDO-BILL-BBL         A         10                              
-2 FILLER-APX05                     A          2                              
-2 PIWA2-APX-CONDO-LOW-BBL          A         10                              
-2 FILLER-APX06                     A          1                              
-2 PIWA2-APX-CONDO-HIGH-BBL         A         10                              
-2 FILLER-APX07                     A         16                              
-2 PIWA2-APX-COOP-NUM               A          4                              
-2 FILLER-APX08                     A         22                              
-2 PIWA2-APX-RESERVED               A          3                              
-2 PIWA2-APX-LATITUDE               A          9                              
-2 PIWA2-APX-LONGITUDE              A         11                              
-2 PIWA2-APX-X-COORD                A          7                              
-2 PIWA2-APX-Y-COORD                A          7                              
-2 FILLER-APX09                     A         16                              
-2 PIWA2-APX-AP-ID                  A          9                              
-2 FILLER-APX-GSS2                  A          8                              
-2 PIWA2-APX-REASON-CODE            A          1                              
-2 PIWA2-APX-REASON-CODE-QUAL       A          1                              
-2 PIWA2-APX-WARN-CODE              A          2                              
-2 PIWA2-APX-RETURN-CODE            A          2                              
-2 FILLER-APX10                     A        108                              
-2 PIWA2-APX-NUM-OF-ADDR            A          4                              
-2 PIWA2-APX-ADDR-LIST                           (1:21)                       
-3 PIWA2-APX-LIST-LOW-HOUSENUM      A         16                              
-3 PIWA2-APX-LIST-HI-HOUSENUM       A         16                              
-3 PIWA2-APX-LIST-BORO              A          1                              
-3 PIWA2-APX-LIST-5SC               A          5                              
-3 PIWA2-APX-LIST-LGC               A          2                              
-3 PIWA2-APX-LIST-BIN               A          7                              
-3 PIWA2-APX-LIST-SIDE-OF-STR       A          1                              
-3 PIWA2-APX-ADDR-TYPE              A          1                              
-R  3 PIWA2-APX-ADDR-TYPE                                                        
-4 PIWA2-APX-LIST-ADDR-TYPE         A          1                              
-3 FILLER-APX11                     A          1                              
-3 PIWA2-APX-ST-NAME                A         32                              
-R  3 PIWA2-APX-ST-NAME                                                          
-4 PIWA2-APX-LIST-ST-NAME           A         32                              
-3 FILLER-APX12                     A         34
-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix15/index.html b/site/appendices/appendix15/index.html deleted file mode 100644 index ade71254..00000000 --- a/site/appendices/appendix15/index.html +++ /dev/null @@ -1,1103 +0,0 @@ - - - - - - - - - - - - Appendix 15: 2010 Census Geography – Functions 1, 1E, 2, 3, and 3C - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 15: 2010 Census Geography – Functions 1, 1E, 2, 3, and 3C
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 15: 2010 CENSUS GEOGRAPHY – FUNCTIONS 1, 1E, 2, 3, and 3C

- -

This appendix is based on the Geosupport System Technical Bulletin 11-01 for Geosupport Version 11.0. If you need a copy of the Bulletin, please be in touch with the GSS Manager of Geographic Research. Contact information is available in Appendix 6: Geosupport Feedback Procedures.

-

As of Geosupport Software Version 11.0 / Release 11A, Geosupport returns the new 2010 Census geography (e.g. census tract and census block). As of Software Version 11.4 / Release 12B, health areas are based on 2010 Census geography. Note that other tract based district information (e.g. community development eligibility) will still be based on the 2000 Census geography until further notice.

-

User Programming Considerations for 2010 Census Geography

-
    -
  • New 2010 Census data replaces 2000 Census data
  • -
  • Census 2000 data has been moved to a new location and renamed
  • -
  • There is no need to do any modifications to get 2010 Census information from GBAT or programs that use offsets, since the 2010 Census information replaces the 2000 information.
  • -
  • Modification is needed to get 2000 Census information from GBAT or programs that use offsets, since the 2000 information has been moved to a new location.
      -
    • See the tables of Census Data Offsets below.
    • -
    -
  • -
  • At some point, users must modify and recompile programs that access Census information, accessing the new 2010 or 2000 Census field names
      -
    • See the new field names in the appropriate copy files
    • -
    -
  • -
  • If users do not recompile and Census data is processed, they will get the 2010 data. Note: If you do not recompile and you are accessing Census information via the field names in the copy books, the next time you try to recompile you will get a compile error since the existing Census field names no longer exist. You will have to indicate at that point whether you want Census 2010 or Census 2000 by modifying the field names in the programs
  • -
  • MSW Users: For Function 1/1E, the 2000 Census information has been moved to Long Work Area 2, as there was no room for it in the regular Work Area 2. Census 2010 information is in the regular Work Area 2.
  • -
-

Every 10 years, in conjunction with the decennial census of the population, the U.S. Census Bureau defines a new set of census geography (census tract and census block boundary lines and identifiers) throughout the nation. The Geosupport System has been providing 1990 census tract and 2000 census tract, census block and census block suffix fields. This data will continue to be included in the output information returned from Functions 1, 1B, 1E, 2, 3 and 3C.

-

DCP/GSS received the 2010 census geography from the Census Bureau and now includes this information since File Release 11A, Geosupport Software Version 11.0. The 1990 census information will continue to be returned in the same work area fields that have been used in previous releases.

-

However, as of Release 11A, Version 11.0, the 2010 Census information for both COW and MSW outputs is now returned in the same positions that previously held the 2000 Census information, and the 2000 Census information has been moved to positions previously defined as filler. Also, the field names (in the Copy Books) of the 2000 Census information fields have been changed

-

This was done so that users who want the most current Census information will not have to immediately recompile their programs and change their GBAT jobs to get the 2010 Census information. However, whenever users recompile their programs, they will have to update the field names for the 2010 Census information, and, if they want the 2000 Census information, they will have to update the field names for that as well. The name changes were done purposely in order to force users who recompile programs that use the copylibs and look at Census information to change their programs and make decisions whether they want to continue receiving Census 2000 data and/or update their programs to receive Census 2010 data

-

CENSUS DATA OFFSETS – Table 1 (COW) and Table 2 (MSW)

-

TABLE 1 - Offsets for the 2010 and 2000 Census data for COW Work Area 2

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Functions (COW)Data ItemWA2 Position Prior to Release 11AWA2 Position as of 11A
COW Fns 1, 1E and 1B 2010 Census TractNot Provided224-229
2010 Census BlockNot Provided230-233
2010 Census BlockNot Provided230-233
2010 Census FillerNot Provided234
2000 Census Tract224-229235-240
2000 Census Block Suffix234245
COW Fn 22010 Census TractNot Provided136-141
2000 Census Tract136-141176-181
COW Fn 32010 Left Census TractNot Provided260-265
2010 Left Census BlockNot Provided266-269
2010 Left Census FillerNot Provided270-270
2010 Right Census TractNot Provided410-415
2010 Right Census BlockNot Provided416-419
2010 Right Census FillerNot Provided420
2000 Left Census Tract260-265271-276
2000 Left Census Block266-269277-280
2000 Left Census Block Suffix270-270281-281
2000 Right Census Tract410-415421-426
2000 Right Census Block416-419427-430
2000 Right Census Block Suffix420-420431-431
COW Fn 3C2010 Census TractNot Provided260-265
2010 Census BlockNot Provided266-269
2010 Census FillerNot Provided270-270
2000 Census Tract260-265271-276
2000 Census Block266-269277-280
2000 Census Block Suffix270281
- -

TABLE 2 - Offsets for the 2010 and 2000 Census data for MSW Work Area 2

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Functions (MSW)Data ItemWA2 Position Prior to Release 11AWA2 Position as of Release 11A
MSW Fns 1 and 1E2010 Census TractNot Provided91-96
2010 Census BlockNot Provided97-100
2010 Census FillerNot Provided101-101
2000 Census Tract91-96222-227
-Available only with Long Work Area 2
2000 Census Block97-100228-231
-Available only with Long Work Area 2
2000 Census Block Suffix101-101232 -232
- Available only with Long Work  Area 2
MSW Fn 22010 Census TractNot Provided87-92
2000 Census Tract87-92168-173
MSW Fn 32010 Left Census TractNot Provided243-248
-Available only with Long Work Area 2
2010 Left Census BlockNot Provided249-252
-Available only with Long Work Area 2
2010 Left Census FillerNot Provided253 - 253
-Available only with Long Work Area 2
2010 Right Census TractNot Provided254-259
-Available only with Long Work Area 2
2010 Right Census BlockNot Provided260-263
-Available only with Long Work Area 2
2010 Right Census FillerNot Provided264-264
-Available only with Long Work Area 2
2000 Left Census Tract243-248
-Available only with Long Work Area 2
279-284
-Available only with Long Work Area 2
2000 Left Census Block249-252
-Available only with Long Work Area 2
285-288
-Available only with Long Work Area 2
2000 Left Census Block Suffix253-253
-Available only with Long Work Area 2
289-289
-Available only with Long Work Area 2
2000 Right Census Tract254-259
-Available only with Long Work Area 2
290-295
-Available only with Long Work Area 2
2000 Right Census Block260-263
-Available only with Long Work Area 2
296-299
-Available only with Long Work Area 2
2000 Right Census Block Suffix264-264
-Available only with Long Work Area 2
300-300
-Available only with Long Work Area2
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix16/index.html b/site/appendices/appendix16/index.html deleted file mode 100644 index 8b59560e..00000000 --- a/site/appendices/appendix16/index.html +++ /dev/null @@ -1,808 +0,0 @@ - - - - - - - - - - - - Appendix 16: Neighborhood Tabulation Areas (NTAS) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 16: Neighborhood Tabulation Areas (NTAS)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 16: NEIGHBORHOOD TABULATION AREAS (NTAS)

- -

Originally created as Neighborhood Projection Areas for use in population projections, these aggregations of census tracts have been updated using 2010 census tracts and renamed Neighborhood Tabulation Areas (NTAs). The origin of Neighborhood Projection Areas as subsets of 55 Public Use Microdata Areas (PUMAs) is explained below.

-

The Neighborhood Tabulation Areas (NTAs) have been adopted by the Population Division of DCP as a method of presenting the U.S. Census Bureau’s American Community Survey (ACS) release of census tract data for 5-year estimates. To mitigate the small sample size and accompanying large margins of error, ACS data are aggregated to NTA geography and made available in the ACS section of the DCP Population website. Because NTAs are subsets of PUMAs, they are important to anyone requiring ACS data for subareas of Community Districts. Regarding the 2010 census, these geographic areas offer a good compromise between the very detailed data for census tracts (2,168) and the broad strokes provided by community districts (59).

-

Neighborhood Projection Areas were created to project populations at a small area level, from 2000 to 2030. First and foremost, these aggregations were driven by population size in 2000 – neighborhood projection areas had to have a minimum population of 15,000, because this reduces the error associated with the projected population. This criterion resulted in combinations of neighborhoods that probably would not occur if one were solely designating boundaries of historical neighborhoods. Moreover, the neighborhood names associated with the neighborhood projections areas are not intended to be definitive.

-

Neighborhood projection areas were created using whole census tracts that were exact subdivisions of New York City’s 55 Public Use Microdata Areas (PUMAs). (PUMAs were developed for use with the Census Bureau’s Public Use Microdata Samples (PUMS) and are approximations of Community Districts.) Neighborhood projection areas were not permitted to cross PUMA boundaries.

-

Users need to be cognizant of the reason why these neighborhood projection areas were created, and the demographic and geographic constraints inherent in how they were configured.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix17/index.html b/site/appendices/appendix17/index.html deleted file mode 100644 index f97f0eef..00000000 --- a/site/appendices/appendix17/index.html +++ /dev/null @@ -1,1148 +0,0 @@ - - - - - - - - - - - - Appendix 17: TPAD - Additional Information - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 17: TPAD - Additional Information
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 17: TPAD - ADDITIONAL INFORMATION

- -
Geosupport Warnings, TPAD Conflict Flag, Reason Code Qualifier and Error Message
- -

The TPAD Option allows users to get up-to-date property-level information. The TPAD Option is available for Function 1A, BL, BN, and 1B calls (PAD calls). When users turn the TPAD Switch ‘on’ in their applications, Geosupport reads the Transitional PAD file (TPAD) for intra-cycle PAD data and if any is found, Geosupport returns the TPAD data to the calling application. See Chapter VI.11 for a more detailed description of the TPAD option and the information it returns.

-

This appendix describes the special return code and error message handling with respect to TPAD. If your applications make function 1A, BL, BN or 1B calls with the TPAD Option ‘on’, then you must read this description.

-

Geosupport is designed to return information about both a normal warning (e.g. Hyphen Deleted) and a TPAD Conflict situation (e.g. …No Existing PAD BBL) with only one Function 1A, BL, BN or 1B call (with TPAD Switch ‘on’) to Geosupport. The value in the Geosupport Reason Code will be the value that a user would expect when a Geosupport function call has completed with a warning. The TPAD Conflict Flag will be in Work Area 2 (WA2) for all PAD calls with the TPAD Option ‘on’. The ‘*’ Reason Code (which indicates a TPAD Warning) will appear in only one exceptional case. In the situation where there was no regular Warning Message for the regular PAD call and there was TPAD data found that conflicts with the PAD data, then the GRC will contain ‘01’ (indicating a warning) and the Reason Code will contain ‘*’ (indicating that there is only a TPAD Conflict Flag warning and no regular Geosupport warning).

-

In addition, if TPAD data is found and there is a conflict with the PAD data, the value in the WA2 Conflict Flag field will also be placed into a new field called the Geosupport Reason Code Qualifier field which immediately follows the Geosupport Reason Code field in Work Area 1 (WA1). When this new field is populated with the TPAD Conflict Flag, the TPAD Conflict Message will be put in the Geosupport Error Message field instead of the Geosupport Warning Message that would normally appear. Note, therefore, that if there was a Geosupport Warning involving the regular PAD portion of this call, the Reason Code field will indicate the nature of the warning as with all other Geosupport calls (but the Error Message field for this warning will be overridden by the TPAD Conflict message if a conflict exists).

-

Values of ‘0’ or ‘1’ in the TPAD Conflict Flag (in WA2) are considered ‘normal results’. - ‘0’ signifies TPAD data was found and does not conflict with PAD data; - ‘1’ signifies that no TPAD data was found. -When there are ‘normal results’, the WA2 TPAD Conflict Flag will not be placed into the new Geosupport Reason Qualifier field in WA1.

-

The following table shows the possible results for Function 1A, BL, BN an 1B calls with the TPAD Switch ‘on’.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Regular Geosupport Warning for PAD Call
YesNo
TPAD Data FoundTPAD Data Found
Work Area 1 FieldsYesNoYesNo
Geosupport Return Code
(GRC)
01010100
Reason CodeWarning
Reason Code
Warning
Reason Code
\*blank
Reason Code QualifierTPAD Conflict
Flag†
blankTPAD Conflict
Flag†
blank
Error MessageTPAD Conflict
Flag†
blankTPAD Conflict
Flag†
blank
WA2 Conflict FlagTPAD Conflict FlagTPAD Conflict FlagTPAD Conflict FlagTPAD Conflict Flag
- -

Note: The TPAD Conflict Flag appears in the Reason Code Qualifier only if its value is greater than ‘1’. Similarly, the TPAD Conflict Message will appear in the Error Message field, only if the TPAD Conflict field is greater than ‘1’. -The TPAD Conflict Flag ‘1’ (no TPAD data was found) and the TPAD Conflict Flag ‘0’ (TPAD data found and it does not conflict with PAD data) will not appear in the Reason Code Qualifier field in WA1. The Error Message field will have a TPAD Conflict Message only when TPAD data was found and it conflicts with the PAD data in some way (and as a result, the Reason Code Qualifier will be non-blank). Note that if there is no Regular Geosupport Warning, and there is TPAD data which does not conflict with the PAD data (Conflict Flag ‘0’), the GRC will be ‘00’ the Reason Code, Reason Code Qualifier, and Error Message will all be blank. -

-

See examples on the following pages.

-

Examples: PAD Data Found with Regular Warnings

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with regular Geosupport warning) and No TPAD Data Found
Input: 12-34 Sample Street
WA1 Fields Value
GRC01
Reason Code3 [indicates input address number altered – hyphen deleted]
Reason Code Qualifierblank
Error MessageADDR NUMBER ALTERED: HYPHEN DELETED
WA2 Conflict Flag1
- -


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with regular Geosupport warning) and TPAD Data (with no conflicts)
Input: 12-34 Sample Street
WA1 Fields Value
GRC01
Reason Code3 [indicates input address number altered – hyphen deleted]
Reason Code Qualifierblank
Error MessageADDR NUMBER ALTERED: HYPHEN DELETED
WA2 Conflict Flag0
- -


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with regular Geosupport warning) and TPAD Data (with conflicts)
Input: 12-34 Sample Street
WA1 Fields Value
GRC01
Reason Code3 [indicates input address number altered – hyphen deleted]
Reason Code QualifierD [indicates address in TPAD but not PAD (PAD data from BL call)]
Error MessageADDRESS FOUND IN TPAD, NOT FOUND IN PAD……
WA2 Conflict FlagD
- -

Examples: PAD Data Found with No Regular Geosupport Warning

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with no regular Geosupport warning) and No TPAD Data Found
Input: 1234 Sample Street
WA1 Fields Value
GRC00
Reason CodeBlank
Reason Code QualifierBlank
Error MessageBlank
WA2 Conflict Flag1
- -


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with no regular Geosupport warning) and TPAD Data (with no conflicts)
Input: 1234 Sample Street
WA1 Fields Value
GRC00
Reason CodeBlank
Reason Code QualifierBlank
Error MessageBlank
WA2 Conflict Flag0
- -


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
PAD Data (with no regular Geosupport warning) and TPAD Data (with conflicts)
Input: 1234 Sample Street
WA1 Fields Value
GRC01
Reason Code* [indicates TPAD Conflict only; no regular warning]
Reason Code QualifierD [indicates address in TPAD but not PAD (PAD data from BL call)]
Error MessageADDRESS FOUND IN TPAD, NOT FOUND IN PAD……..
WA2 Conflict FlagD
- -

The Reason Code Qualifier is used to define a specific TPAD warning. When there is a true conflict between TPAD data and PAD data, the Reason Code Qualifier contains the same information as the TPAD Conflict Flag.

-

The following table indicates where in Work Area 1 the one-byte Reason Code Qualifier field(s) may be found.

- - - - - - - - - - - - - - - - - - - - - - -
(1 byte) Position
Field NameFunction(s)COWMSW
Reason Code Qualifier1A, BL, BN714n/a
Reason Code Qualifier 21B575n/a
- -

For Functions 1A, BL, and BN the Reason Code Qualifier is a one-byte field, in column 714 of COW Work Area 1. -For Function 1B, the Reason Code Qualifier 2 is a one-byte field, in column 575 of COW Work Area 1.

-

The following table contains the field name in the COPY libraries for the Reason Code Qualifiers.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Reason Code Qualifier(s)
Field Names in COPY Libraries
LanguageCOPY
Library
(COW Only)
Function(s)
(COW Only)
Field Name
BALP1BAL1A, BL, BN
1B
reason_code_qual
reason_code_qual_2
COBOLP1COB1A, BL, BN
1B
GEO-WA1-OUT-REASON-CODE-QUAL
GEO-WA1-OUT-REASON-CODE-QUAL2
NaturalGEOLP11A, BL, BN
1B
PIWA1-OUT-REASON-CODE-QUAL
PIWA1-OUT-REASON-CODE-QUAL-2
PL/1P1PL11A, BL, BN
1B
PIWA1_OUT_REASON_CODE_QUAL
PIWA1_OUT_REASON_CODE_QUAL_2
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix18/index.html b/site/appendices/appendix18/index.html deleted file mode 100644 index 84226aed..00000000 --- a/site/appendices/appendix18/index.html +++ /dev/null @@ -1,891 +0,0 @@ - - - - - - - - - - - - Appendix 18: GeoExcel Application - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 18: GeoExcel Application
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 18: GEOEXCEL, A GEOCODING SOLUTION FOR EXCEL

- -
Updated: 5/22/2016
- -


-
Features
- -

GeoExcel incorporates many of the familiar interface elements of GBAT while adding new features to improve productivity and the overall user experience. GeoExcel is designed to be a comprehensive tool for performing geocoding tasks and offers the flexibility to fit into different user scenarios.

-
Requirements
- -
    -
  • -

    Latest 64 bit Geosupport desktop edition

    -
  • -
  • -

    Microsoft Excel 2013

    -
  • -
  • -

    Windows 7 or above

    -
  • -
  • -

    Internet connection (desired)

    -
  • -
-
Installation
- -

NOTE: GeoExcel is a Microsoft Office 2013 VSTO add-in. Installation requires Admin access to the computer on which it is installed.

-
    -
  1. -

    Unzip file folder

    -
  2. -
  3. -

    Double click “setup.exe”

    -
  4. -
  5. -

    Follow the instructions to complete installation (administrator privileges required)

    -
  6. -
-
Getting Started
- -

If installation was successful, you will see a new tab when you open Excel 2013 that says “Geosupport”. -Here is where you will find the ribbon controls for GeoExcel.

-

GeoExcel Ribbon Controls <>

-

Figure 1:

-

Setting up the input

-
    -
  1. -

    Select the Geosupport function that you want to execute.

    -
  2. -
  3. -

    Data can be provided to GeoExcel in two ways using the input data selection screen:

    -
  4. -
-

Data Selection Screen <>

-

Figure 2:

-

If “Data exists in input sheet” option is selected, GeoExcel assumes that the data is preloaded in the Excel spreadsheet. GeoExcel then expects the user to provide the column names where the input data resides. GeoExcel collects this information using the following screen which comes up when the user presses “Ok”.

-

Data columns Screen <>

-

Figure 3:

-

On this screen, enter the columns where the input data resides. For Example with the selection of Function 1A, we need to provide GeoExcel with Borough information. If this information is in Column A, simply type “A” in the text box next to the label “Select the column with Borough information”. Once all the column information is provided, press “Process Data”.

-

The other way to provide input data to GeoExcel is directly entering the data into the Excel spreadsheet using a pre-formatted template. If the user wishes to use this option, then select “Load the Geosupport default template for data entry” in Figure 1.

-

This option loads a template in Excel which enables data entry. It should be noted that the template formatting is limited to a single row and is provided only as a reference for the user. However, the user can enter as many rows as required.

-

Pre-formatted Template <>

-

Figure 4:

-

Once data entry has been completed in the template, simply press the Submit button.
-GeoExcel displays the Geocoded output in the “Func – XX Output” tab and the errors in “Func–XX Errors” tab.

-

GeoExcel does not modify the original data as entered by the user.

-

Geocoded output <>

-

Usage Tips:

-
    -
  1. -

    Use the Excel spreadsheet only for one Function at a time. If additional functions are needed, please close Excel and open a new instance of the application.

    -
  2. -
  3. -

    Only one instance of Excel should be running at any time.

    -
  4. -
  5. -

    The Borough Code can be spelled out or it can be coded as “1” for Manhattan, similar to GBAT tool.

    -
  6. -
  7. -

    If you see a “ROT Issue” message, click on a window (other than Excel) and come back to the Excel application and resubmit. This is a known issue with Microsoft Office where Windows doesn’t recognize the running instance of Excel.

    -
  8. -
  9. -

    GeoExcel is configured to utilize a local geocoding service in the event of a blackout or outage situation

    -
  10. -
  11. -

    Refer to the latest UPG file included with the installation package to understand full Geosupport functionality as well as the GRC codes/messages that are returned.

    -
  12. -
-

If you have any questions or suggestions for improving the tool, please let us know. Send an email to: GSS_Software@planning.nyc.gov

-
- -
-
- - -
-
- - - -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix19/index.html b/site/appendices/appendix19/index.html deleted file mode 100644 index 545ce938..00000000 --- a/site/appendices/appendix19/index.html +++ /dev/null @@ -1,3677 +0,0 @@ - - - - - - - - - - - - Appendix 19: Work Area Layouts (COWs) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 19: Work Area Layouts (COWs)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 19: WORK AREA LAYOUTS (COWs)

- -

Character-Only Work Areas

-

(as of Geosupport System Software Version 9.7.0)

-

This appendix contains layouts of all of the work areas used with the Geosupport System’s API. These layouts are current as of the Geosupport software version indicated above. The layouts are in the Character-Only Work Area forma4

-

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). 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 all the input fields occur first, followed by all 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 functions 1A and BL, the user has a choice of two WA2 layouts, a ‘regular’ WA2 and a ‘long’ WA2.

-

The following is a list of all of the Geosupport work areas, indicating the length of each in bytes. Functions that are listed together share a single Work Area 2 layout.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Work AreaLength
WA1, all functions1200
WA2, Function 1300
Regular WA2, Functions 1A, BL, BN1,363
Long WA2, Functions 1A and BL17,750
WA2, Function 1E300
WA2, Function 2200
WA2, Function 3450
WA2, Function 3C300
WA2, Function 3S19,274
- -

Appendix 3 consists of a data item dictionary describing the fields that occur in the work areas.

-

Work Area 1 (COW) - All Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositionFunctions5
INPUT FIELDS:
Geosupport Function Code 212All
House Number - Display Format (HND) 163181, 1A, 1E
House Number - Sort Format (HNS) 1119291, 1A, 1E, D *
Low House Number - Display Format (HND) 163045Internal Use
Low House Number - Sort Format (HNS) 212All
Geosupport Function Code 114656D* , Internal Use
Borough Code-1 15757All but BL & BN
10SC 6-1 105867All but BL & BN
Street Name-1 326899All but BL,BN & D *
Borough Code7-2 1100100All but 1* & B*
10SC-2 10101110All but 1* & B*
Street Name-2 32111142All but 1* & B*
Borough Code-3 1143143D* , 3*
10SC-3 10144153D* , 3*
Street Name-3 32154185D* , 3*
BOROUGH BLOCK LOT (BBL) 11186196BL
Borough Code 1186186BL
Tax Block 5187191BL
Tax Lot 4192195BL
Filler for Tax Lot Version Number 1196196Not Implemented
Building Identification Number (BIN) 7197203BN
Compass Direction 12042042, 3C, 3S
Compass Direction for 2nd Intersection 12052053S
Filler 7206212
Work Area Format Indicator81213213All
Filler 101214314
Long Work Area 2 Flag913153151A, BL
House Number Justification Flag10 1316316Not Implemented
House Number Normalization Length11 2317318Not Implemented
House Number Normalization Override Flag 1319319Internal Use
Street Name Normalization Length Limit 2320321All
Street Name Normalization Format Flag12 1322322All
Cross Street Names Flag1313233231, 1E, 2, 3, 3C
Filler 37324360
OUTPUT Fields:
First Borough Name 9361369All but D*
First Borough Name 9361369All but D*
House Number - Sort Format 113863961, 1A, 1E
B10SC - First Borough and Street Code 113974071* , 2, 3*
First Street Name Normalized 32408439All but B*
B10SC - Second Borough and Street Code 114404502,3*
Second Street Name Normalized 324514822,3* ,D*
B10SC - Third Borough and Street Code 114835833*
Third Street Name Normalized 324945253* ,D*
BOROUGH BLOCK LOT (BBL) 10526535BL
Borough Code 1526526BL
Tax Block 5527535BL
Tax Lot 4532535BL
Filler for Tax Lot Version Number 1536536Not Implemented
Low House Number - Display Format 16537552Internal Use
Low House Number - Sort Format 11553563Internal Use
Building Identification Number 75645701, 1E, BN
Attribute Bytes - Internal Use Only 3571573Internal Use
Filler 132574705
NIN14 6706711Not Implemented
Street Attribute Indicator 1712712Internal Use
Reason Code1713713All
Reason Code Qualifier 1714714Not Implemented
Filler 2715716
Geosupport Return Code 2717718All
Message 80719798All
Number of Street Codes and Names in List (up to 10) 27998001* ,2,3*
10 B7SC's 808018801* ,2,3*
List of Street Names(10 Street Name Fields, 32 Bytes Each) 3208816601* ,2,3*
- -

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

-

Work Area 2 (COW) - Functions 1 and 1E

-
Blockface Defined by Address Range Along a Street
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Field Size Position Comments
Internal Use21121
Continuous Parity Indicator/Duplicate Address Indicator12222
Low House Number of Block face-Sort Format112333
High House Number of Block face-Sort Format113444
DCP Preferred LGC1524546
Number of Cross Streets at Low Address End14747
List of Cross Streets at Low Address End (Up to 5 B5SCs)304877B5SC - Blank-Filled
Number of Cross Streets at High Address End17878
List of Cross Streets at High Address End (Up to 5 B5SCs)3079108B5SC - Blank-Filled
LION KEY10109118
Borough Code1109109
Face Code4110113
Sequence Number5114118
Special Address Generated Record Flag1119119
Side of Street Indicator1120120
Segment Length in Feet5121125
Spatial Coordinates of Address:
X Coordinate7126132
Y Coordinate7133139
Reserved for Possible Z Coordinate7140146
Interim Assistance Eligibility Indicator
Also known as Community Development Eligibility Indicator
1147147
Marble Hill/Rikers Island Alternative Borough Flag1148148
DOT Street Light Contractor Area1149149
Community District:3150152
Community District Borough Code1150150
Community District Number2151152
Zip Code14158171
Function 1E Items14158171Use ONLY for Function 1E -
Election District3158160Invalid for Fn 1
Assembly District2161162Invalid for Fn 1
Split Election District Flag1163163Invalid for Fn 1
Congressional District2164165Invalid for Fn 1
State Senatorial District2166167Invalid for Fn 1
Civil Court District2168169Invalid for Fn 1
City Council District2170171Invalid for Fn 1
Health Center District2172173
Health Area4174177
Sanitation District3178180
Sanitation Collection Scheduling Section and Subsection2181182
Sanitation Regular Collection Schedule5183187
Sanitation Recycling Collection Schedule3188190
Police Patrol Borough Command1191191
Police Precinct3192194
Fire Division2195196
Fire Battalion2197198
Fire Company Type1199199
Fire Company Number3200202
Split Community School District Flag1203203
Community School District2204205
Dynamic Block3206208
Instructional Region2209210
Feature Type Code1211211
Filler6212217
1990 Census Tract6218223
2000 Census Tract6224229
2000 Census Block4230233
Filler51234284
Underlying B7SC8285292
Segment Identifier7293299
Curve Flag1300300
- -

Work Area 2 (COW) - Functions 1A, BL and BN

-
Property Defined by Address, BBL, or BIN
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSize PositionComment
Internal Use 21 1 21
Continuous Parity Indicator /Duplicate Address Indicator 12222
Low House Number of Defining Address Range 112333 Sort Format
Borough-Tax Block-Tax Lot (BBL): 10 3444Billing BBL if Condo
Borough Code 103444
Tax Block 53539
Tax Lot 44043
Filler for Tax Lot Version Number14444Not Implemented
RPAD Self-Check Code (SCC) for BBL 14545
Filler14646
RPAD Building Classification Code24748
Corner Code24950
Number of Existing Structures on Lot451 54
Number of Street Frontages of Lot25556
Interior Lot Flag15757
Vacant Lot Flag15858
Irregularly-Shaped Lot Flag15959
Marble Hill/Rikers Island Alternate Borough Flag16060
List of Geographic Identifiers Overflow Flag16161When = 'E', there are more than 21 addresses for Fns 1A and BL.
STROLLING KEY:196280Not Implemented
Borough1 62 62
5-Digit Street Code of ‘ON’ Street 56367
Side of Street Indicator 1 68 68
High House Number 11 69 79 Sort Format
Filler 180 80
Reserved for Internal Use 1 81 81
Building Identification Number (BIN) of Input Address or NAP 1 82 88
Condominium Flag 1 89 89 If condo, Flag = C
Filler 1 90 90
DOF Condominium Identification Number49194
Condominium Unit ID Number795101Not Implemented
Condominium Billing BBL10102111
Tax Lot Version Number for Billing BBL1112112Not Implemented
Self-Check Code (SCC) of Billing BBL1113113
Low BBL of this Building’s Condominium Units10114123
Tax Lot Version Number of Low BBL1124124Not Implemented
High BBL of this Building’s Condominium Units10125134Not Implemented
Tax Log Version Number of High BBL1135135
Filler15136150
Cooperative ID Number4151154
SBVP (Sanborn Map Identifier):8155162
Sanborn Borough Code1155155
Volume Number2156157
Volume Number Suffix1158158
Page Number3159161
Page Number Suffix1162162
DCP Commercial Study Area5163167
Tax Map Number Section & Volume5168172
Reserved for Tax Map Page Number4173176Not Implemented
Multiple BBL Flag1177177These fields will be used with Multiple Entity NAPs
Next BBL11178188
Previous BBL11189199
Spatial Coordinates of Internal Label Point:
X Coordinate7200206
Y Coordinate7207213
Filler25214238
Internal Use8239 246
Number of Entries in List of Geographic Identifiers 4247250
List of Geographic Identifiers:1,1132511,363
Variable length list of 53-byte entries as follows: -
Low House Number16Display format(HND)
High House Number16Display format(HND)
Borough Code1
5-Digit Street Code5
DCP-Preferred Local Group Code (LGC)2
Building Identification Number7
Side of Street Indicator1
Geographic Identifier1
L - Left, R - Right
- N - NAP
- G - Generic NAP
- X - Part of Generic NAP
- B - NAUB
- F - Frontage
- W - Blank Wall
- Q - PseudoAddress
- V - Vanity Address
- R - Real Street
- O - Out-of-Sequence Address
- Blank - Normal Filler -
- -

Long Work Area 2 (COW) - Functions 1A and BL

-
Property Defined by Address or BBL
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSize PositionComment
Same as Regular Work Area 2 - Functions 1A/BL 246 1 246
Number of Buildings on Tax Lot 4 247 250
List of Buildings on Tax Lot 17,500 251 17,750
Variable length list of up to 2,500 entries,
- each entry is a 7-byte BIN
7
- -

Work Area 2 (COW) - Function 2

-

Intersection Defined by Two Intersecting Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSize PositionComment
Internal Use 21 1 21
Intersection Replication Counter 1 22 22
DCP-Preferred LGC for Street 1 2 23 24
DCP-Preferred LGC for Street 2 2 25 26
Number of Intersecting Streets 1 27 27
List of Intersecting Streets
- (Up to five B5SCs, 6 bytes each)
30 28 57
Compass Direction for Intersection Key or
- Counter for Multiple Intersections
1 58 58
FillerL 5 59 63
LION Node Number 7 64 70
Spatial Coordinates: 21
X Coordinate 7 71 77
Y Coordinate 7 78 84
Filler 7 85 91
SBVP1 (Sanborn Map Identifier): 8
Borough Code 1 92 92
Volume Number 2 93 94
Volume Number Suffix 1 95 95
Page Number 3 96 98
Page Number Suffix 1 99 99
SBVP2 (Sanborn Map Identifier): 8
Borough Code 1 100 100
Volume Number 2 101 102
Volume Number Suffix 1 103 103
Page Number 3 104 106
Page Number Suffix 1 107 107
Marble Hill/Rikers Island Alternative Borough Flag 1 108 108
DOT Street Light Contractor Area 1 109 109
Community District: 3
Community District Borough Code 1 110 110
Community District Number 2 111 112
Zip Code 5 113 117
Health Area 4 118 121
Police Patrol Borough Command 1 122 122
Fire Division 2 126 127
Fire Battalion 2 128 129
Fire Company Type 1 130 130
Fire Company Number 3 131 133
Community School District 2 134 135
2000 Census Tract 6 136 141
1990 Census Tract 6 142 147
List of Pairs of Level Codes 10 148 157 Not Implemented
Instructional Region 2 158 159
Filler 41 160 200
- -

Work Area 2 (COW) - Function 3

-

Street Segment Defined by 'ON' Street and Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSize PositionComment
Internal Use21121
Duplicate Key Flag or Continuous Parity12222
Locational Status of Segment12323
County Boundary Indicator12424
DCP-Preferred LGC for Street 122526
DCP-Preferred LGC for Street 222728
DCP-Preferred LGC for Street 32930
Number of Cross Streets at Low Address End13131
List of Cross Streets at Low Address End
- (Up to five B5SCs, 6 bytes each)
303261Blank Filled
Number of Cross Streets at High Address End16262
List of Cross Streets at High Address End
- (Up to five B5SCs, 6 bytes each)
306392Blank Filled
Cross Street Reversal Flag19393
LION KEY1094103
LION Borough Code19494
LION Face Code49598
LION Sequence Number599103
Generated Record Flag1104104
Length of Segment in Feet5105109
Segment Azimuth3110112
Segment Orientation1113113
Marble Hill/Rikers Island Alternative Borough Flag1114114
Filler19115133
Segment Identifier7134140
DOT Street Light Contractor Area1141141
Curve Flag1142142
Dog Leg Flag1143143
Feature Type Code1144144
Filler6145150
LEFT SIDE:
Community District:3
Community District Borough Code1151151
Community District Number2152153
Low House Number16154169Display Format
High House Number16170185Display Format
Reserved for Geosupport Use32186217
Interim Assistance Eligibility Indicator1218218
Zip Code5219223
Health Area4224227
Police Patrol Borough Command1228228
Police Precinct3229231
Fire Division2232233
Fire Battalion2234235
Fire Company Type1236236
Fire Company Number3237239
Community School District2240241
Dynamic Block3242244
Instructional Region2245246
Filler7247253
1990 Census Tract6252259
2000 Census Tract6260265
2000 Census Block4266269
Filler4374377
RIGHT SIDE:
Community District:3
Community District Borough Code1301301
Community District Number2302303
Low House Number16304319Display Format
High House Number16320335Display Format
Reserved for Geosupport Use32336367
Interim Assistance Eligibility Indicator1368368
Zip Code5369373
Health Area4374377
Police Patrol Borough Command1378378
Police Precinct1379380
Fire Division2382383
Fire Battalion2384385
Fire Company Type1386386
Fire Company Number3387389
Community School District2390391
Dynamic Block3392394
Instructional Region2395396
Filler7397403
1990 Census Tract6404409
2000 Census Tract6410415
2000 Census Block4416419
Filler31420450
- -

Work Area 2 (COW) - Function 3C

-

Blockface Defined by 'ON' Street, Two Cross Streets and Compass Direction

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSize PositionComment
Internal Use21121
Duplicate Key Flag or Continuous Parity12222
Locational Status of Segment12323
County Boundary Indicator12424
DCP-Preferred LGC for Street 122526
DCP-Preferred LGC for Street 222728
DCP-Preferred LGC for Street 322930
Number of Cross Streets at Low Address End13131
List of Cross Streets at Low Address End
- (Up to five B5SCs, 6 bytes each)
303260
Number of Cross Streets at High Address End16262
List of Cross Streets at High Address End
- (Up to five B5SCs, 6 bytes each)
306392
Cross Street Reversal Flag19393
LION KEY1094103
LION Borough Code19494
LION Face Code49598
LION Sequence Number599103
Generated Record Flag1104104
Length of Segment in Feet5105109
Segment Azimuth3110112
Segment Orientation1113113
Marble Hill/Rikers Island Alternative Borough Flag1114114
Filler19155133
Segment Identifier7134140
DOT Street Light Contractor Area1141141
Side of Street Indicator1142142
Curve Flag1143143
Feature Type Code1144144
Filler6145150
Community District:3
Community District Borough Code1151151
Community District Number2152153
Low House Number of Block Face16154169Display Format
High House Number of Block Face16170185Display Format
Alternate Low House Number16186201Supplied for Continuous
Alternate High House Number16202217Parity - Display Format
Interim Assistance Eligibility Indicator1218218
Zip Code5219223
Health Area4224227
Police Patrol Borough Command1228228
Police Precinct3229231
Fire Division2232233
Fire Battalion2234235
Fire Company Type1236236
Fire Company Number3237239
Community School District2240241
Dynamic Block3242244
Instructional Region2245246
Filler7247253
1990 Census Tract6254259
2000 Census Tract6260265
2000 Census Block4266269
Filler31270300
- -

Work Area 2 (COW) - Function 3S

-

Street Stretch Defined by 'ON' Street and Optionally Two Cross Streets

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositionComment
Internal Use212
Primary/Secondary Street Name Indicator133P=Primary
-S = Secondary16
Borough Code144
5-Digit Street Code of 'on' Street559
LGC21011Blank if P in position 3
Filler101221Always Blank
NUMBER OF INTERSECTIONS 32224
LIST OF UP TO 350 Intersections
-Each List Entry is 55 bytes in length, structured as follows:
19,2502519,274
Marble Hill/Rikers Island Flag1
Distance from previous intersection in list5
Gap Flag1
Node Number7
Number of streets at this intersection1
B7SC of a street at this intersection (up to 5)40DCP Preferred LGC
- -
/*******************************************/*
-typedef struct {
-  char boro; /* Borough Code char SC10[10]; /*
-}
-/*******************************************/*
-
-

_____________________________

- -

4 Geosupport Desktop Edition supports the Character-Only Work Area format. The mainframe version of Geosupport supports both the Character-Only format (COW) and the Mainframe Specific format (MFS).

-

5 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:

-

6 The user may supply either a 5-Digit, 7-Digit or 10-Digit Street code in this field. The contents are to be left-justified and blank-filled.

-

7 The second and third borough codes are only required if they differ from the first.

-

8 When the Work Area Format Indicator (a.k.a. the Platform Indicator) is set to C, Character-Only formats of the work areas (i.e., the formats documented herein) are used. A blank in this indicator means that the mainframe compatible work areas, known as MFS, are used.

-

9 The Long Work Area 2 Flag is set to L to request the Long Work Area 2. At present it may only be set to L for Functions 1A and BL and means that a list of BINS will be returned in Work Area 2 to the user in place of the list of addresses.

-

10 If the house number is to be right justified, the House Number Justification Flag is set to R and if the house number is to be left justified, the House Number Justification Flag is set to L or left blank.

-

11 The House Number Normalization Length field is used to achieve compatibility between the MainFrame Specific (MFS) work areas and the COWs. In the COWs, the House Number is permitted to be 16 characters, but, in the MFS, it is limited to 12 characters. It is not anticipated that users will make use of this field.

-

12 If the Street Name Normalization Format Flag is set to S or blank, then the street name is returned in sort format. If it is set to C, then the street name is returned in compact format.

-

13 The Cross Street Names Flag (a.k.a Expanded Format Flag), if set to E, will return the street names in the List of Street Names in the output section of Work Area 1. BBL and BIN are also returned where possible.

-

14 NAP Identification Number

-

15 For Function 1E, the Board of Elections preferred LGC is provided.

-

16 The functionality which creates the street stretches based upon the different LGCs has not been implemented.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix20/index.html b/site/appendices/appendix20/index.html deleted file mode 100644 index e3930748..00000000 --- a/site/appendices/appendix20/index.html +++ /dev/null @@ -1,1668 +0,0 @@ - - - - - - - - - - - - Appendix 20: Geosupport Header And Typedef Files - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 20: Geosupport Header And Typedef Files
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 20: GEOSUPPORT HEADER AND TYPEDEF FILES

- -

This appendix contains listings of a Geosupport Header file for C/C++ and a Geosupport Typedef file for Visual Basic. It is strongly recommended that you use the supplied files, because in the future they will be modified to reflect any changes to the various work areas.

-

The distributed filenames are:
- - - - - - - - - -
C/C++ Header filepac.h
Visual Basic Typedef filevbwadef.bas

-

You may use different names in your environment.

-

C/C++ HEADER File

-
#ifndef GEOSUPPORT
-char test;    
-# define GEOSUPPORT  
-ifdef __ cplusplus  
-extern "C" {
-#endif
-/*********************************************************************/
-/*                                                                  * /
-/*      GeoSupport System C-Language Header F                       * /
-/*       for Platform-Independent Work Area                         * /
-/*                                                                  * /
-/*         Last Updated: 15 December 2003                           * /
-/*                                                                  * /
-/*********************************************************************/
-
-
-/*********************************************************************/
-/*                                                                  * /
-/* Group Items Used in Platform-Independent Work Area 1             * /
-/*                                                                  * /
-/*********************************************************************/
-
-typedef struct {  char boro;               /* Borough Code         * /
-                  char SC10[10];           /* 10 Digit Street Code * /
-                  char Street_name[32];    /* Street Name          * /
-                }  STREET;
-
-typedef union { char bbl[10];              /* Borough-Block-Lot    * /
-                struct { char boro;       /* Borough               * /
-                         char block[5];   /* Tax Block             * /
-                         char lot[4];     /* Tax Lot               * /
-                       } cas;
-              }BBL;
-
-typedef struct {
-                char func_code[2];       /* Function Code           * /
-                char hse_nbr_disp[16];   /* House nbr in Disp form  * /
-                char hse_nbr_hns[11];    /* House nbr in Sort form  * /
-                char lohse_nbr_disp[16]; /* Lo House nbr in Disp form*/
-                char ohse_nbr_hns[11];   /* Lo House nbr in Sort form*/
-                STREET sti[3];           /* Street Information      * /
-                BBL bbli;                /* Borough-Block-Lot       * /
-                char filler01;           /* Filler-Tax Lot Version #* /
-                char bld_id[7];          /* Building Id Number (BIN) * /
-                char comp_direction;     /* Compass Direction        * /
-                char comp_direction2;    /* Compass Direction-Fn 3S  * /
-                char filler02[7];        /* Future Use               * /
-                char platform_ind;       /* Must be equal to 'C'     * /
-                char filler03[101];      /* Future Use               * /
-                  /* Flags that influence processing  * /  
-                char long_WA_flag;       /* Long Work Area 2 Flag    * /
-                char hse_nbr_justify;    /* Hse Nbr Justification Flg* /  
-                char hnl[2];             /* Hse Nbr Normalization len* /
-                char hse_nbr_over_flag;  /* Reserved for GSS Use     * /
-                char snl[2];             /* Street Name Norm Length  * /
-                char st_name_norm;       /* Street Name Normalization* /
-                                         /* Format Flag              * /
-                char expanded_format;    /* Expanded Format Flag     * /
-                char filler04[37];       /* Future Use               * /
-              } INWA1;
-
-typedef struct{
-                char boro_name[9];       /* Boro Name of First Street* /
-                char hse_nbr_disp[16];   /* House nbr in Normalized  * /
-                                         /* Display form             * /
-                char hse_nbr_hns[11];    /* House number in Sort Form* /
-                STREET sto[3];           /* Street Information       * /
-                BBL bblo;                /* Boro(len=1), Block(len=5 * /
-                                         /* and Lot (len=4)-Normalizd* /
-                char filler05;           /* Filler-Tax Lot Version # * /
-                char lo_hse_nbr_disp[16];/* low Hse nbr - display    * /
-                char lo_hse_nbr_hns[11]; /* low Hse nbr - sort form  * /
-                char bin[7];             /* Building Id Number       * /
-                char attrbytes[3];       /* NAP Identification Number* /
-                char filler07[132];      /* Future Use               * /
-                char nap_id_nbr[6];      /* NAP Id Nbr - Not Impl.   * /
-                char int_use1;           /* Internal Use Only        * /
-                char reason_code;        /* Reason Code              * /
-                char filler08;           /* Future Use               * /
-                char warn_code[2];       /* Warning Ret. Code-NotImpl* /
-                char ret_code[2];        /* GeoSupport Return Code   * /
-                char msg[80];            /* GeoSupport Message       * /
-                char nbr_names[2];       /* Nbr of Sreet Names       * /
-                char B_7SC[10][8];       /* 10 Boro+7-digit st codes * /
-                char st_names[10][32];   /* Up to 10 Street Names    * /
-              }OUTWA1;
-
-  /*********************************************************************/
-  /*                  Platform-Independent Work Area 1                * /
-  /*                                                                  * /     
-  /*                                                                  * /
-  /*********************************************************************/
-
-  typedef struct { INWA1 input;
-                   INWA1 output;
-                 }C_WA1;
-
-  /*********************************************************************/
-  /*       Group Items Used in Platform-Independent Work Area 2's     * /
-  /*                                                                  * /     
-  /*                                                                  * /
-  /*********************************************************************/
-
-  typedef struct {                         /* LION KEY                * /
-                  char lion_boro;          /* LION Borough Code       * /
-                                           /* Differs from GeoSupport * /
-                                           /* Borough Code            * /
-                  char face[4];            /* Face Code               * /
-                  char seq[5];             /* Sequence Number         * /
-                }LION;
-
-  typedef struct {
-                  char nbr_sts;             /* Number of Streets      * /
-                  char B5SC[5][6];          /* Boro+5 Street Code     * /
-                }St_list;
-
-  typedef struct {
-                  char lo_hse_nbr[16];      /* Low House Nbr-Disply form* /
-                  char hi_hse_nbr[16];      /* Hi House Nbr-Display form* /
-                  char B5SC[6];             /* Boro & 5 digit Str Code  * /
-                  char lgc[2];              /* DCP Preferred Street LGC * /
-                  char bld_id[7];           /* BIN of address range     * /
-                  char sos_ind;             /* Side of Street Indicator * /
-                  char adr_type;            /* Address type - P=NAP,    * /
-                                            /* B=NAB, Blank=Normal      * /
-                  char filler01[4];         /* Future Use               * /
-                }ADDR_RANGE;
-
-  typedef struct{
-                char sanborn_boro;          /* Sanborn Borough Code      * /
-                char sanborn_vol[3];        /* Sanborn Volume            * /
-                char sanborn_page[4];       /* Sanborn Page              * /
-                }SANBORN;
-
-  typedef struct {
-                  char com_dist[3];         /* Community District        * /
-                  char lo_hse_nbr[16];      /* Low House Nbr-Disply form * /
-                  char hi_hse_nbr[16];      /* Hi House Nbr-Display form * /
-                  char filler01[32];        /* Future Use                * /
-                  char iaei;                /* Interim Ass'tance Elig    * /
-                                            /* Indicator                 * /
-                  char zip_code[5];         /* Zip code for Street seg   * /
-                  char health_area[4];      /* Health Area               * /
-                  char police_boro_com;     /* Police Patrl Boro Command * /
-                  char police_pre[3];       /* Police Precinct           * /
-                  char fire_divisn[2]       /* Fire Division             * /
-                  char fire_bat[2];         /* Fire Battalion            * /
-                  char fire_co_type;        /* Fire Company Number       * /
-                  char com_schl_dist[2];    /* Community School District * /
-                  char dynam_blk[3];        /* Dynamic Block             * /
-                  char instruc_div[2];      /* Instructional Division    * /
-                  char filler02[7];         /* Future Use                * /
-                  char cen_tract_90[6];     /* 1990 Census Tract         * /
-                  char cen_tract_00[6];     /* 2000 Census Tract         * /
-                  char cen_blk_00[4];       /* 2000 Census Block         * /
-                  char filler03[1 ];        /* Possible Census Blk Suff  * /
-                  char filler04[30];        /* Future Use                * /
-                  }SEGSIDE;
-
-typedef struct {
-                char mh_ri_flag;            /* Marble Hill/Rikers Island * /
-                                            /* Alternative Boro flag     * /
-                char len[5];                /* Len in ft from prev node  * /
-                char gap_flag;              /* Gap Flag                  * /
-                char node_nbr[7];           /* Node Number of Intersect  * /
-                char nbr_streets;           /* Nbr streets intersecting  * /
-                                            /* Lowest B7SC at Intersect  * /
-                                            /* is first and 2nd Lowest   * /
-                                            /* B7SC is next. Remaining   * /
-                                            /* B7SC's in no particular   * /
-                                            /* order                     * /
-              }CROSS_STRS;
-
-/**************************************************************************/
-/*        Platform-Independent Work Area 2 for Function 1                * /
-/*                                                                       * /
-/*                                                                       * /
-/**************************************************************************/
-
-typedef struct {
-                char filler01[21];  
-                cont_parity_ind;            /* Continuous Parity Ind.    * /
-                                            /* or Duplicate Address Ind. * /
-                char lo_hse_nbr[11];        /* Lo House nbr in Sort form * /
-                char hi_hse_nbr[11];        /* Hi House Nbr in Sort form * /
-                char lgc[2];                /* DCP or BOE Preferred LGC  * /
-                St_list st[2];              /* 1=Low and 2=High          * /
-                                            /* Nbr of cross streets at   * /
-                                            /* low house nbr end of st   * /
-                                            /* B5SCs of lo end cross st  * /
-                LION key;                   /* LION Key - 10 Characters  * /
-                char sagr_flag;             /* Special Address Generated * /
-                                            /* Record flag               * /
-                char sos_ind;               /* Side of Street Indicator  * /
-                char seg_len[5];            /* Segment Length in Feet    * /
-                char coord[3][7];           /* 1 = X coordinate,         * /
-                                            /* 2 = Y coordinate,         * /
-                                            /* 3 = Z coordinate, Not Imp * /
-                char iaei;                  /* Interim Ass'tance Elig    * /
-                                            /* Indicator                 * /
-                char mh_ri_flag;            /* Marble Hill/Rikers Island * /
-                                            /* Alternative Borough flag  * /
-                char DOT_slcaz              /* DOT St Lght Contractr Are * /
-                char com_dist[3];           /* Community District        * /
-                                            /* Position 0 contains the   * /
-                                            /* CD Boro Code & Pos 1 & 2, * /
-                                            /* the district number       * /
-                char zip_code[5];           /* Zip code for st seg       * /
-
-                /*      Following seven fields             * /
-                /*      used for Function 1E only          * /
-
-                char ed[3];                 /* Election District         * /
-                char ad[2];                 /* Assembly District         * /
-                char sped_flag;             /* Split Elect District Flag * /
-                char congress_dist[2];      /* Congressional District    * /
-                char state_sen_dist[2];     /* State Senatorial District * /
-                char civil_court[2];        /* Civil Court District      * /
-                char city_council[2];       /* City Council District     * /
-                char health_cent[2];        /* Health Center District    * /
-                char health_area[4];        /* Health Area               * /
-                char sanit_dist[3];         /* Sanitation District       * /
-                char sanit_sub_sect[2];     /* Sanit Collect Scheduling  * /
-                                            /* Section and Subsection    * /
-                char sanit_reg_pick_up[5];  /* Regular Pick up           * /
-                char sanit_recycle[3];      /* sanit_recycle[3];         * /
-                char police_boro_com;       /* Police Patrol Boro Commnd * /
-                char police_pre[3];         /* Police Precinct           * /
-                char fire_divisn[2];        /* Fire Division             * /
-                char fire_bat[2];           /* Fire Battalion            * /
-                char fire_co_type;          /* Fire Company Type         * /
-                char fire_co_nbr[3];        /* Fire Company Number       * /
-                char scsd_flag;             /* Split Com School District * /
-                                            /* flag                      * /
-                char com_schl_dist[2];      /* Community School District * /
-                char dynam_blk[3];          /* Dynamic Block             * /
-                char instruc_div[2];        /* Instructional Division    * /
-                char feature_type;          /* Feature Type Code         * /
-                char filler02[6];           /* Future Use                * /
-                char cen_tract_90[6];       /* 1990 Census Tract         * /
-                char cen_tract_00[6];       /* 2000 Census Tract         * /
-                char cen_blk_00[4];         /* 2000 Census Block         * /
-                char filler03[01];          /* Possible Census Blk Suff  * /
-                char filler04[50];          /* Future Use                * /
-                char true_b7sc[8];          /* True Boro 7 Street Code   * /
-                char seg_id[7];             /* Segment Identifier        * /
-                char curv_flag;             /* Curve Flag                * /
-              } C_WA2_F1;
-
-    /**********************************************************************/
-    /*       Platform-Independent Work Area 2 for Function 1A            * /
-    /*                                                                   * /
-    /*                                                                   * /
-    /**********************************************************************/
-
-    typedef struct {
-                    char filler01[21];
-                    char cont_parity_ind;   /* Continuous Parity Ind     * /
-                                            /* or Duplicate Address Ind  * /
-                    char lo_hse_nbr[11];    /* Low House Number-Sort Frm * /
-                    BBL bbl;                /* Borough-Block-Lot         * /
-                    char filler02;          /* Reserved for Tax Lot Ver# * /
-                    char RPAD_scc;          /* RPAD Self_Check Code(SCC) * /
-                    char filler03;
-                    char RPAD_lucc[2];      /* RPAD Land Use Class. Code * /
-                    char corner[2];         /* Corner Code               * /
-                    char nbr_blds[4];       /* Nbr of buildings on lot   * /
-                    char nbr_str[2];        /* Nbr Street Frontages      * /
-                    char inter_flag;        /* Interior Lot Flag         * /
-                    char vacant_flag;       /* Vacant Lot Flag           * /
-                    char irreg_flag;        /* Irregularly-Shaped Lot Fl * /
-                    char mh_ri_flag;        /* Marble Hill/Rikers Island * /
-                    char adr_range_overflow;/* Addr Rnge Lst Ovrflow Flg * /
-                    char stroll_key[18];    /* Strolling key             * /
-                    char filler04;          
-                    char res_internal_use;  /* Reserved for Internal Use * /
-                    char bld_id[7];         /* Building Ident. Number    * /
-                                            /* (BIN) of Input Address of * /
-                                            /* Existing Building, If any * /
-                    char condo_flag;        /* Condominium Flag          * /
-                    char filler05;          /* Future Use                * /
-                    char condo_id[4];       /* RPAD Condo Id Number      * /
-                    char condo_unit_id[7];  /* Condo Unit Id Nbr-Not Impl* /
-                    BBL condo_bill_bbl;     /* Condo Billing BBL         * /
-                    char filler06;          /* Reserved for Tax Lot Ver  * /
-                    char condo_scc;         /* Self-Check Code           * /
-                    BBL  condo_lo_bbl;      /* Low BBL of Condo          * /
-                    char filler07;          /* Reserved for Tax Lot Ver  * /
-                    BBL  condo_hi_bbl;      /* High BBL of Condo         * /
-                    char filler08;          /* Reserved for Tax Lot Ver  * /
-                    char filler09[15];
-                    char co_op_nbr[4];      /* Co-op Number              * /
-                    SANBORN San;            /* Sanborn Information       * /
-                    char business_area[5];  /* Business Area             * /
-                    char tax_map_nbr[5];    /* Tax Map Nbr-Sect and Vol  * /
-                    char filler10[4 ];      /* Tax Map Nbr Page Not Impl * /
-                    char filler11[23];
-                    char coord[2][7];       /* 1 = X coordinate-Annotat  * /
-                                            /* 2 = Y coordinate-Annotat  * /
-                    char filler12[25];
-                    char int_use[8];        /* Internal Use              * /
-                    char nbr_addr[4];       /* Nbr of Addr Ranges or Nbr * /
-                                            /* of BINs in List           * /
-
-                    union {
-                          ADDR_RANGE addr_range[21];    /* List of Addr  * /
-                          char bin_list[2500][7];       /* Ranges or BINs* /
-                        }bar;
-                      } C_WA2_F1A;
-
-
-    /**********************************************************************/
-    /*                                                                   * /
-    /*         Platform-Independent Work Area 2 for Function 2           * /
-    /**********************************************************************/
-
-    typedef struct {
-                    char filler01[21];
-                    char rep_cnt;           /* Intersection Replication  * /
-                    char lgc[2][2];         /* Preferred LGCs            * /
-                    St_list inter;          /* Number of Intersecting St * /
-                                            /* B5SCs of Intersection St  * /
-                    char Dup_comp;          /* Duplicate compass Directn * /
-                    char filler02[5 ];      
-                    char LION_node_nbr[7 ]; /* LION Node Number          * /
-                    char coord[3][7];       /* 1 = X coordinate,         * /
-                                            /* 2 = Y coordinate,         * /
-                                            /* 3 = Z coordinate, Not Imp * /
-                    SANBORN San[2];         /* Sanborn Information       * /
-                    char mh_ri_flag;        /* Marble Hill/Rikers Island * /
-                    char DOT_slca;          /* DOT St Lght Contractr  Are* /
-                    char com_dist[3];       /* Community District        * /
-                    char zip_code[5];       /* Zip code for st segment   * /
-                    char health_area[4];    /* Health Area               * /
-                    char police_boro_com;   /* Police Patrol Boro Commnd * /
-                    char police_pre[3];     /* Police Precinct           * /
-                    char fire_sector[2];    /* Fire Sector               * /
-                    char fire_bat[2];       /* Fire Battalion            * /
-                    char fire_co_type;      /* Fire Company Type         * /
-                    char fire_co_nbr[3];    /* Fire Company Number       * /
-                    char com_schl_dist[2];  /* Community School District * /
-                    char cen_tract_00[6];   /* 2000 Census Tract         * /
-                    char cen_tract_90[6];   /* 1990 Census Tract         * /
-                    char level_codes [10];  /* Level codes               * /
-                    char instruc_div [2];   /* Instructional Division    * /
-                    char filler03[41];  
-                   } C_WA2_F2;
-
-      /********************************************************************/
-      /*                                                                 * /
-      /*        Platform-Independent Work Area 2 for Function 3          * /
-      /*                                                                 * /
-      /********************************************************************/
-
-      typedef struct {
-                      char filler01[21];    
-                      char dup_key_flag     /* Duplicate Key Flag or     * /
-                                            /* Continuous Parity Flag    * /
-                      char loc_stat_seg;    /* Locational Status of Seg  * /
-                      char cnty_bnd_ind;    /* County Boundary Indicat   * /
-                      char lgc[3][2];       /* Preferred LGCs            * /
-                      St_list st[2];        /* 1=Low and 2=High          * /
-                                            /* Nbr of cross sts at low   * /
-                                            /* house nbr end of street   * /
-                                            /* B5SCs of lo end X sts     * /
-                      char x_street_reversal_flag;/* X St Reversal Flag  * /
-                      LION key;             /* LION Key                  * /
-                      char genr_flag;       /* Generated Record Flag     * /
-                      char seg_len[5];      /* Segment Length in Feet    * /
-                      char seg_azm[3];      /* Segment Azimuth           * /
-                      char seg_orient;      /* Segment Orientation       * /
-                      char mh_ri_flag;      /* Marble Hill/Rikers Island * /
-                                            /* Alternative Boro flag     * /
-                      char filler02[19];    /* Future use                * /
-                      char seg_id[7];       /* Segment Identifier        * /
-                      char DOT_slca;        /* DOT St Lght Contractr Are * /
-                      char curve_flag;      /* Curve Flag                * /
-                      char dog_leg;         /* Dog leg flag              * /
-                      char feature_type;    /* Feature Type Code         * /
-                      char filler03[6];     
-                      SEGSIDE side[2];      /* 1 = Left Side of street   * /
-                                            /* 2 = Right Side of street  * /
-                    } C_WA2_F3;
-
-    /**********************************************************************/
-    /*        Platform-Independent Work Area 2 for Function 3C           * /
-    /*                                                                   * /
-    /*                                                                   * /
-    /**********************************************************************/
-
-    typedef struct {
-                    char filler01[21];    
-                    char dup_key_flag;      /* Duplicate Key Flag or     * /
-                                            /* Continuous Parity Flag    * /
-                    char loc_stat_seg;      /* Locational Status of Seg  * /
-                    char cnty_bnd_ind;      /* County Boundary Indicat   * /
-                    char lgc[3][2];         /* Preferred LGCs            * /
-                    St_list st[2];          /* 1=Low and 2=High          * /
-                                            /* Nbr of cross sts at low   * /
-                                            /* house nbr end of street   * /
-                                            /* B5SCs of lo end Cross sts * /
-                    char x_street_reversal_flag /* X St Reversal Flag    * /
-                    LION key;               /* LION key                  * /
-                    char genr_flag;         /* Generated Record Flag     * /
-                    char seg_len[5];        /* Segment Length in Feet    * /
-                    char seg_azm[3];        /* Segment Azimuth           * /
-                    char seg_orient;        /* Segment Orientation       * /
-                    char mh_ri_flag;        /* Marble Hill/Rikers Island * /
-                                            /* Alternative Boro flag     * /
-                    char filler02[19];      /* Future use                * /
-                    char seg_id  [7];       /* Segment Identifier        * /
-                    char DOT_slca;          /* DOT St Lght Contractr Are * /
-                    char sos_ind;           /* Side of Street Indicator  * /
-                    char curve_flag;        /* Curve Flag                * /
-                    char feature_type;      /* Feature Type Code         * /
-                    char filler03[6];          
-                    SEGSIDE req;            /* Geographic Information for* /
-                                            /* Requested Side of segment * /
-                    } C_WA2_F3C;
-
-    /**********************************************************************/
-    /*        Platform-Independent Work Area 2 for Function 3S           * /
-    /*                                                                   * /
-    /*                                                                   * /
-    /**********************************************************************/
-
-    typedef struct {
-                    char filler01[21];
-                    char nbr_x_str[3];      /* Nbr of Cross sts in list  * /
-                    CROSS_STRS cross_strs[350]; /* Cross Street structure* /
-                    } C_WA2_F3S;
-
-    #ifdef __ cplusplus
-    #endif
-    #endif
-
-

VISUAL BASIC TYPEDEF File

-
Option Explicit
-
-'*****************************************************************
-
-'*** geosupport for windows work area type defs for visual basic
-
-'*****************************************************************
-'*** Types must be declared as Private within Form Modules
-'*****************************************************************
-'*****************************************************************
-'*** typedefs used in workareas
-'*****************************************************************
-
-STREET_type
-  boro As String * 1  
-  sc10 As String * 10
-  street_name As String * 32
-End Type
-
-Type BBL_type
- boro As String * 1
- block As String * 5
- lot As String * 4
-End Type
-
-Type ADDR_RANGE_type
- lo_housenum As String * 16
- hi_housenum As String * 16
- B5SC As String * 6
- lgc As String * 2
- bin As String * 7
- sos_ind As String * 1
- addr_type As String * 1
- filler01 As String * 4
-End Type
-
-'*****************************************************************
-'*** typedef for input area of workarea 1
-'*****************************************************************
-Type INPUT_DEF
-  func_code As String * 2
-  housenum As String * 16
-  housenum_sort As String * 11
-  lo_housenum As String * 16
-  lo_housenum_sort As String * 11
-  sti(1 To 3) As STREET_type
-  bbli As BBL_type
-  filler01 As String * 1
-  bin As String * 7
-  compass As String * 1
-  compass2 As String * 1
-  filler02 As String * 7
-  platform_ind As String * 1
-  filler03 As String * 101
-  long_WA2_flag As String * 1
- filler04 As String * 4
- snl As String * 2
- st_name_norm As String * 1
- expanded_format As String * 1
- filler05 As String * 37
-End Type
-
-'*****************************************************************
-'*** typedef for output area of workarea 1
-'*****************************************************************
-Type OUTPUT_DEF
-  boro_name As String * 9
-  housenum As String * 16
-  housenum_sort As String * 11
-  sto(1 To 3) As STREET_type
-  bblo As BBL_type
-  filler05 As String * 1
-  lo_housenum As String * 16
-  lo_housenum_sort As String * 11
-  bin As String * 7
-  street_attr(1 To 3) As String * 1
-  filler06 As String * 139
-  reason_code As String * 1
-  filler07 As String * 1
-  warning_code As String * 2
-  return_code As String * 2
-  error_msg As String * 80
-  similar_stnames_cnt As String * 2
-  similar_B7SC(1 To 10) As String * 8
-  similar_stnames(1 To 10) As String * 32
-End Type
-
-'*****************************************************************
-'*** typedef for workarea 1
-'*****************************************************************
-Type C_WA1
-  input1 As INPUT_DEF
-  output1 As OUTPUT_DEF
-End Type
-
-'*****************************************************************
-'*** typedefs used in workarea 2
-'*****************************************************************
-Type ST_LIST_type
-  street_cnt As String * 1
-  B5SC(1 To 5) As String * 6
-End Type
-
-Type LION_type
-  boro As String * 1
-  face As String * 4
-  seq As String * 5
-End Type
-
-Type SANBORN_type
-  boro As String * 1
-  vol As String * 3
-  page As String * 4
-End Type
-
-Type DOF_MAP_type
-  boro As String * 1
-  secvol As String * 4
-  page As String * 4
-End Type
-
-Type SEGSIDE_type
-  com_dist As String * 3
-  lo_housenum As String * 16
-  hi_housenum As String * 16
-  filler01 As String * 32
-  iaei As String * 1
-  zip_code As String * 5
-  health_area As String * 4
-  police_boro_com As String * 1
-  police_pct As String * 3
-  fire_div As String * 2
-  fire_bat As String * 2
-  fire_co_type As String * 1
-  fire_co_num As String * 3
-  school_dist As String * 2
-  dynamic_block As String * 3
-  instruct_div As String * 2
-  filler02 As String * 7
-  cen_tract_1990 As String * 6
-  cen_tract_2000 As String * 6
-  cen_block_2000 As String * 4
-  filler_03 As String * 31
-End Type
-
-Type CROSS_STRS_type
-  mh_ri_flag As String * 1
-  street_len As String * 5
-  gap_flag As String * 1
-  node_nbr As String * 7
-  street_cnt As String * 1
-  B7SC(1 To 5) As String * 8
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 1/1E
-'*****************************************************************
-
-Type C_WA2_F1E
-  fillera As String * 21
-  cont_parity_dup_addr_ind As String * 1
-  lo_housenum_sort As String * 11
-  hi_housenum_sort As String * 11
-  DCP_pref_lgc As String * 2
-  lo_x_sts As ST_LIST_type
-  hi_x_sts As ST_LIST_type
-  lion_key As LION_type
-  spec_addr_flag As String * 1
-  sos_ind As String * 1
-  segment_len As String * 5
-  spatial_xyz_coord(1 To 3) As String * 7
-  res_GSS As String * 1
-  mh_ri_flag As String * 1
-  DOT_st_light_cont_area As String * 1
-  com_dist As String * 3
-  zip_code As String * 5
-  ED As String * 3
-  AD As String * 2
-  split_ED As String * 1
-  CD As String * 2
-  SD As String * 2
-  MC As String * 2
-  CO As String * 2
-  health_center_dist As String * 2
-  health_area As String * 4
-  san_dist As String * 3
-  san_sched As String * 2
-  san_reg As String * 5
-  san_recycle As String * 3
-  police_boro_com As String * 1
-  police_pct As String * 3
-  fire_div As String * 2
-  fire_bat As String * 2
-  fire_co_type As String * 1
-  fire_co_num As String * 3
-  split_school_dist_flag As String * 1
-  school_dist As String * 2
-  dynamic_block As String * 3
-  instruct_div As String * 2
-  feature_type As String * 1
-  filler_80ct As String * 6
-  census_tract_1990 As String * 6
-  census_tract_2000 As String * 6
-  census_block_2000 As String * 4
-  filler_left As String * 51
-  real_b7sc As String * 8
-  segment_id As String * 7
-  curve_flag As String * 1
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 1A
-'*****************************************************************
-
-Type C_WA2_F1A
-  filler01 As String * 21
-  cont_parity_ind As String * 1
-  lo_housenum_sort As String * 11
-  bbl As BBL_type
-  filler02 As String * 1
-  RPAD_scc As String * 1
-  filler03 As String * 1
-  RPAD_bldg_class As String * 2
-  corner As String * 2
-  num_of_bldgs As String * 4
-  num_of_structures As String * 2
-  interior_flag As String * 1
-  vacant_flag As String * 1
-  irreg_flag As String * 1
-  mh_ri_flag As String * 1
-  addr_range_overflow As String * 1
-  stroll_key As String * 19
-  res_internal_use As String * 1
-  bin As String * 7
-  condo_flag As String * 1
-  filler05 As String * 1
-  condo_id As String * 4
-  filler05b As String * 7
-  condo_bill_bbl As BBL_type
-  filler06 As String * 1
-  condo_bill_scc As String * 1
-  condo_lo_bbl As BBL_type
-  filler07 As String * 1
-  condo_hi_bbl As BBL_type
-  filler08 As String * 1
-  filler09 As String * 15
-  coop_num As String * 4
-  Sanborn As SANBORN_type
-  business_area As String * 5
-  DOF_map AS DOF_MAP_type
-  reserved_dcp As String * 23
-  x_coord As String * 7
-  y_coord As String * 7
-  filler10 As String * 25
-  int_use As String * 8
-  numaddr As String * 4
-  addr_range As ADDR_RANGE_type
-End Type
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 1A long
-'*****************************************************************
-Type C_WA2_F1AL
-  filler01 As String * 21
-  cont_parity_ind As String * 1
-  bbl As BBL_type
-  filler02 As String * 1
-  RPAD_scc As String * 1
-  filler03 As String * 1
-  RPAD_bldg_class As String * 2
-  corner As String * 2
-  num_of_bldgs As String * 4
-  num_of_structures As String * 2
-  interior_flag As String * 1
-  vacant_flag As String * 1
-  irreg_flag As String * 1
-  mh_ri_flag As String * 1
-  addr_range_overflow As String * 1
-  stroll_key As String * 19
-  res_internal_use As String * 1
-  bin As String * 7
-  condo_flag As String * 1
-  filler05 As String * 1
-  condo_id As String * 4
-  filler05b As String * 7
-  condo_bill_bbl As BBL_type
-  filler06 As String * 1
-  condo_bill_scc As String * 1
-  condo_lo_bbl As BBL_type
-  filler07 As String * 1
-  condo_hi_bbl As BBL_type
-  filler08 As String * 1
-  filler09 As String * 15
-  coop_num As String * 4
-  Sanborn As SANBORN_type
-  business_area As String * 5
-  DOF_map AS DOF_MAP_type
-  filler10 As String * 62
-  int_use As String * 8
-  num_of_bins As String * 4
-  bin_list(1 To 2500) As String * 7
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 2
-'*****************************************************************
-
-Type C_WA2_F2
-  filler01 As String * 21
-  dup_intersect_cnt As String * 1
-  DCP_pref_lgc(1 To 2) As String * 2
-  intersect_str As ST_LIST_type
-  compass As String * 1
-  filler02 As String * 5
-  lion_node_num As String * 7
-  spatial_xyz_coord(1 To 3) As String * 7
-  Sanborn(1 To 2) As SANBORN_type
-  mh_ri_flag As String * 1
-  DOT_slca As String * 1
-  com_dist As String * 3
-  zip_code As String * 5
-  health_area As String * 4
-  police_boro_com As String * 1
-  police_pct As String * 3
-  fire_div As String * 2
-  fire_bat As String * 2
-  fire_co_type As String * 1
-  fire_co_num As String * 3
-  school_dist As String * 2
-  census_tract_2000 As String * 6
-  census_tract_1990 As String * 6
-  level_codes (1 to 5, 1 to 2) As String * 1
-  instruct_div As String * 2
-  filler03 As String * 41
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 3
-'*****************************************************************
-Type C_WA2_F3
-  filler01 As String * 21
-  dup_key_flag As String * 1
-  loc_status As String * 1
-  county_boundary_ind As String * 1
-  DCP_pref_lgc(1 To 3) As String * 2
-  lo_x_st As ST_LIST_type
-  hi_x_st As ST_LIST_type
-  x_street_reversal_flag As String * 1
-  lion_key As LION_type
-  generated_rec_flag As String * 1
-  segment_len As String * 5
-  segment_azm As String * 3
-  segment_orient As String * 1
-  mh_ri_flag As String * 1
-  filler02 As String * 19
-  segment_id As String * 7
-  DOT_slca As String * 1
-  curve_flag As String * 1
-  dog_leg As String * 1
-  feature_type As String * 1
-  filler03 As String * 6
-  side_info(1 To 2) As SEGSIDE_type
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 3C
-'*****************************************************************
-Type C_WA2_F3C
-  filler01 As String * 21
-  dup_key_flag As String * 1
-  loc_status As String * 1
-  county_boundary_ind As String * 1
-  DCP_pref_lgc(1 To 3) As String * 2
-  lo_x_st As ST_LIST_type
-  hi_x_st As ST_LIST_type
-  x_street_reversal_flag As String * 1
-  lion_key As LION_type
-  generated_rec_flag As String * 1
-  segment_len As String * 5
-  segment_azm As String * 3
-  segment_orient As String * 1
-  mh_ri_flag As String * 1
-  filler02 As String * 19
-  segment_id As String * 7
-  DOT_slca As String * 1
-  sos_ind As String * 1
-  curve_flag As String * 1
-  feature_type As String * 1
-  filler03 As String * 6
-  side_info As SEGSIDE_type
-End Type
-
-
-'*****************************************************************
-'*** typedef for workarea 2 for function 3S
-'*****************************************************************
-
-Type C_WA2_F3S
-  filler01 As String * 21
-  intersect_num As String * 3
-  x_sts(1 To 350) As CROSS_STRS_type
-End Type
-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/appendix21/index.html b/site/appendices/appendix21/index.html deleted file mode 100644 index e19c2b27..00000000 --- a/site/appendices/appendix21/index.html +++ /dev/null @@ -1,943 +0,0 @@ - - - - - - - - - - - - Appendix 21: Geosupport Desktop Edtion - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Appendix 21: Geosupport Desktop Edtion
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

APPENDIX 21: Geosupport Desktop Edition: Quick Start Instructions

- -



-

Minimum system requirements: PC running Windows 95 or higher 800 megabytes of available harddisk space CD-Rom drive

-

Step 1. Start Install Program

- -
    -
  • -

    Download the Geosupport Desktop Edition Application and Extract the application from the compressed(zippped) folder.

    -
  • -
  • -

    Run the setup file from the downloaded application, double click setup> Run

    -
  • -
  • -

    If Install Program does not start up, click Start > Run > downloads\gde_17b\setup > OK.

    -
  • -
-

Step 2. Respond to Install Options

- -
    -
  • -

    The only question you need to answer is where you want the Geosupport Desktop Edition directory to reside. The default is ‘harddrive:\Program Files\’. You may change this if you want. Also your computer’s default program directory might not be ‘Program Files’. This will result in the Geosupport Desktop Editon directory residing in a directory other than ‘harddrive:\Program Files\’.

    -
  • -
  • -

    After the Install Program has completed, re-start your computer. You are now ready to use Geosupport Desktop Edition.

    -
  • -
-

Step 3. Verify that Installation was Successful

- -
    -
  • -

    Using Windows Explorer, navigate to the directory where Geosupport Desktop Editon programs were installed ((‘harddrive:\Program Files\Geosupport Desktop Edition\Bin’ is the default).

    -
  • -
  • -

    Double click on ‘Goat.exe’.

    -
  • -
  • -

    Select ‘1’ from the toolbar. Enter ‘22’ in the House Number box. Enter ‘Reade Street’ in the Street Name box. Click on the Manhattan radio button for the Borough. Press the OK button. If Geosupport Desktop Edition was successfully installed, then you should see data displayed in the window.

    -
  • -
-

Congratulations on Successfully Installing Geosupport Desktop Edition

-

User documentation can be found in C:\Program Files\Geosupport Desktop Editon\Doc

-
    -
  • -

    If you are interested in more information on how to use Goat, go to Chapter III: GOAT in the Geosupport Desktop Edition User Programming Guide.

    -
  • -
  • -

    If you are interested in geocoding an existing PC database, go to Chapter IV: GBAT in the Geosupport Desktop Edition User Programming Guide.

    -
  • -
  • -

    If you are interested in writing your own programs see Chapter II: Geosupport Desktop Edition API in the Geosupport Desktop Edition User Programming Guide.

    -
  • -
-

View C:\Program Files\Geosupport Desktop Edition\readme.txt for additional items.

-

Geosupport System General Overview

-

FOREWORD

- -

The Geosupport System is a data processing system originally designed to run on IBM mainframes to support many of the geographic processing needs common to New York City agencies. Geosupport was developed and is maintained and enhanced by the staff of the Geographic Systems (GSS) of the Department of City Planning’s Information Technology Division. Geosupport is highly customized for New York City’s geography and is widely recognized to be far superior to any other existing system for processing New York City geographic locations. Currently, Geosupport is used as a component of computer applications in more than thirty New York City agencies. The Geosupport Desktop Edition can be readily incorporated into users’ Windows® based applications that require the processing of geographic data.

-

This General Overview serves as an introduction to the Geosupport System. It is intended for a general audience, and describes the goals, objectives and capabilities of the system. Other GSS documents contain information for technical managers, software designers, programmers and analysts, particularly the Geosupport System User Programming Guide (UPG) and the Geosupport Desktop Edition UPG Supplement.

-

Geosupport is continually enhanced to provide users with new features. When a new system release is implemented, technical bulletins are distributed to users explaining changes and new features.

-

To receive further information about Geosupport Desktop Edition, please email: GSS_Feedback@planning.nyc.gov

-

I Goals And Objectives of The Geosupport System

-

The computer applications that automate many municipal operations, such as collecting taxes, installing and repairing public infrastructure, processing citizen complaints, issuing permits, and providing social services, have similar geographic processing needs and require similar geographic information in order to be performed effectively and efficiently. Many non-governmental organizations also use geographic information for analysis and planning. Some of these common geographic processing functions are as follows:

-
    -
  • -

    Identify and validate (confirm the existence of) various types of geographic locations, such as street names, addresses, inters and property identifiers (tax block and tax lot numbers).

    -
  • -
  • -

    Recognize variations when there is more than one way to describe the same location, such as street name spelling variants, alternative street names, three-way inters, multiple addresses for a property.

    -
  • -
  • -

    Obtain geographic information associated with the input location. Such information includes geographic areas, such as zip codes, community districts, census tracts, school districts, police precincts, city council districts, or application-specific districts, such as contractor areas or inspection zones. Other geographic information that applications may need include alternative addresses for a property, the cross streets adjacent to an address, the approximate distance between inters, and many others.

    -
  • -
  • -

    Retrieve data from a user file by geographic location. Such retrieval should be consistent, that is, when a location can be specified in more than one way, retrieval should succeed no matter how the location is specified.

    -
  • -
-

The Geosupport System is designed to support user computer applications by providing the above types of geographic processing functionality.

-

Usage of the Geosupport System has three main benefits:
-

    -
  1. Geosupport centralizes geographic processing among user operations, thus eliminating duplication of effort. Without a centralized system, users would have to develop and maintain their own geographic data files and geographic processing software. Centralization enables many users to benefit from the resources developed by the Department of City Planning’s highly-trained staff of programmers with expertise in the specialized field of geographic processing software, and researchers with expertise in map and aerial photography interpretation.
  2. -
  3. Geosupport fosters geographic data compatibility among users’ computer applications, resulting in improved efficiency and effectiveness. For example, Geosupport can enhance revenue collection by enabling a city agency that has issued fines to obtain the property identifiers (tax block and tax lot numbers) when an address of the property is known. The user can then retrieve the property owner’s mailing address from a file maintained by the Department of Finance. Similarly, activities such as inspections, information gathering and enforcement can be coordinated or consolidated more easily when files are geographically compatible.
  4. - -
  5. Geosupport improves the operational efficiency of user applications. This is done by the following means: -
    1. Geosupport provides immediate (online) verification of location data (addresses, inters, etc) which lessens or eliminates tedious research to verify the data. This feature is useful for trapping errors when data entry staff record information provided by the general public or field staff.
    2. - -
    3. Geosupport allows users to specify an input location in different ways. As a result, users do not have to be trained to record locations in a rigid format. For example, Geosupport recognizes that “6th Ave”, “Sixth Avenue” and “Avenue of the Americas” all refer to the same street in Manhattan. A different type of example is the three-way inter of Chambers Street, Hudson Street and West Broadway in Manhattan: Geosupport recognizes any pair of these streets as a valid input specification for this inter.
    4. - -
    5. Geosupport enables applications to retrieve data from user files consistently by location. ‘Consistency’ in this context means that, for locations that can be specified in more than one way, retrieval succeeds even if the location is specified differently at inquiry time from the way that it was originally entered. Applications can use this feature to identify and consolidate all of the transactions for a given location. One of the most important ways in which Geosupport enables consistent geographic retrieval of user data is through its system of numeric street codes representing the city’s street names. Two different names or spellings of the same street are assigned the same five-digit street code. When designing an application, the user can exploit this design feature to achieve data retrieval from the user’s application files that is independent of street name spelling variations. It is important to note that, if street codes are stored in a user file, the user must update those street codes to synchronize with street code changes reflected in each new Geosupport release (see IV-B).
    6. - -
    7. Geosupport enables users to group information by proximity. For example, Geosupport can be used to geocode a list of potential customers to manageable geographic locations such as zip codes, enabling companies to efficiently allocate field sales staff. This reduces travel time, making service delivery more efficient.
    8. - -
    9. Geosupport allows users to determine in which New York City administrative or political district a given location is contained. This is useful when a user must determine which contractor, inspector, service center, etc., is responsible for servicing or processing a given location.
    10. - -
    11. Geosupport aids in performance analysis reviews performed by internal management. Statistics of activities and performance rates by district can be produced from individual cases. This can be done by using Geosupport to code each location to a community district or other area. This statistical information can be used, for example, to monitor and evaluate the performance work crews, to reallocate resources, or to plan for new field offices.
    12. - -
    13. Geosupport enables graphic visualization of geographically-related user data by facilitating computer mapping. While Geosupport does not itself produce maps, its geocoding functionality and, in particular, its provision of spatial (xy) coordinates can be used in conjunction with separate computer mapping software and City Planning’s LION street center line file or Tax Block or Lot files to enable data to be displayed cartographically.
    14. - -


  6. -

-

II System requirements, Availability And Enhancements

-

The Geosupport System is easy to use, and is easily incorporated into a user’s own computer application. The way that this is accomplished is outlined in Chapter III and discussed in detail in the technical documentation. Users usually develop their own computer application using their own resources. User-written programs communicate directly with Geosupport via its Application Programming Interface (API), which is a simple, standardized and well-documented programming procedure. Geosupport performs the geographic processing only; all other processing is done by the user application, which has its own input and output files, screen formats and/or printed reports. A major advantage of this approach is that users have total control of their own applications, and develop them in their conventional data processing environment, using their normal programming language. This contrasts with many geographic processing packages which require users to develop their applications within the specialized environment of that package, often using a specialized, proprietary programming language.

-

As an alternative to developing an application that accesses Geosupport via its API, users can run one of the Geosupport utility programs, GOAT or GBAT, which require no user programming. The API and the utility programs are further discussed in Chapter III.

-

Geosupport Desktop Edition is available to the general public through a licensing agreement. Geosupport can be installed on any Windows® based personal computer 1.Geosupport Desktop Edition users can write their applications, both online and batch, in any programming language that permits a standard Dynamic Link Library (DLL) call. Currently, Microsoft® Visual C+, Borland® C and Visual Basic for Applications (VBA) have been successfully tested.

-

III Accessing Geosupport: The Application Programming Interface And Utility Programs

-

The Geosupport System is available in both batch and online environments. Within each of these environments, Geosupport may be accessed either through user-written programs or via Geosupport utility programs. The two methods of access are described below.

-

1.User-written programs communicate with Geosupport via its Application Programming Interface (API). Using the API, the user program supplies geographic locations to Geosupport for processing. Geosupport determines if a user location is valid, and if so, returns geographic information about the location to the user program. (For a partial list of data items provided, see Appendix I When the user data are unrecognizable or invalid, Geosupport returns codes and messages to the user program that specify the nature of the problem. By virtue of the API mechanism, the user’s programming efforts can be concentrated on the specific needs of the application, such as screen design and database updating, and the geographic processing can be left to Geosupport.

-

The Geosupport API is easy for programmers to use. Geosupport technical documents describe how to program user applications to interact with Geosupport via the API.

-

2.Geosupport contains two general purpose utility programs that perform many common geographic processing functions. While not specifically tailored to the needs of any one user, these utility programs allow many users to use Geosupport while minimizing or eliminating their own programming efforts. The utility programs are called GOAT and GBAT and are described below. The API, GOAT and GBAT provide basically the same set of information. A partial list of the information that they provide is in Appendix I.

-

a. GOAT:
- Geosupport’s online utility program is called the Geosupport Online Address Translator (GOAT). GOAT enables users to enter a geographic location on a computer screen, and if the location is valid, to immediately receive a display of a set of geographic information about that location. If the user’s location is rejected as invalid, an error message is displayed to indicate the specific reason for the rejection.

-

b. GBAT:
- GBAT (Geosupport Batch Address Translator) is the Geosupport batch utility program. GBAT allows users to process large files containing geographic locations. It validates these locations and writes out an output file containing a set of geographic information for each valid input location.

-

The Geosupport utility programs cannot, by themselves, satisfy every need of every application. For example, GOAT does not allow users to design their own screens or update their own files. Those types of functions can only be done by user-written programs accessing Geosupport via the API. Nevertheless, the Geosupport utility programs are powerful tools, particularly when used in conjunction with user-written programs.

-

IV Geosupport Update Cycles And User Feedback

-

1. Updates Cycles

-

The Geosupport System is updated continually. Updated information becomes accessible to users when new releases of Geosupport are released for user access several times a year. New Geosupport releases reflect changes in the city’s geography (new street names, new inters, new addresses, changes to various district boundaries, tax lot mergers and subdivisions, etc.), as well as correction of Geosupport data errors. Software enhancements and corrections are also implemented from time to time. Geosupport technical bulletins explaining new software features are distributed as needed.

-

2. Resynchronizing User Files to Reflect New Geosupport Releases

-

Applications are often designed so that items obtained from Geosupport are stored in user files. Some online applications use such items as ‘keys’ to retrieve data from the user’s own files by geographic location. (For example, as mentioned in Chapter I, five-digit street codes are often stored and used as retrieval keys in order to make geographic retrieval independent of street name spellings.) In designing applications that store Geosupport-provided data items in user files, the user must consider the issue of updating or “resynchronizing” those stored items to reflect data changes reflected in new Geosupport releases, particularly when the application is using those items as retrieval keys. In cases where such resynchronization is necessary, it is the user’s responsibility to set up a resynchronization procedure and to run it in conjunction with the deployment of each new Geosupport release.

-

3. User Feedback

-

The users of Geosupport are a crucial resource for providing feedback to GSS on changes required to the Geosupport geographic data and software. Although we cannot respond to individual user feedback, all reported problems are logged and appropriate action is taken. If in the course of reviewing user feedback it is determined that clarification is needed, users may be contacted directly. Feedback procedures are described below.

-

Geographic Feedback

-

Geosupport may reject a user-supplied geographic location as invalid. For example, Geosupport appropriately rejects the inter of Second Avenue and Third Avenue in Manhattan as a non-existent inter. Moreover, Geosupport geographic files may contain an error or may not be up to date, causing Geosupport to reject a valid location.

-

For rejected items that the user considers valid, a reject feedback procedure exists. The user can submit such data for review to GSS’s Data Management Unit by filling out and submitting a Geosupport System User Feedback Form (see Appendix VI). Printouts, sketch maps or other material documenting the rejects should be attached to the form when available.

-

Based on its research of user feedback, the GSS staff updates or corrects Geosupport files as appropriate. The corrections are reflected in the Geosupport System in a future Geosupport release. Before submitting rejected data to GSS, users should screen their data for misspellings, data entry errors or other obvious mistakes.

-

The GSS Data Management Unit utilizes a variety of resources, including maps, aerial photographs, public utility address listings, site plans and administrative records to conduct its geographic research. GSS uses Geographic Information System (GIS) technology, which allows the GSS Data Management staff to display, update and generate key Geosupport geographic data using interactive computer mapping. (Note, however, that as accessed by users, Geosupport is a conventional computer application that does not provide the user with maps or other graphic output. Users who have their own computer mapping or GIS software can prepare their data for input to that software by using Geosupport’s geocoding capabilities.)

-

In addition to receiving user feedback, GSS receives information about changes in city geography from a variety of sources. The Department of City Planning has City Charter-mandated responsibility for mapping new streets and street closures. New names for existing streets are obtained from the City Council; new addresses from the Borough Presidents’ offices; tax block and tax lot changes from the Department of Finance; changes in election district boundaries from the Board of Elections; changes in Police Precinct boundaries from the Police Department, etc.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/appendices/glossary/index.html b/site/appendices/glossary/index.html deleted file mode 100644 index f0936ca7..00000000 --- a/site/appendices/glossary/index.html +++ /dev/null @@ -1,989 +0,0 @@ - - - - - - - - - - - - Glossary of Terms And Acronyms - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Appendices and Glossary »
  • - - - -
  • Glossary of Terms And Acronyms
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

Glossary of Term And Acronyms

- -

Citations in brackets are references to sections of the UPG where the given term is defined or is principally discussed. Phrases in bold typeface have entries in this glossary.

-

A

-

ADDRESSABLE PLACE NAME [Chapter III.6]: A place name that can be combined with a house number to form an address. (Contrast with non-addressable place names.) Geosupport’s address-processing functions accept addressable place names as input data for the specification of an address. Some Manhattan examples are PENN PLAZA, WASHINGTON SQUARE VILLAGE and NEW YORK PLAZA.

-

ADDRESS / INTERSECTION TO MAP ZONES (AIMZ) [Chapter I.1]: A Geosupport CICS utility transaction that allows the user to enter an address, place name, intersection, tax lot identifier, or Building Identification Number and receive back a screen display of a set of map identifiers corresponding to the input location. The use of AIMZ requires no programming skills and AIMZ is not documented in detail in this UPG.

-

ADDRESS-PROCESSING FUNCTION [Chapter V]: Any of the Geosupport functions that accept the input of addresses. Currently, these are Functions 1, 1A, 1B, 1E and AP. Except for Function AP, address-processing functions also accept non-addressable place names as input data (typically with no input house numbers specified). The address-processing functions are a subset of the location-processing functions.

-

ALIAS [Chapter IV.2]: Two street names (or names of non-street geographic features) are aliases of each other if they are alternative names for the same street (or non-street feature) or any portion(s) thereof, or are spelling variants of the same street (or non-street feature) name. Partial street names are considered spelling variants, and therefore aliases, of the corresponding full street names. The alias relationship is embodied in the assignment of Geosupport street codes: two street names are aliases of each other if and only if they have the same borough-and-five-digit street code. Some examples of aliases in Manhattan: 6 AVENUE, SIXTH AVENUE, and AVENUE OF THE AMERICAS are all aliases of each other. SEVENTH AVENUE, 7 AVENUE, FASHION AVENUE and ADAM C POWELL JR BOULEVARD are all aliases of each other, even though some of these names are valid for differing portions of the street.

-

ALIASES (in GBAT) [Chapter XI.6]: User-defined street name aliases may be used in GBAT applications to supplement the set of street names that Geosupport recognizes. GBAT aliases are typically used to handle a consistent misspelling of a street name. The GBAT aliases are different from the Aliases described in Chapter IV.2.

-

AIMZ - see Address / Intersection to Map Zones

-

AP - AP is the name of Function AP and the acronym of Address Point (AP). It is also the acronym for Addressable Place Name (AP) and Atomic Polygon (AP). The acronym’s meaning should be clear by its usage. It is spelled out as needed.

-

API - see Geosupport Application Programming Interface

-

B

-

BACKGROUND COMPONENT [Chapter I.5]: The component of the Geosupport System in which GSS updates and validates geographic base files from which new releases of the foreground component files are periodically generated. The background component software and files are not directly accessed by users.

-

BBL (‘Borough/Block/Lot’) [Chapter VI.2]: A unique identifier for a parcel of real property, or tax lot, in New York City. The BBL is a 10-byte item formed by concatenating the one-byte borough code, five-byte tax block number and four-bye tax lot number. The New York City Department of Finance assigns tax block and tax lot numbers.

-

BEND [Chapter III.6]: A pseudo-street name that Geosupport accepts as street name input to specify a bending point of a street. Geosupport treats a point along a street as a bending point if the angle of the street at that point is not within the range 160-200 degrees, that is, if it is not within 20 degrees of a straight line.

-

BILLING BBL [Chapter VI.4]: A special BBL assigned by the Department of Finance to each condominium, to enable identification of the condominium in its entirety as distinct from the condominium’s individual units.

-

BIN - see Building Identification Number

-

BLOCK FACE (a.k.a. BLOCKFACE) [Chapter VII.3] A continuous frontage of a physical city block along one street, encompassing any bending points of the street within that frontage.

-

BUILDING IDENTIFICATION NUMBER (BIN) [Chapter VI.3]: A unique, immutable identifier for each building in New York City. BINs are not to be confused with addresses. BINs are assigned by the Geographic Systems Section (GSS) at the Department of City Planning.

-

C

-

CHARACTER-ONLY WORK AREA (COW) [Appendix 12, Appendix 13 and Appendix 14]: The Geosupport work areas that have long been in use are called the Mainframe-Specific Work Areas (MSWs). Most of the MSWs contain one or more packed decimal fields, a data encoding schema unique to IBM mainframes. An alternative set of Geosupport work areas was introduced in 2002. It is called the Character-Only Work Areas (COWs) which, as the name implies, contain character fields only. The COW is an essential part of a long-term effort to port the Geosupport System to other platforms. From now on, all new applications should be designed to use the COWs only. We also recommend that all existing applications be converted to use the COWs. See also Glossary entry for Work Areas.

-

CCO - See Corporation Council Opinion

-

CITY LIMIT [Chapter III.6]: A pseudo-street name that Geosupport accepts as street name input to refer to locations on the Bronx-Westchester County border, the Queens-Nassau County border, the New York-New Jersey border, and the Staten Island-New Jersey border.

-

CITYWIDE STREET CENTERLINE GEODATABASE - see CSCL

-

COMPACT FORMAT [Chapter III.3]: A Geosupport format for normalized geographic feature names. The compact format is suitable for display but not for sorting. Contrast with the sort format, which is suitable for sorting but not for display.

-

COMPLEX [Chapter III.6]: A group of related buildings and/or other geographic features. The name of a complex is a NAP (Non-Addressable Place Name). Examples of complexes include housing projects, university and hospital campuses, cultural complexes (such as Lincoln Center) and airports. Compare to simplex and constituent entity of a complex.

-

CONSTITUENT ENTITY OF A COMPLEX [Chapter III.6]: An individual building or other geographically identifiable feature that is part of a complex. Examples are the buildings in Lincoln Center and in Stuyvesant Town.

-

COPY LIBRARY, COPY FILES [Chapter VIII.4]: Many programming languages have a facility for accessing external files of source code called COPY files during application program compilation. COPY files reside in a partitioned data set (PDS) called a COPY library. The Geosupport System has COPY libraries containing source code layouts of the work areas in Assembler, PL/1, COBOL, C and NATURAL. The use of the Geosupport COPY libraries by application developers is optional but is strongly recommended.

-

CORPORATION COUNCIL OPINION (CCO) [Appendix A3]: A Corporation Council Opinion (CCO) is a geographic feature type. A CCO is an opinion by the City’s Law Department that a street area, not owned by the City, (e.g. a portion of a private street) has been dedicated for public use, consistent with the requirements of General City Law, Section 36(2). That allows the City to use public funds for various improvements and services, including paving of the roadway and installing sewers. The request usually relates to planned work by the City’s Department of Transportation, Department of Design and Construction, and Department of Environmental Protection.

-

COW - See Character-Only Work Area

-

CSC - See Computer Service Center

-

CSCL (‘NYC Citywide Street Centerline File’): An object-oriented database describing the features (streets, and non-street features) in NYC.

-

D

-

DAPS - see Duplicate Address Pseudo-Street Name

-

DEAD END [Chapter III.6]: A pseudo-street name that Geosupport accepts as street name input to refer to a termination point of a street at which there are no cross streets.

-

DEPARTMENT OF INFORMATION TECHNOLOGY AND TELECOMMUNICATIONS (DoITT): An agency of the City of New York responsible for city government-wide information technology infrastructure support. DoITT operates the Computer Service Center.

-

DISPLAY FUNCTION [Chapters IV.6 and V.2]: Any of the Geosupport functions that provide data items that can be used to display geographic locations on application screens, reports, mailing labels etc. Specifically, the display functions provide street names corresponding to input street codes, and provide house numbers in HND format corresponding to input house numbers in HNI (MSW) or HNS (COW) format. Note that the display functions do not actually display anything themselves; they merely provide data items that are suitable for an application to display. Currently, the display functions are Functions D, DG and DN.

-

DoITT - see Department of Information Technology and Telecommunications

-

DRIVER, GEOSUPPORT [Chapter II.1]: A Geosupport load module that serves as an interface enabling application programs to access Geosupport via API calls. There are two different drivers, one for batch applications and one for CICS applications. Application developers must link-edit the appropriate driver into the application program.

-

DSNY - The City of New York Department of Sanitation

-

DUPLICATE ADDRESS PSEUDO-STREET NAME (DAPS) [Chapter V.6]: A pseudo-street name accepted as street name input by Geosupport in duplicate address situations. DAPSs enable applications to specify which instance of a duplicated address the application wishes to process. As an example, Hillside Avenue exists in both the Bellerose section and the Douglaston section of Queens. To allow the user to refer to Hillside Avenue in a duplicate address situation two pseudo-street names are accepted by Geosupport, namely HILLSIDE AVENUE BELLEROSE and HILLSIDE AVENUE DOUGLASTON. As an alternative to a DAPS, for Functions 1, 1A, 1B, and 1E, the user may enter the conventional street name and the ZIP code which identifies the section of the borough, e.g. .ZIP Code 11426 for Bellerose and 11363 for Douglaston.

-

F

-

FOREGROUND COMPONENT [Chapter I.5]: The component of the Geosupport System that is directly accessed by a user application via the API. The foreground component includes both software and files.

-

FREE-FORM ADDRESS [Chapter V.3]: An address expressed with the house number and street name stored together in a single field. (Compare with parsed-form address.) Geosupport can process free-form addresses in which the house number and street name are passed together in the WA1 input street name field (and no value is passed in the separate WA1 input house number field).

-

FRONT-TRUNCATED STREET NAME [Chapter III.5(E)]: In the borough of Bronx or Manhattan only, a front-truncated street name is one that can be transformed to a valid street name by adding the word EAST or WEST to the front of the street name, for example 14 STREET is a front-truncated street name for EAST 14 STREET and WEST 14 STREET. Additional criteria are described in Section III.5(E).

-

FUNCTION [Chapters I.2, I.4]: The Geosupport System is organized into more than a dozen distinct functions that can be accessed by the user. Each function is identified by a one- or two-character function code.

-

G

-

GBAT - See Geosupport Batch Address Translator

-

GEOCODE [Chapter I.2]: The process of associating higher-level geographic information, such as the police precinct, ZIP code or census tract, with a specific geographic location, such as an address or street intersection. Geocoding is one of the Geosupport System’s most important services.

-

GEOGRAPHIC ONLINE ADDRESS TRANSLATOR (GOAT) [Chapter I.1]: The Geosupport System’s principal CICS utility transaction. GOAT is an inquiry transaction that allows the user to request any Geosupport function, enter input data and receive back a formatted screen display of the corresponding output information provided by that function. The use of GOAT requires no programming skills and it is not documented in detail in this UPG. (The GOAT utility was previously known as the Geosupport Online Address Translator (GOAT)).

-

GEOGRAPHIC RETRIEVAL CONSISTENCY [Chapter I.3]: Retrieval of information by geographic location in a manner that is independent of how the location is specified. The ability of an application to retrieve data consistently by geographic location from the application’s own files is a critical design issue for many applications. One important means of implementing geographic retrieval consistency in an application is to use B5SCs (see the entry for alias) instead of street names in the retrieval key.

-

GEOSUPPORT APPLICATION PROGRAMMING INTERFACE (API) [Chapter II.1]: The Geosupport facility that enables user-written application programs to interact with Geosupport via standardized program calls. The API involves the use of a Geosupport driver module and Geosupport work areas.

-

GEOSUPPORT BATCH ADDRESS TRANSLATOR (GBAT) [Chapter XI.1]: The Geosupport System’s batch utility program.

-

GEOSUPPORT ONLINE ADDRESS TRANSLATOR (GOAT)- see Geographic Online Address Translator(GOAT).

-

GEOSUPPORT RETURN CODE (GRC) [Chapter II.2]: A two-byte code that is returned in WA1 upon completion of every API call to Geosupport, indicating to the calling application the outcome of the call. (Not to be confused with operating system return codes or condition codes.) A GRC value of ‘00’ signifies an unconditionally successful call. A GRC value of ‘01’ signifies a warning. A GRC value of other than ‘00’ or ‘01’ signifies a reject. See also the Glossary entries for Reason Code and Message. See Appendix 4 for a comprehensive list of GRCs, Reason Codes and Messages.

-

GEOSUPPORT SYSTEM ADMINISTRATOR [Chapter I.1]: A designated staff member (generally a systems programmer) of a computer center where Geosupport is installed on a mainframe, responsible for installing new Geosupport file releases and software versions, and for trouble-shooting system-related Geosupport problems. Note: the Geosupport System Administrator is not necessarily responsible for providing application-related support to users.

-

GOAT - see Geographic Online Address Translator

-

GRC - See Geosupport Return Code

-

GSS [Chapter I.1]: The Geographic Systems Section of the City of New York Department of City Planning’s Information Technology Division. GSS is the developer and custodian of the Geosupport System.

-

H

-

HND - See House Number in Display Format

-

HNI - See House Number in Internal Format

-

HNS - See House Number in Sort Format

-

HOUSE NUMBER IN DISPLAY FORMAT (HND) [Chapter V.2]: One of Geosupport’s three output normalized house number formats. The HND is a format suitable for applications to use for display on screens, reports and mailing labels.

-

HOUSE NUMBER IN INTERNAL FORMAT (HNI) [Chapter V.2]: One of Geosupport’s three output normalized house number formats. The HNI is not suitable for display, because it is partly in packed decimal form, and it contains a code representing the house number suffix (if any) rather than the suffix itself. The HNI is used internally in the Geosupport System, and it is not of direct significance to most applications. HNI is valid in MSW only.

-

HOUSE NUMBER IN SORT FORMAT (HNS) [Chapter V.2]: One of Geosupport’s three output normalized house number formats. The HNS is not suitable for display, because it has an internal format and contains a code representing the house number suffix (if any) rather than the suffix itself. The HNS is used internally in the Geosupport System, and it is not of direct significance to most applications. HNS is valid in COW only.

-

HPD - Department of Housing Preservation and Development

-

I

-

ID-PROCESSING FUNCTION [Chapter I.4]: Any location-processing function that processes identification codes. Currently, the ID-processing functions are Function BL, which processes tax lots specified by an input BBL; Function BN, which processes buildings specified by an input BIN; and COW Function 2 which can process an intersection specified by a Node ID.

-

INPUT FIELD (IN A WORK AREA) [Chapter II.3]: A field into which the user application inserts a value to be passed to Geosupport. See also output field, WA1 and WA2. WA1 has both input and output fields. WA2 has output fields only.

-

L

-

LDF - see LION Differences File

-

LGC - See Local Group Code

-

LION DIFFERENCES FILE (LDF): The LION Differences File (LDF) is a sequential file containing records documenting certain types of changes that have occurred between a particular release of LION and the immediately previous LION release. A new LDF ‘edition’ is ‘published’ in conjunction with each new production release of LION. The changes documented in the LDF relate to node changes and segment changes.

-

LION FILE [Chapter VII.1]: A predecessor to CSCL, LION is a background component file that is a digital map of New York City. LION contains a single-line representation of the city’s streets and city limits. Geosupport’s street configuration processing is based on that representation.

-

LOCAL GROUP CODE (LGC) [Chapter IV.5]: The LGC consists of the sixth and seventh digits of the ten-digit street code. The LGC corresponds to a set of locally valid street names for the given street.

-

LOCALLY VALID STREET NAME [Chapter IV.5]: A name of a street that is valid for a particular portion (possibly all) of the street. The set of street names that are valid for the same portion of a street constitute a ‘local group’ and share the same LGC value.

-

LOCATION-PROCESSING FUNCTION: Any of the Geosupport functions that accept the input of a geographic location. These can be sub-classified into the address-processing functions (Functions 1, 1A and 1E); the street-configuration-processing functions (Functions 2, 3, 3C and 3S); and the ID-processing functions (Functions 2, BL and BN).

-

M

-

MAINFRAME-SPECIFIC WORK AREA (MSW (a.k.a. MFS)) - See Character-Only Work Area

-

MESSAGE [Chapter II.2]: A WA1 output item returned for all warnings and rejects, consisting of an appropriate explanatory text message. See Appendix 4 for a comprehensive list of GRCs, Reason Codes and Messages.

-

MFS - See MSW

-

MSW - See Mainframe-Specific Work Area

-

N

-

NAP - See Non-addressable Place Name

-

NAUB - See Non-addressable Un-named Building

-

NODE [Chapter VII.2]: Either a conventional intersection of a street with another street, or a pseudo-intersection of a street with a pseudo-street or where there is a change in a significant geocode such as zip code or a Police Beat..

-

NODE ID [Chapter VII.2]: A unique identifier associated with each node in the Geosupport sytem. The Node ID is sometimes referred to as the Node Number.

-

NON-ADDRESSABLE PLACE NAME (NAP) [Chapter III.6]: A place name that is typically not combined with a house number to form an address. Examples: CITY HALL, EMPIRE STATE BUILDING, PLAZA HOTEL, LINCOLN CENTER, LA GUARDIA AIRPORT. A NAP can either be the name of a simplex, a complex, or a constituent entity of a complex. Geosupport’s address-processing functions accept many NAPs as input data

-

NON-ADDRESSABLE UN-NAMED BUILDING (NAUB) [Chapter VI.3]: A building that has neither addresses nor NAPs, and can only be identified by its BIN. Typical example is a storage shed on the grounds of an industrial property.

-

NORMALIZE [Chapter III.2 for street names, Chapter V.2 for house numbers]: To produce a version of a data item in a standardized format. Geosupport normalizes every input geographic feature name into one of two formats selected by the user application, called the compact format and the sort format. Geosupport also normalizes every input house number. Geosupport returns output normalized names and house numbers to the calling application in WA1.

-

O

-

OUT-OF-SEQUENCE ADDRESS [Chapter V.10]: An address such that the house number is out of sequence relative to nearby house numbers along the given street. For an input out-of-sequence address, the output information that Functions 1 and 1E return is based on the street segment where the out-of-sequence address is actually located, including the cross streets and geographic district identifiers. The Spatial Coordinates returned are those of a point calculated under the assumption that the building entrance is located at the midpoint of the blockface. A warning is issued for any address on a blockface containing an out-of-sequence address.

-

OUTPUT FIELD (IN A WORK AREA) [Chapter II.3]: A field into which Geosupport inserts a value to be returned to the calling user application. See also input field, WA1 and WA2. WA1 has both input and output fields. WA2 has output fields only.

-

P

-

PARSED-FORM ADDRESS [Chapter V.3]: An address that is expressed with the house number and street (name or code) stored in separate fields. (Compare to free-form address.)

-

PARTIAL STREET NAME [Chapter III.4]: A street name formed from a full normalized street name by deleting one or more entire words from the end of the full street name. For example, in Manhattan, READE is a partial street name for READE STREET. Geosupport accepts a partial street name as an input street name when the partial street name unambiguously represents a unique full street name in the specified input borough. Additional criteria are described in Chapter III.4.

-

PLACE NAME [Chapter III.6]: A name of a geographic feature other than a street name or a pseudo-street name. Examples of place names are the names of building complexes (such as university campuses, housing projects, hospital campuses etc.), individual named buildings (such as CITY HALL, EMPIRE STATE BUILDING, museums, hotels, theaters, stadiums etc.), parks, islands, airports etc. Geosupport recognizes some New York City place names, and more are being added over time. There are several types of place names; see Glossary entries for Addressable Place Name, Non-Addressable Place Name, Simplex, Complex and Constituent Entity of a Complex.

-

PREFERRED STREET NAME [Chapter IV.5]: If more than one local group of street names is valid at a particular location along a street, GSS designates one of them as the ‘preferred’ local group for that location. The preferred street name is the principal street name of the preferred local group.

-

PRIMARY STREET NAME [Chapter IV.3]: For every street in NYC, that is, for every valid B5SC value, GSS designates one spelling of one name of the street as the primary street name. Function D can be used to obtain the primary street name for a given B5SC value.

-

PRIMING WA1 [Chapter II.3]: The part of the API procedure in which the calling application program inserts values into WA1 input fields in preparation for issuing a call to the driver. Priming WA1 is how an application requests the function to be performed, passes the input geographic data (such as an address) to be processed, and specifies processing options.

-

PRINCIPAL STREET NAME OF LOCAL GROUP [Chapter IV.5]: The street name that GSS has designated as the ‘best’ representative from among all the names in a local group. Function DG can be used to obtain the principal street name for a given B7SC value. PSEUDO-ADDRESS [Chapter VI.5]: An address unofficially assigned by GSS to a street frontage of a tax lot that has no ‘real’ building addresses, such as a driveway. Function 1A accepts pseudo-addresses as input.

-

PSEUDO-INTERSECTION [Chapter VII.2]: A point along a street specified in terms of a pseudo-street name, i.e., a bend, a dead end or a city limit point.

-

PSEUDO-STREET NAME [Chapter III.6]: An ‘unofficial’ street name that Geosupport accepts as street name input for certain geographic situations. DAPSs are pseudo-street names that the address-processing functions accept as input only for the city’s very few cases of duplicate addresses (see Chapter V.6). DEAD END, CITY LIMIT, BEND and their aliases are pseudo-street names accepted as input by the functions that process street configurations (see Chapter VII).

-

R

-

REASON CODE [Chapter II.2]: A one-byte output WA1 item that qualifies the reason for a warning or rejection with greater specificity than does the GRC alone. Non-blank reason codes are returned for all warnings and for selected rejects. See Appendix 4 for a comprehensive list of GRCs, Reason Codes and Messages.

-

REJECT, REJECTION [Chapter II.2]: An unsuccessful outcome of an API call to Geosupport, indicated by a GRC value other than ‘00’ or ‘01’, accompanied by an appropriate Message, and for selected rejects, by a Reason Code.

-

RELEASE (OF GEOSUPPORT FOREGROUND FILES) [Chapter I.5]: Geosupport’s foreground component files are read-only files, and are periodically replaced by updated files. Every foreground file is identified as belonging to a specific Geosupport release.

-

RESYNCHRONIZATION OF STREET CODES [Chapter IV.4]: The updating of Geosupport street codes stored in a user application file to reflect street code assignment changes made in a Geosupport release.

-

ROADBED [Chapter V.5]: A roadbed is a street segment that is bounded on both sides by a physical separator such as a sidewalk, median barrier or median strip. Street segments that have painted medians separating travel direction do not form multiple roadbeds. Well-known examples of streets with multiple roadbeds include Park Avenue in Manhattan, Queens Blvd in Queens and Ocean Parkway in Brooklyn.

-

S

-

SIMILAR NAME [Chapter III.5]: When an input street name is rejected, Geosupport returns a list of up to ten ‘similar names’ in WA1, as an aid to the application in handling the reject. A ‘similar name’ is a valid full street name from the specified input borough that Geosupport, in accordance with certain criteria, deems to be similar to the rejected input street name.

-

SIMPLEX [Chapter III.6]: A ‘stand-alone’ named geographic feature, that is, a feature that has a NAP and that is not a complex or a constituent entity of a complex. Examples: Empire State Building, Plaza Hotel, Gramercy Park.

-

SNC - See Street Name Code

-

SNL - See Street Name Normalization Length Limit

-

SORT FORMAT [Chapter III.3]: A Geosupport format for normalized geographic feature names. The sort format is suitable for sorting but not for display. Contrast with the compact format, which is suitable for display but not for sorting.

-

STREET CODE [Chapter IV]: In the Geosupport System, a set of numeric street codes is assigned to represent the city’s street names and other geographic feature names. A borough code combined with a ten-digit street code, or B10SC, corresponds to a specific spelling of a specific street name in the given borough. Portions of the B10SC also have special significance. In particular, the first six bytes of the B10SC, the borough-and-five-digit street code (B5SC), encodes the alias relationship between street names.

-

STREET CONFIGURATION [Chapter VII.1]: A geographic location specified in terms of a combination of two or three streets. Street configurations include intersections, street segments, blockfaces and street stretches.

-

STREET-CONFIGURATION-PROCESSING FUNCTION [Chapter VII]: Any of the Geosupport location-processing functions that process street configurations. Currently, these are Function 2, which processes street intersections; Function 3, which processes street segments; Function 3C, which processes blockfaces; and Function 3S, which processes street stretches.

-

STREET NAME CODE (SNC): The final three digits of the B10SC (Borough and Ten-digit Street Code) are called the Street Name Code (SNC). Thus, the B10SC consists of the concatenation of the borough code, 5SC, LGC and SNC. The SNC serves simply to serialize the street names within a local group, so that the full B10SC is unique to a specific spelling of a specific street name.

-

STREET NAME NORMALIZATION LENGTH LIMIT (SNL) [Chapter III.2]: A user-specifiable parameter that sets the maximum length in bytes within which Geosupport normalizes input street names. The default value is 32.

-

U

-

UPG - See User Programming Guide

-

USER PROGRAMMING GUIDE (UPG) [Chapter I.6]: This document.

-

VANITY ADDRESS [Chapters V.9]: An address such that the street name refers to a different street than the one on which the referenced building entrance is actually located. For an input vanity address, the output information that Functions 1 and 1E return is based on the street segment where the vanity address is actually located, including the cross streets, geographic district identifiers and spatial coordinates. The source for the Spatial Coordinates (a.k.a. X-Y coordinates) returned for Vanity Addresses (and NAPs) is the Citywide Street Centerline file (CSCL). The CSCL information guarantees that the X-Y coordinates fall within the actual location (e.g. building footprint) of the Vanity Address. A warning is issued accordingly. The output information that Function 1A returns is based on the building associated with the vanity address. No warning is issued for Function 1A.

-

V

-

VERSION (OF GEOSUPPORT FOREGROUND SOFTWARE) [Chapter I.5]: Self-explanatory. Contrast use of the term ‘version’ for Geosupport software and ‘release’ for Geosupport data files.

-

VESTIGIAL FEATURE [Chapter I.5]: An element of the Geosupport System, such as a function, a work area, a data item or a JCL statement, that is obsolete and has been superseded by an enhancement. Vestigial features may continue to be operational but should not be used in new applications, and should be eliminated from existing ones.

-

W

-

WARNING [Chapter II.2]: A conditionally successful completion of an API call to Geosupport. A warning is signified by a GRC value of ‘01’ and an accompanying Reason Code and Message. In most cases, it is appropriate for applications to treat warnings in the same way as successful completions. It is sound practice, however, to examine the Reason Codes and Messages.

-

WA1, WA2 - See Work Areas

-

WORK AREAS [Chapter II.1]: Standard-layout blocks of data in memory that are shared between Geosupport and an application. The Geosupport work areas are an essential component of the Geosupport API, and constitute the sole means by which information passes between the application and Geosupport. Different Geosupport functions use different work area layouts. API calls can involve the passing of either one work area, called Work Area 1 (WA1), or two work areas, WA1 and Work Area 2 (WA2).

-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/chapterI/index.html b/site/chapters/chapterI/chapterI/index.html deleted file mode 100644 index 9018af01..00000000 --- a/site/chapters/chapterI/chapterI/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter I - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • Chapter I
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER I

- -

SYSTEM OVERVIEW

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section01/index.html b/site/chapters/chapterI/section01/index.html deleted file mode 100644 index ada929e2..00000000 --- a/site/chapters/chapterI/section01/index.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - I.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.1 Introduction

- -

The Geosupport System is an integrated system of software and data files that processes New York City geographic locations. Input locations can be accepted in various forms, including addresses, place names, street intersections, blockfaces, street stretches and property parcels (tax lots). Geosupport standardizes and validates the input location and provides related geographic information, such as the community district, census tract and census block, ZIP code, tax block and tax lot, police precinct, cross streets, City Council district and spatial coordinates. In addition, Geosupport provides user-written applications with the means to retrieve data from the user’s own files by geographic location in a consistent manner.

-

The Geosupport System was developed and is maintained as a service to all agencies of the City of New York by the staff of the Geographic Systems Section (GSS) of the Department of City Planning’s Information Technology Division. GSS has been enhancing the Geosupport software and updating the system’s data files continually since the system’s introduction in 1983.

-

This document, the Geosupport System User Programming Guide , is a comprehensive technical description of the system and how to access it. The document is intended to be read primarily by technical users such as computer application designers, software analysts and programmers. Knowledge of IBM mainframe application programming is assumed.

-

Geosupport is installed on IBM mainframes at the city computer centers listed in Appendix 7, where it is used by most city agencies as an integral component of many of their major data processing applications. An employee of each computer center’s custodial agency, generally a systems programmer, has been designated as the Geosupport System Administrator (GSA) for that computer center. The GSA is responsible for installing or coordinating the installation of new Geosupport file releases and software versions received from GSS. At some computer centers, the GSA makes certain customizing modifications to Geosupport during installation, such as changing the data set names (DSNs) of Geosupport files to conform to local file naming conventions. The GSA is also the first responder for users encountering system-related Geosupport problems, and interacts with GSS staff as needed to resolve such problems. However, the GSA is not necessarily familiar with Geosupport from a user application perspective, and is not responsible for assisting users with application-related problems or design issues.

-

In general, Geosupport is accessible without restriction to anyone having a valid account at any of the computer centers where it is installed; no special passwords or security procedures are required beyond the normal data center logon procedures. In addition to running on IBM (and IBM-compatible) mainframes, GSS has developed Geosupport Desktop Edition for running in the Windows environment. There are also several methods by which Geosupport running on a city mainframe can be accessed by applications running on other hardware platforms, including 3270 emulation and access through the city’s Intranet. Geosupport is also available via GeoX, Linux, .net and Java. This User Programming Guide can be used when programming in any of these environments. Also, those who are writing a PC application for the Desktop Edition should also read the UPG Supplement.

-

For many user applications, only a subset of Geosupport’s functions, features and data items are relevant. In addition, many Geosupport options have defaults which are appropriate for most applications. Thus, even though Geosupport is a large-scale, multi-feature system, the user effort required to design an application to access it is often relatively modest.

-

Geosupport has an Application Programming Interface (API) that enables it to be accessed directly from a user-written batch or CICS application program. (Geosupport cannot be run in the VM environment.) The Geosupport API supports application programs written in any programming language that can issue a standard IBM external program call. COBOL, PL/1, the various types of IBM mainframe assembler languages (hereafter referred to generically as ‘Assembler’), NATURAL and C are five such languages. In addition, Geosupport has one batch and two interactive ‘stand-alone’ utility programs that enable users to satisfy many geographic processing needs without having to write custom application programs.

-

The ability of user-written applications to access Geosupport via its API enables users to avoid the burden of duplicating complex, specialized geographic processing routines within their own applications. The Geosupport API affords users total design control of their own applications, with their own input and output files, printed reports and screen formats; users develop those applications in their conventional data processing environments, using the programming languages they deem best suited to those applications.

-

The Geosupport batch utility program is called the Geosupport Batch Address Translator (GBAT). GBAT requires no user programming; to run GBAT, the user simply sets up a batch job containing JCL and GBAT control records. There are two Geosupport interactive utility programs, both of them CICS transactions. The principal interactive utility is called the Geographic Online Address Translator (GOAT), which provides general inquiry capabilities for almost all Geosupport functions. There is also a specialized interactive utility called Address / Intersection Map Zones (AIMZ), which displays a set of map identification numbers corresponding to an input address or intersection.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section02/index.html b/site/chapters/chapterI/section02/index.html deleted file mode 100644 index 833a702b..00000000 --- a/site/chapters/chapterI/section02/index.html +++ /dev/null @@ -1,821 +0,0 @@ - - - - - - - - - - - - I.2 System Functionality - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.2 System Functionality
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.2 System Functionality

- -

The output information that Geosupport provides consists of geographic information only. Geosupport does not provide, for example, population or crime statistics, housing data, building code violations, property ownership etc. Such data are available from the U.S. Bureau of the Census, city agencies and other sources. Geosupport can facilitate matching many such statistical and administrative databases with user data containing individual locations, by associating those locations with district identifiers needed for such matching, such as census tract, ZIP code or tax block.

-

Geosupport processes New York City geography only, and is highly customized for that geography. For example, Geosupport can recognize and process many alternative names, spelling variants and partial names of New York City streets; the various address number formats that occur in the city; both old and new addresses on streets that have been renumbered; unique addressing schemes that exist in certain neighborhoods; and many other idiosyncrasies of New York City’s geography

-

Geosupport is organized into more than a dozen distinct functions that can be accessed by the user. Chapter I.4 contains a brief overview of Geosupport’s suite of functions. The typical function accepts as input geographic locations of a particular type, such as addresses, street intersections or tax lots, and provides some or all of the following services, depending on the function and on calling options chosen:

-
    -
  • -

    Geosupport standardizes and encodes components of the user input data. Specifically, it reformats input street names and input address numbers into standard formats, a process called ‘normalizing’, and it provides numeric street codes corresponding to input street names.

    -
  • -
  • -

    Geosupport validates the input data. The nature of the validation performed depends on the function requested and the type of call made. Validation of geographic data is a particularly powerful tool in the interactive environment, where it can help applications to trap keying errors and street name misspellings at the point of initial data entry when such errors are most easily rectified.

    -
  • -
  • -

    Geosupport geocodes the input data. That is, it outputs a predefined set of ‘higher-level’ geographic information associated with the input location, such as the community district, ZIP code, police precinct, cross streets.

    -
  • -
  • -

    Geosupport enables consistent retrieval of user application data by geographic location. That is, it supports the ability of user applications to search (for inquiry or updating) or match their own data files by geographic location in a way that is independent of possible variations in referring to locations.

    -
  • -
-

The nature of each application determines the combination of these services that is relevant. For example, some applications need only to validate geographic locations, not to obtain any of the output information that Geosupport provides. The fourth type of service, support for geographic retrieval consistency, is relevant only for applications that retrieve or match data from their own files by geographic location (as distinct from Geosupport’s retrieval of data from its internal files). For those applications, geographic retrieval consistency is a critical issue. The next section of this chapter contains a discussion of geographic retrieval consistency in general terms. Later chapters of this document contain detailed discussions of this topic.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section03/index.html b/site/chapters/chapterI/section03/index.html deleted file mode 100644 index 0d3b15d5..00000000 --- a/site/chapters/chapterI/section03/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - I.3 Introduction to Geographic Retrieval Consistency - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.3 Introduction to Geographic Retrieval Consistency
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.3 Introduction to Geographic Retrieval Consistency

- -

In applications that retrieve data from an application file by geographic location or match two application files by geographic location, the consistency of that retrieval or matching is a critical consideration that arises when processing any type of location that can be specified in more than one way. For example, consistency is a consideration for any type of location involving streets (such as addresses, intersections and street segments), since many streets have alternative names and many street names have spelling variants. The goal is to enable applications to retrieve records independently of which street name spelling was used when the record was created and which one is used at retrieval time. Similarly, consistency is a consideration when retrieving building-level data by address, since many buildings have more than one address. It is a consideration when retrieving data for street intersections, since many intersections (e.g., three-way intersections) can be specified using more than one pair of streets.

-

The achievement of retrieval consistency can greatly improve an application’s ‘hit’ rate on geographic searches into the application’s own files. Moreover, it enables applications to identify and consolidate multiple records for the same location effectively. These advantages can have a significant impact on the efficiency of a city operation. For example, an application can use this capability to generate a single work order for dispatching personnel to handle multiple repairs, inspections or other transactions for the same location.

-

Of the services that Geosupport provides, its use to achieve geographic retrieval consistency involves the most extensive integration of Geosupport in the design of the user application. Geosupport provides such support by returning certain data items which an application can store in its file during record creation and use as part of a geographic retrieval key. An example is an item called the five-digit street code, which applications can use to achieve consistent retrieval of data by those types of geographic locations that are specified in terms of streets. This is briefly discussed below, and is explained in detail in later chapters.

-

Within Geosupport, a set of numeric street codes has been assigned to represent New York City’s street names. A full street code is a ten-digit item that, together with a borough identifier, corresponds to a specific spelling of a specific name for a specific street in that borough. The first five digits of the ten-digit street code are collectively called the five-digit street code. Ten-digit street codes are assigned in such a way that alternative names and spelling variants of the same street have the same five-digit street code. As a result, applications can achieve consistent retrieval or matching of application data by any type of geographic location that involves streets by using five-digit street codes instead of street names as part of the retrieval key. For the convenience of users, for all functions that involve street input except Function 1N and the display functions (Functions D, DG and DN), applications have the option to provide input streets to Geosupport in the form of either street names or street codes. Street codes are discussed in greater detail in Chapter IV.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section04/index.html b/site/chapters/chapterI/section04/index.html deleted file mode 100644 index 0feb765e..00000000 --- a/site/chapters/chapterI/section04/index.html +++ /dev/null @@ -1,1000 +0,0 @@ - - - - - - - - - - - - I.4 The Geosupport Function Suite - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.4 The Geosupport Function Suite
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.4 The Geosupport Function Suite

- -

This section contains a brief introduction to the Geosupport function suite. Each Geosupport function is identified by a one- or two-character function code. The function suite consists of location-processing functions (Functions 1, 1A, 1B, 1E, 2, 3, 3C, 3S, AP1,BL and BN), display functions (Functions D, DG and DN) and miscellaneous functions (Functions 1N, BB and BF). Table I-2 lists the currently implemented functions. Note that Functions 1B and AP are COW2 functions only.

-

Each location-processing function processes input geographic locations of a particular type. For each type of location, there is an appropriate set of data items that collectively define such locations. Table I-1 lists the various types of geographic locations, the data items required to specify them, and examples. The location-processing functions can be sub-classified into address-processing functions, street-configuration-processing functions and ID-processing functions:

-
    -
  • -

    The address-processing functions are Functions 1, 1A, 1B, 1E and AP. There are also Extended versions of four of the functions, viz. Function 1 Extended, Function 1A Extended, Function 1E Extended, Function AP Extended . Function 1B is a combination of Function 1E Extended and Function 1A Extended. Except for Function AP, the address-processing functions process conventional addresses, Addressable Place Names (APs) and Non-Addressable Place Names (NAPs). Function AP processes conventional addresses only.

    -
  • -
  • -

    The street-configuration-processing functions are Functions 2, 3, 3C and 3S. There are also Extended versions of two of the functions, viz. Function 3 Extended and Function 3C Extended. All these street-configuration-processing functions process geographic locations that are defined in terms of one, two or three streets, such as street intersections, intersection names, blockfaces and street stretches. Note that Function 2 is also an ID-processing function (see below).

    -
  • -
  • -

    The ID-processing functions are Functions BL, BN, and COW Function 2. There are also Extended versions of these functions, viz. Function BL Extended and Function BN Extended and the Wide version of Function 2, viz. Function 2W. These functions process locations defined in terms of identifying numbers, namely, tax lot identifiers in the case of Function BL, Building Identification Numbers (BINs) in the case of Function BN and Node ID in the case of Function 2. Tax lot identifiers and BINs are discussed in detail in Chapter VI. Node IDs are discussed in Chapter VII. Note that Function 2 is also a street-configuration-processing function (see above).

    -
  • -
-

In general, anything that applies to a basic Geosupport Function will also apply to the Extended Version of that function and other variations (e.g. Long Work Area or Auxiliary Segments) as well. For example, anything that is true of Function 1 will also be true of Function 1 Extended. In our discussion of the various functions, for simplicity, we will often refer only to the basic function, but the information will apply also to the Extended function and other variations.

-

The address-processing functions differ from each other with respect to the output data that they provide and the nature of the validation processing that they perform. In general, the type of validation processing a Geosupport function performs is related to the geographic level of the output data. Thus the processing for Functions 1, 1E (and the 1E portion of Function 1B, see below), validates only whether the input address falls within an address range for an entire blockface, but it does not validate whether the input address is itself specifically valid. Function AP and Function 1A (and the Function 1A portion of Function 1B, see below), on the other hand, do validate whether the input address is (or could be) a valid address for a specific building. The return of a Building Identification Number (BIN) from Function AP and Function 1A will verify the existence of a building at the given address.

-

There are some users of Geosupport who process addresses by making two Geosupport calls (one call to Function 1 or 1E and another call to Function 1A). In response to requests by users, Function 1B was developed in order to allow users to retrieve blockface information (which is available with Function 1 or 1E) and Property Level information (which is available with Function 1A) in one Geosupport call. Function 1B combines Function 1E Extended with Function 1A Extended. The input requires borough (or ZIP code), address number if needed, and street name or street code. Function 1B retrieves the tax lot and building information from the PAD (Property Address Directory; data is at the property parcel level) file based on the input (Function 1A-type processing). The blockface and political data are then retrieved from the GRID (Geographic Reference Integrated Dictionary; data is at the centerline level) and the Election files (Function 1E-type processing) for the address set by the building level information

-

The display functions do not themselves directly ‘display’ anything, but they provide street names and/or address numbers in formats suitable for applications to display on screens, reports, mailing labels etc.

-

In Table I-1, the word ‘street’ refers to either a street name or a street code. In the examples in Table I-1, street names rather than street codes are used. (Note: the examples are formatted for reader comprehension, and would not be accepted by Geosupport as shown. Specifically, they contain borough names rather than the borough codes that Geosupport requires, and they contain English words and phrases such as ‘intersection of’ and ‘between’ that Geosupport does not recognize.)

-

Table I-1: Types of Geographic Locations Processed

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Types of LocationsInput Items Required to Specify Location,
Example
AddressBorough (or ZIP code) + address number + street:
Bronx, 307 East Tremont Avenue
Non-Addressable Place NameBorough (or ZIP code) + place name:
Manhattan, Carnegie Hall
Addressable Place NameBorough (or ZIP code) + address number + place name:
Manhattan, 2 Penn Plaza
Street IntersectionBorough + two intersecting streets:
Brooklyn, intersection of Flatbush Avenue and Atlantic Avenue
OR (if a pair of streets has two points of intersection), Borough + two intersecting streets + compass direction:
Queens, east intersection of Alderton Street and Cromwell Crescent
OR Borough + Intersection Name:
Manhattan, Isaac Stern Place
OR Node ID:
0015376 (intersection of Broadway and Reade St, Manhattan)
Street SegmentBorough + ‘on’ street + two consecutive cross streets:
Manhattan, Broadway between W 38th St and W 39th St
BlockfaceBorough + street segment + compass direction specifying side of street:
Manhattan, east side of Broadway between W 38th St and W 39th St
Street StretchBorough + ‘on’ street + any two cross streets:
Manhattan, Broadway between W 38th St and W 54th St
OR (if either or both of the cross streets has two points of intersection with the ‘on’ street), Borough + ‘on’ street + two intersecting streets + compass direction(s):
Queens, Alderton Street between East intersection with Cromwell Crescent and intersection with 63rd Drive
OR Borough + ‘on’ street:
Manhattan, Broadway
Tax LotBorough + tax block + tax lot:
Staten Island, Block 247 Lot 16
BuildingBuilding Identification Number (BIN):
5006708
-

Table I-2 below lists all of the current Geosupport functions, indicating for each function the type of input geographic location processed, the geographic level of the output data, and a sample of output data items. The table does not include normalized street names, street codes and normalized address numbers among the sample output items listed; those items are always returned when the input involves street names and address numbers. Certain terms not defined until later have been included in Table I-2 for completeness.

-

Table I-2: List of Geosupport Functions

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionType of InputDescription of OutputSample Output Items
1Address or Non-Addressable Place NameBlockface-related dataCross streets, ZIP code, census tract and block, community district, police precinct, school district, health area, spatial coordinates COW Only: NTA, Police Patrol Borough
1AAddress or Non-Addressable Place NameProperty-related dataTax block and lot identifiers, list of all buildings, addresses and street frontages of property, condo flag, spatial coords.
1B (COW Only)Address or Non-Addressable Place NameCombined Property and Blockface related dataSee Function 1E below and Function 1A above (COW Only)
1EAddress or Non-Addressable Place NameBlockface-related dataSame as Function 1 + political districts: Election, State Assembly and Senate, City Council, Congressional and Municipal Court Districts
1NStreet Name or Place NameNormalized name, street code
2Street Intersection or Named Intersection or Node IDIntersection-related dataAdditional streets at intersection (other than input streets), census tract, community district, spatial coordinates COW Only: Some Political Geography
3Street SegmentSegment-related data + data related to left and right blockfacesCross streets, left and right ZIP code, left and right census tract and block, left and right community district, node ID
3CBlockfaceBlockface-related dataCross streets, ZIP code, census tract and block, community district, node ID
3SStreet StretchStreet stretch-related data order along the stretch, approximateNumber of and list of intersections in distance in feet between intersections
AP (COW only)AddressProperty-related data of CSCL Address PointBBL, BIN, Spatial coordinates of CSCL Address Point, Address Point ID
BB, BFCharacter StringSee right-hand columnSet of ten normalized street names in alphabetical order
BLTax LotProperty-related data Same as Function 1A
BNBuildingProperty- and building-related dataTax block and lot identifiers, list of all addresses of building, condo flag, spatial coordinates
D5-Digit Street CodeNormalized ‘primary’ name of street
DG7-Digit Street CodeNormalized ‘principal’ name of local group
DN10-Digit Street CodeNormalized street name
HRNone – CICS GOATGeosupport Data Set InformationCreation date, Geosupport release cycle, number of records
N*Street NameNormalized street nameName is normalized without a borough, therefore no consideration of validity.
-

As a mnemonic aid, Geosupport function codes have been chosen to be as descriptive as possible. For functions involving street input, the first character of the function code is numeric and indicates the number of input streets. (There is one exception, Function AP, which is described below). Thus, Functions 1, 1A, 1B and 1E process addresses and non-addressable place names, which are specified by a single input street or place; Function 2 processes intersections, which generally are specified by two input streets, a single intersection name, or a node ID. Functions 3, 3C and 3S process street segments, block faces and street stretches, respectively, all of which involve three input streets (an ‘on’ street and two cross streets), or, optionally, just an ‘on ‘street for Function 3S. The second character of the function code, if any, is often descriptive as well: the letter ‘C’ signifies that the function involves compass direction input; the letter ‘S ’signifies street stretch input. Function AP is the one exception to the pattern described above: Function AP is a mnemonic for ‘Address Point’ and has one street address as input. The function codes of functions that do not involve street address input are abbreviations of descriptive terms for the functions: BB and BF are abbreviations for ‘browse backward’ and ‘browse forward’, BL for ‘block/lot’, BN for ‘building number’, and D, DG and DN for ‘display’, ‘display group’ and ‘display name’.

-
-

1 Note that ‘AP’ is the acronym for the function AP (Address Point). It is also the acronym for Addressable Place Name and Atomic Polygon. The acronym’s meaning should be clear by its usage. It will be spelled out as needed.
-2 Character-Only Work Area (COW). See Appendix 12.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section05/index.html b/site/chapters/chapterI/section05/index.html deleted file mode 100644 index 30169cd4..00000000 --- a/site/chapters/chapterI/section05/index.html +++ /dev/null @@ -1,855 +0,0 @@ - - - - - - - - - - - - I.5 Overview of System Architecture - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.5 Overview of System Architecture
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.5 Overview of System Architecture

- -

The Geosupport System consists of two major components called the foreground component and the background component,as well as the utility programs GBAT, GOAT and AIMZ. The relationships among the foreground component, the background component and the user application program are described in this section and are illustrated in Figure I-1 below.

-

Both the foreground component and the background component consist of both software and files. Users access the foreground component either directly from user-written programs via Geosupport API calls, or indirectly via the utility programs, which in turn access the foreground component via the Geosupport API. The foreground component and the utility programs are installed on IBM mainframes at the city computer centers listed in Appendix 7. Users do not access the background component, and it is not described in this document beyond the brief remarks in this section.

-

The Foreground Component

-

The files of the foreground component contain the geographic data that the foreground software requires to process user requests. User programs never read the foreground files directly; they are read only by the Geosupport foreground software.

-

The foreground software processes the input data passed to it by a calling user program. It performs such tasks as standardizing input street names and house numbers, reading foreground files, and returning information retrieved from those files, or appropriate error codes and messages, to the user program.

-

The Background Component

-

The background component contains a set of interrelated base files of the city’s geography. The background files are continually updated and validated by the GSS staff. The background software includes software for updating and validating the background files and software for generating new foreground files from the background files.

-

The background work takes place partly on an IBM mainframe at the centralized data center operated by the City of New York Department of Information Technology and Telecommunications (DoITT) and on PCs located at the Department of City Planning, and partly in an enterprise Geographic Information System (GIS) software environment running on DoITT’s servers..

-

The background component, including GSS’s GIS environment, is not accessible to users. To a user application, Geosupport appears to consist only of conventional data processing technology, and does not appear to include computer mapping capabilities. However, Geosupport, through its geocoding functionality, particularly its provision of spatial coordinates for an address, tax lot, or intersection, can facilitate the use of separate computer mapping or GIS software to display geographically-related user data graphically. In addition, many of GSS’s background files are available in ESRI format for free download as part of our BYTES of the BIG APPLETM product line which can be used in conjunction with a user’s Geosupport output.

-

Foreground Component Updating: New File Releases

-

All of the foreground files are read-only files. They remain in production, unchanged, until GSS requests that DoITT replace them with a new set containing updated data. The set of foreground files in production at a particular time constitutes a release,and is identified by a release designator such as Release15D. The first two characters of the release designator are the last two digits of the calendar year in which the release was deployed.

-

In the background component, GSS periodically performs a complex series of steps, called the Geosupport production cycle,to generate a new set of foreground files, quality assure those files, and deploy them for user access as a new Geosupport release.

-

Each new release is first implemented for user access on the DoITT mainframe. This is done in coordination with DoITT staff, who play an active role in migrating the files of the new release to all user-accessible CICS regions and the batch environment. After the new release is in production at DoITT for a brief testing period, GSS staff disseminate the new release to the other computer centers where Geosupport is installed.The Desktop Edition also becomes available shortly after the new release is in production on the DoITT mainframe.

-

For many applications, no special user action is required when a new release of Geosupport files is implemented; the application will continue to run as before. Of course, under the new release, Geosupport may respond differently to a particular set of input data than it had under previous releases. For example, it may return different output information for a given set of input data, it may accept input data that had previously been rejected, and it may reject input data that had previously been accepted.

-

In some applications in which data items obtained from Geosupport are stored in an application file, it may be appropriate for the user to update those stored items to reflect changes in each new Geosupport release. This is referred to as resynchronizing the user file with respect to the new Geosupport release. Resynchronizing is particularly important for applications that use Geosupport-provided items, such as street codes, in geographic retrieval keys. For such applications, the user should develop a resynchronization procedure, and should run that procedure each time a new release of Geosupport is implemented. Resynchronization is discussed further in Chapter IV.

-

Foreground Component Updating: New Software Versions and Vestigial Features

-

From time to time, GSS makes changes to the foreground software, to enhance the system or correct errors. The foreground software in production is identified by a version number, such as Version13.1 etc. (Note that the foreground software is identified as a version while the foreground files are identified as a release.) On occasion, new foreground file releases and new foreground software versions are installed in production independently of one another, and therefore there is not a one-to-one correspondence between file releases and software versions. Typically, a file release and a software version are implemented simultaneously in what is referred to as a coordinated release.

-

Since the year 2013, the numbering scheme for a Software Version is yy.n, where ‘yy’ are the last two digits of the year and ‘n’ is the sequence number of the software version in that year, starting from ‘1’, e.g. Version 13.1. The numbering scheme for a Data Release is yy-x (or yyx), where ‘yy’ are the last two digits of the year and ‘x’ is the sequence letter of the data release in that year, starting from ‘A’, e.g. Release 15A).

-

It is a fundamental policy of GSS to strive to minimize the impact of Geosupport enhancements on existing applications. Whenever possible, enhancements are designed so that existing applications that do not require the new Geosupport feature need not be modified. In other words, enhancements are generally ‘transparent’ to existing applications. Although this is generally the policy of GSS, please see the SUMMARY OF CHANGES AND NEW FEATURES, at the beginning of this manual, for any item that could possibly affect your applications.

-

Over the years, numerous enhancements have been made to Geosupport, and virtually none of them have required existing applications to be modified or recompiled (except as necessary to take advantage of new features). As a consequence of this approach, Geosupport has a number of vestigial features. These are elements of the system, such as data items, work area formats, batch JCL, or entire functions that are still operational but are obsolete or have been superseded.

-

Vestigial features will continue to be supported for the most part, so that existing applications that use them will continue to run without modification. However, vestigial features will not be enhanced. Moreover, vestigial features have that status because of some shortcoming.Users are strongly encouraged to update their existing applications to eliminate all usage of vestigial features. All new applications should be designed to avoid any usage of vestigial features.

-

Vestigial features are mentioned in appropriate sections of this document, and are identified as such, but in many cases they are not documented in detail. An example of a vestigial feature is the erstwhile Function 2C (superseded by an enhancement to Function 2; discussed in Chapter VII.2).

-

Character-Only Work Areas (COWs)

-

COWs are an enhancement to Geosupport that was announced in Technical Bulletins in 2002. The Character-Only Work Areas are discussed, specifically, in Appendices 12, 13 and 14, and, in general, throughout the entire document.

-

User Feedback of Rejects

-

Typically, some of the geographic locations passed to Geosupport by a user application will be rejected as invalid. A reject could be caused by invalid user input data, such as a misspelled street name or an invalid address; or it could be caused by a Geosupport problem, such as an error or omission in Geosupport’s internal data. Users should examine their rejects, and should report those rejects that cannot be attributed to user-caused errors to GSS staff by emailing GSS_Feedback@planning.nyc.gov (for more information, see Appendix 6). In addition, users should report cases where Geosupport has accepted the input data but has returned output information that the user believes to be incorrect (for example, a ZIP code that is believed to be incorrect for a particular input address). GSS relies on feedback from users as an essential source of information for quality-assuring Geosupport’s data and keeping the data up-to-date and accurate.

-

GSS researches feedback received from users and updates the Geosupport background files as appropriate. Such corrections become visible to user applications only after a new release of the foreground files reflecting the corrections is deployed for user access. A time lag of as much as several months is possible between the reporting of a reject to GSS and the appearance of the correction in the foreground component.

-

Figure I-1 below illustrates the basic architecture of the Geosupport System.

-

figureI-1 <>
-

Fig I-1 Geosupport architecture: components and Production Cycle

-

Please note the following elements depicted in Figure I-1:

-

• The interaction between the application program and the Geosupport foreground component via the Geosupport API

-

• The examination by the user of rejects and the feedback of unresolved rejects to GSS for research and possible background file updating

-

• The periodic generation (in the Background Component) of new releases of foreground files

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterI/section06/index.html b/site/chapters/chapterI/section06/index.html deleted file mode 100644 index 45ea2b2d..00000000 --- a/site/chapters/chapterI/section06/index.html +++ /dev/null @@ -1,819 +0,0 @@ - - - - - - - - - - - - I.6 Technical References - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter I: System Overview »
  • - - - -
  • I.6 Technical References
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

I.6 Technical References

- -

For detailed information refer to the Geosupport System User Programming Guide. This section will discuss those elements where the information on the mainframe is different than when you are using Geosupport Desktop Edition.

-
I.6.1 Street Names
- -

Refer to Chapter III in the Geosupport System User Programming Guide. There is no difference for Street Names between Geosupport on the mainframe and Geosupport Desktop Edition.

-
I.6.2 Street Codes
- -

Refer to Chapter IV in the Geosupport System User Programming Guide. Ignore any discussion of “PB5SC”, which is a special form of the street codes used only on the mainframe.

-
I.6.3 Address Processing
- -

Refer to Chapter V in the Geosupport System User Programming Guide. In Geosupport Desktop Edition, the House Number in Internal Format (HNI) is not used. In its place the House Number in Sort Format (HNS) is used. The HNI is a 6 byte field and may be used in mainframe applications. The HNS is an 11 byte field. When reading Chapter V in the Geosupport System User Programming Guide, substitute HNS whenever HNI is referenced.

-
I.6.4 Tax Lot and Building Processing
- -

Refer to Chapter VI in the Geosupport System User Programming Guide for detailed information on this subject. However ignore Chapter VI.8, which discusses the Standard and Legacy version of Functions 1A and BL. The Legacy version is not available in Geosupport Desktop Edition.

-
I.6.5 Street Configuration Processing
- -

Refer to Chapter VII in the Geosupport System User Programming Guide for detailed information on this subject.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/chapterII/index.html b/site/chapters/chapterII/chapterII/index.html deleted file mode 100644 index b344d9c7..00000000 --- a/site/chapters/chapterII/chapterII/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter II - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • Chapter II
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER II

- -

INTRODUCTION TO THE GEOSUPPORT API

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section01/index.html b/site/chapters/chapterII/section01/index.html deleted file mode 100644 index 97d49b1f..00000000 --- a/site/chapters/chapterII/section01/index.html +++ /dev/null @@ -1,826 +0,0 @@ - - - - - - - - - - - - II.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.1 Introduction

- -

This chapter presents an overview of the Geosupport Application Programming Interface (API), the mechanism through which a user-written application program interfaces directly with the Geosupport System. The basic architecture of the API, the user programming procedure required to utilize the API, and reject handling are described. The important distinction between one-work-area and two-work-area calls is discussed, and the long-work-area-2 option is described. The material in this chapter is general in nature. Chapter VIII discusses in detail the user programming statements and JCL required to utilize the API, and other chapters discuss application design issues specific to the various functions.

-

The Geosupport API consists of the following elements:

-
    -
  • -

    A Geosupport load module called the driver that the user must link-edit into the application program. The driver serves as an intermediary between the user’s application program and the Geosupport foreground software.

    -
  • -
  • -

    One or two standard layout work areas that the user must include in the application program and that are used to pass data between the application program and Geosupport.

    -
  • -
  • -

    Programming statements that the user codes in the application program utilizing the driver and work area(s) to interact with Geosupport.

    -
  • -
-

With very few exceptions, the Geosupport API is identical in the batch and CICS environments. The principal exception is the name of the driver.

-

The driver has two principal purposes. It passes execution control from the user program to the Geosupport foreground software, which is external to the user program load module. The driver also passes addressability to the work areas (which are located within the user program) to the Geosupport foreground software, thereby enabling the foreground software to access those work areas.

-

User programs never read Geosupport’s internal files directly. They are read only by the Geosupport foreground software, which returns data retrieved from those files to the calling user program in the work areas. In batch applications, the user JCL for the execute step must include DD statements for the load libraries that contain the Geosupport foreground software and data. Chapter VIII describes the JCL required for batch execution, and Appendix 8 contains examples.

-

Figure II-1, below, illustrates the elements of the Geosupport API as just described. The illustration assumes that the user program has a data file into which it writes information obtained from successful calls to Geosupport, and another file, printed report or screen display for handling rejects.

-

logo4 <>
-

Fig II-1 The Geosupport API

-

When a user program issues a call to the driver, either one or two work areas are passed as parameters of the call. Work Area 1 (WA1) is always passed, and its length and layout are the same for all functions. Work Area 2 (WA2) may also be passed, depending on the Geosupport function being requested and the type of information needed by the user's application. The length and layout of WA2 are determined by the function and, for functions that have the ‘long Work Area 2 option’, by whether that option is specified. The distinction between one-work-area calls and two-work-area calls is discussed in Chapter II.4. The long Work Area 2 option is discussed in Chapter II.5. There is also the Auxiliary Segment option which is discussed in Chapter II.6 and the Extended Work Area 2 option which is discussed in Chapter II.7. The work areas may be Mainframe-Specific Work Areas (MSWs) or Character-Only Work areas (COWs). For a description of these formats see Appendix 12.

-

For the convenience of users whose programs are written in COBOL, IBM mainframe assembler, PL/1, C or NATURAL, Geosupport COPY libraries (copylibs) are maintained, containing source code layouts of each work area in each of those programming languages. The Geosupport COPY libraries are discussed in detail in Chapter VIII. The use of the Geosupport COPY libraries is optional but strongly recommended.

-

Note for CICS NATURAL Users: In order for Geosupport’s CICS driver to pass control to the foreground component of Geosupport properly, it must know whether the calling user program is written in NATURAL. The driver determines this by examining a Geosupport table. This table contains a list of the transaction-IDs of CICS transactions that launch NATURAL programs that call Geosupport. If the transaction-ID of such a transaction is not in the table, the driver will mistakenly assume that the program calling Geosupport is not written in NATURAL, and the transaction will terminate abnormally when the program calls Geosupport.

-

At DoITT, the updating of the Geosupport NATURAL transaction-ID table is the responsibility of DoITT staff. Therefore, DoITT users who have new CICS applications written in NATURAL that are to access Geosupport must inform DoITT staff, who will enter the new transaction-ID into the table. CICS NATURAL users running at other computer centers should contact GSS.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section02/index.html b/site/chapters/chapterII/section02/index.html deleted file mode 100644 index a3bbf16b..00000000 --- a/site/chapters/chapterII/section02/index.html +++ /dev/null @@ -1,833 +0,0 @@ - - - - - - - - - - - - II.2 Geosupport Return Codes and Reject Handling - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.2 Geosupport Return Codes and Reject Handling
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.2 Geosupport Return Codes and Reject Handling

- -

Geosupport has an elaborate apparatus to support application problem-handling. There are three output fields in Work Area 1 that are used to inform calling applications of the outcome of each call to Geosupport. These fields are the Geosupport Return Code (GRC), the Reason Code and the Message. A comprehensive list of GRCs, Reason Codes and Messages is contained in Appendix 4.

-

The GRC is a two-byte character item into which Geosupport inserts a value before returning control to the calling application, as follows.

-
    -
  • -

    A GRC value of ‘00’ indicates unconditionally successful completion.

    -
  • -
  • -

    A GRC value of ‘01’ indicates a warning condition.

    -
  • -
  • -

    A GRC value other than ‘00’ or ‘01’ signifies unsuccessful completion, or rejection, caused by either a system error or a user error.

    -
  • -
-

Since Function 1B is a combination of two functions, viz. Functions 1A Extended and 1E Extended, a second set of GRC, Reason Code and Message field is defined in Work Area 1. This second set contains the GRC, Reason Code and Message for the Function 1A Extended portion of the Function 1B call. The original GRC, Reason Code and Message fields in Work Area 1 contain the GRC, Reason Code and Message from the Function 1E Extended portion of the Function 1B call. (It is entirely possible that Geosupport will find one set of information and not find the other. There can be an error code and message in the new GRC and Message fields indicating PAD data (Function 1A) has not been found, and a 00 or 01 GRC in the original Return Code field indicating Blockface (Function 1E) information has been found, or just the opposite.)

-

Warnings are conditionally successful completions. They alert the user to unusual aspects of the input or output data, or signify that Geosupport made an assumption about or modification to the input data. For example, Functions 1A, 1B and 1E issue a warning to alert the user that a required hyphen is missing from an input house number and that Geosupport has inserted the missing hyphen into the output normalized house number.

-

There are situations where user input data may result in multiple warning messages. In some cases, the warnings may be combined into a single message; however in other situations, it is not possible to combine the messages. When that happens, Geosupport attempts to select the warning message that would be most important. Based upon user feedback, the relative importance of the warning messages may be updated.

-

It is advisable for application designers to review the possible warnings that can be elicited by the functions their application will be calling (delineated in Appendix 4), and to determine whether there are types of warnings for which it would be appropriate to provide special handling routines. In some applications, it may be appropriate simply to display the messages that accompany warning returns, and otherwise to process warnings in the same fashion as unconditionally successful completions.

-

For all unconditionally successful completions, Geosupport returns values in the work area(s) for the full set of output data items that the given Geosupport function is designed to provide. (But see the note of caution regarding the return of values in work area output fields in Chapter II.4.) In the case of a warning, certain output fields may be ‘empty’ (blank, all zeros or otherwise devoid of information), depending on the nature of the warning. In the case of a rejection, almost all output fields are returned empty, but there will be values in the GRC and Message field.

-

Rejects can be caused either by a system error or a user error.

-
    -
  • -

    System errors are problems that are not attributable to the user program or to the user input data, and therefore are beyond the user’s control. Typical system errors are hardware errors, operating system errors and Geosupport software errors or data errors.

    -
  • -
  • -

    User errors can occur when the user’s program makes a call to Geosupport improperly, such as passing an invalid number of work areas; or when Geosupport considers the user’s input data to be geographically or otherwise invalid, such as an invalid function code, an empty input field for which a value is mandatory, an invalid borough code, an invalid address.

    -
  • -
-

For all warnings and rejects, the Message field contains an appropriate message. In addition, for all warnings and for some rejects, a value is returned in the Reason Code field, specifying more precisely the reason for the warning or rejection.

-

The user program should be designed so that, immediately upon receiving execution control back after a call to Geosupport, it examines the GRC (and the Reason Code, when relevant) to determine the outcome of the call, and takes appropriate action. (Note: the textual content of Geosupport messages is subject to revision without notice. Therefore, application developers should program rejection processing based on the value of the GRC and Reason Code rather than on the Message. Note also, that, in very rare instances a GRC may be retired and reused for a new message. If and when this happens, the Geosupport users will be notified of the change in advance so that appropriate adjustments can be made.)

-

In batch applications, appropriate actions for processing a warning or reject might include printing out the GRC, Reason Code and Message and/or writing the record to a reject file. In interactive applications, appropriate actions might include displaying the GRC, Reason Code and Message on the screen, and (for user errors, not system errors) giving the data entry operator an opportunity to correct the error and resubmit.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section03/index.html b/site/chapters/chapterII/section03/index.html deleted file mode 100644 index c7eca42f..00000000 --- a/site/chapters/chapterII/section03/index.html +++ /dev/null @@ -1,825 +0,0 @@ - - - - - - - - - - - - II.3 Geosupport API User Programming Procedure - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.3 Geosupport API User Programming Procedure
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.3 Geosupport API User Programming Procedure

- -

A field in a Geosupport API work area into which the user program inserts a value to be passed to Geosupport is referred to as an input field of the work area (because it is an input datum to Geosupport). A field in a work area into which Geosupport inserts a value to be returned to the user program is called an output field. WA1 contains both input and output fields. WA2 contains output fields only.

-

The loading of values into WA1 input fields by the user program prior to issuing the call to the driver is referred to as priming WA1. The function being requested, determines which WA1 input fields must be primed, which are optional, and which are not used. One WA1 input field that is mandatory for all calls is the field for the function code. Combinations of other WA1 input fields, such as those for borough code, address number, street name and street code fields, collectively serve to specify a geographic location to be processed. Still other WA1 input fields are for specifying processing options, such as parameters that control how street names are normalized; most of those fields have default values and are optional.

-

It is essential that the user program clear WA1 to blanks before priming it, in order to eliminate any ‘stray’ data inadvertently lingering from a previous call. Various fields in the WA1 output area are initialized to blanks to help avoid extraneous data. If the call involves two work areas, however, WA2 need not be cleared by the user program before calling the driver, because Geosupport clears WA2 automatically.

-

After clearing WA1 to blanks, the user program primes WA1, and then issues a standard subroutine call to the driver, passing the work area(s) (more precisely, their memory addresses) as parameters of the call. (Note that a standard subroutine call is used to call the driver even in the CICS environment, rather than a CICS LINK.) The driver, in turn, passes execution control to Geosupport (more precisely, to the foreground component of Geosupport), which is external to the user program load module.

-

When Geosupport completes its processing for the given call, control is returned to the driver, which in turn returns control back to the user program. The user program can issue any number of calls to Geosupport during a single execution. Each call is an independent event, which Geosupport processes based entirely on the contents of WA1 passed in that call; Geosupport does not ‘remember’ previous calls.

-

The procedure that a user program would follow to call Geosupport via the API can be summarized as follows:

-
    -
  1. -

    Clear WA1 to blanks

    -
  2. -
  3. -

    Prime WA1. That is, move values to the appropriate input fields in WA1. The function code is always required; other required and optional input fields depend on the function, and are listed in Appendix 1.

    -
  4. -
  5. -

    Issue a standard subroutine call to the driver, passing as calling parameter(s) either WA1 only or both WA1 and WA2. The required calling statements are described in Chapter VIII.3 and VIII.5. The distinction between one- and two-work-area calls is discussed in Chapter II.4.

    -
  6. -
  7. -

    Upon return of control to the user program, examine the GRC (and the Reason Code, if appropriate) in WA1, and take appropriate action. A list of the GRCs and Reason Codes that can be produced by each function is in Appendix 4. - a. For Function 1B, examine both sets of GRC (and Reason Code, if appropriate) in WA1.

    -
  8. -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section04/index.html b/site/chapters/chapterII/section04/index.html deleted file mode 100644 index 36d49d6b..00000000 --- a/site/chapters/chapterII/section04/index.html +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - II.4 One-Work-Area and Two-Work-Area Calls - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.4 One-Work-Area and Two-Work-Area Calls
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.4 One-Work-Area and Two-Work-Area Calls

- -

There are important distinctions between one-work-area and two-work-area calls. When a Geosupport function is called using one work area, Geosupport ‘normalizes’ certain input items, that is, it reformats them into a standard form.  For each such input item that Geosupport successfully normalizes, there is a WA1 output field into which Geosupport inserts the item in normalized form.  Normalizing includes such processing as right-justifying and zero-filling certain numeric input items (such as tax block and tax lot numbers), and providing fully spelled out borough names corresponding to input borough codes. Normalizing also encompasses performing complex algorithms to reformat street names and address numbers into standard formats.

-

After normalizing the appropriate input items, if the one-work-area call involves street name input items, Geosupport attempts to retrieve the street code corresponding to each input street name. If this is successful, each street code is returned in WA1. In summary, the processing Geosupport performs for a one-work-area call consists of normalization of the input data and the return of normalized values and street codes (if any) in WA1. 

-

The processing performed for a two-work-area call includes all of the processing performed for a one-work-area call as well as certain additional processing.  The nature of this additional processing depends on the Geosupport function. The additional processing generally consists of accessing Geosupport files in order to attempt to obtain certain geographic information associated with the input data.  If the file access is successful, this geographic information is returned in WA2 (but see the cautionary note below).  The process of associating higher level geographic information with an individual location is called geocoding, and the items of higher level information are called geocodes.  Typical examples of geocodes returned by Geosupport in WA2 are community district, census tract, ZIP code and health area.

-

Caution: For a two-work-area call, a GRC of ‘00’ or ‘01’ signifies that Geosupport has accepted as valid the input geographic location specified by the user, but it does not guarantee that every item normally returned by the given function in WA2 contains a non-empty value.  If a WA2 field is returned empty, this may or may not be erroneous. The field might be empty (blanks, zeros or otherwise devoid of information) because of an erroneous Geosupport data omission; this should be reported to GSS staff using the feedback procedures described in Appendix 6.  However, the field might be empty intentionally and non-erroneously because the type of geographic area it represents does not completely cover the city. For example, there are certain non-residential areas of the city where the Department of Sanitation has not defined Collection Scheduling districts. When a two-work-area call results in a GRC of ‘00’ or ‘01’, it is the responsibility of the user program to determine whether the particular WA2 fields being used by the application are non-empty.

-

Except for system errors, the outcome of a call to Geosupport, as signified by the GRC, Reason Code and Message, concomitantly has significance with respect to the geographic validity of the input data. The type of validation performed depends on the function and on whether a one- or two-work-area call has been made. The validations performed in a two‑work‑area call to a function are always more extensive than those performed in a one-work-area call to the same function.  To illustrate this, consider Function 2, which processes an intersection specified in terms of two streets (note that Function 2 can also process intersections based on an intersection name or a node ID, but those inputs are not relevant to this example).  In a one-work-area Function 2 call, if the two input streets were specified in the form of street names rather than street codes, Geosupport attempts to normalize the street names and obtain their street codes; success in doing so therefore validates that each input street name is recognizable to Geosupport as a valid name of a specific New York City street.  However, the two input streets (names or codes) are processed independently of each other and are not treated as collectively defining a geographic location, in this case an intersection. In other words, when Function 2 is called using one work area, the existence of the intersection formed by the two input streets is not validated; the call will result in a GRC of ‘00’ or ‘01’ if both input street names are successfully normalized and recognized, regardless of whether the two streets intersect.  In a two-work-area Function 2 call, on the other hand, Geosupport treats the two input streets as the intended specification of an intersection; an (unconditionally or conditionally) successful outcome validates the existence of this intersection, and if it is valid, Geosupport returns information about the intersection in WA2. For Geosupport functions in general, a one-work-area call validates only that the input items can be normalized and that input street names are recognizable to Geosupport, while a two-work-area call additionally provides some level of validation of the geographic location specified collectively by the input items. The specific validations performed in a two-work-area call to each Geosupport function are described in Chapters V through VII.

-

A two‑work‑area call causes Geosupport to access files additional to those accessed for a one‑work‑area call to the same function. Therefore, to maximize execution efficiency, when an application does not require the additional output data and/or validation processing that a two‑work‑area call provides, the application should issue a one-work-area call.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section05/index.html b/site/chapters/chapterII/section05/index.html deleted file mode 100644 index 1da2b0a9..00000000 --- a/site/chapters/chapterII/section05/index.html +++ /dev/null @@ -1,844 +0,0 @@ - - - - - - - - - - - - II.5 Coding Geosupport API Calls - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.5 Coding Geosupport API Calls
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.5 Coding Geosupport API Calls

- -

The languages discussed in this section are C/C++ and Visual Basic/VBA. In general, the -discussion assumes that the defaults were chosen during installation of Geosupport Desktop -Edition.

-

This section describes the source code statements that the user must code in C/C++ and Visual -Basic/VBA application programs to call the DLL. Also described are the statements required to -declare the DLL.

-

As discussed in Chapter II.4, typically, the DLL can be called either with one or with two calling -parameters. The first parameter passes the address of Work Area 1 to the DLL. If the -application program is making a two-work-area call, the second parameter passes the address of -Work Area 2 to the DLL.

-

The programming statements to declare and call the DLL are shown below.
-Declaring the DLL

-

In a C/C++ program, the DLL is declared by including the NYCgeo.h header file that is distributed with Geosupport Desktop Edition, as shown below:

-
  #include "NYCgeo.h"
-
-

In a Visual Basic/VBA program, the DLL must be declared to have two calling parameters for -two-work-area calls and also two calling parameters for one-work area calls. This will not affect -the processing. Examples of declaring NYCgeo for a two-work-area call (function 1E) and a -one-work-area call (function D) appear below:

-
Declare Sub wgF1E Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, y As C_WA2_F1E)  
-Declare Sub wgFD Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, Optional y = NOTHING)
-
-

Calling the DLL -If ‘WA1’ and ‘WA2’ are the names that the user has given to the work areas within the application program source code, the statement calling the DLL would be coded as follows:

- - - - - - - - - - - - - - - - -
Language One-Work-Area Call Two-Work-Area Call
C/C++ NYCgeo(&WA1);NYCgeo(&WA1,&WA2);
Visual Basic/VBAwgFD wa1wgF1E wa1, wa2
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section06/index.html b/site/chapters/chapterII/section06/index.html deleted file mode 100644 index 08aa95d6..00000000 --- a/site/chapters/chapterII/section06/index.html +++ /dev/null @@ -1,808 +0,0 @@ - - - - - - - - - - - - II.6 The Work Area C/C++ Header File and Visual Basic Typedef File - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.6 The Work Area C/C++ Header File and Visual Basic Typedef File
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.6 The Work Area C/C++ Header File and Visual Basic Typedef File

- -

The source code layouts of all the Geosupport API work areas appear in a header file for C/C++ (pac.h) and a typedef file for Visual Basic (vbwadef.bas). These files may be found in
c:\program files\Geosupport Desktop Edition\include

-

Use of these files is strongly recommended. A listing of the files appear in Appendix 5. A text -description of the work area layouts is provided in Appendix 2.

-

For C/C++, Chapter II.7 describes the specific source code statements that users must code in their programs to utilize the Geosupport header file. See sample C/C++ program for what is -required to compile a program that utilizes the Geosupport header file.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section07/index.html b/site/chapters/chapterII/section07/index.html deleted file mode 100644 index 9e2a719a..00000000 --- a/site/chapters/chapterII/section07/index.html +++ /dev/null @@ -1,889 +0,0 @@ - - - - - - - - - - - - II.7 Coding API Calls When Using Geosupport C/C++ Header Files - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.7 Coding API Calls When Using Geosupport C/C++ Header Files
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.7 Coding API Calls When Using Geosupport C/C++ Header Files

- -

This section describes the source code statements that users must code in application programs -that use the Geosupport header file. The required statements consist of a declarative statement to -reference the header file and statements calling the DLL.

-

In Chapter II.5, the forms of calls to the DLL were given using arbitrary data names for the work -areas. In programs that do not use the Geosupport header file, those names are user-selectable. -In the present section, the forms of the DLL calls are given again, this time with the specific data -names that are required for compatibility with the header file. The C/C++ languages permit -header file users to select their own names for the work areas (but not for the fields within the -work areas). Prior to each call to the DLL, the program must prime Work Area 1 with the input -data to be processed by Geosupport, as described in Chapter II.3.

-

II.7.1 C/C++ Source Code Statement

-

To reference the Geosupport C/C++ header file which contains the work area layouts, the C/C++ -program must contain the following statement:

-
    #include "pac.h"  
-
- -

The work area layouts must be declared using the typedefs in the Geosupport header file. For -example:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
C_WA1 anyname_wa1; WA1, all functions
C_WA2_F1 anyname_wa2_f1;WA2, Functions 1 & 1E
C_WA2_F1A anyname_wa2_f1a;WA2, Functions 1A & BL (regular & long WA2), BN
C_WA2_F2 anyname_wa2_f2; WA2, Function 2
C_WA2_F2 anyname_wa2_f3; WA2, Function 3
C_WA2_F3C anyname_wa2_f3c; WA2, Function 3C
C_WA2_F3S anyname_wa2_f3s;WA2, Function 3S
- -

For C/C++ programs that use the Geosupport header file, API calls may be coded as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NYCgeo (&anyname_wa1); One-work-area calls, all functions.
NYCgeo (&anyname_wa1,&anyname_wa2_f1); Two-work-area calls, Functions 1 & 1E
NYCgeo (&anyname_wa1,&anyname_wa2_f1a);Two-work-area calls, Functions 1A & BL (regular & long WA2), BN
NYCgeo (&anyname_wa1,&anyname_wa2_f2);Two-work-area calls, Function 2
NYCgeo (&anyname_wa1,&anyname_wa2_f3);Two-work-area calls, Function 3
NYCgeo (&anyname_wa1,&anyname_wa2_f3c);Two-work-area calls, Function 3C
NYCgeo (&anyname_wa1,&anyname_wa2_f3s);Two-work-area calls, Function 3S
- -

An alternative method of calling NYCgeo from C/C++ appears in the sample program. Please -see Chapter II.9.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section08/index.html b/site/chapters/chapterII/section08/index.html deleted file mode 100644 index 1c40091b..00000000 --- a/site/chapters/chapterII/section08/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - II.8 Creating a Geosupport Desktop Edition Application - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.8 Creating a Geosupport Desktop Edition Application
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.8 Creating a Geosupport Desktop Edition Application

- -

The Geosupport library (NYCgeo.lib) must be made available to the languages that require it, viz. C/C++.

-

The C/C++ header files (NYCgeo.h and pac.h) should be included in made available for C/C++ programs.

-

See sample programs in Chapter II.9 for more detail.

-

The internal Geosupport data files are automatically defined as environment variables during installation of Geosupport Desktop Edition. No action is required by the user.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section09/index.html b/site/chapters/chapterII/section09/index.html deleted file mode 100644 index 60eccb1f..00000000 --- a/site/chapters/chapterII/section09/index.html +++ /dev/null @@ -1,1477 +0,0 @@ - - - - - - - - - - - - II.9 Sample Programs with Descriptions - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.9 Sample Programs with Descriptions
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.9 Sample Programs with Descriptions

- -

This section contains:

-
    -
  • A fully described sample C/C++ program
  • -
  • A fully described sample Visual Basic program
  • -
-

Please note that the sample programs are not guaranteed to work and are provided as -programming aides.

-

II.9.1 C/C++ Sample Program with Description

-

This section walks you through writing a C/C++ program that makes Geosupport Desktop -Edition calls. It assumes that you are familiar with your Integrated Development Environment -(IDE) and that you know how to code in C/C++. The complete program used here can be found -at the end of this section in Listing II.8. Please note: The program in this section represents just -one of many styles of coding in C/C++. It may be used as an example. It is not guaranteed.

-

There are six basic steps to making Geosupport Desktop Edition calls from a C/C++ program:
- 1. Set up your environment.
- 2. Include needed header files and other variable definitions.
- 3. Prepare Work Area 1.
- 4. Call NYCgeo.
- 5. Check the Geosupport Return Code.
- 6. Access the data in Work Area 1 and Work Area 2.
- optional step - convert house numbers in sort format or street codes with a function D call.

-

That's it. If you follow this list, in no time you should be writing C/C++ programs that take -advantage of the power of Geosupport.

-
Set Up Your Environment
- -

To begin, you need to tell your Integrated Development Environment (IDE) where to find several -important Geosupport files. These can be found in Listing II.1 below. Your IDE should have a -Setup Menu for changing project options. Navigate to this menu in your IDE and add Line 1 or -Line 2 in Listing II.1 to the existing settings. Now add lines 3 and 4 in Listing II.1 to the settings -for Include (or Header) File Locations.

-

Listing II.1 Library and Header Files Needed by Geosupport Desktop Edition

-
1: harddrive:\Program Files\Geosupport Desktop Edition\Include\BC++ Library\NYCgeo.lib   
-or <br>
-2: harddrive:\Program Files\Geosupport Desktop Edition\Include\MSVC Library\NYCgeo.lib  
-3: harddrive:\Program Files\Geosupport Desktop Edition\Include\ NYCgeo.h  
-4: harddrive:\Program Files\Geosupport Desktop Edition\Include\pac.h
-
-
Include Header Files
- -

In C/C++, you need to include a function prototype in order to successfully call a function. Line2 in Listing II.2 below shows you how to include the Geosupport Desktop Edition prototype in your program.

-

Geosupport uses several "work areas" to return data to the user. For your convenience we have included the layouts for these work areas in a header file "pac.h" (line 4 in Listing II.2). We strongly recommend that you use these layouts.

-

Lines 8 and 9 below are useful variables we recommend you use. These are the lengths of the work areas that you will be using. LEN_WA1 is particularly useful as you will see later.

-

The unions (lines 11 through 20 in Listing II.2) of the work area structures with character arrays are useful in several ways for making your calls. First, the structure (e.g."wa1" in line 11) makes it easy for you to access the individual fields in the work areas. Second, the character array (e.g."wa1c" in line 12) allows you to easily initialize Work Area 1. The second Work Area 1 (lines 18 through 20) was set up to enable you to make another Geosupport call (e.g. function D } without losing the Work Area 1 output data from your original function call.

-

Listing II.2 Include Header Files and Set Up Variables

-
1: // function prototype for NYCgeo
-2: #include "NYCgeo.h"
-3: // header file of workarea layouts
-4: #include "pac.h"
-5: #include <string.h>
-6: #include <iostream.h>
-7: // lengths of workareas
-8: size_t const LEN_WA1 = sizeof(C_WA1);
-9: size_t const LEN_WA2F1 = sizeof(C_WA2_F1);
-10: // convenient way to handle workareas
-11: union { C_WA1 wa1;
-12: char wa1c[LEN_WA1];
-13: } w1;
-14: union { C_WA2_F1 wa21;
-15: char wa21c[LEN_WA2F1];
-16: } w21;
-17: // this second WA1 is for Function D calls
-18: union { C_WA1 wa1fd;
-19: char wa1fdc[LEN_WA1];
-20: } w1fd;
-
-
Set Up Work Area 1 for Function Call
- -

There are two steps that must precede every call to Geosupport.. - 1. Work Area 1 must be initialized to spaces (see line 4 in Listing II.3 below).
- 2. The "platform indicator" field must be set to <C' (see line 5 in Listing II.3 below).

-

Other than the two steps above, there is only one other field that must contain a value on every call. That is the "function code" field. The remaining fields and their values that are set up will vary with the function call you want to make. Line 9 in Listing II.3 below shows you how to indicate you want to make a Function 1E call. Function 1E requires as input a borough code, a street name or street code, and a house number (see lines 10 through 12 in Listing II.3).

-

In addition to the required fields, there are optional fields that can be filled. Line 13 in Listing II.3 indicates that you want the Street Name normalized to a length of 32 characters.

-

Listing II.3 Set Up Work Area 1 for Function Call

-
1) ////////////////////////////////////////////////////////////////////
-2) // these two lines of code must be executed for every NYCgeo call
-3) ////////////////////////////////////////////////////////////////////
-4) memset(w1.wa1c, ' ', LEN_WA1);
-5) w1.wa1.input.platform_ind = 'C';
-6) ////////////////////////////////////////////////////////////////////
-7) // select the function you wish to call
-8) ////////////////////////////////////////////////////////////////////
-9) memcpy(w1.wa1.input.func_code, "1E", 2);
-10) memcpy(w1.wa1.input.sti, in_boro_str, 1);
-11) memcpy(w1.wa1.input.sti[0].Street_name, in_stname_str, 32);
-12) memcpy(w1.wa1.input.hse_nbr_disp, in_housenum_str, 16);
-13) memcpy(w1.wa1.input.snl, "32", 2);
-
-
Call NYCgeo
- -

Now that we have set up Work Area 1 for the desired function we can now look at how to make the call. Earlier we set up unions of the structures of work areas with character arrays (see lines 11 through 16 in Listing II.2 above). The parameters to the NYCgeo call must be pointers to characters. The references w1.wa1c and w21.wa21c are just such pointers. Line 1 in Listing II.4 below shows the code to make the Geosupport call.

-

Listing II.4 Call NYCgeo

-
(A) NYCgeo(w1.wa1c, w21.wa21c);
-
-
Check the Geosupport Return Code
- -

After you've made the Geosupport call, you need to check the Geosupport Return Code (GRC) in the Output section of Work Area 1 (lines 2 and 3 in Listing II.5 below). A return code of <00' indicates a successful call and a value of <01' indicates a successful call but there is a warning message you should check. Any other Geosupport Return Code value indicates that an error has taken place; you will want to have special processing to handle these situations. For a complete listing of the warning and error codes see "Geosupport Return Codes, Reason Codes and Messages" in Appendix 4 of this guide.

-

Listing II.5 Check the Return Code

-
1: // the function completed successfully
-2: if ((memcmp(w1.wa1.output.ret_code, "00", 2) == 0) |
-3: (memcmp(w1.wa1.output.ret_code, "01", 2) == 0))
-4: {
-5: // add code to process data returned (and warning, if ret_code == 01)
-6: }
-7: // there was an error in the function call
-8: else
-9: {
-10: // add code to process errors
-11: }
-
-
Access the Data from the Work Areas
- -

Listing II.6 below gives several examples of accessing data in the work areas after a successful Geosupport Function 1E call. Remember that earlier we included the Work Area 2 structure in a union with a character array. That is the reason for the "w21" qualifier before each of the fields in lines 1 through 8 in Listing II.6). The "w1" qualifier in lines 9 through 12 in Listing II.6 reflects the union we created for Work Area 1.

-

Listing II.6 Access Data from Work Areas

-
1: // these fields are returned for both function 1 and 1E calls
-2: memcpy(convstr, w21.wa21.zip_code, sizeof w21.wa21.zip_code);
-3: convstr[sizeof w21.wa21.zip_code] = '\0';
-4: printf("zip code = %s\n", convstr);
-....
-5: // these fields are returned for function 1E calls only
-6: memcpy(convstr, w21.wa21.ad, sizeof w21.wa21.ad);
-7: convstr[sizeof w21.wa21.ad] = '\0';
-8: printf("Assembly District = %s\n", convstr);
-....
-9: // display grc message
-10: memcpy(convstr, w1.wa1.output.msg, sizeof w1.wa1.output.msg);
-11: convstr[80] = '\0';
-12: printf(" : %s\n", convstr);
-
-
Convert House Numbers in Sort Format and Street Codes
- -

Geosupport functions (e.g. function 1E) often return house numbers in sort format and street codes. To convert house numbers in sort format to house numbers in display format, or to convert street codes to street names, make a function D call. Function D calls (see Listing II.7 below) follow the same procedure as the other functions with one exception, only Work Area 1 is passed as a parameter (see line 9 in Listing II.7 below). Also note: We've used a second copy of Work Area1 (see lines 18 through 20 in Listing II.2 above) so that the data in Work Area1 from the original function 1E call is not lost.

-

Listing II.7 Convert House numbers in Sort Format with Function D call

-
1: // set up workarea 1 defined for function D calls
-2: memset(w1fd.wa1fdc, ' ', LEN_WA1);
-3: w1fd.wa1fd.input.platform_ind = 'C';
-4: memcpy(w1fd.wa1fd.input.func_code, "D ", 2);
-5: memcpy(w1fd.wa1fd.input.hse_nbr_hns, w21.wa21.hi_hse_nbr,
-6: sizeof w21.wa21.hi_hse_nbr);
-7: memcpy(w1fd.wa1fd.input.sti, w1.wa1.output.sto, 1);
-8: // make 1 work area call
-9: NYCgeo(w1fd.wa1fdc);
-10: // function D completed successfully
-11: if ((memcmp(w1fd.wa1fd.output.ret_code, "00", 2) == 0) |
-12: (memcmp(w1fd.wa1fd.output.ret_code, "01", 2) == 0))
-13: {
-14: ////////////////////////////////////////////////////////////////////
-15: // prepare output fields from function D call
-16: ////////////////////////////////////////////////////////////////////
-17: memcpy(convstr, w1fd.wa1fd.output.hse_nbr_disp,
-18: sizeof w1fd.wa1fd.output.hse_nbr_disp);
-19: convstr[sizeof w1fd.wa1fd.output.hse_nbr_disp] = '\0';
-20: printf("High House Number of Block Face = %s", convstr)
-21: }
-
-

You've now seen how to write a C/C++program that makes Geosupport Desktop Edition calls. Of course, your style of coding may be different and your processing will probably be more involved. Nevertheless, if you follow these few simple steps you can easily harness the power of Geosupport in your C/C++programs.
-Listing II.8 below contains the complete program used in this section.

-

Listing II.8 Complete C/C++ Sample Program

-
//////////////////////////////////////////////////////////////////////////////
-// C sample program demonstrating how to use Geosupport Desktop Edition
-// to make a function 1E call
-//////////////////////////////////////////////////////////////////////////////
-// function prototype for NYCgeo
-#include "NYCgeo.h"
-// header file of workarea layouts
-#include "pac.h"
-#include <string.h>
-#include <iostream.h>
-// lengths of workareas
-size_t const LEN_WA1 = sizeof(C_WA1);
-size_t const LEN_WA2F1 = sizeof(C_WA2_F1);
-// convenient way to handle workareas
-union { C_WA1 wa1;
-char wa1c[LEN_WA1];
-} w1;
-union { C_WA2_F1 wa21;
-  char wa21c[LEN_WA2F1];
-} w21;
-// this second WA1 is for Function D calls
-union { C_WA1 wa1fd;
-char wa1fdc[LEN_WA1];
-} w1fd;
-char *convstr;
-convstr = (char*) malloc(81);
-
-////////////////////////////////////////////////////////////////////////////
-// input fields initialized to sample values
-////////////////////////////////////////////////////////////////////////////
-char in_boro_str[2] = '1';
-char in_stname_str[32] = 'reade st';
-char in_housenum_str[16] = '22';
-char in_stcode_str[11] = '1061002010';
-void main()
-{
-/////////////////////////////////////////////////////////////////////////
-// get input data from user
-/////////////////////////////////////////////////////////////////////////
-printf("Input a Boro Code:");
-gets(in_boro_str);
-printf("Input a House Number:");
-gets(in_housenum_str);
-printf("Input a Street Name:");
-gets(in_stname_str);
-/////////////////////////////////////////////////////////////////////////
-// set up workarea 1
-/////////////////////////////////////////////////////////////////////////
-/////////////////////////////////////////////////////////////////////////
-// these two lines of code must be executed for every NYCgeo call
-/////////////////////////////////////////////////////////////////////////
-memset(w1.wa1c, ' ', LEN_WA1);
-w1.wa1.input.platform_ind = 'C';
-/////////////////////////////////////////////////////////////////////////
-// select the function you wish to call
-/////////////////////////////////////////////////////////////////////////
-memcpy(w1.wa1.input.func_code, "1E", 2);
-memcpy(w1.wa1.input.sti, in_boro_str, 1);
-memcpy(w1.wa1.input.sti[0].Street_name, in_stname_str, 32);
-// can use street code instead of street name
-// memcpy(w1.wa1.input.sti[0].SC10, in_stcode_str, 5);
-memcpy(w1.wa1.input.hse_nbr_disp, in_housenum_str, 16);
-memcpy(w1.wa1.input.snl, "32", 2);
-NYCgeo(w1.wa1c, w21.wa21c);
-////////////////////////////////////////////////////////////////////////
-// check the return code: if successful, process data
-// if not successful, display error message
-////////////////////////////////////////////////////////////////////////
-// the function completed successfully
-if ((memcmp(w1.wa1.output.ret_code, "00", 2) == 0) |
-(memcmp(w1.wa1.output.ret_code, "01", 2) == 0))
-{
-  // these fields are returned for both function 1 and 1E calls
-  memcpy(convstr, w21.wa21.zip_code, sizeof w21.wa21.zip_code);
-  convstr[sizeof w21.wa21.zip_code] = '\0';
-  printf("zip code = %s\n", convstr);
-  memcpy(convstr, w21.wa21.lo_hse_nbr, sizeof w21.wa21.lo_hse_nbr);
-  convstr[sizeof w21.wa21.lo_hse_nbr] = '\0';
-  printf("low house number = %s\n", convstr);
-  memcpy(convstr, w21.wa21.hi_hse_nbr, sizeof w21.wa21.hi_hse_nbr);
-  convstr[sizeof w21.wa21.hi_hse_nbr] = '\0';
-  printf("high house number = %s\n", convstr);
-  memcpy(convstr, w21.wa21.coord[0], sizeof w21.wa21.coord[0]);
-  convstr[sizeof w21.wa21.coord[0]] = '\0';
-  printf("X coordinate = %s\n", convstr);
-  memcpy(convstr, w21.wa21.coord[1], sizeof w21.wa21.coord[1]);
-  convstr[sizeof w21.wa21.coord[1]] = '\0';
-  printf("Y coordinate = %s\n", convstr);
-  // these fields are returned for function 1E calls only
-  memcpy(convstr, w21.wa21.ad, sizeof w21.wa21.ad);
-  convstr[sizeof w21.wa21.ad] = '\0';
-  printf("Assembly District = %s\n", convstr);
-  memcpy(convstr, w21.wa21.ed, sizeof w21.wa21.ed);
-  convstr[sizeof w21.wa21.ed] = '\0';
-  printf("Election District = %s\n", convstr);
-  //////////////////////////////////////////////////////////////////////
-  // function D, a 1 workarea call to Geosupport, converts
-  // housenumbers in sort format to housenumbers in display format and
-  // street codes to street names
-  //////////////////////////////////////////////////////////////////////
-  // set up workarea 1 defined for function D calls
-  memset(w1fd.wa1fdc, ' ', LEN_WA1);
-  w1fd.wa1fd.input.platform_ind = 'C';
-  memcpy(w1fd.wa1fd.input.func_code, "D ", 2);
-  memcpy(w1fd.wa1fd.input.hse_nbr_hns, w21.wa21.hi_hse_nbr,
-    sizeof w21.wa21.hi_hse_nbr);
-  memcpy(w1fd.wa1fd.input.lohse_nbr_hns, w21.wa21.lo_hse_nbr,
-    sizeof w21.wa21.lo_hse_nbr);
-  memcpy(w1fd.wa1fd.input.sti, w1.wa1.output.sto, 1);
-  memcpy(w1fd.wa1fd.input.sti[0].SC10, w1.wa1.output.sto[0].SC10, 5);
-  // make 1 work area call
-  NYCgeo(w1fd.wa1fdc);
-  // function D completed successfully
-  if ((memcmp(w1fd.wa1fd.output.ret_code, "00", 2) == 0) |
-  (memcmp(w1fd.wa1fd.output.ret_code, "01", 2) == 0))
-  {
-    ////////////////////////////////////////////////////////////////////
-    // prepare output fields from function D call
-    ////////////////////////////////////////////////////////////////////
-    memcpy(convstr, w1fd.wa1fd.output.lo_hse_nbr_disp,
-      sizeof w1fd.wa1fd.output.lo_hse_nbr_disp);
-    convstr[sizeof w1fd.wa1fd.output.lo_hse_nbr_disp] = '\0';
-    printf("Low House Number of Block Face = %s", convstr);
-    memcpy(convstr, w1fd.wa1fd.output.hi_hse_nbr_disp,
-      sizeof w1fd.wa1fd.output.hi_hse_nbr_disp);
-    convstr[sizeof w1fd.wa1fd.output.hi_hse_nbr_disp] = '\0';
-    printf("High House Number of Block Face = %s", convstr);
-    memcpy(convstr, w1fd.wa1fd.output.sto[0].Street_name,
-      sizeof w1fd.wa1fd.output.sto[0].Street_name);
-    convstr[sizeof w1fd.wa1fd.output.sto[0].Street_name] = '\0';
-    printf("Street Name from Function D = %s", convstr);
-  }
-  // there was an error in the function D call
-  else
-  {
-    // display grc of function D call
-    memcpy(convstr, w1fd.wa1fd.output.ret_code,
-      sizeof w1fd.wa1fd.output.ret_code);
-    convstr[sizeof w1fd.wa1fd.output.ret_code] = '\0';
-    printf("Error on Function D call: %s\n", convstr);
-    // display grc message of function D call
-    memcpy(convstr, w1fd.wa1fd.output.msg, sizeof w1fd.wa1fd.output.msg);
-    convstr[80] = '\0';
-    printf(" : %s\n", convstr);
-  }
-}
-// there was an error in the function 1E call
-else
-{
-  // display grc
-  memcpy(convstr, w1.wa1.output.ret_code, sizeof w1.wa1.output.ret_code);
-  convstr[sizeof w1.wa1.output.ret_code] = '\0';
-  printf("Error on Function 1E call: %s\n", convstr);
-  // display grc message
-  memcpy(convstr, w1.wa1.output.msg, sizeof w1.wa1.output.msg);
-  convstr[80] = '\0';
-  printf(" : %s\n", convstr);
-}
-free (convstr);
-} // end of main
-
-

II.9.2 Visual Basic (VB/VBA) Sample Program with Description

-

This section walks you through writing a Visual Basic (VB) or Visual Basic for Applications (VBA) program that makes Geosupport Desktop Edition calls. It assumes that you are familiar with your Integrated Development Environment (IDE) and that you know how to code in VB or VBA. This sample program is based on a simple form that provides input fields and output fields to display the returned data. The code is attached to a command button and responds to a "click" event. Please note: The program in this section represents just one of many styles of coding in Visual Basic. It may be used as a sample. It is not guaranteed.

-

There are six basic steps to making Geosupport Desktop Edition calls from a VB/VBA program:
- 1. declare the work area variable definitions.
- 2. declare the NYCgeo procedure.
- 3. prepare Work Area 1.
- 4. call NYCgeo.
- 5. check the Geosupport return code
- 6. access the data in Work Area 1 and Work Area 2
- optional step - convert house numbers in sort format or street codes with a function D call.

-

That's it. If you follow this list, in no time you should be writing VB programs that take -advantage of the power of Geosupport.

-
Declare the Work Area Variables
- -

VB/VBA users may use the tyepdef file found in
- c:\program files\Geosupport Desktop Edition\include\vbwadef.bas
-or they may choose to code their own typedefs using the character-only Work Area descriptions that can be found in Appendix 2 as the guide. It is recommended that you use the supplied typedef file.

-

The sample program in Listing II.16 does not use the typedef file, vbwadef.bas, but does create similar typedefs for Work Area 1 and Work Area 2 for Functions 1/1E. If the users choose to create their own typedefs, particular attention should be paid to setting up Work Area 1 as this is used in every function call. Listing II.9 shows a few examples of how to set up Work Area 1 as well as a second Work Area 1 to be used in making Function D calls (see Line 33 in Listing II.9).

-

If this code is part of a VBA application and is attached to a Form, you may have to declare the variables and types as Private. Because the code in Listing II.16 at the end is attached to a Form, the variables and types are declared as Private.

-

Listing II.9 Declare the Work Area Variables

-
1: Type STREET
-2: boro As String * 1
-3: sc10 As String * 10
-4: Street_name As String * 32
-5: End Type
-6: Type INPUT_DEF
-7: func_code As String * 2
-8: house_num As String * 16
-9: house_num_sort As String * 11
-10: lo_house_num As String * 16
-11: lo_house_num_sort As String * 11
-12: sti(1 To 3) As STREET
-13: filler01 As String * 175
-14: End Type
-15: Type OUTPUT_DEF
-16: boro_name As String * 9
-17: house_num As String * 16
-18: house_num_sort As String * 11
-19: sto(1 To 3) As STREET
-20: filler02 As String * 11
-21: lo_house_num As String * 16
-22: lo_house_num_sort As String * 11
-23: filler05 As String * 154
-24: ret_code As String * 2
-25: msg As String * 80
-26: filler03 As String * 402
-27: End Type
-28: Type C_WA1
-29: input1 As INPUT_DEF
-30: output1 As OUTPUT_DEF
-31: End Type
-32: vbwa1 As C_WA1
-33: fdwa1 As C_WA1
-
-
Declare the NYCgeo Procedure
- -

Listing II.10 below shows one example of how you can declare a Sub procedure to call Geosupport Desktop Edition. If "NYCgeo.dll" is not in your Windows system directory (usually c:\winnt\system) or not in your include path, then you should give its fully qualified path name (e.g. "c:\myproj\files\NYCgeo.dll"). You may use whatever naming convention you wish for your Sub procedures, but the Alias must always be "NYCgeo".

-

Line 2 in Listing II.10 shows how to declare a Sub procedure to call Geosupport Desktop Edition for a one-work-area call. The first parameter is Work Area 1 but the second parameter must be defined as "Optional". Setting its default value to "Nothing" is not required but a safe programming technique.

-

Listing II.10 Declare the NYCgeo Procedure

-
1: Declare Sub wgF1E Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, _y As C_WA2_F1E)  
-2: Declare Sub wgFD Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, _Optional y = Nothing)  
-
- -
Prepare Work Area 1
- -

There are two steps that must precede every call to Geosupport. First, Work Area 1 must be initialized to spaces (see lines 1 - 7 in Listing II.11 below). Second, the "platform indicator" field must be set to 'C' (see line 8 in Listing II.11 below).

-

Other than the two steps above, there is only one other field that must contain a value on every call. That is the "function code" field. The remaining fields and their values that are set up will vary with the function call you want to make. Line 9 in Listing II.11 below shows you how to indicate you want to make a Function 1E call. Function 1E requires as input a borough code, a house number, and a street name or street code (see lines 10 through 12 in Listing II.11).

-

Listing II.11 Prepare Work Area

-
1: vbwa1.input1.house_num = " "
-2: vbwa1.input1.house_num_sort = " "
-3: vbwa1.input1.lo_house_num = " "
-4: vbwa1.input1.lo_house_num_sort = " "
-5: vbwa1.input1.sti(1).boro = " "
-6: vbwa1.input1.sti(1).sc10 = " "
-7: vbwa1.input1.sti(1).Street_name = " "
-8: vbwa1.input1.platform_ind = "C"
-9: vbwa1.input1.func_code = "1E"
-10: vbwa1.input1.sti(1).boro = Form_Geodlg.txtboro
-11: vbwa1.input1.house_num = Form_Geodlg.txthousenumber
-12: vbwa1.input1.sti(1).Street_name = Form_Geodlg.txtstreetname
-
- -
Call NYCgeo
- -

Now that we have set up Work Area 1 for the desired function we can now look at how to make the call. Line 1 in Listing II.12 below shows the code to make the Geosupport Desktop Edition call.

-

Listing II.12 Call NYCgeo

-
1: wgF1E vbwa1, vbwa21e
-
- -
Check the Return Code
- -

After you've made the Geosupport call, you need to check the Return Code in the Output section of Work Area 1 (Listing II.13 below). A return code of <00' indicates a successful call and a value of <01' indicates a successful call but there is a warning message you should check. Any other Return Code value indicates that an error has taken place; you will want to have special processing to handle these situations. For a complete listing of the Warning and Error codes see "Geosupport Return Codes, Reason Codes, and Messages" in Appendix 4 of this guide.

-

Listing II.13 Check the Return Code

-
1:If vbwa1.output1.ret_code = "00" Then
-2: 'code to process successful call goes here
-3: Else
-4: If vbwa1.output1.ret_code = "01" Then
-5: 'code to process a successful call with a warning goes here
-6: Else
-7: 'code to process an unsuccessful call goes here
-8: End
-
- -
Access the Data from the Work Areas
- -

Listing II.14 below gives several examples of accessing data in the work areas after a successful Geosupport Function 1E call. Of course, you may not want to display the data at this point. You may want to write the data to a file or do some other processing.

-

Listing II.14 Access the Data from the Work Areas

-
1: Form_Geodlg.txtB10SC = vbwa1.output1.sto(1).boro +
-2: vbwa1.output1.sto(1).sc10
-3: Form_Geodlg.txtzipcode = vbwa21e.zip_code
-4: Form_Geodlg.txtlhns = vbwa21e.lo_house_num_sort
-5: Form_Geodlg.txtlb5sc = vbwa21e.lo_xsts.B5SC_low1(1)
-6: Form_Geodlg.txthhns = vbwa21e.hi_house_num_sort
-7: Form_Geodlg.txthb5sc = vbwa21e.hi_xsts.B5SC_high
-1(1)
-
- -
Convert House Numbers in Sort Format and Street Codes
- -

To convert house numbers in sort format to house numbers in display format or street codes to street names make a function D call. Function D calls (see Listing II.15 below) follow the same procedure as the other functions with one exception, only Work Area 1 is passed as a parameter (see line 16 in Listing II.15 below). Also note: We've used a second copy of Work Area 1 (see Line 33 in Listing II.9 above) so that the data in Work Area 1 from the original function 1E call is not lost.

-

Listing II.15 Convert House numbers in Sort Format with Function D call

-
1: // initialize work area 1 defined for Function D calls
-2: fdwa1.input1.house_num = " "
-3: fdwa1.input1.house_num_sort = " "
-4: fdwa1.input1.lo_house_num = " "
-5: fdwa1.input1.lo_house_num_sort = " "
-6: fdwa1.input1.sti(1).boro = " "
-7: fdwa1.input1.sti(1).sc10 = " "
-8: fdwa1.input1.sti(1).Street_name = " "
-9: // set up work area 1 defined for function D calls
-10: fdwa1.input1.platform_ind = "C"
-11: fdwa1.input1.func_code = "D "
-12: fdwa1.input1.sti(1).boro = vbwa1.output1.sto(1).boro
-13: fdwa1.input1.house_num_sort = vbwa21e.hi_house_num_sort
-14: fdwa1.input1.lo_house_num_sort = vbwa21e.lo_house_num_sort
-15: // make 1 work area function D call
-16: wgFD fdwa1
-17: // check the return code and access the converted house numbers
-18: If vbwa1.output1.ret_code = "00" Or vbwa1.output1.ret_code = "01" Then
-19: Form_Geodlg.txthhnd = fdwa1.output1.house_num
-20: Form_Geodlg.txtlhnd = fdwa1.output1.lo_house_num
-21: End If  
-
- -

You've now seen how to make Geosupport calls from your VB or VBA program. Of course, your style of coding may be different and your processing will probably be more involved. But if you follow these few simple steps you can easily harness the power of Geosupport Desktop Edition in your VB or VBA programs. -Listing II.16 below contains a VBA sample application with the complete variable declarations for Work Area 1 and Work Area 2 for Function 1E.

-

Listing II.16 Work Area 1 and Work Area 2 for Function 1E Variable Declarations with Sample Code

-
Option Explicit
-'*****************************************************************************
-'Some situations may requires these to be declared as Private
-'*****************************************************************************
-'define data types
-Private Type STREET
-  boro As String * 1
-  sc10 As String * 10
-  Street_name As String * 32
-End Type
-
-Private Type BBL
-  boro As String * 1
-  block As String * 5
-  lot As String * 4
-End Type
-
-'typedef for input area of work area 1
-Private Type INPUT_DEF
-  func_code As String * 2
-  house_num As String * 16
-  house_num_sort As String * 11
-  lo_house_num As String * 16
-  lo_house_num_sort As String * 11
-  sti(1 To 3) As STREET
-  bbli As BBL
-  filler01 As String * 1
-  bin As String * 7
-  compass_direction As String * 1
-  compass_direction2 As String * 1
-  filler02 As String * 7
-  platform_ind As String * 1
-  filler03 As String * 101
-  long_WA2_flag As String * 1
-  filler04 As String * 4
-  snl As String * 2
-  st_name_norm As String * 1
-  expanded_format As String * 1
-  filler05 As String * 37
-End Type  
-
-'typedef for output area of work area 1
-Private Type OUTPUT_DEF
-  boro_name As String * 9
-  house_num As String * 16
-  house_num_sort As String * 11
-  sto(1 To 3) As STREET
-  bblo As BBL
-  filler05 As String * 1
-  lo_house_num As String * 16
-  lo_house_num_sort As String * 11
-  bin As String * 7
-  attr_byte(1 to 3) As String * 1
-  filler06 As String * 139
-  reason_code As String * 1
-  filler07 As String * 1
-  warn_code As String * 2
-  ret_code As String * 2  
-  msg As String * 80
-  nbr_names As String * 2
-  B7SC(1 to 10) As String * 8
-  st_names(1 to 10) As String * 32
-End Type
-
-'typedef for work area 1
-Private Type C_WA1
-  input1 As INPUT_DEF
-  output1 As OUTPUT_DEF
-End Type
-
-'typedefs used in work area 2
-Private Type St_list
-  nbr_sts As String * 1
-  B5SC(1 To 5) As String * 6
-End Type
-
-Private Type St_list_high1
-  nbr_sts_high1 As String * 1
-  B5SC_high1(1 To 5) As String * 6  
-End Type  
-
-Private Type St_list_low1
-  nbr_sts_low1 As String * 1
-  B5SC_low1(1 To 5) As String * 6
-End Type
-
-'typedef for work area 2 for function 1
-  Private Type C_WA2_F1E  
-  filler08 As String * 21  
-  cont_parity_ind As String * 1  
-  lo_house_num_sort As String * 11  
-  hi_house_num_sort As String * 11  
-  lgc As String * 2  
-  lo_xsts As St_list_low1  
-  hi_xsts As St_list_high1  
-  lion_key As String * 10  
-  sagr_flag As String * 1  
-  sos_ind As String * 1  
-  seg_len As String * 5  
-  Xcoord As String * 7  
-  Ycoord As String * 7  
-  Zcoord As String * 7  
-  iaei As String * 1  
-  mh_ri_flag As String * 1  
-  DOT_slca As String * 1  
-  com_dist As String * 3  
-  zip_code As String * 5  
-  ed As String * 3  
-  ad As String * 2  
-  sped_flag As String * 1  
-  congress_dist As String * 2  
-  state_sen_dist As String * 2  
-  civil_court as String * 2  
-  city_council As String * 2  
-  health_cent As String * 2  
-  health_area As String * 4  
-  sanit_dist As String * 3  
-  sanit_sub_sect As String * 2  
-  sanit_reg_pick_up As String * 5   
-  police_boro_com As String * 1  
-  police_pct As String * 3  
-  fire_div As String * 2  
-  fire_bat As String * 2  
-  fire_co_type As String * 1  
-  fire_co As String * 3     
-  scsd_flag As String * 1    
-  com_schl_dist As String * 3    
-  dynam_block As String * 3  
-  filler02 As String * 9  
-  cen_tract_90 As String * 6  
-  cen_tract_00 As String * 6  
-  cen_blk_00 As String * 4  
-  filler04 As String * 51  
-  true_B7SC As String * 8  
-  seg_id As String * 7  
-  curve_flag As String * 1  
-End Type  
-
-'define variables  
-  Private vbwa1 As C_WA1    
-  Private fdwa1 As C_WA1    
-  Private vbwa21e As C_WA2_F1E     
-
-'define NYCgeo function  
-  Private Declare Sub wgF1E Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, _y As C_WA2_F1E)  
-  Private Declare Sub wgFD Lib "NYCgeo.dll" Alias "NYCgeo" (x As C_WA1, _Optional y = Nothing)  
-
-'*******************************************************************************
-Private Sub Call_wgF1E_Click()  
-  'setup work area 1  
-  'need better way to initialize wa1 to spaces   
-  vbwa1.input1.house_num = " "  
-  vbwa1.input1.house_num_sort = " "  
-  vbwa1.input1.lo_house_num = " "   
-  vbwa1.input1.lo_house_num_sort = " "  
-  vbwa1.input1.sti(1).boro = " "  
-  vbwa1.input1.sti(1).sc10 = " "  
-  vbwa1.input1.sti(1).Street_name = " "  
-  vbwa1.input1.platform_ind = "C"  
-  vbwa1.input1.func_code = "1E"  
-  vbwa1.input1.sti(1).boro = Form_Geodlg.txtboro  
-  vbwa1.input1.house_num = Form_Geodlg.txthousenumber  
-  vbwa1.input1.sti(1).Street_name = Form_Geodlg.txtstreetname  
-
-  'call geosupport  
-  wgF1E vbwa1, vbwa21e  
-
-  'check the return code and process output  
-  'this program assumes the existence of a form called Geodlg  
-  If vbwa1.output1.ret_code = "00" Or vbwa1.output1.ret_code = "01" Then  
-    Form_Geodlg.txtB10SC = vbwa1.output1.sto(1).boro + vbwa1.output1.sto(1).sc10  
-    Form_Geodlg.txtzipcode = vbwa21e.zip_code  
-    Form_Geodlg.txtlhns = vbwa21e.lo_house_num_sort    
-    Form_Geodlg.txtlb5sc = vbwa21e.lo_xsts.B5SC_low1(1)     
-    Form_Geodlg.txthhns = vbwa21e.hi_house_num_sort  
-    Form_Geodlg.txthb5sc = vbwa21e.hi_xsts.B5SC_high1(1)    
-
-    'func d call to convert house numbers in sort format to    
-    'setup work area 1  
-    fdwa1.input1.house_num = " "  
-    fdwa1.input1.house_num_sort = " "  
-    fdwa1.input1.lo_house_num = " "  
-    fdwa1.input1.lo_house_num_sort = " "  
-    fdwa1.input1.sti(1).boro = " "  
-    fdwa1.input1.sti(1).sc10 = " "  
-    fdwa1.input1.sti(1).Street_name = " "  
-
-    fdwa1.input1.platform_ind = "C"  
-    fdwa1.input1.func_code = "D "  
-    fdwa1.input1.sti(1).boro = vbwa1.output1.sto(1).boro  
-    fdwa1.input1.house_num_sort = vbwa21e.hi_house_num_sort  
-    fdwa1.input1.lo_house_num_sort = vbwa21e.lo_house_num_sort wgFD fdwa1  
-
-    If vbwa1.output1.ret_code = "00" Or vbwa1.output1.ret_code = "01" Then  
-      Form_Geodlg.txthhnd = fdwa1.output1.house_num  
-      Form_Geodlg.txtlhnd = fdwa1.output1.lo_house_num  
-    End If  
-    Else  
-      Form_Geodlg.txtGRC = vbwa1.output1.ret_code  
-      Form_Geodlg.txtmessage = vbwa1.output1.msg  
-      End If  
-End Sub  
-
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section10/index.html b/site/chapters/chapterII/section10/index.html deleted file mode 100644 index d39f2712..00000000 --- a/site/chapters/chapterII/section10/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - II.10 The Long Work-Area-2 Option - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.10 The Long Work-Area-2 Option
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.10 The Long Work-Area-2 Option

- -

From time to time, GSS adds new output fields to a function’s WA2. For example, in 2011, the WA2s of several functions were enhanced to include fields for the 2010 census tract and block. In general, when new output fields are added to a Geosupport work area, GSS utilizes existing filler space in the work area for those fields, if available. In that way, the basic layout of the work area remains the same, and existing users of that function who do not need to make use of the new items are not compelled to modify their applications.

-

If there is not enough filler space available in a function’s WA2 to accommodate new fields, GSS introduces a ‘long WA2 option’ for that function, as described below. This approach enables new data items to be made available to applications that need them, without affecting existing applications that do not need them. The MSW functions that currently have the long WA2 option are Functions 1, 1E, 1A, BL and 3. The COW functions that currently have the long WA2 option are functions 1A and BL. The long WA2 option may be implemented for other functions in the future.

-

When issuing a two‑work‑area call to a function that has the long WA2 option, the application has the option to use either the ‘regular WA2’ (the work area layout that had already been in existence before the long WA2 option was introduced for that function), or the ‘long WA2’.  The application informs Geosupport that the long WA2 is being used by inserting an ‘L’ in a WA1 input field called the Long Work Area 2 Flag. When the long WA2 option is specified, it is the application’s responsibility to pass a WA2 of the proper length to the Geosupport driver.  If the application passes a blank in the Long WA2 Flag, the regular WA2 is used. Both the regular and long WA2s are documented in Appendix 2.

-

The MSW Function 3 exemplifies the role of the long WA2 option. MSW Function 3’s regular WA2 is 200 bytes long, almost all of which was long ago allocated to specific fields, leaving little filler space available for new fields. At some point in the past, the necessity to add new fields for which no space was available in Function 3's regular WA2 impelled the introduction of the long WA2 option for Function 3. Function 3’s long WA2 is 300 bytes long, and consists of the same 200 bytes of information that are returned in the regular WA2, followed by 100 additional bytes containing fields for several additional items that the regular WA2 was not designed to include, as well as ample filler space for future enhancements. Applications that existed prior to the introduction of the long WA2 option for Function 3, and that have no need of any of the fields returned in the last 100 bytes of the long WA2, are able to continue running properly without modification using the regular WA2.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section11/index.html b/site/chapters/chapterII/section11/index.html deleted file mode 100644 index d15569e2..00000000 --- a/site/chapters/chapterII/section11/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - II.11 The Auxiliary Segment Option (COW Only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.11 The Auxiliary Segment Option (COW Only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.11 The Auxiliary Segment Option (COW Only)

- -

Similar to the ‘long WA2 option’, the ‘auxiliary segment option’ is available for COW Functions 3 and 3C. This option adds an additional 500 bytes to the COW WA2 output. This option allows the user to request that, in the special case of a record that actually encompasses more than one segment, Geosupport will return the Segment IDs of all the segments (up to 70).

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterII/section12/index.html b/site/chapters/chapterII/section12/index.html deleted file mode 100644 index e1e881d0..00000000 --- a/site/chapters/chapterII/section12/index.html +++ /dev/null @@ -1,810 +0,0 @@ - - - - - - - - - - - - II.12 The Auxiliary Segment Option (COW Only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter II: Geosupport API Introduction »
  • - - - -
  • II.12 The Auxiliary Segment Option (COW Only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

II.12 TheExtended Work Area 2 Option- via Mode Switch(COW Only)

- -

To accommodate additional information from Geosupport, an Extended version of Work Area 2 has been defined for various functions. Users may request the Extended Work Area 2 by setting the Mode Switch in Work Area 1 to ‘X’. This option is available only for COW Functions.

-

Users have expressed a desire to receive Street Names along with Street Codes when making Geosupport calls. In previous versions of Geosupport, Street Names (of cross streets, etc.) were not a part of Work Area 2. Users may request an Extended Work Area 2 for Functions 1, 1E, 1A, 3, 3C, BL and BN. These Extended Work Areas contain street names in addition to Street Codes. Users will no longer have to make separate D, DG, or DN Geosupport calls (or use the Cross Street Names Flag) to get the street names. In addition, new data will be returned (e.g. CSCL data) in the Extended Work Area 2, and space is reserved for additional new data as it becomes available. Users who think they may want to use this new data in the future should consider modifying their applications to request the Extended Work Area 2s with the Mode Switch. The street codes and street names that are returned by Extended functions typically are the Principal Street Name and 7-Digit Street Code. This typically gives the user the best name for the location being requested.

-

Users may request an Extended Work Area 2 for Functions 1, 1E, 1A, 3, 3C, BL and BN. The Extended Work Area 2 contains Street Names in addition to Street Codes. New data (e.g. CSCL data) is also contained in the Extended Work Area 2, and space is reserved for additional data as it becomes available. Users who want to use this new data should consider modifying their applications to request the Extended Work Area 2s with the Mode Switch. The street codes and street names that are returned by Extended functions typically are the Principal Street Name and 7-Digit Street Code. This usually gives the user the best name for the location being requested. Some other data that may be included in the Extended Work Areas are: Health Center District, NTA Name (Neighborhood Tabulation Area Name), and X-Y coordinates of ‘From’ Node and ‘To’ Node..

-

The Mode Switch is a one-byte field, in column 330 of the COW Work Area 1. The only valid values for the Mode Switch are “X” for Extended, and blank. The Extended Mode cannot be requested when the Long-Work-Area 2 option is requested. The Extended Mode can, however, be requested when the Auxiliary Segments are also requested. The Extended Work Area layouts for the various functions and options may be found in Appendix 13.

-

Note that when the Mode Switch is set to ‘X”, for Functions 1, 1E, 1A, 3, 3C, BL, and BN the functions may be referred to as Function 1 Extended, 1E Extended, 1A Extended, 3 Extended, 3C Extended, BL Extended, and BN Extended, respectively. The functions may also be referred to as 1X, 1EX, 1AX, 3X, 3CX, BLX, and BNX respectively.

-

The Mode Switch is supported by GBAT.

-

The COPYLIBs include new Work Area definitions for the Extended versions of WA2. In general, names of existing individual fields remain the same, except for the prefix, e.g. the prefix for COBOL Function 3 is PIWA2-FN3 and the prefix for COBOL Function 3 Extended is PIWA2-3X.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/chapterIII/index.html b/site/chapters/chapterIII/chapterIII/index.html deleted file mode 100644 index 145c6ad6..00000000 --- a/site/chapters/chapterIII/chapterIII/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter III - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • Chapter III
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER III

- -

STREET NAME PROCESSING

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section01/index.html b/site/chapters/chapterIII/section01/index.html deleted file mode 100644 index 4dbb704e..00000000 --- a/site/chapters/chapterIII/section01/index.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - - - III.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.1 Introduction

- -

This chapter discusses Geosupport’s street name processing in detail. (In this chapter, unless otherwise noted, the term ‘street name’ is used generically to encompass not only names of city streets, but also a wide variety of other New York City geographic feature names that Geosupport recognizes, including the names of some tunnels, bridges, rail lines, shorelines and geographic place names of various kinds.) The street name normalizing algorithm is briefly outlined. Two aspects of street name normalizing that are under user control, the selection of a street name normalization format and the Street Name Normalization Length Limit (SNL) parameter, are described. Other street name processing features that are described are partial street names, similar names, street name browsing, and selection of output street names for Character-Only Work Area calls . Certain non-street feature names, place names and ‘pseudo-street names’ that are recognized by Geosupport are also discussed in this chapter. The related topic of street codes is discussed in detail in Chapter IV.

-

It is important to note that New York City geographic names are meaningful only when the borough is identified, since features in different boroughs can have the same name. For example, all five boroughs have a street named BROADWAY. In general, the borough is identified via a borough code. For Functions 1, 1A, 1B, 1E and AP, the borough may also be identified via a ZIP code.

-

Applications pass up to three input streets to Geosupport in a single call, depending on the function being called. For most of the functions that accept street input, input streets are passed either in the form of street names or in the form of street codes. The exceptions are that Function 1N accepts street name input only, and the display functions, Functions D, DG and DN, accept street code input only.

-

Input streets are passed to Geosupport using as many as necessary of WA1’s three input street name fields or its three input street code fields. Each WA1 input street name field is 32 bytes long. If there is more than one input street in a call, they must all be of the same type, either all names or all codes, not a combination of both types. If both street names and street codes are specified in WA1, for all functions other than D, DG, and DN, Geosupport processes the street names and ignores the street codes. For functions D, DG, and DN, the street names are ignored.

-

When street input is in the form of street names, before attempting to identify which New York City street an input name refers to, Geosupport attempts to ‘normalize’ the name by executing a systematic algorithm intended to produce a version of the name in a standardized format. If normalization is successful, Geosupport returns the normalized street name(s) to the user in as many as necessary of WA1’s three output normalized street name fields. Geosupport’s normalizing algorithm is designed so that users have considerable leeway in spelling input street names. For example, input names may contain commonly used abbreviations for words like avenue, street, boulevard, east, etc.

-

When Geosupport is able to normalize an input street name successfully, it uses the normalized name to read an internal Geosupport file in order to obtain the street code. Successful normalization followed by successful street code retrieval constitutes Geosupport System validation of the input street name, i.e. its identification or ‘recognition’ as the name of a specific New York City street. Note that successful normalization alone does not constitute validation of the input street name.

-

Geosupport’s street name normalizing algorithm is highly customized for New York City. The algorithm is complex and a complete description of it is beyond the scope of this document. In any event, the algorithm is performed automatically, and users need to be aware primarily of two aspects that they can control. These are a parameter for controlling the maximum length of normalized street names, called the SNL; and a choice of two formats for normalizing street names, called the compact and sort formats. These features are described in detail in this chapter. For completeness of the discussion, and because some familiarity with the normalizing algorithm may aid the user in understanding possible causes of rejection, a summary description of the normalizing algorithm is also given in this chapter.

-

Function 1N. Function 1N can be used to normalize a street name and retrieve its street code, without having to specify a particular geographic location. Function 1N requires the input only of a borough code and a street name. The SNL parameter and the selection of a street name normalization format can be specified in a Function 1N call. Function 1N is called using Work Area 1 only.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section02/index.html b/site/chapters/chapterIII/section02/index.html deleted file mode 100644 index feff1bff..00000000 --- a/site/chapters/chapterIII/section02/index.html +++ /dev/null @@ -1,827 +0,0 @@ - - - - - - - - - - - - III.2 Street Name Normalizing and the SNL Parameter - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.2 Street Name Normalizing and the SNL Parameter
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.2 Street Name Normalizing and the SNL Parameter

- -

Street name normalizing is governed by a user-controllable parameter called the Street Name Normalization Length Limit (SNL), which sets an upper limit to the lengths of output normalized street names. The SNL feature is particularly useful in applications that have a restricted amount of space for the display of street names, such as when addresses must be visible through transparent envelope windows, or when a screen display or printed report line is crowded.

-

The user specifies an SNL value using the two-byte WA1 input SNL field. The permissible range of SNL values is 4 through 32, inclusive. The setting of an SNL value is optional. If the user specifies no SNL value, the default value of 32 is in effect for that call to Geosupport. Every call to Geosupport is an independent event, even within a single execution of a user program, so if an SNL value other than 32 is desired in a particular call, it must be explicitly specified in that call; Geosupport does not ‘remember’ an SNL value specified in a previous call.

-

Geosupport attempts to normalize each input street name in such a way that the result has a length in bytes that does not exceed the SNL value in effect. The SNL also governs the length of the normalized street name output returned by the display functions (Functions D, DG and DN). However, the SNL does not limit the lengths of input street names. Regardless of the SNL value, the maximum length of an input street name is 32 bytes, which is the length of the WA1 street name input fields.

-

The smaller the SNL value that the user specifies is, the more difficult it is for Geosupport to normalize input street names within that length limit, and therefore the greater the proportion of input street names that are likely to be rejected as not normalizable. Consequently, users who must limit the lengths of normalized street names should specify the largest possible SNL value that can satisfy the needs of their application. An SNL value of 32 (the default) insures that virtually all New York City street names can be normalized. It is recommended that in the design of new applications, 32 bytes be allocated for street name fields in files, programs, screens, reports and manual forms whenever possible.  

-

The following is a simplified description of the street name normalizing algorithm:

-
    -
  • -

    Parsing the input name: The normalizing algorithm logically separates the input name into ‘words’ delimited by blanks. Any sequences of consecutive blanks are consolidated to single blanks. If any numeric characters (the digits ‘0’ through ‘9’) and non-numeric characters are adjacent to each other, they are separated by the insertion of blanks. For example, W2PLACE becomes W 2 PLACE.
    -To improve readability, normalization processing deletes any blanks that appear before and/or after a slash (/) or a dash (-) in a street name. The normalization process also does not generate any such blanks. In the case where there is a numeric before or after the slash or dash, the numeric is treated as alphabetic. For example, ‘I - 25’ becomes ‘I-25’ and ABC / DEF becomes ABC/DEF. See Chapter III.3 for a discussion of Street Name Sorting and how a numeric is normalized in a street name.

    -
  • -
  • -

    Deleting ordinal suffixes: Numeric words in input street names are often expressed as ordinal numbers (integers formatted to specify order, consisting of numeric digits followed by ordinal suffixes, such as ‘1st’, ‘2nd’, ‘3rd’, ‘4th’). The normalizing algorithm deletes the ordinal suffixes (the endings ‘st’, ‘nd’, ‘rd’ and ‘th’) from such words. For example, WEST 3RD STREET is converted to WEST 3 STREET. Note, however, that numeric words that are expressed alphabetically (such as WEST THIRD STREET) are not modified.

    -
  • -
  • -

    Handling special characters: The normalizing algorithm deletes any periods (the character ‘.’) at the ends of words. For example, ST. MARKS PLACE becomes ST MARKS PLACE. Any periods not at the ends of words are replaced by blanks, which will usually cause rejection. Special characters other than periods are left unaltered, and will cause rejection unless those special character(s) are specifically valid for the given street name. (Currently, the only special characters that appear in specific street names accepted by Geosupport are: ‘ (apostrophe), ( (open parenthesis) and ) (closed parenthesis), & (ampersand), / (forward slash) and – (dash or hyphen). . Currently, the only special characters that appear in specific street names accepted by Geosupport are: apostrophes, open and closed parentheses, ampersands, forward slashes, dashes and hyphens, viz, ’ ( ) & / -. In general, if Geosupport accepts a street name with a special character, it will also accept that street name without the special character. For example, in Manhattan, both SAINT MARK’S PLACE and SAINT MARKS PLACE are accepted. In the Bronx, O’BRIEN AVENUE, OBRIEN AVENUE and O BRIEN AVENUE are all accepted. In Manhattan, BEN-GURION PLACE, BEN GURION PLACE and BENGURION PLACE are all accepted.

    -
  • -
  • -

    Expanding and abbreviating standard words under SNL constraint: There are certain standard words that appear frequently in street names, either fully spelled out, such as EAST, AVENUE and BOULEVARD, or in the form of standard abbreviations, such as E, AV or AVE, and BL or BLVD, respectively. If the input name is shorter than the SNL value in effect, then to the extent permitted by that SNL value, the normalizing algorithm expands standard abbreviations to their full spellings. Conversely, if the input name is longer than the SNL value in effect, then the normalizing algorithm attempts to shorten the name to the extent required by that SNL value, by replacing fully spelled out standard words with standard abbreviations.

    -
  • -
  • -

    Suppressing expansion in special cases: The normalizing algorithm recognizes certain special cases in which a character string normally treated as a standard abbreviation is not to be so treated, that is, is not to be expanded under any circumstances. For example, ST is expanded to STREET only when it occurs as the last word of the input name; this prevents the conversion, for example, of ST MARKS PLACE into STREET MARKS PLACE. Certain character strings that are treated as standard abbreviations in most street names are not so treated in specific street names; for example, the ‘S’ in the Brooklyn street name AVENUE S and in the Bronx street name S STREET is not expanded into SOUTH; the ‘E’ in the Manhattan street name ABRAHAM E KAZAN STREET is not expanded into EAST; the ‘DR’ in the Manhattan street name DR MARTIN L KING JR BOULEVARD is not expanded into DRIVE.

    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section03/index.html b/site/chapters/chapterIII/section03/index.html deleted file mode 100644 index 01229de5..00000000 --- a/site/chapters/chapterIII/section03/index.html +++ /dev/null @@ -1,912 +0,0 @@ - - - - - - - - - - - - III.3 Street Name Sorting and Normalization Format Options - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.3 Street Name Sorting and Normalization Format Options
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.3 Street Name Sorting and Normalization Format Options

- -

Many applications display addresses or other types of geographic locations in their reports and online screens, including normalized street names obtained from Geosupport. Applications often sort their data by geographic location for display. However, street names that contain numeric characters do not sort appropriately when they have been normalized in the ‘conventional’ fashion. To solve this problem, Geosupport is able, at the user’s option, to normalize street names either into the conventional format, which is called the compact format, or into a format that is more suitable for sorting, called the sort format. The compact and sort formats differ only for street names that contain numeric characters. Such a street name contains, in the sort format, a number of ‘alignment’ blanks in front of the numeric digits in the street name, which serve to align the numeric digits for proper sorting. In the compact format, no alignment blanks are present. The presence or absence of the alignment blanks is the sole difference between a name that contains numeric characters normalized in the sort format and the same name normalized in the compact format. We illustrate by displaying, side by side, two sorted lists of a sample of Manhattan street names normalized in the two formats:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
SORTED LIST IN COMPACT FORMATSORTED LIST IN SORT FORMAT
EAST HOUSTON STREET5 AVENUE
EAST 10 STREETEAST 1 STREET
EAST 102 STREETEAST 2 STREET
EAST 129 STREETEAST 3 STREET
EAST 13 STREETEAST 9 STREET
EAST 167 STREETEAST 10 STREET
EAST 2 STREETEAST 13 STREET
EAST 20 STREETEAST 20 STREET
EAST 201 STREETEAST 79 STREET
EAST 3 STREETEAST 102 STREET
EAST 79 STREETEAST 129 STREET
EAST 9 STREETEAST 167 STREET
FULTON STREETEAST 201 STREET
10 AVENUEEAST HOUSTON STREET
5 AVENUEFULTON STREET
-

As this example illustrates, in the compact format, normalized street names do not sort appropriately. For example, EAST 10 STREET sorts in front of EAST 9 STREET, and 10 AVENUE sorts in front of 5 Avenue. In contrast, in the sort format, the presence of the alignment blanks causes street names containing numeric characters to sort appropriately. Notice that the presence of the alignment blanks in the sort format, and their absence in the compact format, causes a change to the sort order of numeric street names not only relative to each other, but also relative to non-numeric street names. For example, in the compact format, FULTON STREET sorts in front of street names that begin with a numeric character, such as 10 AVENUE, while in the sort format it sorts behind them. Similarly, in the compact format, EAST HOUSTON STREET sorts in front of the street names that start with the word EAST followed by a numeric word, while in the sort format, it sorts behind those street names.

-

Note that for purposes of this discussion, all samples of sort output assume the EBCDIC collating sequence.

-

The sort format should always be used for street names that are to be sorted. However, the sort format is not as well-suited for display purposes as the compact format, since the alignment blanks give the sort format an awkward appearance. In applications that must display data sorted by geographic location, sorting should be done using street names in the sort format, while street names should be displayed in the compact format. (This would, of course, necessitate the application making a second call to Geosupport for each name, to obtain the alternative format. Function 1N could be used for that purpose.)

-

The sort format is the default format. That is, Geosupport will normalize input street names into the sort format unless the user program specifically requests the compact format by placing a ‘C’ in the Street Name Normalization Format Flag field in WA1. Note that every Geosupport API call is an independent event: Geosupport does not ‘remember’ previous calls. Therefore, if repeated calls are being made within a single execution of an application program, and the user wishes all the input street names to be normalized into the compact format, a ‘C’ must be present in the flag during each call.

-

We now give a precise description of the sort format. First, note that New York City street names have numeric characters (the digits ‘0’ through ‘9’) in at most one word. If a street name has such a ‘numeric word’, that word consists only of a one-, two- or three-digit number, possibly followed by an ordinal suffix. (If there is an ordinal suffix, it is deleted during normalizing in either format.)

-

For street names that do not have a numeric word, the compact and sort formats are identical. For a street name that does have a numeric word, the two formats differ only in the fact that alignment blanks are present in the sort format and absent in the compact format. In forming the sort format, the normalizer inserts the required number of alignment blanks in front of the numeric characters, to form a four-byte field within which the numeric characters are right-justified and blank-filled. (The rationale for using four bytes for the normalized numeric word is explained below.) Thus, when normalizing street names that have a numeric word into the sort format, the normalizer inserts three blanks in front of a one-digit number, two blanks in front of a two-digit number and one blank in front of a three-digit number. The inserted alignment blanks are additional to the single word-separating blank between the numeric word and the preceding word in the street name, if any.

-

We illustrate with an example, using the dash character to represent blanks for clarity. The street name EAST--129 STREET is in sort format. The first blank between EAST and 129 (represented by the leftmost dash) is the word-separating blank always present (in either format) between any two consecutive words. The second blank is the alignment blank inserted only in the sort format to right-justify the three-digit number ‘129’ within the four-byte field for the numeric word. EAST-129 STREET is the same street name in compact format; it has the single word-separating blank between the two words, but no blank inserted for alignment.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Actual Sort Format With 4-Byte Numeric Word FieldHypothetical Sort Format
With 3-Byte Numeric Word Field
EAST ---7 STREETEAST --7 STREET
EAST --23 STREETEAST -23 STREET
EAST -129 STREETEAST HOUSTON STREET
EAST -203 STREETEAST 129 STREET
EAST HOUSTON STREETEAST 203 STREET
-

In this example, all of the street names are identical in their first five positions, with the fifth position being a word-separating blank. In the four-byte list, all the numeric names have a blank in the sixth position (the first position of the four-byte numeric field), and therefore have sorted ahead of the one non-numeric name, which has an ‘H’ in that position. In the three-byte list, the numeric names containing fewer than three digits have a blank in the sixth position, the non-numeric name has an ‘H’ there, and the numeric names containing three digits have a numeric character (a ‘1’ or a ‘2’) in the sixth position. Since the sort sequence of these characters is blank, ‘H’, ‘1’, ‘2’, the result of sorting with a three-byte numeric field is the undesirable separation of the numeric names by the non-numeric name.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section04/index.html b/site/chapters/chapterIII/section04/index.html deleted file mode 100644 index 2dee655b..00000000 --- a/site/chapters/chapterIII/section04/index.html +++ /dev/null @@ -1,842 +0,0 @@ - - - - - - - - - - - - III.4 Partial Street Names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.4 Partial Street Names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.4 Partial Street Names

- -

It is a common informal practice to refer to streets using partial versions of ‘full’ street names. For example, the intersection of Nassau Street and Broad Street in Manhattan might be specified as the intersection of “'Nassau Street and Broad”. To accommodate this practice, Geosupport is designed to accept such partial street names as input street names whenever feasible. In this section, a precise definition and some examples of partial street names are given, and the circumstances under which Geosupport accepts a partial street name as an input street name are described.

-

A partial street name is a character string that is not itself a valid ‘full’ street name, and that is formed from a valid full street name by deleting one or more entire words from the end of the full street name. Note that, according to this definition, forming a partial street name involves the deletion of words only from the end of a full street name, not from the beginning or middle, and the deletion only of entire words, not portions of words. The following examples illustrate the definition.

-
    -
  • -

    READE is a Manhattan partial street name for the valid Manhattan full street name READE STREET. READE STRE and READ are not partial street names, since they are formed by deleting portions of words rather than entire words.

    -
  • -
  • -

    Both KATHARINE and KATHARINE HEPBURN are Manhattan partial street names for the valid Manhattan full street name KATHARINE HEPBURN PLACE, which exists on East 49 Street between Second Avenue and Third Avenue

    -
  • -
  • -

    PARK AVENUE is not considered a Manhattan partial street name, because it is a valid Manhattan full street name in its own right, even though it can be formed by deleting the last word from a valid Manhattan full street name, PARK AVENUE SOUTH.

    -
  • -
  • -

    PARK is a Manhattan partial street name that can be formed from several valid Manhattan full street names, including PARK AVENUE, PARK AVENUE SOUTH, PARK ROW and PARK PLACE

    -
  • -
-

Geosupport accepts a partial street name as an input street name only if it unambiguously represents (i.e., if it can be formed only from) a single valid full street name in the specified input borough. If a partial street name can be formed from more than one full street name in the given borough, it is ambiguous and Geosupport rejects it. A partial street name cannot also be a front-truncated street name. Consider the following examples:

-
    -
  • -

    Several valid Manhattan full street names begin with the word PARK, as noted above. Therefore PARK is an ambiguous partial street name, and Geosupport does not accept it as an input street name for Manhattan. Similarly, two valid Manhattan full street names begin with the word YORK, namely YORK AVENUE and YORK STREET. Therefore, YORK is an ambiguous partial street name, and Geosupport does not accept it as an input street name for Manhattan.

    -
  • -
  • -

    There is only one Manhattan street name that begins with the word READE, namely READE STREET. Therefore, Geosupport accepts the partial street name READE as a Manhattan input street name unambiguously representing the Manhattan full street name READE STREET.

    -
  • -
  • -

    Geosupport accepts both KATHARINE and KATHARINE HEPBURN as Manhattan input street names, since they are unambiguous partial street names for the Manhattan full street name KATHARINE HEPBURN PLACE.

    -
  • -
  • -

    A partial street name cannot also be a front-truncated street name. For example, 65 STREET in Manhattan would seem to be a partial street name of 65 STREET TRANSVERSE, but it is also a front-truncated street name of EAST 65 STREET and WEST 65 STREET. Geosupport accepts 65 STREET as a front-truncated street name, but not as a partial street name. If 65 STREET is not successful as a front-truncated street name, 65 STREET TRANSVERSE will appear in the list of Similar Names, e.g. Function 1, 80 65 STREET in Manhattan.

    -
  • -
  • -

    Some partial street names are accepted as input street names in some boroughs but not in others. For example, Geosupport accepts BROAD as an unambiguous partial street name for BROAD STREET in Manhattan and in Staten Island. However, in Queens, BROAD is rejected as an ambiguous partial street name, since it can be formed from a number of different valid full Queens street names, including BROAD STREET and BROAD CHANNEL. In the Bronx and Brooklyn, BROAD is not a partial street name at all, and is rejected accordingly, since in those boroughs there are no full street names that begin with the word BROAD.

    -
  • -
-

Note: Since street names may be added or deleted with each Geosupport release, the acceptability of partial street names may also change.

-

Partial Street names and SNL: If a partial street name is accepted as an input street name, Geosupport returns the normalized version of the corresponding full street name in the WA1 output street name field, provided that the length of the normalized full street name does not exceed the SNL value that is in effect. If the length of the normalized full street name does exceed the SNL value in effect, Geosupport attempts to normalize the partial street name to fit within the SNL value; if that is successful, the normalized partial street name is returned in WA1. If neither the normalized full street name nor the normalized partial street name fits, Geosupport rejects the input as a street name that cannot be normalized within the SNL value in effect. If the SNL value in effect is 32 (the default value), it is certain that the normalized full street name will fit.

-

The following example illustrates the effect that varying the SNL value can have on street name normalizing. Suppose the input street name is CHAMBERS and the borough is specified as Manhattan. In this borough, CHAMBERS is accepted as an unambiguous partial street name for the full street name CHAMBERS STREET. If the SNL value in effect is 15 or greater, the output normalized street name is returned as CHAMBERS STREET. If the SNL is between 11 and 14 inclusive, the output street name is returned as CHAMBERS ST (the result of normalizing the full street name CHAMBERS STREET with an SNL of 11, 12, 13, or 14). If the SNL is between 8 and 10 inclusive, the partial street name CHAMBERS is returned. If the SNL is smaller than 8, the input is rejected as a street name that cannot be normalized within the current SNL value.

-

Optimizing the choice of partial street names: In order to allow users to have partial street names accepted as much as possible, Geosupport will not consider roadbed street names when processing generic calls. Roadbed street names will be considered only when processing roadbed calls. As an example, if a user inputs 1830 ‘A C P’ for a generic call in Manhattan, ‘A C P’ will be accepted as a partial street name for A C P Boulevard. However, if the user inputs a Roadbed Request, ‘A C P’ will not be recognized because of similar roadbed names.

-

In addition, since Non-Addressable Place Names (NAPs) and Addressable Place Names (APs) are not valid for Function 2, 3, 3C or 3S calls, Geosupport does not consider them when attempting to resolve an input partial street name; this too allows more partial street names to be recognized.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section05/index.html b/site/chapters/chapterIII/section05/index.html deleted file mode 100644 index ea7c28ba..00000000 --- a/site/chapters/chapterIII/section05/index.html +++ /dev/null @@ -1,877 +0,0 @@ - - - - - - - - - - - - III.5 The Similar Names Feature - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.5 The Similar Names Feature
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.5 The Similar Names Feature

- -

Geosupport has a ‘similar names’ feature that applications can utilize when handling Geosupport rejection of input street names. The feature consists of returning to the application a list of up to ten valid street names from the specified input borough that Geosupport deems to be ‘similar’ to the rejected input street name. Similar names are always full (not partial) street names, normalized in sort format. Applications can be designed to display the similar names whenever there are any, to aid the data entry operator in correcting rejected input names.

-

Whenever an input street name is rejected, if there is at least one valid full street name in the specified input borough that Geosupport deems to be similar to the rejected name, Geosupport takes the following actions:

-
    -
  • -

    A list of the similar names, up to a maximum of ten, is returned in the List of Street Names field in WA1.

    -
  • -
  • -

    The Geosupport Return Code value is ‘EE’. The Reason Code value is a number from 1 to 9 or the letter ‘A’, indicating the number of similar names that are in the List of Street Names. (The value ‘A’ indicates that there are 10 similar names.)

    -
  • -
  • -

    An appropriate message is returned in the WA1 Message field.

    -
  • -
  • -

    The number of similar names that are in the list is returned in the WA1 field Number of Street Names in List.

    -
  • -
-

If there is exactly one similar name, the message explicitly indicates that name. For example, if the input is the invalid Manhattan name DUFFEY SQUARE, there is a single similar name, DUFFY SQUARE. The message in this case would be:

-

‘DUFFEY SQUARE’ NOT RECOGNIZED. IS IT ‘DUFFY SQUARE’?

-

If there is more than one similar name, then the message indicates the number of similar names but does not contain the similar names themselves. For example, the invalid Staten Island name ABBNER ROAD has three similar names. The message in this case would be:

-

‘ABBNER ROAD’ NOT RECOGNIZED. THERE ARE 003 SIMILAR NAMES.

-

To utilize the similar names feature, the user might program the application as follows.

-
    -
  • -

    Whenever a call to Geosupport generates the GRC value ‘EE’, indicating rejection of an input street name and the existence of similar names, the application displays the Geosupport message (and/or the application’s own message) and the similar names. (When there is exactly one similar name, the Geosupport message already contains the similar name.)

    -
  • -
  • -

    The application then offers the data entry operator an opportunity to correct the input name, either by selecting one of the similar names (for example, by allowing the operator to use the cursor and the Enter key to make the selection) or by keying in a new name. If the operator has selected a similar name, the application moves it to the WA1 input street name field, overlaying the original input name, while leaving the rest of the WA1 input fields unmodified. The application then issues a second Geosupport call.

    -
  • -
-

Designing the application to allow the operator to select a similar name from the list lessens the need for the operator to handle street name rejects by key-entering new street name spellings, thus increasing the operator’s productivity and eliminating the possibility of new key-stroke errors.

-

Applications should never be designed to replace a rejected input name with a Geosupport-provided similar name in an automatic fashion, even when there is exactly one similar name. The similar names that Geosupport provides are merely possibilities for the intended input street name, and it may well be that none of them is the intended input street name. Human judgment should always be exercised when deciding whether to use a similar name.

-

To optimize the contents of the similar names list that is returned to the user’s application, Geosupport takes the following steps:

-
    -
  • -

    Geosupport only returns names that could be used in the specified function call. For example, since Non-Addressable Place Names, Addressable Place Names and Business Improvement Districts (BID) are not valid for Functions 2, 3, 3C and 3S, they will not be included in the similar names list for those functions.

    -
  • -
  • -

    Also, roadbed street names are valid only when the Roadbed Request Switch is turned on. Roadbed street names will therefore not be included in the similar names list unless the Roadbed Request Switch is on. For example, in Brooklyn, if the input street name is ‘OCEAN PARTKAY’ and the Roadbed Request Switch is on, names such as OCEAN PARKWAY NORTHBOUND ROADBED will be included in the similar names list; however, if the Roadbed Request Switch is off, the roadbed street name will not be included.

    -
  • -
  • -

    The similar names list will include only one spelling variation per locally valid street name (or 7-digit street code). For example, in Manhattan, if the input street name is ‘ADAM’, the similar names list will include only ‘ADAM C POWELL BOULEVARD’ and not the four other valid variations of that street name. The spelling variation selected is the first one encountered based upon sort sequence, which means it may or may not be the principal street name.

    -
  • -
-

Although users need not be concerned with the criteria that Geosupport uses to generate similar names, the general criteria are listed here. A valid full street name is deemed ‘similar’ to an invalid input street name if it is in the specified input borough and any of the following conditions holds:

-

(A) The valid full street name is at least as long as the input street name, and the two names are identical for the length of the input street name.

-

For example, in Manhattan, the valid full street names YORK AVENUE and YORK STREET would be deemed similar to the invalid name YORK. (YORK is invalid because it is an ambiguous partial street name.)

-

or

-

(B) There are no valid full street names in the specified borough that satisfy criterion (A), and the input street name begins with a compass direction word (NORTH, SOUTH, EAST or WEST) followed by a blank, and the input street name and the given valid full street name are identical up to and including the first three bytes following that blank.

-
-

For example, in Manhattan, consider the invalid input name EAST HOUSTIN STREET, which is 12 bytes long. For this name, there are no valid full Manhattan street names that satisfy criterion (A). That is, there are no valid full Manhattan street names that are longer than 12 bytes such that the first 12 bytes consist of the character string EAST HOUSTIN STREET. However, this input name begins with a compass direction word, EAST, and there is a valid full street name, EAST HOUSTON STREET, that is identical to EAST HOUSTIN STREET through the third byte following the blank after the word EAST (i.e., they are identical in their first eight bytes, consisting of the string ‘EAST HOU’). Therefore, by criterion (B), EAST HOUSTON STREET is deemed similar to EAST HOUSTIN STREET.

-
-

or

-

(C) There are no valid full street names in the specified borough that satisfy criterion (A) or criterion

-
-

(B), and at least the initial three bytes of the input street name and the given valid full street name are identical. The overall process is to keep looking for a match while dropping off characters from the end of the input street name. The streets must match on at least the first three bytes of the input street name to be considered a similar name for this criterion. The actual algorithm is somewhat complex and a complete description of it is beyond the scope of this document.

-

As an example, in Manhattan, if the input street name is BROADWAY TERRACH, then BROADWAY TERRACE will appear first in the list of similar names. Other street names beginning with BROADWAY will also appear in the list. Since BROADWAY TERRACE matches the most letters in the input street name, it appears first. The algorithm will typically insert the name with more matches at the beginning of the list.

-

As another example, in Staten Island, each of the valid street names ABBEY ROAD, ABBOTT STREET and ABBY PLACE will be deemed similar to ABBNER ROAD since they all begin with the same three bytes, namely, ABB.

-
-

or

-

(D) The input street name contains numeric characters, and the input street name is identical to the valid street name up to and including the first numeric word.

-
-

For example, in Manhattan, the valid street name 8 AVENUE is deemed similar to the invalid name 8 PLACE. In Brooklyn, the valid street names BRIGHTON 6 COURT and BRIGHTON 6 STREET are both deemed similar to the invalid name BRIGHTON 6 AVENUE.

-
-

or

-

(E) In the boroughs of the Bronx and Manhattan only, the input street name is a front-truncated street name. A front-truncated street name is one for which all of the following are true:

-
-

(E1) The input street name can be transformed into the valid street name by adding the word EAST or WEST to the front of the input street name.

-

(E2) The input street name has at least two words.

-

(E3) The first word of the input street name is not END, RIVER, SIDE, ST or STREET.

-

(E4) The last word of the input street name is not EXTENSION.

-

The set of criteria in (E) is designed to reflect the common practice to specify street names of Bronx and Manhattan streets that begin with the word EAST or WEST without that first word. These street names are referred to as front-truncated street names. For example, the intersection of Broadway and West 42 Street in Manhattan is often expressed informally as “the intersection of Broadway and 42 Street”; pursuant to criteria (E), Geosupport generates EAST 42 STREET and WEST 42 STREET as similar names for the invalid Manhattan street name 42 STREET. Similarly, EAST HOUSTON STREET and WEST HOUSTON STREET are generated as similar names for the invalid Manhattan street name HOUSTON STREET. Criteria (E2) through (E4) filter out certain special cases where it is not customary to drop the first word EAST or WEST. For example, Criterion (E2) prevents the invalid Bronx input street name AVENUE from generating as similar names the valid Bronx street names EAST AVENUE and WEST AVENUE; Criterion (E3) prevents the invalid Manhattan street names END AVENUE, RIVER DRIVE and SIDE HIGHWAY from generating as similar names EAST END AVENUE and WEST END AVENUE, EAST RIVER DRIVE, and WEST SIDE HIGHWAY, respectively.

-

Note that, if the input street name is the invalid Manhattan name 7 STREET, then 7 AVENUE and 7 AVENUE SOUTH are similar names by virtue of criterion (D), and EAST 7 STREET is a similar name by virtue of (E), but WEST 7 STREET is not a similar name, since it is not itself a valid Manhattan street name.

-
-

The similar names are returned in the List of Street Names sorted in alphabetical order, except that any front-truncated street names (i.e. similar names that satisfy criteria (E)) are listed first.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section06/index.html b/site/chapters/chapterIII/section06/index.html deleted file mode 100644 index 912280c1..00000000 --- a/site/chapters/chapterIII/section06/index.html +++ /dev/null @@ -1,873 +0,0 @@ - - - - - - - - - - - - III.6 Unconventional Geographic Feature Names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.6 Unconventional Geographic Feature Names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.6 Unconventional Geographic Feature Names

- -

In addition to conventional street names, Geosupport recognizes the following other types of geographic names: the names of ‘paper streets’; the names of some non-street features; addressable and non-addressable place names; pseudo-street names; and intersection names. ‘Recognizing’ a name means that a street code has been assigned to that name and Geosupport accepts the name as valid input. The various types of unconventional names are discussed below, and there are further details on their processing in subsequent chapters.

-

Paper Streets

-

A paper street is a street that is legally ‘mapped’ (designated as a street on the official City Map) but that does not exist physically. The city ‘maps’ paper streets with the intention of constructing them, but there is no certainty that a particular paper street will be built. Indeed, some paper streets have been mapped and then eventually de-mapped without ever having been built.

-

Geosupport recognizes the names of paper streets, but it does not recognize geographic locations (addresses, intersections etc.) along a paper street. In addition to streets that are paper streets in their entirety, there are some streets that have both portions that exist physically and portions that exist only ‘on paper’; for such a street, Geosupport recognizes geographic locations only within the portion that exists physically.

-

Non-Street Features

-

In the category of non-street features, as of this writing, Geosupport recognizes only the names of some railroad tracks and shorelines. Eventually, Geosupport will be enhanced to recognize the names of other non-street geographic features in New York City, including all railroad tracks and shorelines. Non-street features do not have addresses, but names of non-street features that are recognizable to Geosupport can serve as street name input to describe geographic locations other than addresses, such as intersections, street segments and street stretches.

-

Addressable Place Names

-

Addressable place names are the names of ‘places’, generally major individual buildings or building complexes, that can be combined with address numbers to form valid New York City addresses. Such places are not streets but their names serve the same role as do ordinary street names in forming addresses that Geosupport will recognize. An example in Manhattan that Geosupport recognizes is PENN PLAZA, a cluster of commercial buildings in the vicinity of Pennsylvania Station. For example, 1 PENN PLAZA, 2 PENN PLAZA and 7 PENN PLAZA are all valid Manhattan addresses, recognized by the U.S. Postal Service and by Geosupport’s address processing functions. Other examples of addressable place names recognized by Geosupport are: in Manhattan, NEW YORK PLAZA, WASHINGTON SQUARE VILLAGE, GOVERNORS ISLAND and CONFUCIUS PLAZA; in Brooklyn, ALBEE SQUARE, METROTECH and FORT HAMILTON MANOR.

-

Non-Addressable Place Names (NAPs)

-

Non-Addressable Place names (NAPs) are names of buildings or other geographic features that typically are not combined with an address number to form a valid address. See discussion of Support of Non-Addressable Place Names (NAPs) with Address Numbers below) Note that a building that has a NAP may or may not also have a conventional street address; it is the place name that is non-addressable, not necessarily the place itself. For example, the EMPIRE STATE BUILDING can be identified both by its name, which is a NAP, and by its conventional street address (i.e. 350 Fifth Avenue). CITY HALL in Manhattan and YANKEE STADIUM in the Bronx are examples of NAPs referring to buildings that do not have conventional street addresses.

-

Typical geographic features that have NAPs include named buildings, stadiums, arenas, hospitals, housing projects, military complexes, museums, universities, theaters, airports, parks, zoos, marinas and islands. Geographic features that have NAPs are classified as either simplexes, complexes or constituent entities of a complex.

-
    -
  • -

    A simplex is a “stand-alone” named geographic feature, that is, a feature that has a NAP and is not a complex or a constituent entity of a complex. Examples in Manhattan: EMPIRE STATE BUILDING, CARNEGIE HALL, BRYANT PARK

    -
  • -
  • -

    A complex is a group of related geographically identifiable features at one site. A geographically identifiable feature is a feature that has an address, a NAP and/or a Building Identification Number (BIN). (BINs are discussed in detail in Chapter VI.3.) Examples of Manhattan complexes: LINCOLN CENTER, JEFFERSON HOUSES, CITY COLLEGE.

    -
  • -
  • -

    A constituent entity of a complex is a building or other geographically identifiable feature that is part of a complex. A constituent entity may be identified by a NAP or by a conventional street address. Examples in Manhattan: AVERY FISHER HALL (a constituent entity of LINCOLN CENTER identified by NAP); CITY COLL SHEPARD HALL (a constituent entity of CITY COLLEGE identified by NAP); 259 CONVENT AVE (a conventional street address which identifies CITY COLL SHEPARD HALL).

    -
  • -
-

NAPs are accepted as input data by Function 1N and by the address-processing functions (Functions 1, 1A, 1B and 1E, but not Function AP.). Currently, these functions accept a limited set of NAPs (including only some of the examples in this section). Additional NAPs are being added over time. Support of NAPs that have address numbers is described below. For further details on NAPs, see Chapter IV.7.

-

Support of Non-Addressable Place Names (NAPs) with address numbers

-

Warning: Some users may need to modify their input NAP data to get expected results (see below).

-

There are some Non-Addressable Place Names (NAPs) in New York City that either actually have addresses associated with them – often in a location that differs from the NAP itself – or are commonly treated as addressable.  An example in Manhattan is the NAP called ‘Bryant Park’.  A building exists near Bryant Park with its own NAP of One Bryant Park which is often treated by users as if it had the address ‘1 Bryant Park’.  Another example, in Brooklyn, is the NAP called ‘Grand Army Plaza’.  A cooperative now exists near Grand Army Plaza, and its address is ‘1 Grand Army Plaza’.  Geosupport supports as input the special case of a NAP that has an address number.  (Releases of Geosupport prior to Version 13.2 ignored any address number that was entered as input with a NAP.)

-

In order to support this type of address (i.e. a NAP with an address number), Geosupport does not automatically ignore an address number that is submitted as input with a NAP.  Geosupport ignores the input address number only if the address does not exist.  In general, this does not affect the user’s output since users typically do not enter an address number with a NAP.  Note, however, if a user submits an address number (by accident or intentionally), the resulting output may be different from submitting the NAP without the address number, because, for example, ‘1 Bryant Park’ will be recognized as a specific building, not as the park called ‘Bryant Park’.  The results will be identical to a NAP without an address number if the address number submitted does not exist.  For example, ‘34 Bryant Park’ does not exist; the address number (viz. ‘34’) will be ignored in that situation and the information for ‘Bryant Park’ will be returned. Geosupport issues a warning to users that the input address number is ignored.(Though this will not be apparent in GBAT if the option to treat warning messages as rejects is not selected).

-

Note to users who enter a ‘dummy’ address number with a NAP intentionally: - It may be necessary for these users to modify their input data.  These users typically run applications that do not allow the data to have a blank address number, even for a NAP.  The input is submitted with a ‘dummy’ address number.  To ensure that Geosupport returns information about the NAP (and not a specific building that is now being supported), the users should use ‘9999’ as the dummy address number.  In all probability, the ‘9999’ address will not exist.  When the ‘9999’ address does not exist, Geosupport will ignore the ‘9999’ and treat it as blanks. Geosupport will then give results as if the NAP was entered without the address number.

-

Pseudo-Street Names

-

Pseudo-street names are special ‘invented’ names that in certain circumstances Geosupport accepts as valid input street names, as described in Chapters V.2, VII.2 and VII.3. Three sets of pseudo-street names are:

-
-

DEAD END and its aliases DEADEND, DEAD END STREET, CUL DE SAC and CULDESAC

-

CITY LIMIT and its aliases CITY LIMITS and CITY LINE

-

BEND and its alias BENDING POINT

-
-

DEAD END and BEND, and their aliases, are valid in all five boroughs. CITY LIMIT and its aliases are valid in all boroughs except Brooklyn. These pseudo-street names may not be used to specify addresses, but they may be used to specify street intersections, and to specify the cross streets (but not the ‘on’ street) in other types of street configurations.

-

Duplicate Address Pseudo-Street Names (DAPSs):

-

Another type of pseudo-street name that Geosupport recognizes, for certain addresses only, is Duplicate Address Pseudo-Street Names (DAPSs). DAPSs are used with Geosupport’s duplicate address processing feature (discussed in detail in Chapter V.6). New York City has a small number of duplicate addresses, which are not data errors in Geosupport files, but are situations where an address is valid in reality at two different locations on the same street. DAPSs provide a means for a user to specify unambiguously a particular instance of a duplicate address. The user may also provide ZIP Code input to enable Geosupport to recognize which duplicate street name should be used.

-

An example of a street that has duplicate addresses is Hillside Avenue in Queens. A portion of Hillside Avenue in the Bellerose neighborhood has some of the same addresses as does another portion of Hillside Avenue in the Douglaston neighborhood. To make it possible to process these addresses, the DAPSs HILLSIDE AVENUE BELLEROSE and HILLSIDE AVENUE DOUGLASTON have been created. Similar DAPSs have been created for each city street that has duplicate addresses. In general, DAPSs are formed by augmenting the conventional name of the street with a neighborhood name.

-

An example of using ZIP Code input in a duplicate address situation follows. If 239-02 Hillside Avenue in Queens, with a ZIP Code set to 11426 is provided as input to Function 1, 1A, 1B, 1E or AP, Geosupport will determine that Hillside Avenue Bellerose should be used. If the ZIP Code provided had been 11363, Geosupport would determine that Hillside Avenue Douglaston should be used. This processing will occur even if the borough code has been provided as well.

-

Geosupport accepts DAPSs as valid input only for certain addresses on streets that have duplicate addresses, as explained in Chapter V.6.

-

If a DAPS is supplied as input to a Function 2, 3, 3C or 3S call, the associated neighborhood name (a.k.a. town name in Queens) will be stripped off to provide a valid street name for these calls. A warning message (Reason Code W) will be issued. For example, if the input to a Function 2 call is “Hillside Avenue Douglaston”, the word “Douglaston” will be removed and the street name “Hillside Avenue” will be used.

-

Intersection Names

-

Certain street intersections in New York City have intersection names which can serve as an alternative way to identify such locations in addition to the conventional means of reference using the names of two intersecting streets. For example, ISAAC STERN PLACE is an intersection name for the intersection of West 57 Street and 7 Avenue in Manhattan. On the other hand, TIMES SQUARE is not an intersection name, because it refers to an area encompassing several intersections rather than a single street intersection. Official intersection names are designated by the City Council, and informal intersection names develop over time through local customary usage.

-

Geosupport accepts the input of a limited set of intersection names. Intersection names may not be used to specify addresses (Functions 1, 1A, 1B, 1E, or AP), but they may be used to specify street intersections (Function 2), and to specify a cross street (but not the ‘on’ street) in other types of street configurations (Functions 3, 3C or 3S).

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section07/index.html b/site/chapters/chapterIII/section07/index.html deleted file mode 100644 index ce54b8a2..00000000 --- a/site/chapters/chapterIII/section07/index.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - III.7 Street Name Browsing and Functions BB and BF - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.7 Street Name Browsing and Functions BB and BF
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.7 Street Name Browsing and Functions BB and BF

- -

Functions BB ("browse backward") and BF ("browse forward") enable users to include interactive street name browsing functionality in their CICS applications. These functions may be used to assist data entry staff in determining valid spellings of street names that were rejected or the spelling of which is unknown to the staff.  Functions BB and BF are supported in both the CICS and batch environments and are called using one work area.

-

A sequence of repeated calls to Functions BB and/or BF will browse backwards and/or forwards in alphabetical order through a list of all the valid normalized street names in a given borough. Each call to one of these functions returns up to ten names in alphabetical order. A call returns fewer than ten names if there are fewer than ten names remaining in the given borough in the given browse direction. When fewer than ten names are returned, a warning is issued.  The starting point of the browse is determined by the value of the input character string. 

-

Both Function BB and Function BF process an input borough code and character string, which are passed in the WA1 input Borough Code 1 and Street Name 1 fields, respectively.  The input character string can be from one to 32 bytes long. 

-

In addition, when issuing a COW Function BB or BF call, a user may request that either all street names, only primary street names, or only principal street names be returned. The request is made via the Browse Flag. If this flag is set to P, then only primary street names are returned. If this flag is set to F, then only principal street names are returned. Any other value causes an error message to be generated. When the principal street names are requested, the primary street names will also be returned since all primary street names are also principal street names. For more information on Primary (P) and Principal (F) street names, please refer to Chapters IV.5 and IV.6.

-

The list of output normalized street names in alphabetical order is returned in the WA1 output field List of Street Names. The number of names returned is returned in packed decimal format in the MSW WA1 output field Number of Street Names in List. In COW WA1 output, the Number of Street Codes and Street Names in List is returned in character format.

-

The List of Street Names is a 320‑byte WA1 output field containing ten 32‑byte sub-fields or ‘slots’ for normalized street names.  Let us call these sub-fields Namefield1 through Namefield10.  (Do not confuse Namefield1 with the WA1 input street name field called Street Name 1.) Each output normalized street name is returned left-justified and blank-filled within its sub-field.  When fewer than ten names are returned, the unused slots are left blank.

-

Function BF returns up to ten names for the given input borough, in alphabetical order, starting with the alphabetically first normalized name that is equal to or greater than the input character string.  If the input string itself is a normalized name, it is returned in Namefield1, followed by the other returned names in Namefield2, Namefield3 etc., if any.  Otherwise, the first name alphabetically greater than the input string for the given borough, if any, is returned in Namefield1, followed by the other returned names, if any.

-

Function BB works similarly but the list of up to ten names it returns ends with the alphabetically first name greater than or equal to the input string.  Notice that, for a given input character string, there is an overlap of one name between the sets of names returned by Functions BB and BF.

-

If Function BB or BF returns ten names (in sub-fields Namefield1 through Namefield10) and the user wishes to continue the browse, additional browse function calls may be issued. For Function BF, prior to the subsequent call, the user primes the WA1 input field called Street Name 1 with the street name that was returned in Namefield10. For Function BB, prior to the subsequent call, the user primes the WA1 input field called Street Name 1 with the street name that was returned in Namefield1.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIII/section08/index.html b/site/chapters/chapterIII/section08/index.html deleted file mode 100644 index cc15437a..00000000 --- a/site/chapters/chapterIII/section08/index.html +++ /dev/null @@ -1,868 +0,0 @@ - - - - - - - - - - - - III.8 Selection of Output Street Names (COW only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter III: Street Name Processing »
  • - - - -
  • III.8 Selection of Output Street Names (COW only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

III.8 Selection of Output Street Names (COW only)

- -

For COW Function calls, the Browse Flag allows users to request the return of primary or principal output street names and street codes (for Functions 1, 1A, 1B, 1E, 1N, 2, 3, 3C and AP). The Browse Flag also allows users to request the return of preferred output street names and street codes (for Functions 1, 1A, 1B. 1E, 2, 3, 3C and AP).

-

Setting the Browse Flag to P will cause the output street name(s) and code(s) that are returned to the user to be the primary name of the input street names or codes.

-

Setting the flag to F will cause the principal name and street code of the input street name to be returned to the user.

-

For Functions 1, 1A, 1B, 1E, 2, 3, 3C and AP when the Geosupport call involves two work areas, the Browse Flag may also be set to R. Setting the flag to R will cause the preferred name and street code of the input street name to be returned to the user. For all of these functions except Functions 1E, the principal Department of City Planning (DCP) preferred street name and code will be returned in the output section of Work Area 1. For Function 1E, the principal Board of Elections (BOE) preferred street name and code will be returned to the user. If the user supplies a value of R for Function 1N, it is rejected with a GRC of 79. Preferred Street Names are described in more detail in Chapter IV.6.

-

Below is a sample where the Browse Flag causes Geosupport to return different street names. -The example is in Manhattan, in the portion of 7 AVENUE (north of Central Park) where ADAM C POWELL BOULEVARD is the Principal Street Name.
-The input address is: 2019 A C POWELL BLVD

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FunctionBrowseOutput
FlagStreet Name
1 (or 1A or 1B)BlankA C POWELL BOULEVARD
1 (or 1A or 1B)P7 AVENUE
1 (or 1A or 1B)FADAM CLAYTON POWELL JR BOULEVARD
1 (or 1A or 1B)RADAM CLAYTON POWELL JR BOULEVARD
1EBLANKA C POWELL BOULEVARD
1EP7 AVENUE
1EFADAM CLAYTON POWELL JR BOULEVARD
1ER7 AVENUE
-

Note that the Board of Elections (Function 1E) prefers a different street name from the Department of City Planning.

-

The Selection of Output Street Names feature is available only with the Character-Only Work Areas (COWs). For more information on Primary (P) and Principal (F) street names, please refer to Chapters IV.5 and IV.6.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/chapterIV/index.html b/site/chapters/chapterIV/chapterIV/index.html deleted file mode 100644 index 1c6d76a3..00000000 --- a/site/chapters/chapterIV/chapterIV/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter IV - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • Chapter IV
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER IV

- -

STREET CODES

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section01/index.html b/site/chapters/chapterIV/section01/index.html deleted file mode 100644 index 1d306b16..00000000 --- a/site/chapters/chapterIV/section01/index.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - - - IV.1 Introduction: Street Codes and Geographic Retrieval Consistency - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.1 Introduction: Street Codes and Geographic Retrieval Consistency
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.1 Introduction: Street Codes and Geographic Retrieval Consistency

- -

This chapter discusses street codes, a set of numeric codes assigned in the Geosupport System to the city’s street names and the names of certain non-street geographic features, place names, pseudo-street names and intersection names (see Chapter III.6). (In this chapter, except where otherwise stated, the terms ‘street’ and ‘street name’ refer to any geographic feature or feature name that has a Geosupport street code assigned to it.) Geosupport’s street code feature provides critical support for many types of applications.

-

The primary purposes of the street code feature are:

-

To enable applications to retrieve or match data from their own files by geographic location in a consistent manner: (See Chapter I.3 for a general discussion of the concept of geographic retrieval consistency.) Some streets have more than one name, and some street names have alternative spellings. Therefore, for applications that must retrieve data by types of geographic locations that are defined in terms of streets, such as addresses and intersections, the consistency of the retrieval is an important design consideration. For example, suppose a record is created in an application file for the Manhattan address 1204 SIXTH AVENUE. It is desirable that the application be able later to retrieve this record whether the user specifies the input address at retrieval time as 1204 SIXTH AVENUE, 1204 6 AVENUE or 1204 AVENUE OF THE AMERICAS. To achieve such consistency, Geosupport five-digit street codes rather than street names should be used in the retrieval key, as explained in this chapter.

-

To obtain ‘preferred’ street names: For streets that have more than one name, the street name that is most appropriate to use for display purposes (such as on application screens, reports and mailing labels) may vary along the street. Street codes can be used to obtain location-specific ‘preferred’ street names for display, as explained in Chapter IV.6.

-

Secondary purposes of the street code feature are:

-

To improve execution efficiency via street code input : There is an optional feature in which applications can pass input streets to Geosupport in the form of street codes rather than street names. This feature is useful when processing an application file that already contains street codes retained from a previous pass through Geosupport. The use of this feature can increase the execution efficiency of batch applications by sometimes allowing Geosupport to circumvent street name normalization and street code retrieval processing.

-

To save application disk storage space: Storing street codes, instead of street names, in an application file saves application disk storage space. In many applications, however, doing so would necessitate increased programming and increased execution time overhead to make additional Geosupport calls to obtain street names for display. Note, however, that with Extended Work Areas, many of the functions return both street codes and street names, thus additional programming is not needed.

-

The use of Geosupport street codes in an application does complicate the design and development of the application. It also adds a maintenance burden to the application, since street codes stored in an application file must be periodically resynchronized to reflect street code assignment changes effectuated in new Geosupport releases. In view of this overhead, the secondary purposes listed above are not likely by themselves to justify incorporating the use of street codes in an application.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section02/index.html b/site/chapters/chapterIV/section02/index.html deleted file mode 100644 index 3909c86c..00000000 --- a/site/chapters/chapterIV/section02/index.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - IV.2 Street Name Relationships: Aliases and Locally Valid Street Names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.2 Street Name Relationships: Aliases and Locally Valid Street Names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.2 Street Name Relationships: Aliases and Locally Valid Street Names

- -

GSS assigns street codes in a way that encodes certain information about street names. Specifically, a portion of the street code signifies whether an alias relationship exists between two street names; and a portion of the street code signifies whether a street name is only locally valid. These aspects of street code assignment can have implications for application design.

-

Two normalized street names are called aliases of each other if they are either alternative names of the same street (such as SIXTH AVENUE and AVENUE OF THE AMERICAS in Manhattan) or any portion thereof, or are spelling variants of the same street name (such as SIXTH AVENUE and 6 AVENUE, or MAC DOUGAL STREET, MACDOUGAL STREET and MCDOUGAL STREET ).

-

Geosupport is designed to recognize all commonly accepted street name aliases, and through the structure of its street code assignments, to identify whether two street names are aliases for the same street.

-

Locally valid street names are street names that are only valid ‘locally’, that is, for a portion of a street. Almost all streets that have locally valid street names also have at least one name that is valid for the entire street. An example is Seventh Avenue in Manhattan, which has the following names:

-

• The names 7 AVENUE and SEVENTH AVENUE are valid for the entire street.

-

• POWELL BOULEVARD and various aliases (ADAM CLAYTON POWELL JR BOULEVARD, A C POWELL BOULEVARD etc.) are valid only for the portion of the street north of Central Park.

-

• FASHION AVENUE is valid only for a portion of the street in the Garment District.

-

• SAINT VINCENTS SQUARE and ST VINCENTS SQUARE are valid only for a small stretch of the street in the vicinity of the former Saint Vincent’s Hospital.

-

All of the above names are aliases of each other, since they are all names for the same street or a portion thereof. The names in the first set are valid for the entire length of the street; the other names are only valid locally. Notice that two street names can be considered aliases of each other even if there are no locations at which both names are valid. For example, FASHION AVENUE and SAINT VINCENTS SQUARE are aliases, even though there is no location where both names are valid.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section03/index.html b/site/chapters/chapterIV/section03/index.html deleted file mode 100644 index 1523d898..00000000 --- a/site/chapters/chapterIV/section03/index.html +++ /dev/null @@ -1,945 +0,0 @@ - - - - - - - - - - - - IV.3 Five-Digit and Ten-Digit Street Codes - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.3 Five-Digit and Ten-Digit Street Codes
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.3 Five-Digit and Ten-Digit Street Codes

- -

To each normalized spelling of a full street name within a borough, a ten-digit number called the ten-digit street code (10SC) is assigned.Partial street names (see Chapter III.4) are assigned the same 10SC values as the full streets names from which they were generated.

-

A 10SC value is meaningful only within a borough, and is generally preceded by a borough code to form an eleven-digit item called the borough and ten-digit street code (B10SC).If two street names in different boroughs happen to have the same 10SC value, that does not signify any relationship between those streets. Streets in two different boroughs are always considered to be different streets, even if the two streets have the same name, and even if they form a single physically continuous street running across the borough boundary. For example, Atlantic Avenue crosses the Brooklyn-Queens border. Geosupport treats the Brooklyn and Queens portions of Atlantic Avenue as two different streets, each with its own B10SC value (‘31343001010’ and ‘42889001010’, respectively).

-

The first five digits of the 10SC are called the five-digit street code (5SC). The 5SC has a fundamental significance: the 5SC values of two street names in a borough are identical if and only if those names are aliases for the same street . Positions six through ten of the 10SC are discussed in Chapter IV.5.

-

Like the 10SC, the 5SC is meaningful only when accompanied by a borough code; when concatenated, the borough code and 5SC form a six-byte item called the borough and five-digit street code (B5SC). The B5SC simply consists of the first six bytes of the B10SC. For MSWs only, Geosupport sometimes represents the B5SC as a four-byte packed decimal item, referred to as the packed borough and five-digit street code (PB5SC).

-

Conceptually, a B10SC value represents a particular (normalized) spelling of a particular name for a street within a borough, while a B5SC value represents the street itself and is shared by all the street’s aliases. Consider the following examples of Manhattan street names, grouped by street, i.e. by five-digit street code. (Note: ‘1’ is the borough code for Manhattan.)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Normalized) Street NameB10SC =B +5SC +Remainder of 10SC
5 AVENUE1104100101011041001010
FIFTH AVENUE1104100101011041001020
MUSEUM MILE1104100102011041002010
6 AVENUE1105100101011051001010
SIXTH AVENUE1105100104011051001040
AVENUE OF THE AMERICAS1105100103011051001030
7 AVENUE1106100401011061004010
SEVENTH AVENUE1106100402011061004020
FASHION AVENUE1106100201011061002010
POWELL BOULEVARD1106100108011061001080
A C POWELL BOULEVARD1106100101011061001010
7 AVENUE SOUTH1107100101011071001010
SEVENTH AVENUE SOUTH1107100102011071001020
EAST 21 STREET1174100101011741001010
EAST 211174100101011741001010
WEST 21 STREET1341900101013419001010
WEST 211341900101013419001010
-

The above example illustrates several aspects of street code assignment. Notice that alias names of the same street have the same B5SC value. Notice that EAST 21 STREET and WEST 21 STREET have different B5SC values, which amounts to treating them as names of two different streets (as indeed they must be treated, since they have address numbers in common). Similarly, 7 AVENUE and 7 AVENUE SOUTH are treated as two different streets. Notice that partial street names have the same B10SC’s as the full names from which they were generated, such as EAST 21 and EAST 21 STREET.

-

By using B5SC’s in the retrieval key instead of street names, applications can achieve consistent retrieval or matching of application data by types of locations involving streets. We outline below how an application might be designed for consistent retrieval or matching by address, which requires a retrieval key consisting of a B5SC and a normalized address number (discussed in Chapter V.2). When the type of location being retrieved involves more than one street, such as intersections, the key would be designed to contain a B5SC field for each street.

-

At record creation time: During the initial creation of a record in the application file, the application calls Geosupport to obtain the B5SC corresponding to the input street name, as well as the normalized form of the input address number. The application uses these items to form a geographic retrieval key, which it stores in the new application record. Two files that contain such a key can be matched directly on the key, resulting in a match that will be consistent, i.e. independent of the use of street name aliases.

-

At retrieval time: When retrieving data from the application file by address, the application again calls Geosupport, obtaining the B5SC and normalized address number corresponding to the input street name and address number. The application formats these items into a search key, and reads the application file using this key. The use of the B5SC in the key instead of the street name allows the retrieval to be consistent, i.e. independent of which alias for the street is passed as input.

-

Geosupport has three display functions, Functions D, DG and DN, which can be used to obtain street names for display in application screens, reports, mailing labels etc. These functions process five-, seven- and ten-digit street code input, respectively . (Note: seven-digit street codes are discussed in Chapter IV.5). Chapter IV.6 discusses the display functions.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section04/index.html b/site/chapters/chapterIV/section04/index.html deleted file mode 100644 index 4b93957e..00000000 --- a/site/chapters/chapterIV/section04/index.html +++ /dev/null @@ -1,945 +0,0 @@ - - - - - - - - - - - - IV.4 Resynchronization of Street Codes Stored in User Files - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.4 Resynchronization of Street Codes Stored in User Files
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.4 Resynchronization of Street Codes Stored in User Files

- -

When designing an application in which street codes, either B5SCs or Bl0SCs, are stored in an application file, the user must consider the important issue of resynchronizing those street codes with respect to new Geosupport releases. This issue arises because it is sometimes necessary for the GSS staff to change the B5SC value (and therefore also the Bl0SC value) that is assigned to a street name. This would be necessary if they determine that two street names that currently have different B5SC values (signifying that they are names of two different streets) are in reality aliases for the same street and therefore must be made to have the same B5SC value. Conversely, the GSS staff might determine that two names that currently have the same B5SC value are actually names of two different streets, and therefore must be made to have different B5SC values. Both of these types of problems can be rectified only if the B5SC value, and therefore the B10SC value, assigned to one or more street names is changed.

-

Whenever a new Geosupport release is implemented that includes any changes to street codes assigned to street names, it is essential for users to make the corresponding changes to all occurrences of those street codes stored in application files. This street code ‘resynchronization’ should be timed to be as simultaneous as possible with the implementation of the new Geosupport release. User failure to resynchronize the street codes stored in an application file for each new Geosupport release could have serious negative consequences for the application. Geographic searches in the application file in which the street code is used as part of the retrieval key might fail to retrieve some application records or might retrieve inappropriate ones. Matching of records within an application file or between files by geographic location could fail, or could result in an erroneous match. Also, the display functions D, DG and DN could return inappropriate street names for some street code values.

-

Prior to the implementation of each new Geosupport release, a Street Name/Street Code Change Bulletin is sent to known Geosupport users3 listing the street code changes being made in the new release. Also, as part of each release, a Geosupport file called the Street Code Change File (SCCF) is created and made accessible to users. If an application file contains B10SCs, the user can utilize the SCCF to develop an automated batch resynchronization procedure. Of course, when the stored B10SCs are updated, that also updates the B5SCs that comprise the first six bytes of the B10SCs. (If for some reason there is a separate B5SC field in the application file in addition to a B10SC field, the B5SC field must be overlaid with the new value using the first six bytes of the new B10SC value.) Resynchronizing stored B10SCs using the SCCF is the optimal resynchronization method. Users are strongly urged, when designing new applications in which street codes are to be stored in application files, to design those files so they contain B10SCs, either in addition to or instead of street names, and to write a batch street code resynchronization program that uses the SCCF.

-

In existing applications in which B10SCs are not currently stored in the application file, we recommend that the file be enhanced to contain B10SCs, enabling a resynchronization procedure that uses the SCCF to be developed. If the file currently contains street names, B10SCs can be inserted into it easily using Function 1N (discussed in Chapter III.2). If only B5SCs are currently stored in the file, not street names, a more difficult one-time effort would be required to insert B10SCs into the file; the methodology for doing this would be similar to the resynchronization procedure using B5SCs described below. For application files that do not currently contain B10SCs and cannot be enhanced to contain them, the SCCF cannot be used to resynchronize the B5SCs, and other resynchronization methods must be used.

-

The various methods for resynchronization are discussed below.It is the user’s responsibility to develop a street code resynchronization procedure for each application file in which street codes are stored, and to run that procedure as soon as possible after each new Geosupport release is placed into production.

-

Resynchronization procedure using B5SCs

-

When only B5SCs are stored in the application file, not the original input street names nor B10SCs, it is not possible to develop a fully automated procedure to resynchronize those B5SCs. Instead, records in the application file that are affected by street code changes (as listed in the Street Name/Street Code Change Bulletin) must be found and individually examined and updated. This is because of the inherent ambiguity of a B5SC value, which can be associated with more than one street name. Specifically, it is possible that two or more street names that had the same B5SC value prior to the new Geosupport release no longer have the same value in the new release. When this occurs, the user cannot resynchronize the old B5SC value mechanically, but must determine, for each occurrence of the old B5SC value in the application file, which street name that occurrence represents in order to determine what the new B5SC value should be for that occurrence. In order to make that determination, the user would have to individually research each record containing such a B5SC value, using any information that could help to pinpoint the location and thus to determine whether the B5SC value should be changed and what the new value should be. Such information as an address, cross streets, a ZIP code, a community district or other district identifier, or tax block and tax lot identifiers could be helpful for this purpose. Because this procedure is not automatic, it is the least desirable method.

-

Resynchronization procedure using street names

-

If the application file contains the original input street names in addition to B5SCs, then the user can develop a fully automated batch procedure for resynchronizing the B5SCs, albeit a less than optimal one, as follows. The user can write a batch program that calls Function 1N to obtain, for each original input street name, the B5SC value currently (in the new Geosupport release) assigned to that name. The program would process every record in the application file, automatically replacing the B5SC value already stored in each record with the current B5SC value obtained from Function 1N. The program would have to provide for handling any Function 1N rejects, that is, street names that are no longer valid in the new Geosupport release.

-

Resynchronization procedure using B10SCs

-

Using stored street names to resynchronize B5SCs is preferable to using just the B5SCs themselves, because the former method can be automated while the latter cannot. Nevertheless, the former method is highly inefficient, because it necessitates processing every record in the application file, even though in each Geosupport release only a tiny portion (if any) of the city’s street names have street code assignment changes.

-

Storing B10SCs in the application file, and using the SCCF to resynchronize them, is the optimal approach to street code resynchronization. The ambiguity intrinsic to B5SCs does not exist for B10SCs. Since every B10SC value is assigned to a single street name only, stored B10SCs can be resynchronized by automatically replacing every occurrence of each changed B10SC value with the proper new value, with no research required to determine the latter.

-

GSS creates a new release of the SCCF as part of each new Geosupport release. The following DD statement gives users batch access to the SCCF:

-

//ANYDDNM DD DSN=A030.STREET.SCCF,DISP=SHR

-

The SCCF is a sequential file with 80-byte records. The SCCF has a single header record containing file identification information, followed by a set of data records. The layouts of the header and data records are as follows:

-

Street Code Change File (SCCF) Record Layouts

- -

SCCF Header Record

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositionsComments
Header constant421 - 42Literal constant: ‘GEOSUPPORT SYSTEM FOREGROUND HEADER RECORD’
DDNAME of File843 - 50Literal constant: ‘SCCF ’
Geosupport Release Identifier451 - 54e.g. ‘15B ‘ (4th byte is generally blank)
Date of File Creation655 - 60yymmdd format
Filler2061 - 80
-

-

SCCF Data Records

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositions
Old B10SC111 - 11
Filler512 - 16
New B10SC1117 - 27
Filler528 - 32
Borough Code133
Filler134
Street Name3235 - 66
Filler1467 - 80
-


-

-(The fields Borough Code and Street Name are in the SCCF records for informational purposes only and are not needed for synchronization.)

-

In an application file containing stored B10SCs, the first six bytes of the B10SC field (or fields, if the geographic location represented in the record involves more than one street, such as records for intersections) constitute the B5SC field, which could be defined as part of a key for consistent geographic retrieval; therefore, a separate B5SC field would not be needed for that purpose. The full B10SC field could also itself be defined as a direct access key, for use by the resynchronization program.

-

The resynchronization program would read the SCCF sequentially. For each SCCF record, the program would read the application file directly using the old B10SC value in the SCCF record as the search key. All occurrences of this B10SC value found in the application file would be replaced by the new B10SC value from the SCCF record. (Note: most application files contain multiple records for the same street. Hence, if the application file is a VSAM file, in most applications, the B10SC field(s) must be defined as an alternate key(s), not as the primary key, since several records could have the same key values. In addition, since the resynchronization program modifies a key value, the UPGRADE option should be specified in the DEFINE ALTERNATE INDEX component of the IDCAMS control file. Similar considerations might apply for other types of direct access files.)

-

Summary of Street Code Resynchronization

-

The resynchronization of street codes stored in an application file is an important issue for application design. If the application must retrieve records by geographic location, it is necessary to use B5SCs in the retrieval key in order to make the retrieval geographically consistent, and therefore B5SCs must be stored in the application file. Since the street codes that are assigned to some street names can be changed in new Geosupport releases, these stored B5SCs (and/or stored B10SCs, if any) must be synchronized to reflect these changes. However, as we have seen, the synchronization of B5SCs cannot be fully automated unless either the originally entered street names or the B10SCs corresponding to those names are stored in the record.

-

Resynchronization using street names is inefficient, since every street name in the application file would have to be processed. The best alternative to achieve resynchronization efficiency is to store B10SCs in the application file. In that case, the first six bytes of the B10SC field, which is the B5SC, could be defined as part of a geographic retrieval key. For resynchronization, the full B10SC could be used in conjunction with the Street Code Change File (SCCF). The user could develop a highly efficient procedure in which only those application records containing B10SC values that are in SCCF records, i.e., that have been changed in the new Geosupport release, would be accessed and updated.

-

In view of the above considerations, the following design guidelines are strongly recommended with respect to resynchronizing street codes stored in application files:

-

• When an application is being designed in which there will be a file to which consistent street-related geographic access is required, then the file should be designed to contain B10SCs obtained from Geosupport.

-

• Application programs that access the file geographically should be written to use the first six bytes of the B10SC field, which constitute the B5SC, in the geographic retrieval key. In existing application files that contain B5SCs but not B10SCs, the B5SC field should be enhanced into a B10SC field. The B5SC portion of the B10SC should continue to be used for geographic retrieval. The entire B10SC field should be defined as a direct access key, to support efficient automated street code resynchronization.

-

• The user should develop a batch procedure to resynchronize the B10SCs stored in the file, using the SCCF. An optimal procedure would access directly those records in the application file that contain B10SCs for which there are changes in the new Geosupport release (i.e., for which SCCF records exist). The user should run this procedure routinely whenever a new Geosupport release is implemented.

-

____________________________

- -3 To be added to this list, please send a request to GSS_Feedback.nyc.gov - -

-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section05/index.html b/site/chapters/chapterIV/section05/index.html deleted file mode 100644 index 6be5109a..00000000 --- a/site/chapters/chapterIV/section05/index.html +++ /dev/null @@ -1,959 +0,0 @@ - - - - - - - - - - - - IV.5 Seven-Digit Street Codes: Local Street Name Validity, Local Group Codes - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.5 Seven-Digit Street Codes: Local Street Name Validity, Local Group Codes
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.5 Seven-Digit Street Codes: Local Street Name Validity, Local Group Codes

- -

This section discusses local street name validity, the phenomenon that some street names are valid for only a portion of the street. (In fact, there are even a few New York City streets that do not have a single street name that is valid for the street’s full length.) A street that illustrates the phenomenon of local street name validity is Seventh Avenue in Manhattan. The names 7 AVENUE and SEVENTH AVENUE are valid for the full length of the street. The name ADAM C POWELL BOULEVARD and its various spelling variants (POWELL BOULEVARD, A C POWELL BOULEVARD etc.) are valid only for the portion of the street north of Central Park. The name FASHION AVENUE is valid in the Garment District. The names SAINT VINCENTS SQUARE and ST VINCENTS SQUARE are valid for a portion of the street in the vicinity of the former Saint Vincent’s Hospital.

-

All of the Geosupport functions that accept street name input, except for Function 1N, perform local street name validation, which verifies whether the input street name is specifically valid for the input location, and if it is not valid, returns up to four aliases of the invalid name that are valid for the given location. Local street name validation is performed automatically when a two-work-area call is made, with no special user action required to invoke it.

-

If, in a two-work-area call, the input street name is not valid for the given input location, Geosupport takes the following actions:

-

• The call is rejected with a Geosupport Return Code of ‘50’ and an appropriate Message.

-

• Up to four locally valid street name aliases of the invalid street name are returned in the WA1 List of Street Names field. (Specifically, the names that are returned are the principal street name of each local street name group that is valid for the given location. The concepts of ‘principal street name’ and ‘local street name group’ are discussed below and in the next Chapter.)

-

• The Reason Code contains the number of names returned in the List of Street Names.

-

• For MSW: the WA1 Number of Street Names Field contains the number of names returned in the List of Street Names, in packed decimal format. For COW: the WA1 Number of Street Codes and Names Field contains the number of names returned in character decimal format.

-

For example, the address 375 7 AVENUE in Manhattan is located south of Central Park, so the street name ADAM C POWELL BOULEVARD is invalid for this address. Therefore, a two-work-area call to Function 1E (for example) with the input address as 375 ADAM C POWELL BOULEVARD would result in a GRC ‘50’ rejection and the return of the locally valid alias street name 7 AVENUE in the List of Street Names. On the other hand, 2019 7 AVENUE is north of Central Park, so 2019 ADAM C POWELL BOULEVARD is a valid address, and is accepted by Function 1E. Similarly, a two-work-area call to Function 2 would reject the intersection of ADAM C POWELL BOULEVARD and WEST 56 STREET with a GRC of ‘50’ and the return of the locally valid alias street name 7 AVENUE in the List of Street Names.

-

Local Group Codes (LGCs)

-

Local street name validity is reflected in the sixth and seventh digits of the 10SC, which constitute the Local Group Code (LGC). Street codes are assigned in such a way that two names for a street have the same LGC value if and only if those names are valid for the same portion (possibly all) of the street. Note that if two names are valid for overlapping portions of a street, or one is valid for a subset of the portion where the other is valid, then those names are in different local groups. In order to be in the same local group, names must be valid for exactly the same portion of the street.

-

Conceptually, the set of all street names for a given street can be viewed as being partitioned into subsets called ‘local street name group’ each group identified by its LGC value and consisting of all the names that are valid for a particular portion (possibly all) of the street. (Most New York City streets only have one local street name group.)

-

A LGC value is meaningful only relative to its B5SC value. The B5SC identifies the street, and the LGC identifies a local street name group for the given street, that is, the group of all names for the given street that are valid for a particular portion (possibly all) of the street. The B5SC concatenated with the LGC, that is, the first eight bytes of the B10SC, constitute the Borough and Seven-Digit Street Code (B7SC). Two street names have the same B7SC value if and only if they are names for the same street (same B5SC value) and are valid for the same portion of the street (same LGC value relative to the given B5SC value).

-

Street Name Codes (SNCs)

-

The final three digits of the B10SC are called the Street Name Code (SNC). Thus, the B10SC consists of the concatenation of the borough code, 5SC, LGC and SNC. The SNC serves simply to serialize the street names within a local group, so that the full B10SC is unique to a specific spelling of a specific street name.

-

Consider the example of Seventh Avenue in Manhattan. The following is a list of many of Geosupport’s normalized aliases for this street, sorted by B10SC. The dashed lines highlight the four local street name groups.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
STREET NAMEB10SC =BORO+5SC +5SC +5SC +
A C POWELL BOULEVARD1106100101011061001010
AC POWELL BOULEVARD1106100102011061001020
ADAM C POWELL BOULEVARD1106100103011061001030
ADAM POWELL BOULEVARD1106100104011061001040
ADAM POWELL JR BOULEVARD1106100105011061001050
ACP BOULEVARD1106100106011061001060
A C P BOULEVARD1106100107011061001070
POWELL BOULEVARD1106100108011061001080
ADAM CLAYTON POWELL BOULEVARD1106100109011061001090
ADAM CLAYTON POWELL JR BOULEVARD1106100110011061001100
FASHION AVENUE1106100201011061002010
SAINT VINCENTS SQUARE1106100301011061003010
ST VINCENTS SQUARE1106100302011061003020
7 AVENUE1106100401011061004010
SEVENTH AVENUE1106100402011061004020
-

All of the names in the above list are aliases of each other, and therefore their B10SCs have the same B5SC value, ‘110610’. The first ten names in the list, A C POWELL BOULEVARD and its nine spelling variants, constitute the group of names valid only for the part of the street north of Central Park; this local group is identified by LGC value ‘01’ and B7SC value ‘11061001’. The name FASHION AVENUE is valid only for the portion of the street in the Garment District, and constitutes the sole member of local group ‘02’. Local group ‘03’ consists of the names SAINT VINCENTS SQUARE and ST VINCENTS SQUARE, which are valid only for a small portion of the street in the vicinity of the former Saint Vincent’s hospital. Finally, the names 7 AVENUE and SEVENTH AVENUE are valid for the entire street and constitute local group ‘04’.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section06/index.html b/site/chapters/chapterIV/section06/index.html deleted file mode 100644 index 8ebb71a1..00000000 --- a/site/chapters/chapterIV/section06/index.html +++ /dev/null @@ -1,854 +0,0 @@ - - - - - - - - - - - - IV.6 Functions D, DG and DN; Primary, Principal and Preferred Street Names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.6 Functions D, DG and DN; Primary, Principal and Preferred Street Names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.6 Functions D, DG and DN; Primary, Principal and Preferred Street Names

- -

This section discusses Functions D, DG and DN. These functions are referred to as the Geosupport ‘display functions’ because, although they do not actually display anything themselves, they return street names that applications can use to format geographic locations for display on reports, screens, mailing labels, work orders for field work, etc. Functions D, DG and DN process input five-, seven- and ten-digit street codes (accompanied by borough codes), respectively. (The display functions can also be used to obtain address numbers in display format. This is discussed in Chapter V.2)

-

The selection of street names for display is a significant consideration for any street that has more than one local street name group. Given a specific location (i.e., an address, intersection, street segment or blockface) on a street, applications can use a simple procedure involving a call to Function DG to obtain a street name that is considered ‘optimal’ to display for that location, called the ‘preferred street name’. Functions D and DN return street names that are of more specialized and limited use.

-

The display functions do not have a Work Area 2, and are accessed via one-work-area calls only. (If a second work area is mistakenly supplied, it is ignored.) Work Area 1 contains fields for the input street codes and for the output street names. The street names that the display functions return are full street names (never partial street names), normalized in accordance with the SNL and Street Name Normalization Format Flag values that are in effect for the given call.

-

Input Data

-

For the convenience of applications, each of the display functions can process up to three input street codes in a single call. If there are multiple input street codes, they are processed independently of each other and are not treated as though they were specifying a geographic location such as an intersection. (Similarly, if there is both an input street code and an input address number, they are not treated as though they were specifying an address.) In particular, a successful call to a display function does not imply the validation of the input data as a geographic location. Furthermore, the output street names returned by the display functions are not by themselves customized to be location-specific. Function DG must be used in conjunction with a call to another function to obtain a location-customized preferred street name.

-

For Function D, there are two different sets of fields in Work Area 1 that applications can use to pass input street code values, as follows.

-

• For MSW calls, if the input street codes are in the form of PB5SCs, the 4-byte input fields that are labeled PB5SC-1, PB5SC-2 and PB5SC-3 in the Work Area 1 layout in Appendix 2 are used.

-

• For MSW or COW calls, if the input street codes are in the form of B5SCs, the 11-byte input fields labeled B10SC-1, B10SC-2 and B10SC-3 are used. The input B5SC values, which are 6 bytes long, must be passed in these fields left-justified, and the contents of these fields beyond the first six bytes are ignored.

-

If an MSW application passes values to Function D in both sets of input street code fields (presumably inadvertently), the PB5SC fields are processed, and the B10SC fields are ignored.

-

For Function DG and DN, only the fields B10SC-1, B10SC-2 and B10SC-3 are used. In the case of Function DG, input 8-byte B7SC values must be passed in these fields left-justified, and the contents of these fields beyond the first eight bytes are ignored.

-

In a call to any of the display functions, Geosupport will process all three of the input street code fields, even if some of the fields are blank. If a street code field is blank, Geosupport will simply skip it and process the next field. For example. if B10SC-1 is blank, but B10SC-2 and B10SC-3 are not blank, they will be processed. The output street names will appear in the corresponding street names fields, viz. Street Name-2 and Street Name-3. Similarly, if B10SC-1 is not blank but B10SC-2 is blank, B10SC-3 will still be processed and the output street names will appear in Street Name-1 and Street Name-3. An error message is generated only if all the input street code fields are blank. Similar conditions hold for the PB5SC fields.

-

Output Data

-

The output street names that the display functions return are as follows:

-

Function D is used to obtain, for an input B5SC value, or PB5SC value (MSW only), the primary street name for the given street.  The primary street name is one alias, that is, one spelling of one street name, that GSS has designated, from among all the aliases for the street, as ‘best’ representing the street as a whole. (Note: The designation of primary street names has no ‘official’ status, and of necessity sometimes involves an element of arbitrariness.) The primary street name is not customized to be the ‘best’ name for any particular location along the street; it is simply the street name deemed most suitable to display if a single street name must be used to represent the entire street. Most applications do not require the services of Function D. However, some applications may, for example, have a requirement to display a consistent street name for all locations that are on the same street, so that it will be clear to users that all the displayed locations do refer to the same street. When possible, GSS designates as primary a street name that is valid for the entire length of the street. However, it is important to note that there are a few streets that do not have any such names. On such streets, there are locations where the street’s primary street name is invalid. An example exists in Queens. 103 Street and William Clarke Place share the same B5SC viz.419690, and 103 Street is the primary street name. However, 700 William Clarke Place is a valid address and 700 103 Street is invalid because 103 Street is not valid at that location.

-

Function DG is used to obtain, for an input B7SC value, the principal street name of the corresponding local street name group. This is a street name belonging to the given local street name group that GSS has designated as ‘best’ representing that group of street names, that is, the name that has been deemed to have the most ‘standard’ spelling. (As with primary street names, the designation of principal street names has no ‘official’ status, and of necessity sometimes involves an element of arbitrariness.) The most important use of Function DG is to retrieve preferred street names, as discussed below.

-

Function DG is used to obtain, for an input B10SC value, the full street name spelling to which that B10SC value uniquely corresponds. Function DN is useful mainly in certain atypical applications that store ten-digit street codes in an application file, but do not store the input street names from which the street codes were originally obtained, and the application has a requirement (for legal purposes, for example) to display those originally-entered street names. Such applications can use Function DN to obtain the original name from the corresponding stored B10SC value (although the name will be provided in normalized form.) Application designers can obviate the need to make Function DN calls by retaining in the application file either the original input street name or that name in normalized form.

-

The display functions return one output street name for each valid input street code. For each input street code that is invalid, the display functions return all question marks (the character ‘?’) in the corresponding output street name field. In addition, if at least one input street code is invalid, the GRC value ‘64’ is issued along with an appropriate Message.

-

Preferred Street Names

-

As explained above, the primary street name is not necessarily the ‘best’ name to use to express any particular location along a street. Furthermore, although each principal street name is the ‘best’ representative of its local group of street names, there may be more than one local group valid at a particular location.

-

COW applications can retrieve preferred street names easily. Given a specific address, street intersection, street segment or blockface along a street, COW applications can use Function 1, 1A, 1B, 2, 3 or 3C, respectively, with the Work Area 1 Browse Flag set to ‘R’ to obtain the DCP-preferred street name(s) specific to that location. For a description of the Browse Flag, see Section III.8 Selection of Output Street Names (COW only).

-

Note: In support of the unique requirements of the New York City Board of Elections’ voter registration application, COW Function 1E with Browse Flag set to ‘R’ will return the BOE-preferred street. For most addresses, the DCP-preferred LGC and the BOE-preferred LGC are identical.

-

MSW application may also obtain preferred street names corresponding to the input. Given a specific address, street intersection, street segment or blockface along a street, MSW applications can use Function 1, 1A, 1B, 2, 3 or 3C, respectively, in conjunction with Function DG, to obtain the DCP preferred street name specific to that location, as follows:

-
    -
  1. -

    Issue a two-work-area call to the appropriate location-processing function (Function 1, 2, 3 or 3C), to obtain an item called the ‘DCP-preferred LGC’, which all of these functions return in WA2. The DCP-preferred LGC represents the blockface-specific local street name group that GSS has designated from among those local groups that are valid for the given blockface as being the ‘best’ group of street names to display for that blockface. (Note: In support of unique requirements of the New York City Board of Elections’ voter registration application, Function 1E returns an item called the BOE-preferred LGC in place of the DCP-preferred LGC. For most addresses, the DCP-preferred LGC and the BOE-preferred LGC are identical.)

    -
  2. -
  3. -

    Concatenate the DCP-preferred LGC to the B5SC to form a B7SC.

    -
  4. -
  5. -

    Call Function DG with the above B7SC as input to obtain the preferred street name. The principal street name of the DCP-preferred local group is the preferred street name for the given location.

    -
  6. -
-

For example, suppose the original user input address to an application is 2019 SEVENTH AVENUE in Manhattan. This address is within the portion of the street north of Central Park, where two local groups are valid: local group 1 (LGC = ‘01’), which consists of the name POWELL BOULEVARD and its spelling variants, and local group 4 (LGC = ‘04’), which consists of the names 7 AVENUE and SEVENTH AVENUE. GSS has designated local group 1 as the DCP-preferred LGC for the portion of the street north of Central Park, and has also designated ADAM C POWELL BOULEVARD as the principal name of this local group.

-

A COW application obtains the preferred street name for the address 2019 SEVENTH AVENUE in Manhattan by issuing a Function 1 call with the Work Area 1 Browse Flag set to ‘R’. Geosupport returns the DCP-preferred street name, ADAM CLAYTON POWELL JR BOULEVARD. The associated B10SC, 11061001100, will also be returned. (Function 1E will return 7 AVENUE and 11061004010 correspondingly, since BOE chose 7 Avenue as the preferred street name.).

-

An MSW application can obtain the preferred street name for the address 2019 SEVENTH AVENUE in Manhattan, by performing the procedure outlined above, as follows:

-

• Function 1 is called with the input address 2019 SEVENTH AVENUE. Function 1 returns in WA1 the B10SC value of the input street name, SEVENTH AVENUE, namely, the value ‘11061004020’. The first six positions, ‘110610’, constitute the street’s B5SC value. Function 1 also returns, in WA2, the DCP-preferred LGC value for this address, which is ‘01’.

-

• The application concatenates the B5SC value with the DCP-preferred LGC value, forming the B7SC value ‘11061001’.

-

• The application calls Function DG using this B7SC value as input, obtaining ADAM C POWELL BOULEVARD as the preferred street name corresponding to the address 2019 SEVENTH AVENUE. The application may now display the address as 2019 ADAM C POWELL BOULEVARD.

-

In summary, the MSW application began with the address 2019 SEVENTH AVENUE, and by following the outlined procedure, in which first Function 1 and then Function DG was called, the application formed the ‘preferred’ address 2109 ADAM C POWELL BOULEVARD for display.

-

If either the COW or MSW application had started with the address 375 SEVENTH AVENUE, which is located south of Central Park, then either procedure would have resulted in the address 375 7 AVENUE, since 7 AVENUE is the principal name of the DCP-preferred local group for all locations on Seventh Avenue south of Central Park.

-

Please note: There is a new switch defined in COW Work Area 1 that will allow a user to call Geosupport and get a new, extended Work Area 2 for various functions. Functions 1, 1E, 1A, 3, 3C, BL and BN have extended work areas. These extended Work Areas contain Street Names of cross streets, etc. in addition to Street Codes. Users will rarely have to make separate D, DG, or DN calls (as explained above) to get the street names.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section07/index.html b/site/chapters/chapterIV/section07/index.html deleted file mode 100644 index 23a1f0e9..00000000 --- a/site/chapters/chapterIV/section07/index.html +++ /dev/null @@ -1,854 +0,0 @@ - - - - - - - - - - - - IV.7 Street Codes and Non-Addressable Place Names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.7 Street Codes and Non-Addressable Place Names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.7 Street Codes and Non-Addressable Place Names

- -

This section discusses the manner in which street codes are assigned to Non-Addressable Place names (NAPs). Every NAP is a name of a simplex, a complex or a constituent entity of a complex (see Chapter III.6). By definition, every simplex and every complex has a NAP. A constituent entity of a complex may or may not have a NAP, and may or may not have one or more addresses. (A building that has neither an address nor a NAP is called a Non-Addressable Un-named Building (NAUB). NAUBs can be identified only by their Building Identification Numbers (BINs). NAUBs and BINs are discussed in detail in Chapter VI.)

-

Like conventional street names, some NAPs have aliases (alternative names and spelling variants). For example, CABRINI MEDICAL CENTER and CABRINI MED CENTER are spelling variants of the same name; AVERY FISHER HALL and PHILHARMONIC HALL are alternative names of the same geographic feature. As with conventional street names, the B10SC values assigned to NAP aliases have the same B5SC value.

-

In the case of a complex and its constituent entities, the assignment of street codes is analogous to the methodology used for streets. In general (the exceptional case is described below), the names of the entire complex and the names of its constituent entities are all treated as aliases of each other (that is, their B10SCs have the same B5SC value), since they are all names of the same geographic feature (the entire complex) or parts thereof (the constituent entities of the complex). Within the umbrella of this B5SC value, the NAPs that are valid for each portion of the complex, namely, either the entire complex or a particular constituent entity, are assigned to a different local group. Thus, the entire complex has its own distinct B7SC value, and each constituent entity has its own distinct B7SC value.

-

The following NAPs associated with Manhattan’s Lincoln Center complex illustrate the assignment of street codes to NAPs associated with a complex.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
NAPB10SC
LINCOLN CENTER125006 01 010
LINCOLN CTR FOR THE PERFRMG ARTS125006 01 030
NY STATE THEATER125006 02 020
NEW YORK STATE THEATER125006 02 040
N Y STATE THEATER125006 02 060
AVERY FISHER HALL125006 03 010
PHILHARMONIC HALL125006 03 030
-

All of the NAPs associated with Lincoln Center (of which only a sample is listed above) have the same B5SC value, 125006. Within this B5SC value, the LGC value 01 is assigned to the NAPs of the complex as a whole, LINCOLN CENTER and LINCOLN CTR FOR THE PERFRMG ARTS (and other variants not listed). The LGC value 02 is assigned to NY STATE THEATER and variants thereof, and so on. An application can use the B5SC value, 125006, as the retrieval key to retrieve all the records in an application file for the NAPs associated with Lincoln Center, both records for the complex as a whole and records for its constituent entities. If only the records for the complex as a whole are to be retrieved, the application would use the B7SC value 12500601. If only the records for the New York State Theater are to be retrieved, the application would use the B7SC value 12500602, and so on. (Note that none of these retrievals would retrieve any records stored by address, since the street name or addressable place name in an address would have a different B5SC value than the one assigned to the NAPs.)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section08/index.html b/site/chapters/chapterIV/section08/index.html deleted file mode 100644 index 855bcaea..00000000 --- a/site/chapters/chapterIV/section08/index.html +++ /dev/null @@ -1,830 +0,0 @@ - - - - - - - - - - - - IV.8 Street Code Input Feature - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.8 Street Code Input Feature
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.8 Street Code Input Feature

- -

For most functions involving street input, applications have the option to pass the input streets to Geosupport in the form of either street names or street codes. The exceptions are Function 1N and the display functions. Function 1N requires input streets to be passed in the form of street names, since that function’s sole purpose is to normalize input street names and provide their street codes. The display functions require input streets to be passed in the form of street codes, since those functions are designed to provide street names corresponding to input street codes.

-

The street code input feature is useful in an application that stores street codes but not street names in an application file (presumably to save disk storage space), since it enables the application to process records from that file directly through a Geosupport location-processing function, without first having to call a display function to obtain street names.

-

Applications can provide input street codes to any of the functions that can accept them in any of the following forms (the field names used below are the same as those used in the WA1 layouts in Appendix 2 for MSWs and Appendix 13 for COWs.):

-
    -
  • -

    PB5SCs (MSW only), passed in as many as necessary of the WA1 input fields PB5SC-1, PB5SC-2 and PB5SC-3.

    -
  • -
  • -

    B5SCs, passed left-justified and space-filled in as many as necessary of the WA1 input fields B10SC-1, B10SC-2 and B10SC-3.

    -
  • -
-

• B7SCs, passed left-justified and space-filled in as many as necessary of the WA1 input fields B10SC-1, B10SC-2 and B10SC-3.

-

• B10SCs, passed in as many as necessary of the WA1 input fields B10SC-1, B10SC-2 and B10SC-3.

-

For functions that involve multiple input streets, the input streets specified in a call must all be in the same form, either all street names, or all PB5SCs (MSW only), or all B5SCs, or all B7SCs, or all B10SCs. Note that the first byte of all input street code fields is a borough code. When input streets are specified using street code input, the contents of the separate WA1 input borough code field (MSW only) is ignored.

-

Local street name validation (see Chapter IV.5) is not performed when the street input is in the form of five-digit street codes, but it is performed with seven-digit and ten-digit street code input.

-

Functions 1, 1A, 1B, 1E, and AP and Street Code Input

-

When a user supplies a borough and 5-digit street code as input to Functions 1, 1A, 1B and AP, Geosupport returns the DCP-preferred street name and its corresponding B10SC. For Function 1E, Geosupport returns the BOE-preferred street name and its corresponding B10SC. Primary street names are not returned, because primary street names do not always apply to the entire street stretch, and may produce an error when used as input for a subsequent call for that location. Preferred street names are also often the more widely used name and therefore a better choice.

-

The street names returned by Functions 1, 1A, 1B, AP and Function 1E are usually the same. An example where the street names are not the same is for Functions 1 and 1A calls for address numbers (e.g. 2019) on 7 Avenue in Manhattan north of West 110th Street. If the user supplies the B5SC of 110610, the street name ADAM C. POWELL BOULEVARD, the DCP-preferred name, will be returned. Since ADAM C. POWELL BOULEVARD is the street name most commonly used in this location, it is a better choice than the primary street name (7 AVENUE). However, Function 1E will return 7 AVENUE since this is the BOE-preferred street name.

-

The technique of returning the preferred street name instead of the primary street name helps to insure that if the street name is used as input to Geosupport with the address number, it will be a successful call.

-

NAPs and Street Code Input

-

With respect to a NAP of a simplex, as with conventional street input, the user has the option to specify the input datum either in the form of the name (in this case, the NAP) or its B5SC. However, five-digit street code input is prohibited for a NAP of a complex or a constituent entity of a complex (it is rejected with a GRC value of ‘07’); instead, 7-digit or 10-digit street code input (B7SC or B10SC) is accepted. The reason for this restriction is that different entities of the same complex may be located within different blockfaces, tax lots, census blocks, administrative or political districts etc., so that the B5SC may not be specific enough to enable Geosupport to determine the proper set of output data to return.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIV/section09/index.html b/site/chapters/chapterIV/section09/index.html deleted file mode 100644 index 81baa755..00000000 --- a/site/chapters/chapterIV/section09/index.html +++ /dev/null @@ -1,911 +0,0 @@ - - - - - - - - - - - - IV.9 Summary of Street Codes - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IV: Street Codes »
  • - - - -
  • IV.9 Summary of Street Codes
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IV.9 Summary of Street Codes

- -

This section recapitulates the discussion of street codes. A B5SC value represents a New York City street (or a pseudo-street, non-street feature, place name or intersection name) and is assigned to all of the street’s aliases, that is, to all of the names by which that street, or any part of it, is known to Geosupport. Therefore, the B5SC is a suitable item to use as an access key for street-related geographic retrieval, since then retrieval will be consistent with respect to street name aliases. That is, retrieval will succeed regardless of which alias is used at the time of record creation and which is used at retrieval time.

-

A B10SC value represents a particular spelling of a particular name for a street (along with all of that name’s partial street names, if any). Two B10SC values are identical in their first six bytes (the B5SC values) if and only if the street names to which those B10SC values correspond are aliases (names for the same street). Since B10SC values correspond uniquely to a single spelling of a single name for a street, they can be used to automatically resynchronize the B5SCs stored in an application file to reflect street code assignment changes made in new Geosupport releases. Such resynchronization is essential, and is the user’s responsibility. A Street Name/Street Code Change Bulletin and a Geosupport file called the Street Code Change File (SCCF) are made available in each new Geosupport release to facilitate user-developed procedures for street code resynchronization. If an application file contains stored B10SCs, the SCCF can be used to develop a fully automated street code resynchronization procedure that directly accesses only those records in the application file containing B10SC values that must be updated, and that updates those B10SCs; this is the optimal resynchronization method. If street names and B5SCs are stored in the file, but not B10SCs, then the B5SCs can be resynchronized by using Function 1N and processing every record in the file. If only B5SCs are stored in the file, then the change bulletin must be used, and records containing B5SCs involved in changes must be individually researched.

-

Some streets in the city have certain names that are only locally valid, that is, valid only for a portion of the street. The set of all names for a given street is partitioned into ’local street name groups’ corresponding to portions of the street where various street names are valid. Two names for a street are in the same local group if and only if they are valid for exactly the same portion of the street. Each local group is assigned a Local Group Code (LGC) value, which is a number from ‘01’ to ‘99’ that labels the group relative to all of the local groups for that street. The B5SC value and LGC value are concatenated to form the B7SC value, which is assigned to every name belonging to the corresponding local group, and only to those names. Each local group has a single member designated as the principal street name for that group. Each portion of a street has one local group designated as the preferred local group for that portion. The principal name of the preferred local group is called the preferred street name for that portion of the street. The preferred street name is obtainable for any specific location on a street. For example, for an address, the preferred street name is obtained by calling Function 1 to obtain both the B5SC and the preferred LGC, concatenating these to form a B7SC, and using the latter as input to a call to Function DG. For an intersection, street segment or blockface, Function 2, 3 or 3C is called, respectively, instead of Function 1.

-

The B5SC, B7SC and B10SC can be viewed as forming a hierarchy in which the greater the length of the item, the more the more restricted the set of street names represented. The B5SC represents all the names for the street. The B7SC represents all the names that are valid for a particular portion (possibly all) of the street. The B10SC represents a particular name (and any unambiguous partial street names generated from it).

-

The methodology that is used to assign street codes to the Non-addressable Place Names (NAPs) of a complex and its constituent entities is analogous to the methodology used with street names. The B5SC represents all the NAPs of both the complex as a whole and all of its constituent entities. A distinct B7SC represents all the NAPs that are valid for a particular portion (possibly all) of the complex, that is, all the NAPs that are valid either for the complex as a whole or for a particular constituent entity. A distinct B10SC represents each individual normalized spelling of a specific NAP (and any unambiguous partial names generated from it).

-

For the reader’s convenience, two reference tables summarizing street codes are below. Table IV-1 is a summary of the various street code items used by Geosupport, conventional abbreviations for them, and their lengths in bytes. The abbreviations listed in Table IV-1 are used throughout the remainder of the UPG. In these abbreviations, ‘B’ represents the standard Geosupport one-byte Borough Code, as described in Appendix 3, and ‘P’ means that the item is packed. (Note: Packed applies to MSW only.) Table IV-2 is a summary of the three main types of street code items, indicating the display function that accepts each as input, and what street name that display function returns as output. Table IV-2 is written to describe the assignment of street codes to street names, but it applies analogously as well to the NAPs of a complex and its constituent entities.

-

Table IV-1: Notation for Street Code Items

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Item AbbreviationItem NameLength (Bytes)
5SCFive-digit Street Code5
P5SC (MSW only)Packed Five‑digit Street Code3
B5SCBorough and Five‑digit Street Code6
PB5SC (MSW only)Packed Borough and Five‑digit Street Code4
7SCSeven‑digit Street Code7
B7SCBorough and Seven‑digit Street Code8
10SCTen‑digit Street Code10
B10SCBorough and Ten‑digit Street Code11
LGCLocal Group Code (6th and 7th digits of 10SC)2
SNCStreet Name Code (8th, 9th and 10th digits of 10SC)3
-

5SC + LGC = 7SC
-B5SC + LGC = B7SC
-B5SC + LGC + SNC = B7SC + SNC = B10SC

-

Table IV-2: Summary of Street Code Items

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Type of Street CodeGeography RepresentedCorresponding Street Name(s)Applicable Display Function and Its Output Datum
B5SCA street for all or any portion of the given streetAll names validD - returns primary name
B7SCThe portion (possibly all) of a street where a group of names is validAll the names in the given local street name groupDG - returns principal name of local group
B10SCThe portion (possibly all) of a street where a specific name is validOne spelling of one name (and any unambiguous partial names generated from it)DN - returns the unique name to which the given B10SC corresponds
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/chapterIX/index.html b/site/chapters/chapterIX/chapterIX/index.html deleted file mode 100644 index 6b24d2ed..00000000 --- a/site/chapters/chapterIX/chapterIX/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter IX - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • Chapter IX
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER IX

- -

GEOSUPPORT BATCH ADDRESS TRANSLATOR (GBAT)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section01/index.html b/site/chapters/chapterIX/section01/index.html deleted file mode 100644 index bcb20899..00000000 --- a/site/chapters/chapterIX/section01/index.html +++ /dev/null @@ -1,806 +0,0 @@ - - - - - - - - - - - - IX.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.1 Introduction

- -

This chapter describes the Geosupport Batch Address Translator (GBAT), the Geosupport System’s batch utility program. Users can often satisfy their requirements for batch Geosupport processing without having to write custom programs by processing their files through GBAT.

-

GBAT can process any user file that meets certain easily satisfied requirements (described in Chapter XI.4). It can be used to execute any of the Geosupport functions that are available in the batch environment. It can be used to normalize house numbers and street names, to obtain street codes, to validate geographic locations such as addresses and intersections, and to obtain geographic information about such locations such as cross streets, community district, ZIP code, tax block and tax lot, spatial coordinates or any of the other information that Geosupport provides.

-

To run GBAT, the user must set up a batch job, and must create a small ‘control file’ that controls the GBAT execution. Chapter XI.2 discusses JCL considerations for setting up the batch job. Chapter XI.3 outlines the processing that GBAT performs and discusses programmed abnormal terminations. The remaining sections of this chapter discuss each of GBAT’s six input and output files. Appendices 9, 10, and 12 also pertain to GBAT. Appendices 9 and 12 contain several GBAT tables that are indispensable references for setting up the control file (Tables A9-1, A9-2 and A9-3), interpreting the MSW GBAT output data (Table A9-4), interpreting the COW GBAT output data (Table A12-2), and setting up the JCL (Table A9-5 for MSW format, Table A12-3 for COW format). Appendix 10 contains annotated sample GBAT jobs, including JCL, control files and output listings.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section02/index.html b/site/chapters/chapterIX/section02/index.html deleted file mode 100644 index 4b0adeae..00000000 --- a/site/chapters/chapterIX/section02/index.html +++ /dev/null @@ -1,836 +0,0 @@ - - - - - - - - - - - - IX.2 JCL Considerations - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.2 JCL Considerations
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.2 JCL Considerations

- -

GBAT makes calls to the Geosupport System via Geosupport’s standard API in the same manner as is done by any user-written batch Geosupport application program. To execute GBAT, the user sets up a batch job that invokes a catalogued procedure called GBAT2, which contains all the JCL necessary to support the Geosupport calls. This ‘proc’ consists of a single step, the stepname of which is also GBAT2. It contains an EXEC statement that executes the GBAT program, a STEPLIB DD statement specifying the program library containing the GBAT and Geosupport load modules, and DD statements for all of the Geosupport foreground files. The user must add DD statements to the GBAT execution step for GBAT’s own input and output files. Those files, and their required DDnames, are as follows:

-
    -
  • -

    Input data file, DDname INFILE or INVSAM. Mandatory. Contains the user’s geographic information to be processed. Discussed in Chapter XI.4.

    -
  • -
  • -

    Input control file, DDname CARDIN. Mandatory. Contains encoded information that describes the use’s input data file and specifies GBAT processing options. Discussed in Chapter XI.5.

    -
  • -
  • -

    Input alias file, DDname ALIASES. Optional. Allowable if the function being executed accepts street name input. Contains user-defined street name aliases (alternative names and spelling variants) that GBAT is to use to supplement the street names recognized by Geosupport. Discussed in Chapter XI.6.

    -
  • -
  • -

    Output file of accepted data, DDname OUTFILE. Optional. Contains one record corresponding to each input data record that is accepted by Geosupport. The record consists of an exact copy of the input data record, followed by data obtained from Geosupport. Discussed in Chapter XI.7.

    -
  • -
  • -

    Output file of rejected data, DDname ERRFILE. Mandatory. Contains one record corresponding to each input data record that is rejected by Geosupport. The record consists of the Geosupport Return Code and Reason Code, followed by an exact copy of the input data record. Discussed in Chapter XI.8.

    -
  • -
  • -

    Output file of rejected data, DDname ERRFIL2. Mandatory when RECTYPE=1B. Contains one record corresponding to each input data record that is rejected (or partially rejected) by Geosupport Function 1B. The record consists of the Geosupport Return Code and Reason Code for the Function 1E Extended portion of Function 1B, followed by the Geosupport Return Code and Reason Code from the 1A Extended portion of Function 1B, followed by an exact copy of the input data record. Discussed in Chapter XI.8.

    -
  • -
  • -

    Output file of rejected data, DDname ERRFIL3. Mandatory when RECTYPE=2 and RELATEDNODES=YES. Contains one record corresponding to each input data record that is rejected by Geosupport with GRC 03 Reason Code B (many-node case). The record consists of the Geosupport Return Code and Reason Code, followed by an exact copy of the input data record, followed by the information needed to choose a node. Discussed in Chapter XI.8.

    -
  • -
  • -

    Output print file, DDname SYSPRINT. Mandatory. Contains GBAT messages and summary run statistics. Discussed in Chapter XI.9.

    -
  • -
-

Two of the GBAT files, the input alias file and the output file of accepted data, are optional. GBAT opens these files only if there are certain entries in the control file specifying their use. If an optional file is not used, a DD statement for that file need not be included in the JCL. However, including such a DD statement causes no harm, unless the file it refers to does not exist, which would cause a JCL error.

-

In the course of execution, certain conditions (described in Chapter XI.3) may arise that cause GBAT to terminate abnormally. In all cases in which GBAT exits via a programmed abnormal termination, it issues a Condition Code11 of 12 or greater, and it produces incomplete or no output files. If the user’s job contains any steps following the GBAT execution step (the step that invokes the GBAT2 proc) that are dependent on the existence of the output files that GBAT is expected to create, it is advisable to code the COND parameter in the EXEC statements of those steps so that those steps are bypassed if the Condition Code issued by the GBAT execution step is 12 or greater. For example, if GBATSTEP is the stepname of the GBAT execution step, then coding COND=(12,LE,GBATSTEP.GBAT2) in the EXEC statement of a subsequent step will cause that step to be bypassed if 12 is less than or equal to the Condition Code of GBATSTEP.

-

_________________________

- -

11 Each step of a batch job running on an IBM mainframe can issue a Condition Code upon termination of the step. By convention, a Condition Code of ‘00’ indicates normal completion of the step, ‘04’ indicates generally normal completion but with a minor condition warranting a warning and higher values indicate severe problems or errors causing abnormal termination. Condition Codes appear in the SYSPRINT output job log. A JCL parameter, COND, can be coded in the EXEC statement of any job step to cause that step to be bypassed if the Condition Code of a specified previous step satisfies a specified condition.

-

Note: Condition Codes are sometimes called ‘Return Codes’, in IBM documentation and elsewhere. Condition Codes are not to be confused with Geosupport Return Codes (GRCs). The Condition Codes discussed in this chapter are issued by the GBAT program, appear in the output job log and can be tested by the COND JCL parameter. GRCs are issued by the Geosupport System and are returned to the calling application (including to GBAT) in Work Area 1; they do not appear in the output job log and are not accessible to COND. GBAT does include the GRC in each record it writes into the output file of rejected data (discussed in Chapter XI.8).

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section03/index.html b/site/chapters/chapterIX/section03/index.html deleted file mode 100644 index ec1dd94a..00000000 --- a/site/chapters/chapterIX/section03/index.html +++ /dev/null @@ -1,834 +0,0 @@ - - - - - - - - - - - - IX.3 GBAT Processing and Programmed Abnormal Terminations - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.3 GBAT Processing and Programmed Abnormal Terminations
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.3 GBAT Processing and Programmed Abnormal Terminations

- -

Before GBAT begins processing the input data file, it first validates the control file and, if appropriate, the alias file. The entire control file is validated for syntax and content, as described in Section XI.5. Regardless of the outcome of that validation, if the function being executed accepts street name input, and the user has provided an alias file, and the user has specified either ALIASES=VAL or ALIASES=YES in the control file, then the contents of the entire alias file are also validated, as described in Section XI.6. For each error encountered during these validations, GBAT issues an appropriate error message but continues the validation processing. Informational and warning messages may also be issued during the control file and alias file validation processing.

-

After the control file and alias file validation processing is completed, GBAT determines whether to terminate abnormally or to commence processing the input data file. GBAT terminates abnormally at this point if there has been at least one control file error or, when an alias file has been provided, if there has been at least one alias file error and ALIASES=VAL has been specified. (In contrast, when ALIASES=YES is specified, the alias file is validated and error messages are issued as appropriate, but alias file errors do not cause GBAT to terminate abnormally.) Conditions that cause GBAT to issue informational or warning messages do not trigger abnormal termination.

-

The Condition Codes issued for programmed abnormal terminations triggered by control file and alias file errors are as follows:

-
    -
  • -

    Condition Code 12: only the control file had errors (or both the control file and the alias file had errors, but ALIASES=YES was specified, so that any alias file errors do not affect the manner in which GBAT terminates).

    -
  • -
  • -

    Condition Code 13: only the alias file had errors, and ALIASES=VAL was specified.

    -
  • -
  • -

    Condition Code 14: both files had errors, and ALIASES=VAL was specified.

    -
  • -
-

When no alias file is provided, Condition Code 12 can occur, but not Condition Codes 13 and 14.

-

If the control file and alias file validation processing is completed normally, GBAT processes the input data file and writes data to the output files. Specifically, GBAT reads each record from the input data file, and uses the geographic information obtained there from as the input data for a standard API call to the Geosupport System. If the information is accepted by Geosupport, GBAT writes a record into the output file of accepted data (unless the user has chosen not to create this optional file). If the information is rejected by Geosupport, GBAT writes a record into the output file of rejected data. Both types of output records consist of exact copies of the input data record together with data that GBAT has obtained from Geosupport. At the completion of execution, GBAT writes out a small report (usually less than one page long) of summary run statistics.

-
    -
  • Condition Code 15:
    - GBAT sets the Condition Code to 15 when GBAT execution is terminated because of a record length error for the following files: ERRFILE (COW and MSW), ERRFIL2 (COW only), and ERRFIL3 (COW only).
  • -
-

If there is a record length error for other files, e.g. OUTFILE, GBAT may ABEND with U4038. In addition to the ABEND, other messages are generated, e.g. IBM0122S ONCODE=22 The RECORD condition was raised because the length of the record variable was greater than the record length (ONFILE = OUTFILE)

-
    -
  • Condition Code 20:
    - In the course of processing the input data file, a condition called a MAXREJECTS violation, discussed in detail below, may arise. If so, GBAT ceases processing the input data, writes out the report of run statistics reflecting the processing that has occurred up to that point, and terminates abnormally with Condition Code 20. Otherwise, GBAT continues processing until all input data records have been processed, writes out the report of run statistics, and then terminates normally with Condition Code 00.
  • -
-

The MAXREJECTS Feature: When coding the control file, if the user specifies incorrect record positions for an input data field, it is likely that Geosupport will reject most or all of the input data records. An optional control entry called MAXREJECTS is designed to prevent GBAT, to the extent possible, from wastefully processing an input data file in its entirety when incorrect record positions have been specified in the control file for an input field. The MAXREJECTS feature does this by causing execution to terminate abnormally with Condition Code 20 if a certain number of records at the beginning of the input data file are all rejected by Geosupport for any reason other than an invalid borough code. (The latter exception is designed to prevent a MAXREJECTS termination from occurring inappropriately when a user file has records that intentionally contain blank or otherwise invalid borough codes because those records represent locations outside of New York City.)

-

The MAXREJECTS control entry is used to specify the number of consecutive rejected records at the beginning of the input data file (ignoring any records rejected for an invalid borough code) that are to trigger a MAXREJECTS termination. For example, the control entry MAXREJECTS=50 directs GBAT to terminate abnormally with Condition Code 20 if every one of the first 50 input data records that are not rejected because of an invalid borough code is rejected for any other reason.

-

At the user’s discretion, warnings can be treated as if they were rejects for the purpose of triggering a MAXREJECTS abnormal termination; see the discussion of the REJECTWARNINGS control entry in Section XI.7.

-

The MAXREJECTS control entry is optional. If the user does not code a MAXREJECTS control entry, then the value in effect defaults to MAXREJECTS=200. If the user codes MAXREJECTS=NOMAX, the MAXREJECTS feature is turned off; that is, the entire input data file is processed, regardless of how many records at the beginning of the file are rejected.

-

Coding incorrect input field specifications in the control file tends to make a MAXREJECTS termination likely, but it does not guarantee it. That is because some input data records may contain values in the incorrectly specified field positions that, purely by coincidence, are valid for the intended data item. If there happened to be such a record near the beginning of the input data file, and that record happened to be accepted by Geosupport, that would preclude a MAXREJECTS termination. Conversely, a MAXREJECTS termination can occur even when there are no control file errors. That is because Geosupport may reject all of the input data records that are within the scope of the MAXREJECTS triggering set simply because those particular records happen to contain geographically invalid data.

-

Note that the completion of a GBAT execution with Condition Code 00 does not by itself signify that no input data records were rejected by Geosupport. It signifies only that no errors were found in the control file nor (if ALIASES=VAL was coded) in the alias file; that a MAXREJECTS violation did not occur; and therefore that all input data records were processed (but not necessarily accepted) by Geosupport.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section04/index.html b/site/chapters/chapterIX/section04/index.html deleted file mode 100644 index 2a3f1637..00000000 --- a/site/chapters/chapterIX/section04/index.html +++ /dev/null @@ -1,816 +0,0 @@ - - - - - - - - - - - - IX.4 The Input Data File (DDNAME=INFILE or INVSAM) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.4 The Input Data File (DDNAME=INFILE or INVSAM)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.4 The Input Data File (DDNAME=INFILE or INVSAM)

- -

This mandatory input file contains the user geographic data to be processed by GBAT. In order for GBAT to be able to process a data file, it must satisfy the following requirements:

-
    -
  • -

    The file must be either a sequential file or a VSAM file accessed sequentially. The DDname INFILE is used for sequential files; INVSAM is used for VSAM files. The file can have either fixed or variable length records, but the maximum permissible record length is 32,000 bytes.

    -
  • -
  • -

    The file must be geographically homogeneous; that is, all of its records must contain the same type of geographic location to be processed. Heterogeneous files, such as a file in which some records contain addresses and others contain intersections, cannot be processed by GBAT. This restriction follows from the fact that, during one execution, GBAT calls the same Geosupport function to process every input record.

    -
  • -
  • -

    Each data item that serves as an input item must occupy the same field position(s) within every INFILE (INVSAM) record. These field positions are specified in the control file.

    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section05/index.html b/site/chapters/chapterIX/section05/index.html deleted file mode 100644 index c619f868..00000000 --- a/site/chapters/chapterIX/section05/index.html +++ /dev/null @@ -1,837 +0,0 @@ - - - - - - - - - - - - IX.5 The Input Control File (DDNAME=CARDIN) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.5 The Input Control File (DDNAME=CARDIN)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.5 The Input Control File (DDNAME=CARDIN)

- -

This mandatory input file contains encoded information that controls the GBAT execution, including the Geosupport function being requested, processing options, and the positions of input fields in the input data records. The control file must be provided as a fixed-length file with an LRECL of 80. Users often provide the control file as an in stream file embedded in the JCL.

-

Control File Syntactic Rules The information in the control file is coded in the form of control entries, which must conform to the following syntactic rules:

-
    -
  • -

    Control entries may be coded in any order.

    -
  • -
  • -

    Each record in the control file may contain one or more control entries. If more than one control entry is coded within the same record, those entries must be separated from each other by at least one blank, and they may be separated by any number of blanks.

    -
  • -
  • -

    A control entry must not span two records.

    -
  • -
  • -

    No blanks are permitted within a control entry.

    -
  • -
  • -

    A control entry consists of a keyword, followed by an equals sign, followed by either a single variable value or a pair of variable values separated by a comma, depending on the keyword, as follows:

    -
  • -
  • -

    Keywords other than those specifying the location of a field within the input data records require one variable, and are of the form KEYWORD=V, where V is a variable value specified by the user. For example, the control entry RECTYPE=1E specifies that Function 1E is to be executed during this GBAT run; ‘RECTYPE’ is the keyword in this control entry, and ‘1E’ is the variable value.

    -
  • -
  • -

    Most keywords that specify the locations of input data fields require two variables. Such a control entry is of the form KEYWORD=S,L where S and L specify the starting position and length of the input field, respectively. The two variable values must be separated by a comma. For example, the control entry ONSTREET=58,32 specifies that the input street name field starts in position 58 of the input data record and is 32 bytes long.

    -
  • -
  • -

    For keywords that specify the locations of input fields for data items of invariant length, coding the length variable is usually optional. For example, a BIN is always a seven-byte item; therefore, if an input BIN field starts in, say, position 29, the control entry specifying that field may be coded as either BIN=29 or BIN=29,7. However, a BBL is always a ten-byte item, but must be explicitly coded as such. See Table A9-2 for default information.

    -
  • -
-

Many of the control entries are optional. GBAT assigns predetermined default values to the variables of all relevant optional control entries that the user has not coded. The default values are suitable for most applications. GBAT issues messages in SYSPRINT informing the user of all such default assignments.

-

Control File Validation Processing GBAT validates the control file for syntax and, to a certain extent, for content, as described below. GBAT issues an error message in SYSPRINT for each control file error encountered. After completing the validation of the control file, if there have been any errors, GBAT terminates abnormally without processing the input data file and exits with a Condition Code of either 12 or 14 as described in Chapter XI.3. Certain conditions encountered during control file validation cause warning messages to be issued, but are otherwise ignored and do not cause GBAT to terminate abnormally.

-

The control file validations include verifying that all of the control entries that are mandatory for the specified Geosupport function have indeed been coded; that the variable values that have been coded in each control entry are valid values for the given keyword; and that the starting position and length that have been specified for each input data field are consistent with the input data file’s record length (that is, they do not in combination specify positions beyond the end of the input data record). To do so, GBAT opens the input data file and obtains its LRECL from its Data Set Control Block (DSCB). In the case of a variable length file, the LRECL in the DSCB is the maximum allowable LRECL of the file, as specified by the user when the file was catalogued. Therefore, for a variable length input data file, GBAT can validate only that the starting positions and lengths of input fields coded in the control file are consistent with the longest possible input data file record. For a variable length file, it is the user’s responsibility to insure that all starting positions and lengths specified in the control file are valid for the shortest actual input data file record. If they are not, unpredictable results may ensue.

-

If the control file contains more than one control entry for the same keyword, the last such control entry is effective and the others are ignored. However, no warning messages are issued indicating the presence of such duplicate keyword entries.

-

Appendix 9 contains three reference tables that document the full set of control entries. These tables are indispensable references for setting up control files. Tables A9-1 and A9-2 are organized by keyword, and Table A9-3 is organized by Geosupport function. Table A9-1 lists all the control entries along with narrative descriptions of their formats, purposes and usages, and for most of the control entries, citations to sections of the UPG where pertinent topics are discussed in detail. Table A9-2 indicates, for every control entry, the permissible values and the default values of its variables, and the functions for which that control entry may be used. Table A9-3 indicates, for every function, which control entries and combinations of control entries are permissible, mandatory and optional. See also the sample GBAT jobs in Appendix 10 for examples of control files.

-

An expeditious approach for creating a new GBAT control file is first to ascertain from Table A9-3 which control entries are mandatory and optional for the function to be executed. Tables A9-1 and A9-2 can then be consulted to review those of the control entries with which the user is unfamiliar.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section06/index.html b/site/chapters/chapterIX/section06/index.html deleted file mode 100644 index 9f7864aa..00000000 --- a/site/chapters/chapterIX/section06/index.html +++ /dev/null @@ -1,869 +0,0 @@ - - - - - - - - - - - - IX.6 The Input Alias File (DDNAME=ALIASES) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.6 The Input Alias File (DDNAME=ALIASES)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.6 The Input Alias File (DDNAME=ALIASES)

- -

For all Geosupport functions that accept street name input, GBAT users have the option to provide a set of user-defined street name aliases (alternative street names and street name spelling variants) in an input alias file. These aliases supplement the set of street names that Geosupport recognizes of its own accord. It is important to note that the user’s aliases supplement Geosupport’s street names; they do not supersede them. Also, the aliases in an alias file supplement the Geosupport names only temporarily, that is, only during a GBAT execution in which that particular alias file is provided; GBAT does not ‘remember’ any user-defined aliases that have been supplied in prior GBAT executions.

-

The alias feature is intended to enable users to customize GBAT execution for a particular data file. This feature is particularly useful for processing a data file that contains a few street names that are misspelled in a consistent manner in many records. By providing just a few entries in an alias file to identify those misspellings with corresponding ‘correct’ (Geosupport-recognized) spellings, the user may greatly improve the ‘hit’ rate without having to modify the data file itself. This could be beneficial, for example, if the data file being processed was obtained from an outside source and the user has no software at hand to modify the contents of the file to correct street name misspellings.

-

To use the alias feature, a control entry containing the keyword ALIASES must be coded as follows:

-
    -
  • -

    ALIASES=VAL directs GBAT to validate the alias file (as described below), and then to process the input data file only if the alias file had no invalid records. If so, then during the processing of the input data file, the user-defined aliases supplement the set of street names that Geosupport recognizes. Records that result in warnings are not considered invalid in this context, and do not prevent the processing of the input data file.

    -
  • -
  • -

    ALIASES=YES directs GBAT to validate the alias file, and then to process the input data file regardless of whether there were any invalid alias records. During the processing of the input data file, the user-defined aliases that are in the valid alias records supplement the set of street names that Geosupport recognizes, while those in invalid alias records are not used.

    -
  • -
-

If no ALIASES control entry is coded, or if ALIASES=NO is specified, then GBAT performs no alias file processing, even if an ALIASES DD statement appears in the JCL.

-

If ALIASES=VAL or ALIASES=YES is specified, except for the circumstance discussed in the next paragraph, the user must add a DD statement to the JCL of the GBAT execution step containing the DDname ALIASES, referencing the file that the user wishes to use as the alias file during this GBAT execution.

-

If ALIASES=VAL or ALIASES=YES is specified, but the function being executed does not accept street name input, then a warning message is issued during control file validation, and the ALIASES control entry, as well as the ALIASES DD statement in the JCL (if any), are otherwise ignored; in particular, no alias file validating is performed in this circumstance.

-

The alias file must be a sequential file. Although it is expected that most alias files will have at most a few dozen records, GBAT is designed to accommodate alias files of up to 5,000 records. The alias file must have a record length of 80 and must conform to the following layout:

-

Record Layout of Alias File

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FieldSizePositionsComments
Borough Code11Standard Geosupport borough codes
User’s Alias Street Name3234-65Need not be in normalized format
Filler1566-80Blanks
-

Alias File Validation Processing GBAT validates each record in the alias file, and writes an appropriate message to SYSPRINT for each error or warning condition encountered. A basis of the validation processing is that the alias street name is supposed to be a name that is not already recognized by Geosupport, whereas the street name in the field labeled ‘Street Name Recognized by Geosupport’ is supposed to be recognized. The alias file validation processing is as follows:

-
    -
  • -

    ‘Normal’ case: if the alias name is not recognized, and the putative Geosupport-recognized name is in fact recognized, the alias file record is valid.

    -
  • -
  • -

    Error: If the alias name and the putative Geosupport-recognized name are identical, the alias record is invalid. This condition tends to indicate that the user inadvertently entered the alias name incorrectly when creating this record.

    -
  • -
  • -

    Warning: If the two names are different, and they are both recognized by Geosupport, and they have the same seven-digit street code (B7SC), then the alias record is superfluous but harmless. A warning message is issued, and the alias name is used.

    -
  • -
  • -

    Error: If both names are recognized, but they have different B7SC values, the alias record is invalid.

    -
  • -
  • -

    Error: If the putative Geosupport-recognized name is not in fact recognized, the alias record is invalid.

    -
  • -
-

Note: GBAT does not check whether there is more than one record in the alias file containing the same alias name. If there is more than one, only the first valid record (if any) is used during the processing of the input data file; the other records containing that alias name are validated but are otherwise ignored. It is the user’s responsibility to insure that the alias file does not have multiple records containing the same alias name. GBAT issues no warning message indicating the existence of such records.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section07/index.html b/site/chapters/chapterIX/section07/index.html deleted file mode 100644 index f1d51d15..00000000 --- a/site/chapters/chapterIX/section07/index.html +++ /dev/null @@ -1,869 +0,0 @@ - - - - - - - - - - - - IX.7 The Output File of Accepted Records (DDNAME=OUTFILE) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.7 The Output File of Accepted Records (DDNAME=OUTFILE)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.7 The Output File of Accepted Records (DDNAME=OUTFILE)

- -

This optional output file contains a record corresponding to each input data record accepted by Geosupport. The user can specify whether OUTFILE is to be created, and if so, how its records are to be constituted, using the GEOCODE control entry. (The GEOUNIT control entry also plays a role in determining how the OUTFILE records are constituted. GEOUNIT is discussed later in this section.) The user can specify whether warnings are to be treated as accepted records or as rejects using the REJECTWARNINGS control entry. These control entries are discussed in detail below.

-

Controlling the Creation and Contents of OUTFILE with GEOCODE (and GEOUNIT) - GBAT creates either two or three output files, depending on the (coded or default) value in effect for the GEOCODE control entry. If GEOCODE=VAL is explicitly coded (it is never the default), only ERRFILE and SYSPRINT are created. If the value in effect for GEOCODE is other than VAL, then OUTFILE, the file of accepted records, is also created. When GEOCODE=YES or ALL, then ERRFIL2 or ERRFIL3 may also be created.

-

The purpose of the option GEOCODE=VAL is to enable the user to validate the input data file while avoiding the execution-time overhead that would be incurred to create OUTFILE. The user can execute GBAT repeatedly with GEOCODE=VAL, each time correcting as many rejected input data records as possible, until the rejection rate is acceptable to the user. At that point, a final execution with GEOCODE=NO, YES or ALL can be run to obtain OUTFILE.

-

In all cases in which OUTFILE is created, its records are formed by appending data obtained from Geosupport to exact copies of the accepted input data records. The length and layout of the appended Geosupport data depend on the function requested and on the GEOCODE option that is in effect (and, for COW Functions 1, 1E, 1A and 1B, the GEOUNIT option that is in effect) as described below.

-

For GEOCODE=NO, the appended items consist generally of output items from Work Area 1 appropriate to the given function. For MSW format, Table A9-4 in Appendix 9 lists, by function, the precise layout of the data appended for GEOCODE=NO. For the COW format, see Table A12-2 in Appendix 12.

-

For GEOUNIT=YES (which is a COW only option), the additional appended items consist of one output item from COW Work Area 1 appropriate to the Unit input for Functions 1, 1E, 1A and 1B. Table A12-2A in Appendix 12 shows the format of the appended data.

-

In general terms, the items that are appended for GEOCODE=NO (and GEOUNIT=YES) are as follows:

-
    -
  • -

    For functions involving street names, the appended information includes normalized street name(s) and Geosupport street code(s). All normalized street names are provided as 32 byte items, blank filled on the right as necessary. All MSW street codes are provided as ten digit street codes without a borough code (10SCs); all COW street codes are provided as eleven digit street codes with a borough code (B10SCs).

    -
  • -
  • -

    For functions involving house numbers, normalized house numbers are appended. For Functions 1, 1A, 1E, and 1B each normalized house number is returned as follows: the normalized House Number in Display format (HND) which will be either a 12 byte item in MSW format or a 16-byte item in COW format. Also, for MSW format only, the normalized House Number is returned in a special format for the Department of Housing Preservation and Development (HNHPD), an 8 byte item. For Functions D, DG and DN, the HNHPD is not returned.

    -
  • -
  • -

    In addition, for COW Functions 1, 1E, 1A and 1B, if GEOUNIT=YES is in effect, the 14-byte Normalized Display Format Unit Output field is also appended. Table A12-2A in Appendix 12 shows the format of the appended data

    -
  • -
  • -

    For Function BL, the 10-byte BBL in standard format is appended. (The standard BBL consists of the borough code, the 5-byte tax block and the 4-byte tax lot.)

    -
  • -
  • -

    For Function BN, the 7-byte BIN is appended.

    -
  • -
-

For GEOCODE=YES, each OUTFILE record is formed by appending to a copy of the input record the entire Work Area 2. (See Appendix 2 and Appendix 13 for Geosupport work area layouts, MSW and COW respectively.) GEOCODE=YES is invalid for functions that do not have a WA2. For functions that have the long WA2 option, the long WA2 is appended only if the user has explicitly specified LONGWA2=YES in the GBAT control file; if the user specifies LONGWA2=NO, or does not specify a LONGWA2 control entry, then the regular WA2 is appended. Similarly for COW functions that have the Extended Mode option (MODE=X) and/or the Auxiliary Segment option (AUXSEG=YES) the larger WA2 will be appended only if the option is specifically requested.

-

For GEOCODE=ALL, each OUTFILE record is formed by concatenating an exact copy of the input record, followed by the data appended for the given function when GEOCODE=NO is specified (as listed in Table A9-4 in Appendix 9 for MSW and Table A12-2 in Appendix 12 for COW), followed by the data appended when GEOCODE=YES is specified. Note, for COW Functions 1, 1E, 1A and 1B when GEOUNIT=YES is specified, the GEOUNIT=YES data appears between the GEOCODE=NO data and the GEOCODE=YES data. GEOCODE=ALL is invalid for functions that do not have a WA2.

-

For MSW, Table A9-5 in Appendix 9 lists the length of the appended data by function and GEOCODE value. For COW, see Table A12-3 in Appendix 12. When setting up the JCL, the user must specify the LRECL parameter in the OUTFILE DD statement to equal the sum of the LRECL of the input data file and the length of the appended data as indicated in Table A9-5 for MSW, and Table A12-3 for COW.

-

Controlling the Treatment of Warnings with REJECTWARNINGS
-Every input data record that produces a Geosupport Return Code (GRC) of ‘00’ is treated as an accepted record; that is, the following actions are taken:

-
    -
  • -

    If OUTFILE is being created, GBAT writes a corresponding output record into OUTFILE.

    -
  • -
  • -

    Regardless of whether or not OUTFILE is being created, the record contributes to the count of accepted records that appears in the SYSPRINT report of run statistics (see Chapter XI.9)

    -
  • -
  • -

    If the record is within the scope of the MAXREJECTS triggering set (see Chapter XI.3), it precludes a MAXREJECTS abnormal termination.

    -
  • -
-

Every input data record that produces a GRC of greater than ‘01’ is treated as a reject; that is, the following actions are taken:

-
    -
  • -

    GBAT writes a corresponding output record into ERRFILE (and ERRFIL2 and ERRFIL3 as needed), the output file of rejected records.

    -
  • -
  • -

    The record contributes to the count of rejected records that appears in the SYSPRINT report of run statistics (see Chapter XI.9)

    -
  • -
  • -

    Unless the record is rejected for an invalid borough code, it is counted as a rejected record for the purpose of determining whether a MAXREJECTS abnormal termination is to be triggered.

    -
  • -
-

At the user’s discretion, input data records that produce warnings (GRC = ‘01’) either can all be treated as accepted records or they can all be treated as rejects. This choice is specified using the optional REJECTWARNINGS control entry, as follows:

-
    -
  • -

    If REJECTWARNINGS=YES is specified, only the GRC ‘00’ records are treated as accepted records; GRC ‘01’ records are treated as rejects.

    -
  • -
  • -

    If REJECTWARNINGS=NO is specified, then the GRC ‘01’ records as well as the GRC ‘00’ records are treated as accepted records.

    -
  • -
  • -

    (Default) If no REJECTWARNINGS control entry is supplied, then the default value is NO; that is, the GRC ‘01’ records as well as the GRC ‘00’ records are treated as accepted records.

    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section08/index.html b/site/chapters/chapterIX/section08/index.html deleted file mode 100644 index 247a282a..00000000 --- a/site/chapters/chapterIX/section08/index.html +++ /dev/null @@ -1,896 +0,0 @@ - - - - - - - - - - - - IX.8 The Output Files of Rejected Records (DDNAME=ERRFILx) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.8 The Output Files of Rejected Records (DDNAME=ERRFILx)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.8 The Output Files of Rejected Records (DDNAME=ERRFILx)

- -

IX.8.1 ERRFILE

-

This mandatory output file contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter XI.7.

-

Each ERRFILE record consists of four bytes, followed by an exact copy of the input data record. The four bytes consist of the two-byte GRC, followed by a one-byte filler containing a ‘-‘(dash character) for display readability, followed by the one-byte Reason Code. The LRECL of ERRFILE must always be four greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFILE correctly in the JCL.

-

IX.8.2 ERRFIL2 (for use by Function 1B only)

-

ERRFIL2 is mandatory with RECTYPE=1B. It contains a record for each ‘rejected’ input data record. The value of the REJECTWARNINGS option that is in effect determines which input data records are treated as rejects, as explained in Chapter XI.7.

-

The contents of each ERRFIL2 record is as follows: The first 4 bytes contain the 2-byte GRC, followed by a dash, followed by the Reason Code for the Block Face level (Function 1E Extended) information. This is followed by 6 bytes of filler. Byte 11 contains the 2-byte GRC, followed by a dash, followed by the Reason Code for the Property level (Function 1A Extended) information. This is followed by 6 bytes of filler. The input record begins in byte 21. The LRECL of ERRFIL2 must always be 20 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL2 correctly in the JCL.

-

The GBAT output ERRFILE will contain only those records that were rejected for both Block and Property level information.

-

The GBAT output ERRFIL2 will contain all records that were rejected for any reason. It will contain records that were rejected for: - * The Block level but not the Property level call
- * The Property level but not for the Block level call - * Both the Block and Property level calls (These rejects will also be in the ERRFILEl)

-

If the input record has been rejected for both Block and Property level information, the output error record will be found both in the ERRFILE output error file, as well as the ERRFIL2 error file. The ERRFILE output record will have the GRC of the results of the Block level call (i.e. Function 1E), and corresponds to the GRC and Reason Code in Work Area 1. ERRFIL2 will have the same output error record and will contain both the GRC and Reason code and the newly defined GRC2 and its corresponding Reason Code. There will be no Work Area 2 returned by GBAT when the record is rejected for both Block an Property level information.

-

Note: If you are not using Function 1B, you do not have to add ERRFIL2 to your GBAT JCL. The file is not opened. No changes have to be made. However, if you are using GBAT for a Function 1B call, GBAT will abend if you do not add a DD card for ERRFIL2 to your JCL.

-

IX.8.3 ERRFIL3 (for use by Function 2 with RELATEDNODES=YES)

-

ERRFIL3 is mandatory with RECTYPE=2 and RELATEDNODES=YES. It contains a record for each input data record that is rejected with GRC 03 and Reason Code B (‘many-node case’).

-

When the requested streets intersect more than twice (GRC 03), if the user has set RELATEDNODES to YES s/he will get a special error file, ERRFIL3, with a logical record length of 3352 + length of the user’s input. The ERRFIL3 record will include for each of the many nodes, the Node ID and the streets (as B7SCs) at the nodes. Therefore, to process streets that intersect more than twice, the GBAT user need only add the RELATEDNODES=YES option to get the information needed. S/He does not have to run a Function 2W GBAT run.

-

The contents of each ERRFIL3 record is as follows: The first 4 bytes contain the 2-byte GRC (‘03’), followed by a dash, followed by the 1-byte Reason Code (‘B’). This is followed by 6 bytes of filler. A copy of the input record begins in byte 11. The input record is followed by the list of nodes and the B7SCs at the nodes. The LRECL of ERRFIL3 must always be 3352 greater than that of the input data file. It is the user’s responsibility to specify the LRECL of ERRFIL3 correctly in the JCL.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
GBAT - ERRFIL3 Record Layout
LengthPositionsContents
41-4’03-B’ (which is the GRC-Reason Code)
65-10Blanks
Length of I/P record11-nn User’s input record
2After input recordTrue Replication Counter (maximum of 20) -(matches bytes 259-260 of Function 2W’s Work Area 2)
140After input record + 2List of up to 20 Node ID (7 bytes each) -(matches bytes 261-400 of Function 2W’s Work Area 2)
3200After input record + 142List of B7SCs for Nodes. -(matches bytes 401-3600 of Function 2W’s Work Area 2) -([See Appendix 13](/appendices/appendix13/) - layout of Function 2W’s Work Area 2)
Total length: 3352 + Length of user’s input record
- -

The count of the records in the new ERRFIL3 file will match the statistics for: -

 03 – STREETS INTERSECT MORE THAN TWICE – USE NODE AS INPUT.

-

Note that the rejected input records will also still appear in the regular reject file (ERRFILE) in the standard ERRFILE format.

-

Important JCL Note: ERRFIL3 must be defined in the user’s JCL for RELATEDNODES to take effect. If DDname ERRFIL3 is undefined in the user’s JCL, the file will default to DD DUMMY which will not give an appropriate length. The execution will fail with a programmed abnormal termination and a Condition Code of 15. See the following error message which will appear in the output.

- - - - -
Condition Code: 15
GBAT Error Message:
ERROR: THE RECORD LENGTH OF ERRFIL3 MUST EQUAL THE RECORD LENGTH OF THE INPUT FILE PLUS 3352.
-RECORD LENGTH OF THE INPUT FILE =       xxx    RECORD LENGTH OF ERRFIL3 =   yyy 
- -

Note: If you are not using RELATEDNODES, you do not have to add ERRFIL3 to your GBAT JCL. The file is not opened. No changes have to be made.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterIX/section09/index.html b/site/chapters/chapterIX/section09/index.html deleted file mode 100644 index cdc1b46d..00000000 --- a/site/chapters/chapterIX/section09/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - IX.9 The Output Print File (DDNAME=SYSPRINT) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter IX: Mainframe GBAT »
  • - - - -
  • IX.9 The Output Print File (DDNAME=SYSPRINT)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

IX.9 The Output Print File (DDNAME=SYSPRINT)

- -

This mandatory output file contains all GBAT messages, including routine informational messages, abnormal termination messages, control file and alias file validation error messages, and control file default assignment informational messages.

-

If GBAT terminates normally, or if it terminates abnormally with a MAXREJECTS violation, SYSPRINT also contains a report of run statistics, which is usually less than one page long. The user can specify a title line for the report, consisting of any character string of up to 73 bytes, by using the TITLE control entry.

-

The report of run statistics indicates the number of input records processed, the number accepted by Geosupport and the number rejected, all itemized by borough. The rejected record statistics are also itemized by GRC. Input data records that result in Geosupport warnings are counted in the report of run statistics either as accepted records or as rejects, depending on the value of the REJECTWARNINGS option that is in effect, as described in Chapter XI.7. In addition, the report contains a summary list of all the GRCs that have occurred during the given GBAT execution along with their corresponding Geosupport messages.

-

Statistics for RECTYPE=1B: GBAT run statistics for Function 1B are slightly different. The GBAT statistics for Function 1B are based on what is in the ERRFILE output error file. Since only records that are rejected for both the Blockface (Function 1E) and the Property Level (Function 1A) calls are in the ERRFILE, the output statistics are based on these records. The errors indicated in the statistics are based on the GRC from the Function 1E call. The report also displays totals for the 1B records that were accepted for the 1A portion but rejected for the 1E portion, and totals for the 1B records that were accepted for the 1E portion but rejected for the 1A portion.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/chapterV/index.html b/site/chapters/chapterV/chapterV/index.html deleted file mode 100644 index 797eb53d..00000000 --- a/site/chapters/chapterV/chapterV/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter V - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • Chapter V
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER V

- -

ADDRESS PROCESSING - FUNCTIONS 1, 1A, 1B, 1E, AP

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section01/index.html b/site/chapters/chapterV/section01/index.html deleted file mode 100644 index 624777b7..00000000 --- a/site/chapters/chapterV/section01/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - V.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.1 Introduction

- -

This chapter and the following two chapters discuss in detail the various types of geographic locations that Geosupport can accept as input, and the Geosupport functions that process them. This chapter, Chapter V, discusses addresses and Functions 1, 1A, 1B, 1E, and AP . Chapter VI discusses properties (tax lots) and buildings and Functions 1A (covering aspects not discussed in Chapter V), BL and BN. Chapter VII discusses ‘street configurations’ (geographic locations that are specified in terms of combinations of streets) and Functions 2, 3, 3C and 3S.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section02/index.html b/site/chapters/chapterV/section02/index.html deleted file mode 100644 index 37937c50..00000000 --- a/site/chapters/chapterV/section02/index.html +++ /dev/null @@ -1,856 +0,0 @@ - - - - - - - - - - - - V.2 Address Numbers (‘House’ Numbers), Normalization and Formats: HNI, HNS and HND - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.2 Address Numbers (‘House’ Numbers), Normalization and Formats: HNI, HNS and HND
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.2 Address Numbers (‘House’ Numbers), Normalization and Formats: HNI, HNS and HND

- -

Address numbers identify buildings, and are combined with street names and addressable place names (see Chapter III.6) or with street codes (as surrogates of street names or place names) to form addresses. Address numbers are commonly called ‘house’ numbers (although this term is a misnomer, since many addresses refer to buildings other than houses). To be consistent with common parlance and with other Geosupport documentation, the term ‘house number’ will be used instead of ‘address number’ in the remainder of this document, except in literal citations of Geosupport reject messages, since those messages use the term ‘address number’.

-

Applications can pass a house number to any of the address-processing functions in character form, in the 12-byte WA1 input House Number field for MSW and the 16-byte WA1 input House Number field for COW. A house number passed in this manner need not be in any particular format, but could be a ‘raw’, un-formatted house number. Alternatively, house numbers can be passed in a 6-byte WA1 input field in a special Geosupport format called the House Number in Internal format (HNI), which presumes, the application will have obtained the HNI from a previous Geosupport call. HNIs are only used with MSW. A newer Geosupport format called House Number in Sort Format (HNS) is used for COWs.

-

When a house number is passed to Geosupport in the 12-byte WA1 for MSW or the 16-byte WA1 for COW input House Number field, Geosupport normalizes it. The house number normalization algorithm is complex, and a full description of it is beyond the scope of this document, but some aspects are discussed below. If normalization is successful, an output normalized house number is produced in two standard formats, the 12-byte or 16-byte output House Number in Display format (HND) and the 6-byte output House Number in Internal format (HNI) or the 11-byte House Number in Sort format (HNS), and both of these are returned to the application in WA1. The HND is in character form and is suitable for display, for example, on application screens, reports and mailing labels.  While the HNS format contains character data, it is intended for Geosupport internal use. To conserve space, users may store this value in their files.

-

The HNI format contains packed decimal data, and is the format that Geosupport uses internally to perform its address-matching routines. The HNI is not documented in detail herein, and is of little direct relevance to most users. However, to conserve disk space in application files in which house numbers must be stored in some form, users can store the 6-byte HNI in their files rather than the 12-byte HND for MSW or the 11-byte HNS in their files rather than the 16-byte HND for COW, and then use any of the display functions, Functions D, DG and DN, to obtain the house number in HND format for display, as described below.

-

Processing of HNIs or HNSs by the Display Functions

-

The processing of an input HNI or HNS by a display function consists only of forming and outputting the HND. The successful processing of an input HNI or HNS by a display function implies that the HNI or HNS conforms to Geosupport’s format requirements for HNIs or HNSs, but does not imply that the HNI or the HNS forms part of a valid address.

-

The display functions can process up to two input HNI or HNS values in a single call, using the two input HNI or HNS fields and two output HND fields in WA1. If two input HNIs or HNSs are supplied, they are processed independently of each other and are not treated as forming an address range. If only one input HNI or HNS is supplied, it may be passed in either of the input HNI or HNS fields.

-

The display functions return one output HND for each validly formatted input HNI or HNS. For each input HNI or HNS that is invalid, the display functions return all question marks (the character ‘?’) in the corresponding output HND field. In addition, if at least one input HNI or HNS is invalid, the GRC value ‘13’, Reason Code value ‘9’ and corresponding Message are issued.

-

The display functions can also be used to obtain street names corresponding to input street codes. (The processing of street codes by the display functions is discussed in detail in Chapter IV.6.) In a single call, the display functions can process input HNIs or HNSs without input street codes, input street codes without HNIs or HNSs or both types of input. If both HNIs or HNSs and street codes are provided as input data to a display function call, they are processed independently of each other and are not treated as forming an address. In particular, the display functions perform no address validation.

-

HNIs or HNSs as Input to the Address-Processing Functions

-

The user has the option of providing input house numbers to the address-processing functions in the form of an HNI or HNS instead of a ‘raw’ unprocessed house number. This feature is useful for processing an application file that already contains house numbers in HNI or HNS format from a previous pass through Geosupport. The use of this feature slightly improves execution efficiency by allowing Geosupport to circumvent the house number normalization routine.

-

House Number Format Standards

-

'Raw' (un-normalized) input house numbers must conform to certain Geosupport standards, which are based on the characteristics of New York City’s addresses. If an input house number does not satisfy these standards, Geosupport is unable to normalize it and rejects the call. The house number standards include the following, among others:

-

• Conformance to a set of allowable characters

-

• A limitation on the total length of the ‘basic house number’ (this term and the term ‘house number suffix’ are defined below)

-

• Limitations on the number of digits and maximum numeric values of the basic house number, if it does not contain a hyphen; or such limitations on the portions of the basic house number preceding and following the hyphen, if a hyphen is present

-

• Validity of the house number suffix (discussed below), if one is present

-

Every valid New York City house number conforms to the above standards.

-

The ability of Geosupport to normalize an input house number does not by itself signify that that house number, together with the input borough and street, form in combination a valid New York City address. Successful normalization signifies only that the input house number conforms to Geosupport’s house number format criteria. Only the successful completion of a two-work-area call to one of the address-processing functions has significance with respect to the geographic validity of the input address. (See Chapter II.4 for a discussion of the distinction between the validations performed by one- and two-work-area calls.)

-

New York City house numbers consist of a ‘basic house number’, possibly followed by a ‘house number suffix’. (Note: the basic house number and house number suffix are not to be confused with the digits to the left and right of the hyphen in a hyphenated house number. For example, in the Queens address ‘240-55 1/3 DEPEW AVENUE’, ‘240-55’ is the basic house number, and is hyphenated; ‘1/3’ is the house number suffix.) A dash character may appear in the input house number field between the basic house number and the house number suffix, e.g. 22-GARAGE. Geosupport replaces the dash with a blank and processing continues. No message is generated for this situation.

-

Only a small percentage of New York City addresses have house number suffixes. The following are some examples of valid New York City addresses containing house number suffixes (highlighted in bold type):

-
    519 Front  East 12th Street   (Manhattan)  
-    625 Rear  Smith Street   (Brooklyn)  
-    120 1/2  First Avenue   (Manhattan)  
-    240-55 1/3  Depew Avenue   (Queens)  
-    469 1/4  Father Capodanno Boulevard   (Staten Island)  
-    470 A  West 43rd Street   (Manhattan)  
-    171C  Auburn Avenue   (Staten Island)  
-    20-29 Garage  120th Street   (Queens)
-
-

Input basic house numbers may contain a dash(the character ‘-‘), which can serve either as a hyphen, as with most house numbers in Queens and some house numbers in other boroughs, or as a range separator.

-

House Number Ranges: Addresses in New York City are often expressed in ranges, using a dash to separate the low and high house numbers of the range. For example, 22-28 Reade Street in Manhattan represents the range of even addresses consisting of 22 Reade Street, 24 Reade Street, 26 Reade Street and 28 Reade Street, all of which are valid individual addresses for the same building. In other words, in this example, the character string ‘22-28’ is not an individual house number, but represents a range of house numbers, in which the dash serves as a range separator, and the number to the left of the dash, 22, as well as that to the right of the dash, 28, constitute by themselves valid individual house numbers for Reade Street.

-

Hyphenated House Numbers: Consider the Queens address 22-28 36th Street. The house number portion of the address, 22-28, consists of the same character string as the above Reade Street example, but it has a very different meaning in the two cases. In the Reade Street case, 22-28 represents a range of even house numbers; in the 36th Street case, 22-28 is a single hyphenated house number, not a range of several unhyphenated house numbers. In a hyphenated house number, the digits to the left and to the right of the hyphen in combination form a single house number; the digits on one side of the hyphen are not by themselves geographically meaningful. For example, 22 36th Street and 28 36th Street are not valid Queens addresses. In addition, the position of the hyphen within a hyphenated house number is significant. For example, consider the addresses 13-103 41st Avenue and 131-03 41st Avenue. These are two distinct addresses on the same Queens street, even though the house numbers consist of the same sequence of digits and differ only in the position of the hyphen.

-

Geosupport’s house number normalization algorithm interprets a dash encountered in an input house number either as a hyphen or as a range separation character, depending on the borough, the street (some streets do not conform to the norm for their borough with respect to house number hyphenation) and other criteria.

-

When Geosupport interprets the dash as a range separation character: In normalizing the input house number, both the dash itself and the portion of the basic house number to the right of the dash are deleted. As one consequence of this, when the input to a two-work-area call is an address range, only the address formed from the house number to the left of the dash is validated; the house number to the right of the dash is ignored and no conclusion can be drawn about its validity from the success or failure of the call. For example, 22-28 Reade St in Manhattan is normalized as 22 READE STREET; the ‘28’ is ignored during normalization, and is not validated as an individual house number in a two-work-area call.

-

When Geosupport interprets the dash as a hyphen: In normalizing the input house number, the digits on both sides of the hyphen are retained, as is the hyphen itself.

-

If Geosupport determines that an input house number in character form has a missing or inappropriately present dash, then whenever it is feasible, Geosupport modifies the house number to correct the error before normalizing it. (Geosupport never modifies input HNIs or HNSs.) Geosupport will make such a modification automatically (without user request), but only if the intended address is clear and unambiguous and is valid for the function being called, and a valid address could not be formed by normalizing the input house number in a different fashion. Two types of such dash-related modifications are as follows:

-

When an input house number does not contain a dash, but Geosupport determines that the house number should be hyphenated: Geosupport inserts a hyphen, provided it can determine the proper position of the hyphen unambiguously so that a valid address results. For example, the input address 6603 Booth Street in Queens is normalized as 66-03 BOOTH STREET; the input address 63101 Alderton Street in Queens is normalized as 63-101 ALDERTON STREET.

-

When an input house number contains a dash, but Geosupport determines that the presence of the dash is erroneous (i.e., the house number is invalid whether the dash is interpreted as a hyphen or as a range separator): Geosupport concatenates the digits to the left and right of the dash without retaining the dash itself, provided that this results in a valid address. For example, 10-22 38th Street in Brooklyn is normalized as 1022 38 STREET.

-

Whenever the house number normalizer makes an assumption about, or a dash-related modification to, an input house number, Geosupport informs the calling application by issuing a warning condition. A warning is issued, for example, when Geosupport assumes that an input dash is a range separator and then normalizes the house number by deleting the dash and digits following it, or when it assumes that a required hyphen is missing and inserts one.

-

When Geosupport is unable to normalize an input house number without making a dash-related modification so that a valid address results, and there is more than one type of dash-related modification that would result in a valid address, the input is considered ambiguous. For such a rejection, the Message would list the possible valid forms of the input address. This assists the user to determine how the input house number should be modified to make it valid. For example, consider the input 10-14 Lexington Avenue in Manhattan. Lexington Avenue has unhyphenated addresses only. There are two reasonable interpretations of the user’s intended input in this example. These are 10 Lexington Avenue, which assumes the input is an address range, and 1014 Lexington Avenue, which assumes the dash is an inappropriately present hyphen. All of the address-processing functions consider both of these to be valid addresses. Initially, 10-14 Lexington Avenue in Manhattan was rejected as ambiguous, but, at user request, the first successful house number is accepted; i.e. 10 Lexington Avenue in Manhattan.

-

In the borough of Queens, the great majority of streets have hyphenated house numbers only; a few streets have unhyphenated house numbers only, and a few streets have ‘mixed hyphenation’(i.e., both hyphenated and unhyphenated house numbers). In the other four boroughs, all but a few streets have unhyphenated house numbers only, a few streets have hyphenated house numbers only, and a few streets have mixed hyphenation. Riverside Drive in Manhattan is an example of a mixed-hyphenation street. A small stretch of Riverside Drive running north from West 156th Street has hyphenated even addresses ranging from 156-00 to 159- 34 (with some gaps). The remainder of Riverside Drive has unhyphenated addresses only.

-

Information on the address hyphenation status of each of the city’s streets is maintained internally within Geosupport. The house number normalizer makes use of this information when analyzing an input house number that contains a dash character. Dash analysis is particularly complex for mixed-hyphenation streets, for which a dash could be either a hyphen or a range separator. For example, 156-158 Riverside Drive is a valid range of unhyphenated addresses assigned to a building located near West 88th Street, while 156-10 Riverside Drive is a valid single hyphenated address assigned to a building located near West 156th Street.

-

When there are more than 3 digits following the dash in an input address number on a street having unhyphenated or mixed hyphenated house numbers, Geosupport treats the dash as a range separation character and issues a warning message that the address number has been altered (GRC 01 / Reason 1). When this input occurs on a street having only hyphenated house numbers, the call is rejected and Geosupport issues an error message (GRC 13 / Reason 2).

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section03/index.html b/site/chapters/chapterV/section03/index.html deleted file mode 100644 index 50eeb704..00000000 --- a/site/chapters/chapterV/section03/index.html +++ /dev/null @@ -1,823 +0,0 @@ - - - - - - - - - - - - V.3 Specifying Input Data to the Address-Processing Functions: NAPs, Parsed-Form Addresses, Free-Form Addresses and Unit Information - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.3 Specifying Input Data to the Address-Processing Functions: NAPs, Parsed-Form Addresses, Free-Form Addresses and Unit Information
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.3 Specifying Input Data to the Address-Processing Functions: NAPs, Parsed-Form Addresses, Free-Form Addresses and Unit Information

- -

Functions 1, 1A, 1B, 1E and AP are Geosupport’s address-processing functions. In general, they accept as input conventional street addresses, Addressable Place names, and certain Non-Addressable Place names (NAPs) (described in Chapter III.6 and further discussed in Chapter IV.7). Note, however, that Function AP does not accept Non-Addressable Place names as input.

-
    -
  • -

    Addresses can be specified in parsed form, that is, with the house number and street specified in separate WA1 input fields. The street can be specified either as a street name or a street code. Non-street feature names, pseudo-street names and intersection names may not be used. There are two options for specifying an address in parsed form:

    -
      -
    • Parsed-form addresses using street name Specify a borough code (or ZIP code), street name and house number (using the WA1 input borough code (or ZIP code) and street name-1 field and either the MSW 12-byte or COW 16-byte WA1 input house number field or the MSW 6-byte WA1 input HNI field or the COW 11-byte HNS field).
    • -
    • Parsed-form addresses using street code: Specify a borough code (or ZIP code), street code and house number. The borough code and street code may be specified using any of the WA1 input combined borough code and street code fields (the B5SC, PB5SC, B7SC or B10SC) for MSW. For COW, there is only one borough code/street code field. The house number may be specified using either the MSW 12-byte or COW 16-byte WA1 input house number field or the MSW 6-byte WA1 input HNI field or the COW 11-byte HNS field.
    • -
    -
  • -
  • -

    Alternatively, addresses can be specified in free-form, that is, with the house number specified together with the street name in the WA1 input Street Name field, as described below. Non-street feature names, pseudo-street names, intersection names and partial street names (see Chapter III.4) may not be used. When addresses are specified in free-form, the input house number and HNI or HNS fields are not used.

    -
  • -
  • -

    NAPs are specified in the same fashion as addresses, as described above, except that typically no house number is supplied. If a house number is supplied with a NAP, Geosupport typically ignores the house number and issues a warning. If the NAP is one that actually has house numbers associated with it, then if the address exists the house number will not be ignored. (See Chapter III.6 for more information.)

    -
  • -
-

Free-form addresses are addresses in which the house number and street name are stored together in a single field, as they might appear in the address line of a mailing address.  When an application passes all blanks in the WA1 input house number, HNI and HNS fields, and Geosupport determines that the WA1 input Street Name field does not contain a NAP, Geosupport assumes that the latter contains a free‑form address, and attempts to parse the contents into a house number followed by a street name.

-

Since both house numbers and street names vary in length, and may be separated by a varying number of blanks, these items will not be in predictable positions within a free-form address. Therefore, when processing a free-form address, Geosupport must parse the contents of the input street name field to attempt to identify and logically separate the house number and the street name.  If this is successful, the processing proceeds as with parsed-form address input.  If an input free‑form address contains any extraneous data following the house number and street name, such as an apartment number, neighborhood name, borough name or ZIP code, Geosupport attempts to recognize those data as extraneous information, in which case it ignores them, or in the case of COW function calls, Geosupport will also attempt to process the extraneous data as Unit input. (See Chapter V.15 for more discussion of the UNIT feature.)

-

Geosupport’s processing of free-form addresses is complex and is not as reliable as that for parsed-form address input. It is strongly recommended that, whenever possible, applications be designed to pass input addresses to Geosupport in parsed form, that is, to pass input house numbers and input street names in separate fields.

-

In order to give users the ability to describe addresses in more detail, Geosupport now allows users to specify UNIT information, e.g. APT 5, on address-processing functions. This feature is described more fully in Chapter V.15.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section04/index.html b/site/chapters/chapterV/section04/index.html deleted file mode 100644 index 8909daa1..00000000 --- a/site/chapters/chapterV/section04/index.html +++ /dev/null @@ -1,845 +0,0 @@ - - - - - - - - - - - - V.4 Input Address Acceptance/Rejection and its Validation Significance - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.4 Input Address Acceptance/Rejection and its Validation Significance
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.4 Input Address Acceptance/Rejection and its Validation Significance

- -

The address-processing functions differ significantly among themselves with respect to which input addresses they accept and reject, and with respect to the significance of the validation of an input address implied by acceptance or rejection. These distinctions are discussed below.

-

Function 1. Function 1 accepts an input address if and only if it falls within the administrative address range allocated to some blockface (described below). Thus, Function 1’s acceptance of an input address does not by itself validate whether the input address is the actual address of a building, but only whether it falls within an administrative address range.

-

The administrative address range allocated to a blockface is the set of addresses that actually are, or potentially may be, assigned to buildings on that blockface. Administrative address ranges are allocated to blockfaces by the offices of the Borough Presidents. In many cases, the administrative address range allocated to a blockface is broader than its current ‘actual’ address range (i.e., the range encompassed by the lowest and highest actual addresses of existing buildings on the blockface). This reserves addresses for new buildings that might be built on that blockface in the future. (To ‘shoehorn’ new buildings between existing buildings, it is sometimes necessary to assign house numbers with suffixes like A, B, 1/2 and 1/3.)

-

In theory, an administrative address range encompasses all of the actual addresses of existing buildings on the blockface. However, there are discrepancies from this in reality for a relatively small number of blockfaces, as well as temporary discrepancies caused by Geosupport data errors.

-

An administrative address range may also encompass nonexistent addresses, either between the low and high actual addresses of the blockface or beyond them. For example, consider the blockface on the east side of East 28 Street between Avenues I and J in Brooklyn. The administrative address range allocated to this blockface is 901-999. Function 1 would accept any odd address between 901 and 999 on E 28 Street in Brooklyn as input, whether or not that input address is a valid address of an existing building. In reality, the lowest and highest actual house numbers of existing buildings on this blockface (as of the writing of this document) are 901 and 985, and within this range there are gaps in actual addresses. For example, there are buildings on East 28 Street with the house numbers 925 and 929, but there is not currently a building with the house number 927, nor are there buildings with any of the odd house numbers from 987 through 999. Nevertheless, all of these house numbers will result in successful Function 1 calls, since they all fall within the administrative address range.

-

Function 1E

-

With the exception of a rare case discussed below, Functions 1 and 1E accept the same addresses and reject the same addresses, and the validation significance of acceptance and rejection is the same for both functions.

-

The exceptional case is that of an address that is split among more than one Election District (ED). As of this writing, there is only one instance of this case, 3333 Broadway in Manhattan; it is split among three EDs. Therefore, for this address, Function 1E is unable to determine an ED (or any of the higher-level political districts). Since the primary purpose of Function 1E is to provide the political geography for an address, Function 1E rejects this address with a GRC value of ‘56’. However, portions of this building in specific EDs can be identified using house number suffixes, ‘A’ through ‘E’: 3333A through 3333C Broadway are in ED 94 of Assembly District (AD) 70; 3333D Broadway is in ED 82 of AD 70; and 3333E Broadway is in ED 83 of AD 70. Function 1E accepts these addresses as input, and returns the political districts specific to the input. Functions 1 and 1A accept both the un-suffixed and suffixed addresses.

-

Function 1A

-

Function 1A accepts an input address if and only if the address falls within one of the following two cases:

-
    -
  • -

    Valid actual address. If the input address is a valid address of an existing building on a property, there is a normal completion (Geosupport Return Code = ‘00’).

    -
  • -
  • -

    Pseudo-address. If the input address is a ‘pseudo-address’ , a warning is issued (GRC = ‘01’, Reason Code = ‘8’ or ‘9’). Pseudo-addresses (not to be confused with pseudo-street names) are discussed in Chapter VI.5.

    -
  • -
-

If the input address is neither a valid address of an existing building nor a pseudo-address, Function 1A rejects that input address. This is true even if the input address falls within an administrative address range allocated to a blockface and is therefore accepted by Functions 1 and 1E. Thus, Function 1A’s criterion for accepting an input address is typically more stringent than those of Functions 1 and 1E, and the validation significance of acceptance differs accordingly.

-

Function AP

-

Function AP accepts an input address if and only if the address falls within the following case:

-
    -
  • Valid actual address. If the input address is a valid address of an existing building on a property, there is a normal completion (Geosupport Return Code = ‘00’).
  • -
-

Function AP’s criterion is very similar to Function 1A’s. If the input address is not a valid address of an existing building, Function AP rejects that input address. This is true even if the input address falls within an administrative address range allocated to a blockface and is therefore accepted by Functions 1 and 1E. Thus, Function AP’s criterion for accepting an input address is typically more stringent than those of Functions 1 and 1E, and the validation significance of acceptance differs accordingly.

-

Function 1B Input Address Processing and Return Code Processing

-

Function 1B makes an internal combined call to Extended Function 1A and Extended Function 1E (see descriptions of 1E and 1A above). Extended Functions 1A and 1E return more information than the regular Functions 1A and 1E. This is described in Chapter V.5 (Output Data Returned) below.

-

Function 1B invokes Function 1A Extended processing first. If the input address number is altered by the Function 1A Extended processing (e.g. deleting a hyphen) the altered version of the address number is passed as input to the Function 1E Extended processing.

-

Also, since Function 1A is more stringent than Function 1E, it is possible that the address will be rejected by the Function 1A portion of 1B and then successfully processed by the Function 1E portion of 1B. There can be rare cases where the input address is processed successfully by the Function 1A portion and rejected by the Function 1E portion. In Work Area 1, there are two sets of GRC, Reason Code and Message fields to accommodate the Function 1E and Function 1A processing included in Function 1B.

-

The original set of GRC, Reason Code and Message fields in Work Area 1 contain the GRC, Reason Code and Message from the Function 1E Extended portion of the Function 1B call. This second set contains the GRC, Reason Code and Message for the Function 1A Extended portion of the Function 1B call. (As described above, it is entirely possible that Geosupport will find one set of information and not find the other. There can be an error code and message in the new GRC and Message fields indicating property data (Function 1A) has not been found, and a 00 or 01 GRC in the original Return Code field indicating Blockface (Function 1E) information has been found, or just the opposite.)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section05/index.html b/site/chapters/chapterV/section05/index.html deleted file mode 100644 index 6fad7cd9..00000000 --- a/site/chapters/chapterV/section05/index.html +++ /dev/null @@ -1,885 +0,0 @@ - - - - - - - - - - - - V.5 Output Data Returned in Work Area 2 of Address Processing Functions - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.5 Output Data Returned in Work Area 2 of Address Processing Functions
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.5 Output Data Returned in Work Area 2 of Address Processing Functions

- -

The address-processing functions differ significantly with respect to the output data they return.

-

Function 1

-

Function 1, when called using two work areas, performs blockface-level processing. Almost all of the items that Function 1 returns in WA2 are associated with the entire blockface, and do not vary with the specific input address within that blockface. Among these items is a set of geographic district identifiers, such as Census Tract and Block, Police Precinct and Community District.

-

One piece of information returned by Function 1 that does vary with the specific input address is a pair of spatial coordinates. This identifies the approximate location of the given address on the earth’s surface.

-

School District (SD) boundaries split some blockfaces, and in those cases, Function 1 returns the SD value that is appropriate for the specific input address. However, the high and low house numbers returned in WA2 always correspond to the entire blockface, not to the portion of the blockface within the given SD. When the blockface is split by a SD boundary, no indication is provided that the blockface is split.

-

An example of a blockface that is split by a SD boundary is the odd-address side of FARRAGUT ROAD in Brooklyn between EAST 105 STREET and EAST 108 STREET. The address range for the entire blockface is 10501 to 10799. The subrange from 10501 to 10599 is in SD 18; and the subrange from 10601 to 10799 is in SD 19. If the input to a Function 1 call is 10559 FARRAGUT ROAD, ‘18’ is returned in the WA2 SD field, but 10501 and 10799 are returned as the address range for the blockface. If the input to a Function 1 call is 10611 FARRAGUT ROAD, ‘19’ is returned in the WA2 SD field, but, again, 10501 and 10799 are returned as the address range for the blockface.

-

The information that regular Function 1 returns in WA2 also includes two lists of street codes for the cross streets at both ends of the blockface. These cross street codes are B5SCs thus reflecting the primary street names. The Extended WA2 (MODE=X) also returns B7SC lists of cross streets and their street names thus reflecting the principal street names. Applications can use these cross streets to identify address-based data to blockfaces or street segments. In many applications, the consolidation of data for individual locations to the level of the blockface or street segment can significantly improve the efficiency of a municipal operation. The conversion of address-based data to segment-based data is further discussed in Chapter VII.3.

-

If a COW application has a need to display the street names of the cross streets,aside from calling Function D or DG, the user can employ one of the following options:

-

a. The Mode Switch in WA1 can be set to ‘X’ and the Extended function will return cross street codes as B7SCs and their corresponding principal street names in the extended portion of WA2. This is done with no processing overhead. This can be helpful to the user since the Primary Name is not always the best name for a particular cross street. See description of Extended Mode in Chapter II.7)

-

b. The Cross Street Names Flag in WA1 can be set to ‘E’ and the cross street names will be returned in the List of Street Names in WA1 (see entries for Cross Street Names Flag and List of Street Names in Appendix 3). The Cross Street Names will be the primary street names since they are based on B5SCs. Note that the cross street names feature incurs processing overhead, and should only be used when necessary,. It is recommended that the Extended Mode option, mentioned above, be used.

-

NOTE: There is no longer a need to set the Cross Street Names Flag to “E” when using Function 1 and 1E with Mode Switch of “X”, since the Cross Street Names are in the Extended part of the work area, although this will not create an error if the Cross Street Names flag is set to “E”. However, the Street Names returned in Work Area 1 with the Cross Street Name flag are based on the B5SCs and not the updated B7SCs.

-

Function 1 and 1E Extended Work Areas - MODE=X (COW Only)

-

In the Extended Function 1 and 1E work area 2, the BOE Preferred LGC and associated street name will be returned in new fields that are defined in the “Extended” portion of Work Area 2.

-

The Extended Function 1 and 1E work area 2 includes additional fields such as USPS Preferred City Name, Latitude and Longitude, Neighborhood Tabulation Area Name, Bike Lane 2, Bike Traffic Direction, Street Width, Street Width Maximum, etc. For a complete list, see the Work Area layout in Appendix 13.

-

Underlying Street Name or Street Address

-

For NAPs and Addressable Place Names, the underlying street name or street address is returned as part of a warning message (reason code V). The street code of the underlying true street is not included in the list of cross streets. For example, Fifth Avenue is an underlying street of the Empire State Building; it will not be included in the list of cross streets for the Empire State Building. Information on the underlying true street appears in COW WA2 and MSW Long WA2.

-

Additional data in COW regular WA2 and in long WA2 for MSW Functions 1 and 1E

-

The long WA2 option is available for the MSW Functions 1 and 1E. Since all the additional data in the long WA2 for MSW Functions 1 and 1E are included in the regular WA2 for COW Functions 1 and 1E, there is no long WA2 option for COW. (There are extended work areas for COW Function 1/1E which are discussed below.) The additional data in COW regular WA2 and long MSW WA2 includes the following:

-
    -
  • Segment ID
  • -
  • Borough and 7-digit street code for the underlying true street of a NAP or Addressable Place Name
  • -
  • Underlying house number
  • -
  • 2000 Census tract, block, and block suffix. (The 2010 fields are in the regular portion of the work area.)
  • -
  • (COW only) Hurricane Evacuation Zone
  • -
  • (COW Only) Organics Recycling Schedule
  • -
  • (COW Only) Bulk Items Pickup Schedule
  • -
-

Functions 1, 1B, and 1E allow a user to receive roadbed-specific information in place of information based upon the generic center line of a multi-roadbed street. A user requests roadbed-specific information via the ‘Roadbed Request Switch’. This means that a Function 1, 1B, or 1E call with this switch set will return the roadbed-specific geocodes, assuming that the input street has multiple roadbeds. Examples of geocodes that would be different include Segment ID, Segment Type Code, X-Y coordinates, LION Key and possibly cross streets and Census Tracts / Blocks. An additional file has been added to the Geosupport system to handle this data. Users who prefer non-roadbed-specific information, which assumes a single roadbed for all roads, are not required to make any changes.

-

Function 1E

-

Function 1E, when called using two work areas, returns all of the WA2 data items that Function 1 returns. In addition, Function 1E returns the following political district identifiers in WA2: Election District, State Assembly and Senate Districts, City Council District, Congressional District and Municipal Court District.

-

Function 1E handles cases where a School District boundary splits a blockface in the same manner as Function 1 does. In addition, Election District boundaries can also split blockfaces, and Function 1E handles those cases similarly. This includes the special case of the addresses 3333A through 3333E Broadway discussed in Chapter V.6.

-

As indicated above, Function 1E permits roadbed-specific information to be returned to the user. For more information, refer to the description as part of Function 1.

-

COW Function 1/1E Extended Mode - Mode Switch set to “X”. Geosupport has an Extended Work Area 2 for COW Functions 1 and 1E called Function 1 and 1E Extended. The first 300 bytes of Function 1 and 1E with the Mode Switch set to “X” will be the same as regular Function 1 and 1E calls. Note: Please see Appendix 13 for the Extended Work Area 2 layout. Some of the fields in the extended portion of the Function 1/1E Work Areas include: USPS Preferred City Name, NTA Name, Latitude, and Longitude.

-

Note: There is no longer a need to set the Cross Street Names Flag to “E” when using Function 1 and 1E with Mode Switch “X”, since the Cross Street Names are in the Extended part of Work Area 2, although this will not create an error if the field is set to “E”. However, the Street Names returned in Work Area 1 with the Cross Street Names flag are based on the B5SCs (thus returning the primary street names) and not based on the updated B7SCs which allow the Extended Work Area 2 to return the principal street names.

-

Function 1A

-

Function 1A, when called using two work areas, performs property (i.e., tax lot) and building-level processing. Function 1A returns information in WA2 associated with the specific property and building (if any) containing the input address. This information includes the property identifiers (tax block and tax lot numbers), and a list of all addresses of all buildings on the property (or as many as will fit in WA2) as well as the Building Identification Numbers (BINs) if any. Function 1A’s output information is discussed in detail in Chapter VI.6.

-

Function 1A Extended Work Area 2 (Mode Switch set to ‘X’) – COW Only. The first 246 bytes of the Extended Work Area 2 for Function 1A, up to the “Number of Entries in List of Geographic Identifiers” field, are the same as with regular Work Area 2. Aside from adding the new Function 1A Reason Code, Warning Code, GRC and filler to the work area for Function 1A Extended, the only change is in the address list. The Principal Street Name (based on the B7SC in the address list) has been added to each element in the address list for the user’s convenience. Note that Mode Switch of ‘X’ is not valid with the Long Work Area 2 Flag set to Y, since the Function 1A Long Work Area 2 primarily returns BINs, not street codes.

-

Function AP (COW Only)

-

Function AP, when called using two work areas, performs Address Point processing and some property-level and building-level processing. Function AP returns the Address Point ID and the X,Y spatial coordinates of the Address Point. In addition, Function AP returns the Borough-Block-Lot of the Address Point and its BIN. The tax-lot information in WA2 lists only one address in the lot, namely, the input address with the BIN number (if an) of the building at that address. Function AP’s property output information is very similar to Function 1A’s output. Function AP and Function 1A’s output information is discussed in detail in Chapter VI.10 and Chapter VI.6.

-

Function AP Extended Work Area 2 (Mode Switch set to ‘X’) – COW Only. The first 246 bytes of the Extended Work Area 2 for Function AP, up to the “Number of Entries in List of Geographic Identifiers” field, are the same as with regular Work Area 2. Aside from adding Function AP Reason Code, Warning Code, GRC and filler to the work area 2 for Function AP Extended, the only change is in the address list. The Principal Street Name (based on the B7SC in the address list) has been added to each element in the address list for the user’s convenience.

-

Function 1B (COW Only)

-

Function 1B returns Blockface-level information and political geography, followed by property-level information for a given input. Work Area 2 consists of the output of a Function 1E call with Mode Switch = “X” followed by the output of a Function 1A call with Mode Switch = “X”. The input requires borough or zip code, address number if needed, and street name or street code. Function 1B processing first retrieves the property-level information (Function 1A Extended- tax lot and building) based on the input. The Function 1A Extended processing may modify the input address (e.g. a hyphen is inserted into the address number). In any case, the input address used by Function 1A Extended is then used to retrieve the blockface and political data (Function 1E Extended).

-

Function 1B (combined Function 1E Extended and 1A Extended) returns a total of 4300 bytes in Work Area 2. The first 1500 are for the Blockface portion (Function 1E, see description above) of the call. The next 2800 bytes are for the Property Level portion (Function 1A, see description above and Chapter VI.6) of the call.

-

A second set of Geosupport Return Code (GRC), Reason Code and Error/Warning Message fields is defined in Work Area 1 to be used for Function 1B. This new set contains the GRC, Reason Code and Error or Warning Message for the Function 1A Extended portion of the Function 1B call. The original GRC, Reason Code and Message fields in Work Area 1 contain the Return Code, Reason Code and Error or Warning Message from the Function 1E Extended portion of the Function 1B call. It is entirely possible that Geosupport will find one set of information and not find the other. There can be an error code and message in the new GRC and Message fields indicating property data (Function 1A) has not been found, and a 00 or 01 GRC in the original Return Code field indicating Blockface (Function 1E) information has been found or just the opposite.

-

Work Area 2 for Function 1B

-

Function 1B returns a total of 4300 bytes in Work Area 2. The first 1500 are for the Blockface (Function 1E Extended) portion of the call. The next 2800 bytes are for the Property Level (1A Extended) portion of the call.

-

In the Function 1B Work Area 2, the Function 1E Extended WA2 output portion includes all the Function 1E Extended fields. There is one difference, namely that the preferred LGC that is returned in the Function 1B Work Area 2 is the DCP preferred LGC, not the Board of Elections preferred LGC.

-

A new Return Code and Reason Code field are defined in Work Area 2 for each of the 1E Extended and 1A Extended portions of the 1B call. This information duplicates the original and secondary Return Code and Reason Codes in Work Area 1. GBAT does not return a Work Area 1 and therefore does not return both Return Code fields. In order to make it easier for the GBAT user to see the results for both components of the 1B call, Work Area 2 contains a Return Code and Reason Code for each portion (1E and 1A). If data is found, either in the Blockface (Function 1E) call or the Property Level (Function 1A) call, that data will be returned to the user along with both Return Codes and Reason Codes.

-

If data has been found for the Blockface (1E) portion of the call, there will be data in columns 1 through 1500 of Work Area 2 returned to the user. Columns 1005-1006 will contain the GRC for the 1E portion of the call (which will be either a “00” or “01” indicating a warning) and column 1001 will contain the Reason Code if there is a warning. If data has not been found for the Blockface (1E) portion of the call, columns 1 through 1500 will be blank aside from the Error GRC in column 1005-1006 and the Error Reason Code, if any, in column 1001.

-

If data has been found for the Property Level (1A) portion of the call, there will be data in columns 1501-4300 of Work Area 2. Columns 1751-1752 will contain the GRC for the 1A portion of the call (which will be either a “00” or a “01” indicating a warning) and column 1747 will contain the Reason Code if there is a warning. If data has not been found for the Property Level (1A) portion of the call, columns 1501-4300 will be blank aside from the Error GRC in column 1751-1752 and the Error Reason Code, if any, in column 1747.

-

If data has not been found for either the Blockface or Property Level request, Function 1B’s Work Area 2 will be returned to the user with all fields blank aside from the two GRC and Reason Code -fields mentioned above.

-

V.5.1 Mainframe GOAT Screen for Function 1B

-

In order to make room for more information, the Function 1B GOAT screen is formatted somewhat differently from the other GOAT screens. Since this new screen has many changes we are making an exception and describing it in the UPG.

-

a.There is only one field for the address number (Adr #:) and street name (Strt:). The same field is now used for the user’s input and the normalized output.

-

b. The screen is basically divided into two halves – with the top half giving Blockface Level Information (Function 1E) and the bottom half giving Property Level Information (Function 1A).

-

c. Two Return Code and Message Areas are displayed at the bottom of the screen. The first message area will reflect the Property Level portion and the second message area will reflect the Blockface and Political Level portion.

-

d. The Function Code input field is at the very top of the screen (Function Code:). The same field is used to display ‘1B’ and to allow the user to transfer to another function.

-

e. The Unit input field is at the very top of the screen (Unit:). The same field is used to return the normalized unit display format output.

-

logo4 <>
-

Sample Mainframe GOAT Function 1B Screen

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section06/index.html b/site/chapters/chapterV/section06/index.html deleted file mode 100644 index 092d1128..00000000 --- a/site/chapters/chapterV/section06/index.html +++ /dev/null @@ -1,889 +0,0 @@ - - - - - - - - - - - - V.6 Duplicate Addresses - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.6 Duplicate Addresses
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.6 Duplicate Addresses

- -

New York City has a small number of duplicate addresses, which are not data errors in Geosupport files, but real duplicates in the assignment of house numbers to buildings or in the allocation of administrative address ranges to blockfaces. Some duplicate addresses were created when formerly independent towns were consolidated into one of the city’s boroughs. Other duplicates involve situations in which a developer or other entity has given the same name to a private street that the city has given to a public street in the same borough. When two streets in the same borough have the same name, Geosupport treats them as portions of a single street, regardless of how far apart they are geographically.

-

Geosupport’s address-processing functions, Functions 1, 1A, 1B and 1E, when called using two work areas, have a special feature to process duplicate addresses. This feature involves the use of Duplicate Address Pseudo-Street Names (DAPSs), described in Chapter III.6. DAPSs are assigned to every street that has duplicate addresses, providing a means for users to specify unambiguously a particular instance of such an address. The user may alternatively specify the unique ZIP Code for the address. See Chapter III.6 for more detail.

-

Whether a given input address is processed as a duplicate address depends on the function. Functions 1 and 1E behave identically with respect to duplicate address processing, both in the set of addresses they consider to be duplicates, and in the way addresses are processed. However, Function 1A differs from Functions 11E in both of these respects.

-

Note, that Function 1B is a combination of Function 1A Extended and Function 1E Extended.

-

Function 1B first calls Function 1A Extended to process the input address. During its processing, Function 1A Extended may modify the input address, (e.g. if it assumes a range). Function 1B then calls Function 1E Extended with the input address as it was modified by Function 1A Extended. Separate error messages are issued by the Function 1A Extended and the Function 1E Extended processing. Both messages are returned to the user.

-

There are two cases of duplicate address situations:
-* Case 1: Overlap of Administrative Address Ranges Allocated to Two Blockfaces: The same administrative address range (discussed in Chapter V.4) or portion thereof is allocated to two different blockfaces on the same street in the same borough. That is, an administrative address range allocated to one blockface along a street contains, coincides with, or otherwise overlaps with, that allocated to another blockface along the same street. Any input address that is within such an overlap is processed as a duplicate address by Functions 1 and 1E.

-
    -
  • Case 2: Duplication of an Address or Address Range Assigned to Two Buildings: The same address or range of addresses is assigned to two different buildings on the same street in the same borough. Any such input address is processed as a duplicate address by Function 1A.
  • -
-

In general, an address that is an instance of Case 2 is also an instance of Case 1, but the reverse is not necessarily true. That is, almost all addresses that are processed as duplicates by Function 1A are also processed as duplicates by Functions 1/1E, but there are many addresses that are processed as duplicates by Functions 1/1E but are not processed as duplicates by Function 1A.

-

Hillside Avenue in Queens has addresses that exemplify both of the above cases. A Case 1 example is the following: There is a blockface of Hillside Avenue in the Bellerose neighborhood of Queens to which the administrative address range 239-02 to 239-10 is allocated. There is another blockface of Hillside Avenue, in the Douglaston neighborhood of Queens, to which the administrative address range 239-02 to 239-20 is allocated. Since the Bellerose range is entirely contained within the Douglaston range, Functions 1 and 1E process every house number in the Bellerose range (all the even house numbers on Hillside Avenue from 239-02 to 239-10) as a duplicate address.

-

Despite the administrative address range duplication, not every individual even house number on Hillside Avenue between 239-02 and 239-10 is a valid actual building address in both Bellerose and Douglaston, i.e., is an instance of Case 2. Function 1A does not process an address as a duplicate unless it is assigned to two different buildings, even if Functions 1 and 1E process that address as a duplicate

-

Function 1A faces three possibilities when processing an address that Functions 1/1E consider to be a duplicate, as illustrated by the following Hillside Avenue examples:

-
    -
  • -

    239-02 Hillside Avenue is assigned to buildings in both Bellerose and Douglaston. Therefore, this address is processed as a duplicate address by Function 1A, as well as by Functions 1/1E.

    -
  • -
  • -

    239-06 Hillside Avenue is assigned to only one building, in Bellerose. Therefore, this address is processed normally, not as a duplicate address, by Function 1A, even though it is processed as a duplicate address by Functions 1/1E.

    -
  • -
  • -

    There are no buildings to which 239-04 Hillside Avenue is assigned. Therefore, this address is rejected as entirely invalid by Function 1A, even though it is processed as a duplicate address by Functions 1/1E.

    -
  • -
-

Processing of a duplicate address. When an address-processing function considers an input address to be a duplicate, it processes that address as follows.

-
    -
  • -

    If the street in the input address is specified using the conventional street name (and no ZIP code is specified or an invalid ZIP code is specified), the call is rejected with a Geosupport Return Code of ‘75’. The accompanying Message informs the user that the function considers this input address to be a duplicate address, and indicates the two DAPSs that could be used to specify this address unambiguously. For example, 239-02 Hillside Avenue is considered a duplicate address by all of the address-processing functions, so all of them would reject the input 239-02 HILLSIDE AVENUE and would return a GRC of ‘75’ and the Message:

    -

    DUPLICATE ADDRESS-USE HILLSIDE AVENUE BELLEROSE OR HILLSIDE AVENUE DOUGLASTON

    -
  • -
  • -

    If the user specifies the input address using one of the DAPSs instead of the conventional street name, it is accepted. For example, 239-02 HILLSIDE AVENUE BELLEROSE is accepted by all of the address-processing functions, as is 239-02 HILLSIDE AVENUE DOUGLASTON. These functions return output information that is specific to the blockface (Functions 1/1E) or the tax lot and building (Function 1A) pinpointed by the DAPS.

    -
  • -
  • -

    If the user specifies the input address using the conventional street name and a valid ZIP code then it is accepted. For example, 239-02 HILLSIDE AVENUE with ZIP code 11426 (in Bellerose) is accepted by all of the address-processing functions, as is 239-02 HILLSIDE AVENUE with ZIP code 11363 (in Douglaston). These functions use the corresponding DAPS information for the output street name and street code. These functions return output information that is specific to the blockface (Functions 1/1E, 1B) and/or the tax lot and building (Function 1A, 1B) pinpointed by the DAPS.

    -
  • -
-

To summarize, for an address that the function being called considers to be a duplicate, the conventional street name, without a ZIP code, is rejected; only a DAPS or a conventional street name, with a ZIP code, is accepted as an input street name for such addresses.

-

Processing of a non-duplicate address on a street that has DAPSs. Now suppose that a particular address-processing function considers a given input address to be a valid non-duplicate. If the street does not have DAPSs (i.e., if the street does not have any addresses that are considered to be duplicates by any of the address-processing functions), then the processing does not involve the duplicate address processing feature. If the street does have DAPSs, then the address is processed as follows.

-
    -
  • -

    If the address is specified using the conventional street name, it is accepted. For example, 239-20 Hillside Avenue is considered a non-duplicate address by all of the address-processing functions. Therefore, they all accept 239-20 HILLSIDE AVENUE as input. 239-06 Hillside Avenue is considered a non-duplicate address by Function 1A (it is valid for one building only, which happens to be in Bellerose), but it is considered a duplicate address by Functions 1/1E. Therefore, Function 1A accepts 239-06 HILLSIDE AVENUE as input, but Functions 1/1E reject this as a duplicate address for which DAPS input, or a ZIP code, is required.

    -
  • -
  • -

    If the address is specified using DAPSs, the processing depends on the function:

    -
      -
    • -

      Functions 1/1E reject the address. For example, Functions 1/1E reject 239-20 HILLSIDE AVENUE BELLEROSE, as well as 239-20 HILLSIDE AVENUE DOUGLASTON. Functions 1/1E treat DAPSs as valid only for addresses they consider to be duplicates, and reject DAPSs for addresses that these functions do not consider to be duplicates.

      -
    • -
    • -

      Function 1A’s processing depends on whether Functions 1/1E consider the address to be a duplicate:

      -
        -
      • -

        If Functions 1/1E consider the address to be a non-duplicate, Function 1A rejects the address. For example, Function 1A rejects the input 239-20 HILLSIDE AVENUE BELLEROSE, as well as 239-20 HILLSIDE AVENUE DOUGLASTON.

        -
      • -
      • -

        If Functions 1/1E consider the address to be a duplicate, Function 1A accepts the address when it is specified using the DAPS corresponding to the neighborhood where the address is valid, and rejects the address when it is specified using the other DAPS. For example, as mentioned above, 239-06 Hillside Avenue is valid only for a building in Bellerose. Therefore, Function 1A accepts 239-06 HILLSIDE AVENUE BELLEROSE, but it rejects 239-06 HILLSIDE AVENUE DOUGLASTON. Note that this contrasts with the behavior of Functions 1/1E, which reject both DAPSs when they consider an address to be a non-duplicate.

        -
      • -
      -
    • -
    -
  • -
-

We now summarize the duplicate address processing feature. Functions 1 and 1E behave identically with respect to duplicate address processing: they consider the same addresses to be duplicates, and they process all addresses in exactly the same way, both those they consider to be duplicates and those they do not. However, Functions 1/1E differ from Function 1A in certain respects.

-
    -
  • -

    Functions 1/1E differ from Function 1A in which addresses they consider to be duplicates. Almost all addresses that Function 1A considers to be duplicates are also considered duplicates by Functions 1/1E. However, there are many addresses that Functions 1/1E consider to be duplicates that Function 1A does not.

    -
  • -
  • -

    If an address-processing function considers an input address to be a duplicate, the function rejects the conventional street name, and accepts DAPSs, or conventional street names with ZIP codes.

    -
  • -
  • -

    If an address-processing function considers an input address to be a valid non-duplicate, it accepts the conventional street name.

    -
  • -
  • -

    If an address-processing function considers an input address to be a valid non-duplicate, and the street is specified using a DAPS, the action taken depends on the function. Functions 1/1E reject both DAPSs, regardless of whether Function 1A considers the address to be a duplicate. Function 1A’s action depends on whether Functions 1/1E consider the address to be a duplicate. If Functions 1/1E consider the address to be a non-duplicate, Function 1A rejects both DAPSs. If Functions 1/1E consider the address to be a duplicate, Function 1A accepts the DAPS that corresponds to the location where the input address is a valid address of a building, and rejects the other DAPS.

    -
  • -
  • -

    As mentioned earlier, Function 1B is a combination of Function 1A Extended and Function 1E Extended. Function 1B first performs Function 1A Extended processing of the input address. Function 1B then performs Function 1E Extended processing of the input address (as it was modified by Function 1A Extended). Separate error messages are issued by the Function 1A Extended and the Function 1E Extended processing. Both messages are returned to the user.

    -
      -
    • If Function 1A Extended accepts the input, e.g. 239-06 Hillside Avenue, but Function 1E Extended does not, then the Function 1A portion of the Function 1B Work Area 2 will contain valid output, but the Function 1E Extended portion will show an error message rejecting the input (GRC 75) and no valid output will appear in the Function 1E Extended portion.
    • -
    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section07/index.html b/site/chapters/chapterV/section07/index.html deleted file mode 100644 index 5bb981a0..00000000 --- a/site/chapters/chapterV/section07/index.html +++ /dev/null @@ -1,816 +0,0 @@ - - - - - - - - - - - - V.7 Marble Hill/Rikers Island - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.7 Marble Hill/Rikers Island
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.7 Marble Hill/Rikers Island

- -

There are two New York City areas, Marble Hill and Rikers Island, that have the following idiosyncrasy: each is more closely identified geographically with a borough other than the borough to which the area legally belongs. The former is referred to as the ‘alternative borough’.

-
    -
  • -

    Marble Hill: The legal borough is Manhattan, and the alternative borough is the Bronx. Marble Hill is located on the Bronx side (the north side) of a body of water separating Manhattan Island from the Bronx, and it has a land boundary with the Bronx but it is connected to Manhattan Island only by a bridge.

    -
  • -
  • -

    Rikers Island: The legal borough is the Bronx, and the alternative borough is Queens. Rikers Island is physically connected to Queens via a bridge but is not connected to the Bronx.

    -
  • -
-

Because of their locations, Marble Hill and Rikers Island receive many of their government services from their alternative borough, and therefore they are included in many operational and administrative districts of the alternative borough. For example, most of Marble Hill is in Bronx Community District (CD) 8, and the remainder of it is in Bronx CD 7. Marble Hill also has a Bronx ZIP code (10463).  Rikers Island is assigned to Queens CD1.

-

In practice, both the legal borough and the alternative borough are used when specifying Marble Hill and Rikers Island locations. To accommodate this practice, Geosupport’s address-processing and street configuration-processing functions have been designed to accept either the legal borough or the alternative borough as the input borough for Marble Hill and Rikers Island locations. For example, the Marble Hill address 150 WEST 225 STREET is accepted by the address-processing functions whether Manhattan or the Bronx is specified. The Rikers Island address 18-99 HAZEN STREET is accepted whether the Bronx or Queens is specified.

-

When an application makes a two-work-area call to any of the address-processing or street configuration-processing functions other than Function 3S, and specifies the alternative borough for a Marble Hill or Rikers Island location, Geosupport issues a warning with a Reason Code value of ‘C’ and an appropriate Message.

-

Except for the LION Key (viz. Borough Code, Face Code and Sequence Number) the information returned to the application in WA2 is the same regardless of which borough is specified as the input borough. Note, however, that the output borough name and street code(s) returned to the application in WA1 do depend on which borough is specified as the input borough. Each street in Marble Hill and Rikers Island has two street codes assigned to it, one for the legal borough and one for the alternative borough. The street code(s) and borough name that are returned in WA1 correspond to the input borough.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section08/index.html b/site/chapters/chapterV/section08/index.html deleted file mode 100644 index 9222f684..00000000 --- a/site/chapters/chapterV/section08/index.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - - - - - - - V.8 Special Ruby Street Processing - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.8 Special Ruby Street Processing
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.8 Special Ruby Street Processing

- -

The address processing functions have a special feature to handle an anomaly involving a stretch of a street that lies along the Brooklyn‑Queens border.  On the Brooklyn side, this street is called Ruby Street; on the Queens side of the same physical street, it is called 75 Street.  Many residents of the Brooklyn side of this street customarily specify Brooklyn as the borough but they specify the Queens street name, 75 Street, rather than the ‘legal’ Brooklyn street name, Ruby Street.  A further complication is that there is a different Brooklyn street (in Bay Ridge, far from the Queens border) that is also called 75 Street.  Geosupport handles these anomalies automatically, as follows:

-

When an address-processing function is called, and Brooklyn is specified as the input borough, and 75 STREET is specified as the input street name, Geosupport is able to determine from the input house number (assuming it is a valid house number) whether the address is on 75 Street in Bay Ridge or is actually on Ruby Street.  If it is in Bay Ridge, it is processed normally.  If the address is on Ruby Street, then Geosupport takes the following actions:

-
    -
  • -

    The street name RUBY STREET and the street code for Ruby Street are returned in WA1 instead of the normalized input street name, 75 STREET, and the latter’s Brooklyn street code.

    -
  • -
  • -

    WA2 is returned with a full complement of data.

    -
  • -
  • -

    Geosupport issues a warning with a Reason Code value of either ‘6’ or ‘7’. (Reason Code ‘6’ indicates simply that the output street name and street code differ from the corresponding input values. Reason Code ‘7’ indicates in addition that the input and output house numbers differ from each other in some way, as per Chapter V.2. See Appendix 4.)

    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section09/index.html b/site/chapters/chapterV/section09/index.html deleted file mode 100644 index 7dd86337..00000000 --- a/site/chapters/chapterV/section09/index.html +++ /dev/null @@ -1,830 +0,0 @@ - - - - - - - - - - - - V.9 Vanity Addresses - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.9 Vanity Addresses
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.9 Vanity Addresses

- -

Vanity addresses are a type of geographically ‘dislocated’ address in which the street name is that of a different street from the one on which the building entrance is actually located. Developers sometimes use such addresses in the belief that a prestigious street name enhances the market value of a property.

-

1049 FIFTH AVENUE in Manhattan is an example of a vanity address. Although this is ostensibly a Fifth Avenue address, the building entrance to which this address is assigned is actually located on the south side of East 86th Street between Fifth and Madison Avenues. (In this case, the building has no frontages at all on the named street, although that is not a prerequisite to being a vanity address.)

-

Functions 1 and 1E process vanity addresses as follows.

-
    -
  • -

    A warning with Reason Code ’V’ is issued, along with a message that indicates the ‘true’ street name (the name of the street on which the building entrance is actually located).

    -
  • -
  • -

    The output data returned, including cross streets and geographic district identifiers, pertain to the true blockface. For example, the information returned for 1049 FIFTH AVENUE corresponds to the blockface on the right (south) side of East 86th Street between Fifth and Madison Avenues, not to a blockface of Fifth Avenue. In particular, East 86th Street is not returned as a cross street, since it is the true ‘on’ street; and Fifth Avenue is returned as the cross street at the low-address end of the segment.

    -
  • -
  • -

    The source for the Spatial Coordinates (a.k.a. X-Y coordinates) returned for Vanity Addresses (and NAPs) is the Citywide Street Centerline file (CSCL). The CSCL information guarantees that the X-Y coordinates fall within the actual location (e.g. building footprint) of the Vanity Address.

    -
  • -
-

Function 1A processes vanity addresses as follows:

-
    -
  • -

    A warning with Reason Code ‘V’ is not issued.

    -
  • -
  • -

    The output data returned pertain to the actual building associated with the vanity address.

    -
  • -
  • -

    In the list of geographic identifiers at least two entries will appear: one (type V entry) for the vanity address and one for the real street (a.k.a. true street or underlying street). The second entry will be either a regular address entry with house numbers and street information or a type R entry indicating the street that the entrance to the vanity address is on.

    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section10/index.html b/site/chapters/chapterV/section10/index.html deleted file mode 100644 index 67666d33..00000000 --- a/site/chapters/chapterV/section10/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - V.10 Out-of-Sequence Addresses - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.10 Out-of-Sequence Addresses
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.10 Out-of-Sequence Addresses

- -

In addition to vanity addresses, there is another type of geographically dislocated address called out-of-sequence addresses. In such an address, the street name does refer to the street where the referenced building entrance is actually located, but the house number is out of sequence with those of the adjacent buildings. An out-of-sequence address may or may not be so dislocated that the building entrance is on a blockface other than the one that is consistent with the normal addressing pattern of the given street. Developers sometimes request such addresses because they feel they are euphonious or easy to remember.

-

An example of an out-of-sequence address is 62 WEST 62 STREET in Manhattan. This address refers to a building entrance located on the south side of West 62nd Street between Broadway and Columbus Avenue. In this case, the out-of-sequence address is indeed on the blockface that is consistent with the normal addressing pattern for West 62nd Street. However, the building in question is directly to the east of a building with the address range 42-44 WEST 62 STREET. This violates the normal addressing pattern for West 62nd Street, and for east-west streets on the west side of Manhattan in general, in which the house numbers consistently increase going from east to west.

-

Functions 1 and 1E process out-of-sequence addresses as follows. A warning with Reason Code ‘O’ is issued for any address on a blockface containing an out-of-sequence address. The output data returned, including cross streets and geographic district identifiers, pertain to the blockface on which the building entrance is actually located. The Spatial Coordinates returned are those of a point calculated under the assumption that the building entrance is located at the midpoint of the blockface.

-

An opposite-parity address contains a house number that is of the opposite parity to the predominant parity on the blockface. Opposite-parity addresses are processed in the same manner as out-of-sequence addresses.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section11/index.html b/site/chapters/chapterV/section11/index.html deleted file mode 100644 index 6632d4cf..00000000 --- a/site/chapters/chapterV/section11/index.html +++ /dev/null @@ -1,806 +0,0 @@ - - - - - - - - - - - - V.11 ZIP Code as Input Instead of Borough Code - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.11 ZIP Code as Input Instead of Borough Code
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.11 ZIP Code as Input Instead of Borough Code

- -

For Functions 1, 1A, 1B, and 1E, the user may supply the five-digit ZIP code in place of the borough code. Geosupport will determine the borough based on the ZIP code. If both a ZIP code and a borough code are supplied, the borough code will be used and, in general, the ZIP code will be ignored.

-

Please note that the ZIP code is not validated. It is mainly used to determine the borough. For example, if you supply a ZIP code that is valid for the borough, but not for that particular location, the specified function will execute successfully. In addition, the ZIP code returned in Work Area 2 may be different than the ZIP code you have supplied.

-

In general the ZIP codes returned in Work Area 2 are usually accurate for residential areas since these ZIP codes are validated by the Board of Elections. If you believe that the ZIP code returned by Geosupport is incorrect, please forward the address in question with the ZIP code you believe is correct to GSS_Feedback@planning.nyc.gov. See Appendix 6 for more information.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section12/index.html b/site/chapters/chapterV/section12/index.html deleted file mode 100644 index eb9b4b84..00000000 --- a/site/chapters/chapterV/section12/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - V.12 Fuzzy Search for Address Functions 1, 1A, 1B, and 1E - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.12 Fuzzy Search for Address Functions 1, 1A, 1B, and 1E
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.12 Fuzzy Search for Address Functions 1, 1A, 1B, and 1E

- -

Geosupport processes situations where there is only one possible valid similar name and that valid similar name is created by adding the word EAST or WEST to the front of the input street name (in other words, the input street name is a front-truncated street name). For example, if a user supplies 212 146 STREET in Manhattan as the input to a Function 1, 1A, 1B or 1E call, Geosupport recognizes that 146 Street does not exist in Manhattan. Since only WEST 146 STREET exists (there is no East 146 Street), Geosupport will accept the call with a warning message indicating that West 146 Street is assumed.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section13/index.html b/site/chapters/chapterV/section13/index.html deleted file mode 100644 index c01a7470..00000000 --- a/site/chapters/chapterV/section13/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - V.13 Special Place Name Processing - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.13 Special Place Name Processing
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.13 Special Place Name Processing

- -

Functions 1 and 1E return the underlying street name of an addressable place name, and the street address of a non-addressable place name, as part of a warning message with reason code V. In addition, the underlying information is returned in code format in the COW Work Area 2 and the MSW Long Work Area 2.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section14/index.html b/site/chapters/chapterV/section14/index.html deleted file mode 100644 index d333f725..00000000 --- a/site/chapters/chapterV/section14/index.html +++ /dev/null @@ -1,805 +0,0 @@ - - - - - - - - - - - - V.14 ‘No Cross Street’ Segment Processing - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.14 ‘No Cross Street’ Segment Processing
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.14 ‘No Cross Street’ Segment Processing

- -

When there are no cross streets at the end of a segment, Functions 1, 1E and B return the cross streets from preceding or subsequent segments. The High and Low Addresses at those cross streets are also returned. In Function 1 and 1E Extended and Function 1B, the Node ID and X-Y coordinates (spatial coordinates) at those cross streets are returned as well.

-

If the user wishes to see the original values of the Node ID and X-Y coordinates of the original segment (which may have no cross street) those values appear in special ‘segment’ fields in Functions 1/1E Extended and Function 1B.Work Area 2.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterV/section15/index.html b/site/chapters/chapterV/section15/index.html deleted file mode 100644 index e05fa133..00000000 --- a/site/chapters/chapterV/section15/index.html +++ /dev/null @@ -1,1284 +0,0 @@ - - - - - - - - - - - - V.15 UNIT Information Feature (COW Only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter V: Address Processing »
  • - - - -
  • V.15 UNIT Information Feature (COW Only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

V.15 UNIT Information Feature (COW Only)

- -

Users have requested the ability to describe addresses more in more detail. Geosupport now allows users to specify UNIT information, e.g. APT 5, on COW address-processing functions

-

The UNIT feature enables users to keep better track of information specific to units within a building. For example, it will be useful for PECO (Post Emergency Canvassing Operations) to record which units in a building were canvassed, and which units required assistance. By allowing users to input apartment numbers it will help the users keep track of whom they saw when going into the field. They can print lists with apartment numbers and keep track of which apartments were seen and which still remain to be seen. The Unit information can also be used on mailing labels, etc.

-
    -
  • -

    Unit information may appear at the end of an input free-form address,
    - e.g. 120 BROADWAY STE 3102

    -
  • -
  • -

    Alternatively, unit information may also appear in the Unit Input field in Work Area 1,
    - e.g. STE 3102

    -
  • -
-

Unit information consists of a Type and an Identifier . For example, ‘APT 5’ consists of a Unit Type of ‘APT’ (apartment) and a Unit Identifier of ‘5’. (Unit Type and Unit Identifier are similar to NENA (National Emergency Number Association) terminology.) NENA and USPS (US Postal Service) have defined Preferred Types with a length of up to 4 characters. Geosupport converts the input Type to the Preferred Type. See Table of Preferred Types later in this section. If the unit information does not have a recognized type, the Type will be set to a pound sign, viz. #, and the data will be considered as the Identifier. If the data is longer than the space available in the Unit fields, the identifier will be truncated and a warning message (Reason Code $) will be issued.

-

Unit information is supplied by the user in the Work Area 1 (WA1) Unit Input field for a length of 14, or at the end of a free-form address. In either case, the unit information is normalized and returned in the Output Area of WA1 in two formats – Display format and Sort format.

-
    -
  • -

    Display format for a length of 14, with Type and Identifier concatenated with one blank in between them.

    -
  • -
  • -

    Sort format for a length of 14, which is broken down into two consecutive fields

    -
      -
    • Unit Type for a length of 4
    • -
    • Unit Identifier for a length of 10
    • -
    -
  • -
-

The following table indicates the size and location of the UNIT fields in the COW Work Area 1. These fields are defined in the Geosupport COPY library.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
UNIT Fields Work Area 1 (COW only)
Field name Size From To Functions
---- The following Unit field is in the Input portion of Work Area 1 ----
Unit Input 14 219 232 1*
---- The following Unit fields are in the Output portion of Work Area 1 ----
UNIT - SORT FORMAT 14 667 680 1*
Unit – Type 4 667 670 1*
Unit – Identifier 10 671 680 1*
Unit – Display Format 14 681 694 1*
- -

The normalization of Unit input includes recognizing the Unit Type and Identifier and converting all Unit Types to the Preferred Unit Types. In addition, the first instance of a Type is moved to the front of the Display Unit field. Some of the basics of normalization are mentioned here.

-
    -
  • All ordinals are removed
  • -
  • All characters aside from A-Z, 0-9, -, / are removed
  • -
  • All extraneous blanks and all blanks before and after / or – are removed
  • -
  • The first instance of a Type is moved to the front of the unit field with the rest of the identifier following, e.g. 1st Floor will be output as FL 1.
  • -
  • All instances of a Type are replaced by the Preferred Type
  • -
  • In the absence of a Type, the software will return a pound sign (#).
  • -
  • In Display format there will always be a blank between the Type and the Identifier, e.g.
    MEZZA
    will appear as
    MEZZ A
    in a Unit output field. (
    MEZZ
    is the preferred Type for Mezzanine.)
  • -
-

Note: In the following discussions, blanks appear as hyphens.

-
    -
  • -

    Consider an example where the Unit Input is '

    4TH-FLOOR
    '. It will be normalized to: '
    FL-4
    ' in the Display format. The ordinal
    'TH'
    was removed;
    'FLOOR'
    was replaced by the Preferred Type
    'FL'
    ; and
    'FL'
    was moved to the front of the Display Unit field.

    -
  • -
  • -

    The Sort format is similar except that it is composed of two fields. The Type is always 4 characters. The first instance of a Type is put into the Type field of the Sort format. The Identifier has 10 characters and any numeric may have extra spaces around them to ensure that they sort properly. In this case,

    '4th-FLOOR'
    would be appear as
    'FL--'
    in the Sort Type field and '---4------' in the Sort Identifier field. The extra blanks before the ‘4’ in the Sort Identifier field will ensure that if they are sorted, the sort version of
    '10TH‑FLOOR'
    ('--10------') will appear after the sort version of
    '4TH-FLOOR'

    -
  • -
  • -

    If no Type at all is recognized in the input, then a pound sign ‘#’ is used as the Type in the Display and the Sort format. For example, if the Unit Input just had a ‘5’, Then the Display format would contain

    '#-5'
    ; the Sort format would contain Type: '#---' and Identifier:'---5------'.

    -
  • -
  • -

    If Unit Input is specified in the WA1 Unit Input field, and additional information also appears after the Street Name in a free-form call, then the WA1 Unit Input field is processed and the information appearing after the free-form address is ignored.

    -
  • -
  • -

    When the Unit information is supplied as part of the free-form address, Geosupport continues to give the Reason Code 'W' warning message
    - INPUT STREET NAME HAS BEEN MODIFIED

    -
  • -
  • -

    In rare instances, a Unit Identifier may be truncated in an output field. In that case, if the Unit Input was specified in the WA1 Unit Input field, then a warning message is issued. The warning message is:

    -
  • -
-

- - - - - - - - - - - - -
GRC Reason Code Functions Message
01$1*UNIT IDENTIFIER HAS BEEN TRUNCATED

-

When this situation occurs with a free-form address, the original warning message with Reason Code ‘W’: INPUT STREET NAME HAS BEEN MODIFIED is still given.

-

The following is a table of the Preferred Unit Types and the Alternate Types that are recognized as input. The Preferred Type will appear in the Unit Output fields.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Table of PREFERRED UNIT TYPEs
PreferredAlternateAlternateAlternateAlternate
Unit TypeInput 1Input 2Input 3Input 4
APTAPARTMENTAPARTAPT
BSMTBASEMENTBSMTBSM
BSMBLDGTBUILDINGBLDGBLD
CLR CELLARCELARCELLCLR
COMMCOMMONSCOMMONCOMMCOM
CONCCOMCONCOURSEMONSCONCOURSCONC
CORRCORRIDORCORRIDCORRCOR
DEPTDEPARTMENTDEPTDEP
FL FLOORFLRFL
FRNTFRONTFRNTFRT
HNGRHANGERHNGR
KEY KEY
LBBYLOBBYLBBYLBY
LOT LOT
LVL LEVELLEVLLVLLEV
LOWR LOWER LOWRLOW
MEZZ MEZZANINE MEZZMEZ
OFC OFFICE OFFICOFF
PH PENTHOUSE PNTHSEPH
PIER PIER
REAR REAR
RM ROOM RM
SIDE SIDE
SLIP SLIP SLP
SPC SPACE SPAC SPC
STG STORAGE STORAG STRGSTG
STOP STOP STP
STE SUITE SUIT STE
TRML TERMINAL TRMNL TRML
UNIT UNIT UNT
RM ROOM RM
UPPR UPPER UPPR UPR
WING WING WNG
- -

Mainframe GOAT (CICS) Support of Unit - Functions 1A and 1B

-
    -
  • -

    Function:1A

    -
  • -
  • -

    Input: Field labeled

     'Unit'
    is available for input data.

    -
  • -
  • -

    Output: Field labeled

     'Norm Unit Disp' displays the Normalized Display Format
    -  Unit Output field.  

    -
  • -
  • -

    Function:1B

    -
  • -
  • -

    Input: Field labeled ‘Unit’ is available for input data.

    -
  • -
  • -

    Output: To save screen space, the Field labeled

    'Unit'
    that was used for input is also used for output and displays the Normalized Display Format Unit Output field.

    -
  • -
-

Mainframe GBAT Support - Functions 1A and 1B

-
    -
  • -

    Required GBAT Control Entries
    - WORKAREA=COW
    - RECTYPE=1A or 1B

    -
  • -
  • -

    Optional GBAT Control Entries
    - - - - - - - - - - - - - -
    UNIT=S,Ldefines location of Unit input field(not required if input data is free-form only)
    GEOUNIT=YES or NOspecifies if GBAT returns the Normalized Display Format Unit output field.
    GEOCODE=NO or ALLrequired if GEOUNIT=YES

    -
  • -
  • -

    Optional LRECL change
    - If GEOUNIT=YES is in effect, the LRECL of OUTFILE must be increased by 70.

    -
  • -
  • -

    For more detail on GBAT Unit processing, see Chapter IX, Appendix 9, and Appendix 12.

    -
  • -
-

Summary of Geosupport support of Unit processing

-
    -
  • -

    As of this writing, Unit Processing is supported by:

    -
      -
    • -

      Mainframe Batch and CICS

      -
    • -
    • -

      Desktop Edition

      -
    • -
    • -

      Linux Edition

      -
    • -
    • -

      .net and Java classes

      -
    • -
    • -

      Mainframe GBAT Batch (Functions 1A and 1B)

      -
    • -
    • -

      Mainframe GOAT CICS (Functions 1A and 1B)

      -
    • -
    • -

      Desktop Edition GBAT (Functions 1A and 1B)!

      -
    • -
    • -

      GeoExcel 2013

      -
    • -
    • -

      Web GOAT

      -
    • -
    -
  • -
  • -

    As of this writing, Unit fields are not processed by:

    -
      -
    • -

      Mainframe GBAT Batch (Functions 1 and 1E)

      -
    • -
    • -

      Desktop Edition GBAT (Functions 1 and 1E)

      -
    • -
    • -

      Desktop Edition GOAT

      -
    • -
    -
  • -
-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/chapterVI/index.html b/site/chapters/chapterVI/chapterVI/index.html deleted file mode 100644 index b7581c5f..00000000 --- a/site/chapters/chapterVI/chapterVI/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter VI - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • Chapter VI
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER VI

- -

TAX LOT AND BUILDING PROCESSING - FUNCTIONS 1A, BL, BN / ADDRESS POINT PROCESSING - FUNCTION AP

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section01/index.html b/site/chapters/chapterVI/section01/index.html deleted file mode 100644 index 53ab4237..00000000 --- a/site/chapters/chapterVI/section01/index.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - - - VI.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.1 Introduction

- -

New York City has approximately one million parcels of privately and publicly owned real property, called tax lots, containing more than 800,000 buildings. This chapter describes the Geosupport functions that process tax lots and buildings, Functions 1A, BL and BN. It also describes the Geosupport function that provides the Address Point information for addresses in New York City, Function AP.

-

Two data items discussed in detail in this chapter, the Borough-Block-and-Lot (BBL) and the Building Identification Number (BIN), serve as unique identifiers for tax lots and buildings, respectively. (Addresses are non-unique building identifiers, since many buildings have more than one address.) Function 1A accepts address input, Function BL accepts BBL input, and Function BN accepts BIN input.

-

Address Point IDs which relate to a ‘real’ posted address, and BBL and BIN information can be retrieved via Function AP. Function AP accepts address input. For more information on Function AP and Address Points, see Chapter VI.10.

-

Functions 1A, 1B, BL, and BN return property information that is updated on a weekly basis. (Prior to Version 17.1/Release 17A, the property information was updated on a quarterly basis. For Function 1B, only the property level data will be updated weekly4.) COW users may request more up-to-date information relating to new buildings and demolitions via the TPAD Request Flag for Functions 1A, 1B, BL and BN. (Note that TPAD information is not available for Function AP. Also, for Function AP, the property information continues to be updated on a quarterly basis.) For more information on the TPAD feature see Chapter VI.11 which discusses TPAD5 BIN and Status Information (COW only). See also Appendix 17 which discusses TPAD error processing and work area field names.

-

_________________________

- -

4 The weekly updates are typically available to users on the DoITT mainframe. For other users, discuss availability with the Geosupport Staff.
-5 TPAD – Transitional Property Address Directory

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section02/index.html b/site/chapters/chapterVI/section02/index.html deleted file mode 100644 index 2460fe6c..00000000 --- a/site/chapters/chapterVI/section02/index.html +++ /dev/null @@ -1,820 +0,0 @@ - - - - - - - - - - - - VI.2 Tax Lots and BBLs - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.2 Tax Lots and BBLs
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.2 Tax Lots and BBLs

- -

The city’s tax geography is designated and modified by the New York City Department of Finance (DOF). The tax geography consists of the subdivision of the territory of the city (excluding city-owned land that is mapped for streets) into tax blocks, each of which is further subdivided into one or more tax lots.

-
    -
  • -

    Each tax block is identified, uniquely within its borough, by a tax block number assigned by DOF. Each tax block can consist of one, more than one, or a portion of one physical city block.

    -
  • -
  • -

    Each tax lot is identified, uniquely within its tax block, by a tax lot number assigned by DOF.

    -
  • -
-

Thus, each of the city’s tax lots is identified, uniquely within the entire city, by the combination of three items, the borough code, tax block number and tax lot number. These items are often concatenated to form a single data item called the Borough-Block-and-Lot (BBL).

-

DOF strives to keep the tax block numbering as stable as possible over time, to facilitate property title searches and other historical record-keeping. For example, when a new stretch of street divides what was a single physical block into two physical blocks, DOF generally retains the old tax block number for both of the new physical blocks. As a result, there are many tax blocks that consist of more than one physical block. Occasionally, DOF does subdivide a tax block into two or more new tax blocks, assigning new tax block numbers to them. This may be done when a large area of land is being developed, often in conjunction with the mapping of a new pattern of streets. In recent years, this has most commonly occurred in Staten Island.

-

In contrast to the relatively stable tax block geography, the tax lot geography is quite volatile. DOF -constantly merges and ‘apportions’ (subdivides) tax lots, generally assigning new tax lot numbers to the newly created tax lots. However, DOF sometimes reassigns the tax lot number of a ‘predecessor’ lot (one of the lots that is being merged or apportioned out of existence) to a ‘successor’ lot. As a result, it is possible for the same BBL value to refer simultaneously to an existing tax lot and to one or more tax lots that no longer exist.

-

Figure VI-1, below, illustrates the tax geography for a portion of Manhattan in the vicinity of City Hall. -TaxGeography <>
-

Figure VI-1: Tax Geography for a Portion of Manhattan

-

The large numbers in Figure VI-1 are tax block numbers, and the small numbers are tax lot numbers. Notice that tax block 153 is a case of a tax block consisting of two physical blocks. Also notice that tax blocks 154 and 155 both have a tax lot 1, exemplifying that tax lot numbers are unique only within a tax block. (Similarly, tax block numbers are unique only within a borough.)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section03/index.html b/site/chapters/chapterVI/section03/index.html deleted file mode 100644 index 60f6a399..00000000 --- a/site/chapters/chapterVI/section03/index.html +++ /dev/null @@ -1,820 +0,0 @@ - - - - - - - - - - - - VI.3 Buildings and Building Identification Numbers (BINs) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.3 Buildings and Building Identification Numbers (BINs)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.3 Buildings and Building Identification Numbers (BINs)

- -

Many city agencies must maintain and process building-related data rather than, or in addition to, tax lot-related data. These two levels of processing are distinct, since a single tax lot can contain more than one building or no buildings.

-

A critical issue for building-level processing is to be able to identify buildings consistently. Neither addresses nor BBLs are suitable to serve as consistent identifiers for buildings. Some shortcomings of using addresses as building identifiers are as follows:

-
    -
  • Many buildings have more than one address.
  • -
  • Some buildings have no addresses.
  • -
  • The same address can identify both an existing building and a demolished one.
  • -
  • New York City has a small number of instances in which two different existing buildings have the same address (see Chapter V.6).
  • -
-

Some shortcomings of using BBLs as building identifiers are as follows:

-
    -
  • Some tax lots contain more than one building.
  • -
  • The relationship of buildings to tax lots is volatile, since tax lots are often subdivided and merged over time.
  • -
-

In order to provide a unique, immutable, citywide standard for building identification that can support consistent building-level processing, GSS has developed a set of Building Identification Numbers (BINs) that are assigned to every known building in the city.  (BINs are distinct from, and should not be confused with, house numbers.) A BIN is a seven‑byte numeric item, the first digit of which is the borough code. If a BIN field in a Geosupport work area is ‘empty’ (devoid of information), it contains the borough code followed by all zeros (in contrast to most Geosupport fields, which contain all blanks when ‘empty’). These are often referred to as zero BINs or ‘million’ BINs (e.g. 1000000, 2000000, etc.).

-

By using BINs as the building identifier, city agencies can process and match building-related data easily and in a consistent manner.  Indeed, there are buildings that do not have either an address or a Non-Addressable Place Name (NAP) and can be identified only by their BIN. In this document, such buildings are called Non-Addressable Un-named Buildings (NAUBs). Typical examples of NAUBs are some storage sheds on industrial lots and some comfort stations in parks.

-

The proliferation of the use of BINs among city agencies facilitates matching data by building across applications and across agencies. The Department of Buildings, which is particularly involved with building-level processing, uses BINs to identify buildings in its major computer applications.

-

The BIN that is assigned to a building is never changed (except to correct assignment errors); it remains assigned to that building permanently, even if the building is subsequently demolished or its BBL changes as a result of a tax lot merger or apportionment. If a building is demolished, and a new building is subsequently built and given the same address as that of the demolished building, GSS assigns to the new building a new BIN, different from that of the demolished building. In this case, the same address ambiguously identifies two distinct buildings (the new one and the demolished one), but each building is unambiguously identified by its own unique BIN. However, only the ‘active’ BIN for an address is returned in the Geosupport System at one time, unless the user sets the TPAD request switch in which case a Transitional BIN may also be returned for a given address (see Chapter VI.11 for more information). That is, only one BIN per address is accepted as Function BN input and returned as Function 1A, 1B and BL output. Generally, the active BIN of an address is the BIN assigned to the most recent building at the given address. Function BN also accepts as input the BINs assigned to buildings that have no addresses, such as NAUBs.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section04/index.html b/site/chapters/chapterVI/section04/index.html deleted file mode 100644 index e50cebb8..00000000 --- a/site/chapters/chapterVI/section04/index.html +++ /dev/null @@ -1,808 +0,0 @@ - - - - - - - - - - - - VI.4 Condominiums and Billing BBLs - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.4 Condominiums and Billing BBLs
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.4 Condominiums and Billing BBLs

- -

Condominiums are a class of properties with unique characteristics.  A condominium consists of condominium units, each of which constitutes a separate tax lot that has its own BBL.  In a residential condominium, the condominium units are generally the individual apartments. In a commercial condominium, the units might be retail shops or blocks of space in an office building. There are also mixed-use condominiums that have both commercial and residential units. A condominium can encompass all or part of a building or more than one building, possibly on more than one tax block.

-

The individual units in a condominium (but not the condominium itself) are parcels of real property. For example, title to an individual unit can be conveyed via a deed; unit owners are responsible for paying real estate taxes directly to the city; and liens can be placed against units.

-

Many municipal operations relate to condominiums as a whole rather than to specific condominium units. Examples are collecting sanitation fines, issuing code violations and inspecting and licensing building-wide systems such as boilers and elevators.

-

To distinguish condominiums from their constituent units, DOF has assigned to each condominium a set of special tax lot identifiers called the billing BBL.  (Condominiums are also identified by a Condominium Identification Number, also assigned by DOF.) If a condominium occupies land on more than one tax block, DOF assigns a billing BBL to each portion of the condominium on a separate tax block. Function BL accepts billing BBLs as valid input data, and Functions 1A and BN return them as output data.

-

DOF assigns billing BBLs only to condominiums, not to condominium units or non-condominium properties. Billing BBLs do not represent actual tax lots, and are not lienable. However, billing BBLs do provide a mechanism to obtain the name and address of a more appropriate party than a unit owner to communicate with concerning condominium-wide matters. DOF maintains files keyed to BBL which, for conventional BBLs, contain the names and addresses of parties registered to receive bills for real property taxes, often the property owner, but possibly a property manager, attorney or mortgagee. For a condominium billing BBL, the party listed might be an officer of the condominium, a property manager or an attorney. (Note: Geosupport does not provide direct access to DOF’s files; to arrange such access, contact DOF.) In some instances there may be a condominium that has not yet been assigned a Billing BBL by DOF (or the Billing BBL was not yet available when the Geosupport files were generated); in these cases the BBL that is returned by Geosupport is set to zero and a warning message is issued.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section05/index.html b/site/chapters/chapterVI/section05/index.html deleted file mode 100644 index e19bb6e8..00000000 --- a/site/chapters/chapterVI/section05/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - VI.5 Vacant Street Frontages and Pseudo-Addresses - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.5 Vacant Street Frontages and Pseudo-Addresses
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.5 Vacant Street Frontages and Pseudo-Addresses

- -

‘Real’ addresses are officially assigned to new buildings by the topographic bureaus at each of the five borough president’s offices. In addition, GSS assigns addresses called pseudo-addresses to some vacant street frontages of tax lots, that is, to street frontages that do not have ‘real’ building addresses. Pseudo-addresses have no ‘official’ status; they are not meaningful outside of the Geosupport System and should not be used for any operational purpose. In particular, mail sent to a pseudo-address is likely to be undeliverable. Since pseudo-addresses are not associated with buildings, they do not have associated BINs. Note: Pseudo-addresses are not to be confused with the unrelated concept of pseudo-street names (discussed in Chapter III.6).

-

When assigning a pseudo-address, GSS attempts to anticipate what ‘real’ address might someday be assigned to a building if one were to be built at that location. However, the assignment of pseudo-addresses can sometimes involve an element of arbitrariness, especially where there is a wide gap between the two real addresses that ‘sandwich’ a vacant frontage, or where there is a row of several adjacent vacant frontages. When assigning a pseudo-address, at a minimum, GSS uses a house number that is not already in service on the given street and that is in proper sequence with nearby real house numbers and with any previously assigned pseudo-addresses. If no such house number is available, no pseudo-address is assigned to that vacant street frontage.
-Function 1A is designed to accept as input both real addresses and pseudo-addresses. Also, both Function 1A and Function BL include pseudo-addresses in the list of geographic identifiers that they return for a tax lot Pseudo-addresses serve the following purpose: Certain information is obtainable from Geosupport by address but not by BBL, such as many political and administrative district identifiers that Functions 1 and 1E return. For vacant tax lots, which have no buildings at all and therefore no real addresses, pseudo-addresses provide the only means to obtain such information from Geosupport. Of course, for those vacant tax lots that have no pseudo-addresses assigned to them, it is not possible to obtain such information from Geosupport.

-

If a pseudo-address comes to be assigned as a real address of a newly constructed building, GSS changes that address’s classification in the Geosupport System from pseudo-address to real address. At the same time, the address’s tax lot might also change, if the new building happens to be on a different tax lot than the lot to which the address had been assigned as a pseudo-address. Real addresses can also change status and become either Geosupport rejects or pseudo-addresses, as the result of building demolitions. Geosupport is updated to reflect such changes, but time lags are possible.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section06/index.html b/site/chapters/chapterVI/section06/index.html deleted file mode 100644 index d6b17c10..00000000 --- a/site/chapters/chapterVI/section06/index.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - - - - - - VI.6 Function 1A - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.6 Function 1A
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.6 Function 1A

- -

Function 1A processes input addresses and NAPs. When Function 1A is called using two work areas, it returns information in WA2 related to the tax lot and the building (if any) identified by the input data (see work area layouts in Appendix 2(MSW) and Appendix 13 (COW) . If the input address is a pseudo-address, a warning is issued with Reason Code ‘8’ or ‘9’.

-

See Chapter V for a general discussion of Geosupport address processing, much of which is applicable to Function 1A. In particular, the various combinations of data items that can be used to specify an input address are described in Chapter V.3. Chapter V.4 discusses how Function 1A differs from the other address-processing functions with respect to the validation significance of input address acceptance and rejection, and explains why Function 1A is the best address-processing function to use to validate addresses. Special address processing features discussed in Chapter V are also available with Function 1A, including duplicate address processing, the special Marble Hill/Rikers Island feature, and the special Ruby Street feature.

-

An important purpose of Function 1A is to provide the BBLs for which addresses are known. The BBLs can then be used (outside of the Geosupport System) to retrieve information from various city files that are keyed to BBL, including DOF’s billing address files, from which the name and mailing address of the party registered to receive real estate tax bills can be retrieved. This same party might also be an appropriate recipient for many other property-related city mailings, such as notices of inspections, violations, summonses, fines, hearing notifications and licenses.

-

If the property is part of a Business Improvement District (BID), the BID is returned in Work Area 2 as a borough and five-digit street code (B5SC). Function D may be used to obtain the name of the BID.

-

The latitude and longitude of the location are also returned by COW Function 1A.

-

The long WA2 option (COW and MSW) as well as the Extended WA2 option (COW only) are available for Function 1A. Note that Extended WA2 is not valid if Long Work Area 2 is in effect. All three WA2s (viz. regular, long, and extended) for Function 1A contain a set of data organized into a list. The list in the regular WA2 and the Extended WA2 is a List of Geographic Identifiers (LGI). The LGI is intended to provide a comprehensive geographic profile of the tax lot by listing, so far as the information is known and space allows, all of the buildings the lot contains; all of the street addresses and non-addressable street frontages of each of those buildings; all of the vacant street frontages of the lot; and all NAPs associated with the lot. See the entry for the List of Geographic Identifiers in Appendix 3 for a detailed discussion of the contents of the LGI.

-

The LGI’s entries are ordered so that entries with non-empty BINs are listed first, grouped by BIN. If the input address is a real address, the first group of entries in the LGI consists of the entries for the BIN corresponding to the input address, and (except for certain special cases) the very first entry is an address range encompassing the input address. (The special cases are when the input information contains the alternative borough for a Marble Hill or Rikers Island location or the alternative street name or street code for a Ruby Street address -- see Chapters V.7 and V.8.) Any entries with empty BINs (a.k.a. zero BINs), such as entries for pseudo-address ranges, are listed after the entries with non-empty BINs as space in the LGI allows. If the input address is a pseudo-address, an address range encompassing it may or may not appear in the LGI, depending on the availability of space in the LGI and on the order in which the non-BIN entries happen to be listed.

-

The LGI has a maximum capacity of 21 entries, which for almost all tax lots is sufficient to contain all of the lot’s geographic identifiers. A tax lot that does have more than 21 geographic identifiers is said to have the ‘LGI overflow condition’. The LGI overflow condition is indicated by a value in the LGI Overflow Flag in Function 1A’s regular WA2, as well as by the issuance of a warning (Reason Code ‘A’).

-

By definition, when a tax lot has the LGI overflow condition, some of the lot’s geographic identifiers are not included in the LGI. In particular, it is possible that the BINs of some of the lot’s buildings do not appear in the LGI. The purpose of the long WA2 option for Function 1A is to provide a means for applications to retrieve a complete list of BINs for all the buildings on a tax lot, even for lots that have the LGI overflow condition. The long WA2 contains a List of Buildings on the Tax Lot. Each entry in this list consists only of a BIN; the list includes no address, street frontage or NAP information. (Such information can be obtained for each of the lot’s buildings by making Function BN calls.) The maximum capacity of the List of Buildings is 2,500, which is sufficient to list the BINs of all of the buildings on any tax lot in New York City.

-

Applications can use the long WA2 option for all tax lots, even for those that do not have the LGI overflow condition. Using the long WA2 option for every Function 1A call, rather than only for tax lots that have the LGI overflow condition, may be advantageous in applications that require a list of BINs but do not require the other information returned in the LGI. Doing so simplifies application design: only a single Function 1A call would be required for each input address, and the List of BINs, unlike the LGI, contains every BIN for the lot without repetition. However, users should be aware that, for tax lots that have the LGI overflow condition, a long WA2 call causes Function 1A to perform more I/O operations than a regular WA2 call.

-

If the input address to a Function 1A call (using the regular WA2, the long WA2, or the Extended WA2), is that of a condominium, Geosupport returns a ‘C’ in the Condominium Flag in WA2. In addition, the following information is returned for condominiums:

-
    -
  • Condominium Billing BBL (or the billing BBL of the portion of the condominium in the tax block containing the input address, if the condominium is in more than one tax block). In some instances there may be a condominium that has not yet been assigned a Billing BBL by DOF (or the Billing BBL was not yet available when the Geosupport data files were generated); in these cases the BBL that is returned by Geosupport is set to zero and a warning message issued.
  • -
  • DOF Condominium Identification Number (provided that DOF has assigned an ID number to the condominium and GSS has entered it into the Geosupport data).
  • -
  • The low BBL of all the condominium units in the building identified by the input address.
  • -
  • The high BBL of all the condominium units in the building identified by the input address. -For the positions of these fields in Work Area 2, see Appendix 2 and Appendix 13 for MSW and COW respectively.
  • -
-

Function 1A Extended Work Area 2 (Mode Switch set to ‘X’). This option is available in COW only. The first 246 bytes of the Extended Work Area 2 for Function 1A, up to the “Number of Entries in List of Geographic Identifiers” field, are the same as with regular COW Work Area 2. Aside from adding some filler and the new Function 1A Reason Code, Warning Code, and GRC fields (which are identical to the WA1 fields) to the work area for Function 1A Extended, the only change is in the address list. The street codes in the address list are B7SCs instead of B5SCs. The Principal Street Name (based on the B7SC in the address list) has been added to each element in the address list for the user’s convenience. Note that Mode Switch of “X” is not valid with the Long Work Area 2 Flag set to Y, since the Function 1A Long Work Area 2 primarily returns BINs, not street codes.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section07/index.html b/site/chapters/chapterVI/section07/index.html deleted file mode 100644 index 06d6243a..00000000 --- a/site/chapters/chapterVI/section07/index.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - - - - - - VI.7 Function BL - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.7 Function BL
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.7 Function BL

- -

The input to Function BL is a BBL identifying a tax lot. Like Function 1A , Function BL can be called with the long WA2 option. As with COW Function 1A, COW Function BL can be called requesting the Extended Work Area 2 (Mode Switch set to ‘X’).

-

The layouts of the regular, long and extended WA2s for Function BL are the same as the corresponding layouts for Function 1A, as described in Chapter VI.6. However, since the input information to Function BL identifies only a tax lot, whereas the input information to Function 1A identifies a specific building via its address, the contents of certain WA2 fields have a different significance for Function BL than for Function 1A. These fields are the BBL (in positions 29-38 for MSW and 34-44 for COW), the BIN (in positions 70-76 for MSW and 82-88 for COW), and the LGI (in positions 184-939 for MSW and 251-1363 for COW) of the regular WA2. All other WA2 fields have the same contents for both functions. For Function BL, the contents of the WA2 fields for the BBL, BIN and LGI are as follows:

-
    -
  • -

    If the input BBL identifies a single-building non-condominium tax lot: The output BBL field contains the input BBL. The BIN field contains the BIN of the tax lot’s only building. The LGI may contain all types of entries. As with Function 1A, the LGI may or may not be comprehensive with respect to the tax lot’s real address ranges and with respect to its BINs.

    -
  • -
  • -

    If the input BBL identifies a multi-building non-condominium tax lot: The output BBL field contains the input BBL. The BIN field contains the BIN of an arbitrary one of the tax lot’s buildings. The LGI may contain all types of entries. As with Function 1A, the LGI may or may not be comprehensive with respect to the tax lot’s real address ranges and with respect to its BINs.

    -
  • -
  • -

    If the input BBL identifies a vacant tax lot, i.e., a tax lot that has no buildings: The output BBL field contains the input BBL. The BIN field contains the Borough Code followed by all zeros. The LGI consists of all of the pseudo-address ranges (type Q entries) assigned to the tax lot, and all vacant street frontages (type F entries) of the tax lot.

    -
  • -
  • -

    If the input BBL identifies a condominium unit: The output BBL field contains the billing BBL of the condominium (except in cases where a billing BBL has not yet been assigned by DOF (or the billing BBL was not available when the Geosupport data files were generated), in which case the BBL returned contains zeros and a warning message is issued). If the condominium occupies portions of more than one tax block, the output BBL field contains the billing BBL of the portion of the condominium that is specific to the tax block containing the input condominium unit. The BIN field contains the BIN of the building that contains that unit. The LGI contains building-related entries (real address ranges, NAUBs (type B entries), NAPs (type G, N and X entries) and blank-wall building frontages (type W entries)) only for the building containing the input condominium unit, and is comprehensive for that building. The LGI can contain all non-building-related types of entries (vacant street frontages (type F entries) and pseudo-address ranges (type Q entries)).

    -
  • -
  • -

    If the input BBL is a billing BBL of a condominium: The output BBL field contains the input BBL. The BIN field contains the BIN of an arbitrary one of the condominium’s buildings on the tax block identified by the input billing BBL. The LGI may contain all types of entries. As with Function 1A, the LGI may or may not be comprehensive with respect to the tax lot’s real address ranges and with respect to its BINs.

    -
  • -
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section08/index.html b/site/chapters/chapterVI/section08/index.html deleted file mode 100644 index 44f412f3..00000000 --- a/site/chapters/chapterVI/section08/index.html +++ /dev/null @@ -1,805 +0,0 @@ - - - - - - - - - - - - VI.8 Standard and Legacy Versions of Functions 1A and BL - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.8 Standard and Legacy Versions of Functions 1A and BL
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.8 Standard and Legacy Versions of Functions 1A and BL

- -

The version of Functions 1A and BL that is documented in this User Programming Guide is called the standard version. The standard version was first created in 1995 when major modifications were made to Functions 1A and BL. The predecessor version of Functions 1A and BL is called the legacy version. The legacy version is no longer supported and was discontinued as of version 10.0. If you have programs that use the legacy PAD, please refer to the Geosupport Technical Bulletin 05-1 dated February 18, 2005 for information on converting to standard PAD. Copies of this bulletin are available upon request to GSS_Feedback@planning.nyc.gov.

-

All MSW applications that invoke Functions 1A and BL must set the 1ABL Version Switch to the value ‘S’. Note: COW applications only support standard PAD, so the 1ABL Version Switch is not applicable.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section09/index.html b/site/chapters/chapterVI/section09/index.html deleted file mode 100644 index 11a85635..00000000 --- a/site/chapters/chapterVI/section09/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - VI.9 Function BN - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.9 Function BN
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.9 Function BN

- -

Function BN processes a building specified by an input BIN. Function BN does not have the long WA2 option. However, the Mode Switch of X (Extended) is available as an option.

-

The layout of the regular WA2 for Function BN is identical to that of the regular WA2 for Function 1A, while the layout of the Extended WA2 is the same as that of the Extended WA2 for Function 1A. However, in Function BN’s WA2, the LGI contains entries only for the input building; not for any other buildings on the tax lot. It also does not contain any vacant street frontage (type F) or pseudo-address (type Q) entries. Function BN’s LGI is always complete with respect to the input building, since there is no building in New York City that has more than 21 geographic identifiers.

-

Except for the difference in the contents of the LGI and its list counter field, the Number of Entries in the -LGI, the contents of Function BN’s WA2 and Function 1A’s regular WA2 are identical for a given tax lot.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section10/index.html b/site/chapters/chapterVI/section10/index.html deleted file mode 100644 index 596db4a6..00000000 --- a/site/chapters/chapterVI/section10/index.html +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - VI.10 Function AP (COW Only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.10 Function AP (COW Only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.10 Function AP (COW Only)

- -

Emergency Management and the Department of Health and Mental Hygiene have a need to geocode addresses to their corresponding CSCL address points. By geocoding to a CSCL address point, the user application will presumably geocode to a ‘real’ posted address – not an address that might be part of an administrative range for a building. The Functions AP and AP Extended 6 (a.k.a. APX) return the desired information.

-

Function AP processes input addresses. When Function AP is called using two work areas, it returns information in WA2 related to Address Point, tax lot and the building identified by the input data. Work Area 2 contains the Address Point ID and X, Y coordinates of the Address Point. It also contains some property information such as the BBL and BIN of the input address. Note that the Work Area 2 contains information related only to the input address, not to any other addresses or buildings on the lot.

-

The Work Area 2 layouts for Functions AP and AP Extended are very similar to those of Functions 1A and 1A Extended. Only those fields deemed necessary for the AP function are returned with AP and AP Extended. Fields that are not needed are filler. The field names in the copylibs are typically very similar to each other except for the prefixes.

-

Since the AP function is requesting the address point of only one address, Geosupport returns only one address in the Work Area 2 address list.

-

See the Function AP work area layouts in Appendix 13 (COW).

-

See Chapter V for a general discussion of Geosupport address processing, much of which is applicable to Function AP.

-

Function AP Extended Work Area 2 (Mode Switch set to ‘X’). The first 246 bytes of the Extended Work Area 2 for Function AP, up to the “Number of Entries in List of Geographic Identifiers” field, are the same as with regular COW Work Area 2. Aside from adding some filler and the Function AP Reason Code, Warning Code, and GRC fields (which are identical to the WA1 fields) to the work area for Function AP Extended, the only change is in the address list. The street codes in the address list are B7SCs instead of B5SCs. The Principal Street Name (based on the B7SC in the address list) is added to each element in the address list for the user’s convenience.

-

_________________________

- -

6 Function AP Extended is also known as Function APX. It is invoked by calling Function AP with the Mode Switch set to X.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVI/section11/index.html b/site/chapters/chapterVI/section11/index.html deleted file mode 100644 index 935c7d4d..00000000 --- a/site/chapters/chapterVI/section11/index.html +++ /dev/null @@ -1,1116 +0,0 @@ - - - - - - - - - - - - VI.11 Transitional Property Address Directory (TPAD) Building Identification Number (BIN) and status information for Functions 1A, 1B, BL and BN (COW Only) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VI: Tax Lot, Building, and Address Point Processing »
  • - - - -
  • VI.11 Transitional Property Address Directory (TPAD) Building Identification Number (BIN) and status information for Functions 1A, 1B, BL and BN (COW Only)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VI.11 Transitional Property Address Directory (TPAD) Building Identification Number (BIN) and status information for Functions 1A, 1B, BL and BN (COW Only)

- -

(Note: For more information about the TPAD feature, including error processing, be sure to see Appendix 17.)

-

The TPAD File: The TPAD (Transitional Property Address Directory) file, allows users to get some up‐to‐date property related information. Geosupport has four functions (1A, 1B, BL and BN) that access the Property Address Directory (PAD) file. The PAD file contains property level information and is updated on a quarterly7 basis. In order for users to get more up‐to‐date information regarding the status of new building construction and/or demolition, the Department of City Planning (DCP) has created the TPAD file.

-

The TPAD file is updated daily with new information received from the Department of Buildings (DOB) regarding job filings for new buildings (NB). DOB uses the BIN-On-Demand system to obtain a new BIN at the time that an applicant pre-files an application on an address not currently in Geosupport. The newly assigned BINs are included in the TPAD file. In addition, changes in status of both NB and demolition (DM) jobs are updated weekly.

-

Invoking the TPAD functionality: To invoke TPAD processing, Geosupport users set the TPAD request switch in Work Area 1. When this switch is set to ‘Y’ for a 1A, 1B, BL or BN call, Geosupport will read the TPAD file along with the PAD file, thereby being able to return more up‐to‐date information to users.

-

The TPAD Switch is located in position 329 of the COW Work Area 1. If the switch is set to ‘N’ or blank, then no TPAD processing is performed. If the TPAD Switch is set to “Y”, then the following TPAD information will be returned to the user for Functions 1A, 1B, BL, and BN:

-

Work Area 2 Fixed Portion -Status of DM Job for BIN of the Input Address -New BIN for NB Job for Input Address or BBL -Status of NB Job -Conflict Flag

-

Work Area 2 Address List -Status of Job for this BIN in the Address List

-

TPAD Status Values are as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TPAD Status ValueAssociated Job TypeDescription
spacen/aNo activity for this address
0NBNew BIN issued (for DOB); NB Job application not yet filed
1NBNB Job application filed and paid for
2NBNB Job signed off [temporary or final Certificate of Occupancy (T/CO or C/O) issued]
3NBNew BIN issued (for HPD8); NB Job application not yet filed
5DMDM Job application filed and paid for
6DMDM Job signed off (building demolished)
-

When the TPAD Switch is set ‘on’, Geosupport will always return a value in the TPAD Conflict Flag in Work Area 2. On occasion, when there are conflicts between the data in the PAD and the TPAD record, the Conflict Flag in Work Area 2 will be set to a value greater than ‘1’. The possible values of the Conflict Flag are described in the table below. See Appendix 17 for a detailed description of the contents of the Geosupport Return Code, Reason Code, Reason Code Qualifier, and Error Message, when TPAD processing is requested.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TPAD Conflict Flag ValueMeaning (and associated TPAD Warning Message)
0TPAD data found, no conflicts with PAD data (no warning message returned)
1PAD found, no TPAD data found (no warning message returned)
2TPAD BBL used, no existing PAD BBL
3TPAD BBL used, PAD pseudo‐address on different BBL than TPAD NB BIN
4TPAD BBL used, existing PAD BIN of Input Address on different BBL than TPAD NB BIN
5(Not implemented)
6TPAD BBL used, existing PAD BIN of Input Address with DM‐5 on different BBL than TPAD NB BIN
7TPAD BBL used, existing PAD BIN of Input Address with DM‐6 on different BBL than TPAD NB BIN
8PAD BBL used, TPAD NB BIN with NB‐0 on different BBL than PAD BIN
9PAD BBL used, TPAD NB BIN with NB‐1 on different BBL than PAD BIN
APAD BBL used, TPAD NB BIN with NB‐2 on different BBL than PAD BIN
BPAD BBL used, TPAD NB BIN with NB‐3 on different BBL than PAD BIN
CTPAD data found, TPAD address overlaps PAD address
DAddress Found in TPAD, not found in PAD
EBIN found in TPAD, not found in PAD
-

In mainframe GOAT (CICS), the TPAD information can be retrieved by entering a ‘Y’ in the ‘TPADData’ or ‘TPAD’ field on the 1A, 1B, BL and BN screens.

-

The mainframe GBAT control card for TPAD processing is TPADDATA, with values of ‘YES’ or ‘NO’.

-

Interpreting the TPAD data -Because of the transitional nature of the data that can be returned by requesting the TPAD data, interpreting the data can sometimes be confusing. This section will describe how the transitional information is returned and try to reduce some of this confusion. The user should note, however, some situations will be inherently confusing and will require additional Geosupport function calls to clarify the situation.

-

Geosupport Processing when TPAD Information IS NOT requested:

-

The BIN of Input Address field will contain the BIN of a building that existed at the time of the Geosupport release.

-

The relationship of the BIN of Input Address field to the input for Geosupport 1A, 1B, BL and BN calls is as follows:

-
    -
  • -

    1A and 1B: The content of the BIN of Input Address field will be the BIN associated with the input address (if any).

    -
  • -
  • -

    BL: For most BBLs the content of the BIN of Input Address field will be the single BIN associated with the input BBL. For those BBLs that have multiple associated BINs, this will be one of the BINs. There is no way of determining which BIN it will be.

    -
  • -
  • -

    BN: The content will always be the input BIN.

    -
  • -
-

Geosupport Processing when TPAD Information IS requested:

-

The goal of the Transitional PAD Data (TPAD) enhancements is to supplement the above information with data maintained in the Transitional PAD file. To accomplish this, Geosupport first makes a regular 1A, 1B, BL, or BN call. It then reads the Transitional PAD file for additional information. Three new fields (not including the TPAD Request Switch and Conflict Flag) have been added to WA2 to reflect this TPAD information. The new fields are:

-
    -
  1. The TPAD BIN of Input Address Status field will hold the status for the BIN of Input Address field.
  2. -
  3. The TPAD New BIN field will contain the BIN that has recently been issued for potential new construction.
  4. -
  5. The TPAD New BIN Status field will hold the status for the TPAD New BIN field.
  6. -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TPAD Status For BIN of Input AddressInterpretation
SpaceBuilding exists, there is no demolition pending
0This status will not be used here
1This status will not be used here
2Building previously did not exist, but new building issued Certificate of Occupancy (C/O) after last PAD release
5Building exists; a DM permit has been paid for
6Building previously existed; DM was signed off after last PAD release
-

TPAD Status for New BIN

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ValueAssociated JobType Description
BlankNo activity for this address
0NBNew BIN issued (for DOB); application not yet filed
1NBNB Job application filed and paid for
2NBNB Job signed off [temporary or final Certificate of Occupancy (T/CO or C/O) issued]
3NBNew BIN issued (for HPD); application not yet filed
5DMDM Job application filed and paid for
6DMDM Job signed off (building demolished)
-

Address List TPAD Enhancements

-

For regular 1A, 1B, BL, and BN calls, the Address List contains alternate addresses associated with the BBL for 1A, 1B, and BL calls and with the BIN for BN calls. Each entry represents an address range and the BIN (if any) associated with this address. For TPAD enhancements we have done two things. We added a TPAD status field for each address entry. And, we have changed the order of the display of Addresses in the list. We list the BIN of Input Address first, followed by New BINs, if any, followed by Demolitions, followed by the rest of the addresses in the PAD record. For Long Work Area 2 requests, we have added a new field for each BIN, the TPAD Status field. Only 2187 BINs will be displayed in the Long Work Area 2 for TPAD requests.

-

Address List entries with BIN that existed at the time of the Geosupport Release

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TPAD Status For Existing BINInterpretation
SpaceBuilding exists, there is no demolition pending
0This status is not used here
1This status is not used here
2This status is not used here
5Building exists; a DM permit has been paid for
6Building previously existed; DM was signed off after last PAD release
-

Address List entries with TPAD New BIN contain a newly assigned BIN for the input address.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TPAD Status For New BINInterpretation
SpaceThis status will not be used here
0A New BIN has been assigned to the address, but its purpose is unknown
1A New BIN has been assigned and a New Building Job has been paid for at DOB
2A New BIN has been assigned and the building has been given a T/CO or C/O by DOB
5This status is not used here
6This status is not used here
-

The field names of the various TPAD‐related fields in COW Work Area 1 and Work Area 2 are available in Appendix 13.

-

_________________________

- -

7 As of Release 17A, those users who are on the DoITT mainframe typically will have PAD data that is updated weekly via the UPAD (Update PAD) file. Other users, e.g. Desktop users, will have PAD data that is updated quarterly. If desired, those users can make arrangements for more frequent updates.
-8 HPD - Department of Housing Preservation and Development

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/chapterVII/index.html b/site/chapters/chapterVII/chapterVII/index.html deleted file mode 100644 index f12a5ef1..00000000 --- a/site/chapters/chapterVII/chapterVII/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter VII - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • Chapter VII
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER VII

- -

STREET CONFIGURATION PROCESSING - FUNCTIONS 2, 3, 3C, 3S

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section01/index.html b/site/chapters/chapterVII/section01/index.html deleted file mode 100644 index 8d211ea5..00000000 --- a/site/chapters/chapterVII/section01/index.html +++ /dev/null @@ -1,861 +0,0 @@ - - - - - - - - - - - - VII.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.1 Introduction

- -

This chapter discusses various types of geographic locations known collectively as ‘street configurations’, and the Geosupport functions that process them. Street configurations are locations that are specified in terms of a combination of either two or three streets or a node ID (aka node number) .9

-
    -
  • -

    The two-street configurations are street intersections, which are specified in terms of a pair of intersecting streets, or in terms of a single intersection name, or in terms of a node ID.

    -
  • -
  • -

    The three-street configurations are locations that are specified in terms of an ‘on’ street between two cross streets. There are three types of three-street configurations: street segments, blockfaces, and street stretches.

    -
  • -
-

Table VII-1 lists the types of street configurations that Geosupport can process, the data items required to specify each type, the functions that process them, and the sections of this chapter in which they are discussed. The final Chapter in this chapter describes borough boundary processing, a special feature of all the street configuration functions except Function 3S.

-

Table VII-1: Street Configuration Types and the Functions that Process Them

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Street Configuration TypeSpecified ByFunctionSection
Intersections

● 2 intersecting streets and, if the 2 streets intersect twice, a compass direction specifying which intersection to process, -or-

● one intersection name –or-

(COW Only) one node ID (required if streets intersect more than twice)

2 or 2WVII.2
Street Segments (and related configurations)● ‘On’ street and 2 consecutive (or ‘nearly’ consecutive) cross streets3VII.3 & VII.4
Blockfaces● ‘On’ street, 2 consecutive cross streets, and compass direction specifying side of street3CVII.3 & VII.5
Street Stretches● ‘On’ street and (optionally) any 2 cross streets and, if the ‘on’ street intersects a cross street twice, a compass direction specifying which intersection to process3SVII.3 & VII.6
-
-

Applications pass input streets to the street configuration functions in the appropriate WA1 input fields, either in the form of street names or in the form of street codes. In the case of two-street configurations, the order of the two input streets is immaterial; either input street may be passed in either WA1 input street field. In the case of three-street configurations, the ‘on’ street must be passed in the WA1 input ‘on’ street field; the two cross streets may be passed in either order in the two WA1 input cross street fields.

-

For any of the street configuration functions, input street names may be pseudo-street names or intersection names, except for the ‘on’ street in a three-street configuration. Place names may not serve as input street names. (For a discussion of non-street features, pseudo-street names, place names and intersection names, see Chapter III.6.) In the remainder of this chapter, the term ‘street’ refers to a street name or street code that conforms to the above criteria.

-
-

Geosupport processes street configurations based on a simplified model of the city’s geography embodied in a digital map of New York City called CSCL (Citywide Street Centerline). The CSCL is a single-line map, that is, it represents streets and other linear geographic features, including railroad lines and shorelines, as single lines with no thickness, and it represents intersections as single points with no area or internal detail. In reality, of course, intersections occupy areas of various sizes and shapes, as reflected in a more realistic type of map known as a double-line map. The distinction between a single-line map and a double-line map is illustrated in Figure VII-1. The Department of City Planning extracts a version of the CSCL known as LION which may be more familiar to Geosupport Users and is available for download or for view on DCP’s website:

-

http://www1.nyc.gov/site/planning/data-maps/open-data.page#lion

-

FigureVII-1 <> -

Figure VII-1: Single Line and double-Line Maps Contrasted

-

_________________________

- -

9 Node ID is described in Chapter VII.2. The phrase ‘node number’ may occasionally appear in Geosupport documentation and in copy books.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section02/index.html b/site/chapters/chapterVII/section02/index.html deleted file mode 100644 index 978c2cd6..00000000 --- a/site/chapters/chapterVII/section02/index.html +++ /dev/null @@ -1,1093 +0,0 @@ - - - - - - - - - - - - VII.2 Intersections: Function 2 and Function 2W - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.2 Intersections: Function 2 and Function 2W
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.2 Intersections: Function 2 and Function 2W

- -

Note that any references to Function 2 apply to Function 2W as well, unless specifically stated otherwise. Note also that Function 2W is a COW-only function.

-

Function 2 is the Geosupport function that processes street intersections. Function 2 can process not only conventional street intersections, but also node IDs (COW only), intersection names and ‘pseudo-intersections’, that is, intersections of a conventional street with a pseudo-street (see Chapter III.6). There are three types of pseudo-intersections: dead ends, points at which a street intersects with the city limits, and bending points of streets. A point is considered a bending point if the angle of the street at that point is not within the range 160-200 degrees (i.e., not within 20 degrees of a straight line).

-

Nodes

-

We use the term node generically to refer to all types of intersections, both conventional and pseudo. Each node is assigned a unique node ID. Nodes, defined via street names and street codes, can serve not only as Function 2 input, but also as the delimiting endpoints of street stretches for input to the functions that process three-street configurations. Node IDs can serve as input only to a COW Function 2 or Function 2W call.

-

Formally, a node is a point along a street where one of the following occurs: -

-
-FigureVII-2 -

Figure VII-2: City Limit Point


-
-

-
    -
  • Conventional intersection of two streets: The street intersects with at least one other street (called a cross street). Example: ‘the intersection of BROADWAY and CHAMBERS STREET in Manhattan’
    -
  • -
  • City Limit Point: The street (or non-street feature e.g. bridge or tunnel) intersects with the city limits. (The street may terminate at that point or it may continue as a suburban street). City Limit points occur at the Bronx-Westchester County border, the Queens-Nassau County border, the New York-New Jersey border and the Staten Island –New Jersey border.
The New Jersey borders occur in the Hudson River, for 
example HOLLAND TUNNEL and CITY LIMIT in 
Manhattan. An example of Queens city limit is (see 
Figure VII-2): ‘LINDEN BOULEVARD at the CITY LIMITS in Queens’
  • -
-
- -
- -
-FigureVII-3 -

Figure VII-3: Dead End

-
- -* Dead End: The street has a termination point (called a dead end) that is not at the city limits and at which there are no cross streets. Example (see Figure VII-3): ‘DEAD END of CROES AVENUE in the Bronx’. City limit points are excluded from being treated as possible dead ends because city streets may continue across the city limits into the adjacent suburban county.) - -
- -
- -
- -FigureVII-4 -

Figure VII-4: Bends

-
- -
    -
  • Bend: The street has a bending point. Example (see Figure VII-4): ‘BEND of COMMERCE STREET’ and ‘BEND of BARROW STREET’ in Manhattan. Note that the bending point of Barrow is also a conventional street intersection, the intersection of Barrow and Commerce Streets. The Commerce Street bending point is not a conventional intersection, and can only be specified in terms of the pseudo-street BEND.
  • -
-

-

Conceptually, nodes can be characterized as those points along streets that can be specified in a form recognizable to Geosupport, that is, in the form of an intersection name, or a pair of street codes or a pair of street names that possess street codes, or a node ID (in a COW function call). One, and only one, street of a pair may be a pseudo-street.

-

The allowable pseudo-streets are DEAD END and its aliases, CITY LIMITS and its aliases, and BEND and its aliases. See Chapter III.6 for a discussion of pseudo-street names.

-

Number of Intersections of a Pair of Streets

-

Given any pair of New York City streets (or a street and a pseudo-street), there are four possibilities:

-
    -
  • The two streets do not intersect at all.
  • -
  • They intersect at one location (the ‘unique-node case’).
  • -
  • They intersect twice (the ‘two-node case’).
  • -
  • They intersect more than twice (the ‘many-node case’).
  • -
-

Function 2 can process a pair of input streets in the unique-node case and in the two-node case, but a node ID is required as input in the many-node case (supported only in COW). If the user does not know the node ID, Function 2W may be used to assist the user in determining the appropriate node ID. For a description of this process, see the Overview of Function 2 Node Enhancements and the discussion of the many-node case in Specifying Function 2 Input Data below. Note that aside from dead ends, bends, subway lines, highways, etc., the many-node case is rare. There are numerous streets that have more than two dead ends, and there are numerous streets that have more than two bends.

-

The Two-Node Case

-

The two-node case occurs with greater frequency than might be expected. Some types of situations in which the two-node case occurs are the following:
-

-
-FigureVII-5 -

Figure VII-5: Street Intersecting
Twice with Curved Street


-

-
    -
  • A street bends or curves, causing it to intersect with a second street at two different points. An example in Queens is the two intersections of the curved street Cromwell Crescent with Alderton Street (see Figure VII-5). -
- -
-
-
-FigureVII-6 -

FigureV11-6: ‘Dogleg’

-
- -
    -
  • A street has a displacement or offset as it crosses another street (a configuration sometimes called a ‘dogleg’), so that there are two points where the two streets intersect. An example in Brooklyn is Ditmas Avenue where it crosses Coney Island Avenue (Figure VII-6). -
- -
-
-FigureVII-7 -

Figure VII-7: Street Fork

-
- -* A street forks into two branches (for example, around a traffic island, plaza or small park) such that both branches have the same street name and they both intersect with another street. An example in Manhattan is Duane Street, which forks around a small triangular park; both branches of Duane Street intersect with Hudson Street (Figure VII-7). -
- -
-
-FigureVII-8 -

Figure VII-8: Street With
Two Dead Ends

-
- -* A street has exactly two dead ends. An example in the Bronx is Odell Street (Figure VII-8). The two pseudo-intersections of Odell Street with the pseudo-street DEAD END are considered to be an instance of the two-node case. Similarly, streets that have exactly two intersections with the city limit, and streets that have exactly two bending points, are instances of the two-node case. -
- -


-

-

Overview of Function 2 Node Enhancements

-

Node ID (Node Number) as Input
-Processing the ‘Many-Node’ Case
-(COW Only)

-

-

A unique Node Number known as a node ID is assigned to each of New York City’s intersections. Geosupport returns node IDs for many of its functions, e.g. 1/1E Extended, 1B, 2, 3, 3C, 3S. Users in a GIS environment also have access to the node IDs via CSCL or LION. Users can specify a node ID as input to Function 2 and get information about the intersection without specifying cross streets or an intersection name. Geosupport also uses node IDs to allow processing of streets that intersect more than twice.

-

Function 2W is available to all users
-Function 2W returns a 4000-byte Work Area 2. The first 200 bytes are identical to the entire Work Area 2 of regular Function 2. Additional information appears in the remainder of the Function 2W Work Area 2, which can be used in processing streets that intersect more than twice.

-

Node as Input to Function 2
-Users have requested the ability to retrieve information about an intersection based on the intersection’s Node Number. That capability has been added to Function 2 (and Function 2W). Work Area 1 has a Node Number input field where the user specifies the node input. A Node Number output field is also defined in Work Area 1 where the normalized (right-justified and zero-filled) Node Number appears. If the user also inputs street names or street codes, they will be ignored and the Node Number input will take priority.

-

Processing Two Streets that Intersect more than twice (‘Many-Node case’)
-Users have also requested the ability to retrieve information about an intersection of two streets that intersect more than twice. If two streets intersect more than twice for a Function 2 call, the user will now get an error message (GRC 03 Reason Code A) suggesting that the user run Function 2W to get related nodes.

-

The same input that is rejected above (streets that intersect more than twice) will be rejected when those streets are processed by Function 2W. Function 2W will return an error message (GRC 03 Reason Code B) that tells the user to use a node as input – However, - In Addition to GRC 03/A and an Error Message, Function 2W will also Return A Work Area 2 (WA2) that Contains Related Nodes and Street Codes. This is unique in Geosupport because rejected calls normally do not return information in Work Area 2. The Function 2W WA2 will include the Node Numbers of all the nodes satisfying the input (up to 20 nodes) and a list of B7SCs of the intersecting streets at each node,

-

Based on the Node Numbers and the Street Codes, the user can choose which node should be processed. The user then issues a Function 2 or 2W call with the node ID as input and that call should execute successfully.

-

GBAT support of Node Input to Function 2
-GBAT has a new option called NODE where the user specifies the location of the Node input. When NODE is input to GBAT the GBAT statistics will not be broken down by borough since borough is not a required part of the input. It is recommended that users not specify streets as input together with nodes for a GBAT run since none of the output statistics will be broken down by borough.

-

GBAT support of Streets that Intersect more than twice -GBAT has a new option, called RELATEDNODES, for Function 2. If the user requests RELATEDNODES and the streets intersect more than twice (GRC 03 Reason Code A or B) GBAT will issue a Function 2W call under the covers, and get the nodes and street codes information from WA2. GBAT will place this information in a separate error file, viz. ERRFIL3 which the user can examine and then choose the node to be processed. The NODE can then be used as input to a subsequent run.

-

In addition to the entry in ERRFIL3 (which contains the nodes and street codes list), GBAT creates a normal error entry in the standard error file (viz. ERRFILE)

-

Note that when a GBAT entry is rejected with GRC03 it will not be written to the GBAT output file (OUTFILE) even if it is for Function 2W which generates a WA2 in this situation. The information is returned to the user in ERRFIL3.

-

GOAT support of Streets that Intersect more than twice
-When input streets intersect more than twice, Mainframe GOAT (CICS) and the web version of GOAT on the Web display a list of up to 20 nodes and the cross streets at these nodes, with their street codes and street names. The user can then more easily choose a node and reissue the GOAT call using the chosen node as input.

-

Specifying Function 2 Input Data

-

Applications pass input to Function 2/2W by specifying either an intersection name, or two distinct streets (i.e., two streets that have different B5SCs), or a node ID (COW only) identifying the intersection. If the input information is in the form of an intersection name, it may be passed in either WA1 input street name field, and the other field should preferably be left blank or it may contain any conventional street that exists at the given intersection. If the input data are in the form of two streets that are an instance of the two-node case, an input compass direction (‘N’, ‘S’, ‘E’ or ‘W’) must also be specified. The compass direction identifies which of the two nodes is to be processed, by specifying that node’s spatial position relative to the other one. For example, if ‘N’ is specified as the input compass direction, then Function 2 will process the northernmost of the two nodes. If the user knows the node ID of the intersection, this may be used as input instead of the two streets and a compass direction. If the input information is in the form of a node ID, a borough code is not required and is ignored if supplied.

- - -
-FigureVII-9 -

Figure V11-9: Simultaneous
2-Node and Unique-Node Case

-
- -

Note that an intersection may be an instance of the two-node case when specified (with a compass direction) in -terms of a particular pair of streets, while the same intersection may be an instance of the unique-node case when specified (without a compass direction) in terms of a different pair of streets. For example, in Staten Island, Industrial Loop and Arthur Kill Road intersect at two nodes (see Figure VII-9). When specifying either of those nodes as an intersection of Industrial Loop and Arthur Kill Road, a compass direction is required. However, at the northern (or alternatively, the eastern) one of those nodes, there is a third street, Grille Court. That node can be specified, without a compass direction, as the unique intersection either of Grille Court and Industrial Loop, or of Grille Court and Arthur Kill Road. That node could alternatively be identified by its node ID (viz. 0000890) and no street names are needed. -In some instances of the two-node case, the two nodes are ‘nearly’ (i.e., within 10 compass degrees of) due east-west of each other. In that event, attempting to distinguish between the two nodes in terms of the compass directions north and south would be highly error-prone. In those cases, therefore, Function 2 accepts only ‘E’ and ‘W’ as valid input compass directions. Similarly, if the spatial relationship between the two nodes is ‘nearly’ (within 10 degrees of) due north-south, Function 2 accepts only ‘N’ and ‘S’.

-

For Manhattan only, in the two-node case, Geosupport rotates the spatial relationship between the pairs of nodes 30 degrees counterclockwise before determining whether they are ‘nearly’ north-south or east-west of each other. This comports with the widespread conventional treatment of the avenues and streets in most of Manhattan as if they were oriented due north-south and due east-west, respectively. In reality, Manhattan’s principal street pattern lies approximately at a 30-degree clockwise rotation from the cardinal points of the compass. For a more detailed discussion of the 30-degree rotation for Manhattan, see the entry for Segment Orientation in Appendix 3.

-

In most instances of the two-node case, the two nodes have a pronounced ‘diagonal’ spatial relationship, that is, they are not within 10 degrees of either due north-south or due east-west of each other. In that case, Function 2 accepts all four compass directions as valid input. For example, either ‘N’ or ‘W’ is accepted as a specification for the northwestern intersection of Alderton Street and Cromwell Crescent (the intersection highlighted on the upper left in Figure VII-5); either ‘S’ or ‘E’ is accepted as a specification for the southeastern (lower right) intersection of these streets.

-

In the two-node case, a user must supply a compass direction, with street names, to issue a successful call. Alternatively, the user may supply a node ID instead of the street names and a compass direction. If the two nodes in the two-node-case are close together, under certain conditions it may not matter which intersection is selected. For example, if a medical emergency occurred at the intersection of Reade and Elk Streets in Manhattan, when reporting the location it would not matter which of the two intersections was provided since the two intersections are separated by about 21 feet. On the other hand, if the medical emergency is reported as having occurred at the intersection of Castle Hill Avenue and Zerega Avenue in the Bronx, a more precise compass direction is required since the two intersections are separated by about 10,631 feet or roughly two miles.

-

When no compass direction is supplied, the error message returned by Geosupport (GRC 02) for a two-node case includes the distance, in feet, between the two nodes. Depending upon the circumstance, the user may make a reasoned decision as to whether the precise intersection is required or if it does not make any difference which intersection is requested.

-

In the many-node case, a user must supply a node ID as input to issue a successful call. A node ID is accepted as input only to COW Function 2 or 2W. If the user does not have the node ID Function 2W may be invoked to retrieve the node IDs and B7SCs that exist at the duplicate intersections. The user may then invoke Function 2 or 2W with the node ID of his choice.

-

The procedure is as follows:

-
    -
  • -

    When an MSW Function 2 call is issued with streets that intersect more than twice, the resulting message is: - GRC 03 Reason Code is ‘blank’.
    -

    ‘STREETS INTERSECT MORE THAN TWICE - CAN ONLY BE PROCESSED BY 
    COW FUNCTION CALL’

    -The user can now modify his application to issue a COW Function 2 call and proceed as defined below. Note that the Reason Code no longer contains the number of times that the streets intersect (3 through 9).

    -
  • -
  • -

    When a COW Function 2 call is issued with streets that intersect more than twice, the resulting message is: - GRC 03 Reason Code is ‘A’.
    -

    ‘STREETS INTERSECT MORE THAN TWICE-USE FUNCTION 2W TO FIND RELATED NODES’
    -The user can now modify his application to issue a COW Function 2W call and proceed as follows.

    -
  • -
  • -

    When a COW Function 2W call is issued with streets that intersect more than twice, the resulting message is: - GRC 03 Reason Code is ‘B’.
    -

    ‘STREETS INTERSECT MORE THAN TWICE - USE NODE AS INPUT’

    -
  • -
-
-

In addition to the error message, Function 2W also returns a Work Area 2 which contains the node IDs (up to 20 nodes) where the streets intersect and also the B7SCs of the streets at those nodes. There can be up to 5 intersecting streets at each node, and each of those streets may have up to 4 aliases. The user can then choose a node and issue a COW Function 2 or 2W call with that node ID as input. The call should then be successful. See Appendix 13 for the detail layout of Work Area 2 for Function 2W.

-

Note: The GRC 03 message returns ‘blank’, ‘A’, or ‘B’ as the Reason Code. It no longer returns the number of intersections (3 through 9) as the Reason Code .

-
-

Possible Outcomes of a Function 2 or 2W Call

-

Table VII-2 lists possible outcomes of a Function 2 or 2W call by Geosupport Return Code (GRC). Table VII-2 does not include standard reject conditions that are applicable to most Geosupport functions, such as an inability to normalize or recognize an input street name. In Table VII-2, the term ‘intersection’ also encompasses pseudo-intersections.

-

Table VII-2: Possible Outcomes of a Function 2 and 2W Call -Possible Outcomes of a Function 2 and 2W Call

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Possible Outcomes of a Function 2 and 2W Call
GRC/ Reason CodeMeaning
00(Successful call) If the input information was in the form of an intersection name, it was recognized as a valid name of a specific intersection. If the input information was in the form of two streets, they intersect once or twice, and if twice, an input compass direction has been supplied which is a valid descriptor for one of those intersections. A full complement of output data is returned in the work areas.
01/H(Warning) The two input streets intersect once, but the input compass direction field is non-blank. The input compass direction field is ignored. A full complement of output data is returned in the work areas.
01/N(Warning) Both a node ID and street names or street codes were specified as input. The node ID will be used; the street names/codes will be ignored.
01/T(Warning) The input street name is ignored if an intersection name is specified along with a street name that is part of the intersection.
02(Reject) The two input streets intersect twice, but the input compass direction field is blank. A valid input compass direction value is required for these input streets.
03/blank(Reject) MSW - The two input streets intersect more than twice. MSW Function 2 calls cannot process such intersections. The Reason Code value is blank. The message suggests that the user use a COW function call.
03/A(Reject) COW - The two input streets intersect more than twice. Function 2 calls cannot process such intersections. The message suggests that the user issue a Function 2W call to find related nodes.
03/B(Reject) COW – Function 2W only - The two input streets intersect more than twice. Function 2W returns node IDs and street codes. The message suggests that the user use a node ID as input.
12(Reject) The input information was in the form of an intersection name or a street code of an intersection name. Geosupport recognizes this name or code as valid, but does not yet have this name or code associated with a specific intersection.
30(Reject) An input intersection name was specified along with an input street name, but the input street is not part of the intersection.
32(Reject) An invalid node ID was specified as input. It was non-numeric or had embedded blanks..
33(Reject) A node ID was specified as input, but no intersection was found with that node ID.
39(Reject) The input compass direction field contains a non-blank value other than ‘E’, ‘N’, ‘S’ or ‘W’.
40(Reject) The two input streets intersect twice, but the two intersections are nearly N-S or E-W of each other and the input compass direction is an invalid descriptor for either of the intersections.
62(Reject) If the input data were in the form of two input street names or codes, the two input streets do not intersect.
- -

Function 2 Output Data

-

Among COW Function 2’s WA1 output items are the following:

-
    -
  • B7SCs and 32-byte street names of the intersecting streets appear in the List of Street Codes and List of Street Names fields..
  • -
-

Among Function 2’s WA2 output items are the following:

-
    -
  • Identifiers for a set of geographic districts that contain the intersection, including Census Tract, Community District and Police Precinct. The COW WA2 also includes Sanitation District and Health Center District.
  • -
  • Spatial Coordinates of the intersection. These correspond to a nominal center point of the intersection and should not be treated as a precise identification of any particular point location on the earth’s surface. (For a more detailed discussion, see the Spatial Coordinates entry in Appendix 3.)
  • -
  • A List of Intersecting Streets (in the form of PB5SCs for MSW and B5SCs for COW) identifying up to five streets incident upon the intersection. Subject to the space limitation, the list may include the PB5SCs or B5SCs of the two input streets, unless one is the pseudo-street BEND, which for Function 2 is never included in the list. The list may also include the PB5SCs or B5SCs of the pseudo-streets CITY LIMIT and DEAD END, and it may include the PB5SCs or B5SCs of any intersection names that are valid for the given intersection. If the application has a need to display the street names of the intersecting streets, the Cross Street Names Flag in WA1 can be turned ‘on’ and the names will be returned in the List of Street Names in WA1 (see entries for Cross Street Names Flag and List of Street Names in Appendix 3). Note that the cross street names feature incurs processing overhead, and should only be used when necessary.
  • -
  • A Compass Direction for Intersection Key. If the first two entries in the List of Intersecting Streets are an instance of the two-node case (i.e., they intersect twice), the Compass Direction for Intersection Key contains a compass direction value identifying the intersection in terms of those two streets. If the two streets are not an instance of the two-node case, this field is blank. If both a ‘longitudinal’ compass direction (‘N’ or ‘S’) and a ‘latitudinal’ compass direction (‘E’ or ‘W’) are valid for this intersection, the longitudinal compass direction value appears in this field.
  • -
  • A Compass Direction for Intersection Key. If the first two entries in the List of Intersecting Streets are an instance of the two-node case (i.e., they intersect twice), the Compass Direction for Intersection Key contains a compass direction value identifying the intersection in terms of those two streets. If the two streets are not an instance of the two-node case, this field is blank. If both a ‘longitudinal’ compass direction (‘N’ or ‘S’) and a ‘latitudinal’ compass direction (‘E’ or ‘W’) are valid for this intersection, the longitudinal compass direction value appears in this field.
  • -
  • Political geography and CD Eligibility (COW Only). Function 2 returns Assembly District, Congressional District, State Senatorial District, Civil Court District, City Council District and CD Eligibility. Since it is possible that multiple political geographies may exist at an intersection, Geosupport returns the political geography associated with the most frequently occurring Election District / Assembly District (ED/AD). If there is no one political geography that occurs more frequently than any other, then the political geography associated with the ED/AD that is one of the most frequently occurring ED/ADs and that has the lowest numeric value is selected. This insures that the same data will be returned from one data cycle to the next data cycle. The only exception should be the changes in the political geography associated with the decennial census conducted by the federal government. No indication is provided that the intersection lies on a political boundary
  • -
-

Since Function 2 treats street intersections as if they were single points, Geosupport does not provide a means for a user to request information specific to a portion of an intersection, such as a particular block corner. In the event that an intersection lies on a boundary of two or more geographic districts of a particular type, Function 2 returns the identifier for one of those districts, but provides no indication that some of the intersection’s corners may lie in other districts. The district identifier that is returned for such an intersection is selected using an algorithm based on the community districts and atomic polygons (previously known as dynamic blocks) at that intersection. This algorithm typically allows for data consistency from one data release to the next. Note that the same district identifier will be returned no matter how the intersection is specified.

-

For example, the intersection of East 116 Street and Fifth Avenue in Manhattan lies on the boundaries of three different School Districts (SDs) (see Figure VII-10). Two of the four block corners at this intersection lie in SD 3, one lies in SD 4 and one lies in SD 5. For this intersection, Function 2 returns SD 3, and provides no indication that the intersection lies on a SD boundary.

-
- -
-FigureVII-10 -

Figure V11-10: Multiple Districts
at an Intersection

-
- -

Political Geography Returned with Function 2 Call (COW Only)

-

Political geography and CD Eligibility are returned in the Character-Only Work Area 2 for Function 2 calls. Since it is possible that multiple political geographies may exist at an intersection, Geosupport returns the political geography associated with the most frequently occurring ED/AD. If there is no one political geography that occurs more frequently than any other, then the political geography associated with the ED/AD that is one of the most frequently occurring ED/ADs and that has the lowest numeric value is selected. This insures that the same data will be returned from one data cycle to the next data cycle. The only exception should be the changes in the political geography associated with the decennial census conducted by the federal government.

-
- -
- -
-FigureVII-11 -

Figure V11-11: Three - Street
Intersection

-
- -

Multi-Street Intersections and Retrieval Consistency

-

This subsection discusses the common situation of intersections at which there are more than two streets. Geosupport accepts any pair of those streets as a valid input specification for the intersection. (The concept of an intersection of multiple streets should not be confused with the concept of two streets that intersect at multiple points, which was discussed in the preceding subsection.)

-

For example, consider the three-street intersection of Hudson Street, Chambers Street and West Broadway in Manhattan (Figure VII-11). The user can specify this intersection as input to Function 2 in three ways: as the intersection of Hudson Street and Chambers Street; Hudson Street and West Broadway; or Chambers Street and West Broadway.

-

Similarly, a four-street intersection can be specified in six ways, etc. Function 2 returns identical WA2 information (other than that related to which streets were the input streets for the call) for an intersection regardless of which pair of streets is used to specify it.
-Since an intersection of more than two streets can be specified in more than one way, an important issue for some applications that process data by intersection is the ability to retrieve or match data from an application file consistently by intersection. (For a general discussion of the concept of application file geographic retrieval consistency, see Section I.3.) That is, it is desirable for applications to be able to retrieve data successfully for a multi-street intersection regardless of which pair of streets is used to identify the intersection. A data item called the Node ID, which is returned in Function 2's WA2, is designed to serve effectively as a unique, consistent intersection identifier. It is able to so serve because the same Node ID Number is returned regardless of how the intersection is specified. Moreover, the Node ID assigned to an intersection is kept constant over time. That is, the same Node ID is returned for a given intersection by every Geosupport release, even in cases where there is a change in the set of streets defining an intersection (such as the presence of a new street, the closure of an existing street, or a change in the street code assigned to a street).

-
- -

Fuzzy Intersection Processing (Function 2) - Front-truncated street names

-

Under certain conditions, Function 2 will return data when front-truncated street names are given as input; e.g. 14 STREET instead of EAST 14 STREET or WEST 14 STREET. If a user supplies a front-truncated street name as one of the names that define an intersection, Geosupport will attempt to find the intersection using the appropriate street names. If Geosupport is successful in finding the intersection, it will process the call and issue a warning message (Reason Code J) indicating which street name was assumed. The following are a number of examples and special cases of this processing.

-

Consider the example of a user who issues a Function 2 call with 24 STREET and THIRD AVENUE in Manhattan as the input. Since 24 STREET in Manhattan is a front-truncated street name, Geosupport knows that there exists an EAST 24 STREET and a WEST 24 STREET in Manhattan. Geosupport attempts to find the intersection of East 24 Street and Third Avenue and the intersection of West 24 Street and Third Avenue in Manhattan. Since the intersection of East 24 Street and Third Avenue does exist in Manhattan and the intersection of West 24 Street and Third Avenue does not exist, data for the intersection of East 24 Street and Third Avenue in Manhattan is returned to the user, together with a warning message indicating that East 24 Street is assumed.

-

If the user supplies the front-truncated street name 34 STREET and FIFTH AVENUE in Manhattan as input to a Function 2 call, Geosupport will discover that both the intersection of EAST 34 STREET and FIFTH AVENUE and the intersection of WEST 34 STREET and FIFTH AVENUE exist. In this case, the Node IDs will be compared. Since, in this case, the Node IDs are the same, data for the intersection will be returned to the user. The street with the lower numeric value for its street code will be returned, which in this example is East 34 Street. The user will also receive a warning message indicating that East 34 Street is assumed.

-

If the user supplies the front-truncated street name 177 STREET and JEROME AVENUE in the Bronx as input to a Function 2 call, Geosupport will find that both the intersection of EAST 177 STREET and JEROME AVENUE and the intersection of WEST 177 STREET and JEROME AVENUE exist. However in this case the Node IDs will be different because a dogleg exists at the intersection. The Function 2 call would be rejected with an error message indicating that the intersection is not unique. As a result, the user must determine whether East or West 177 Street is the desired street.

-

Non-addressable Place Names (NAPs) will not be considered when processing truncated street names at an intersection. For example, if the user supplies ‘33’ and MADISON AVENUE in Manhattan as the input to a Function 2 call, Geosupport will find that in addition to EAST 33 STREET and WEST 33 STREET, there is also 33 POLICE PRECINCT. 33 Police Precinct is eliminated as a possibility because it is a NAP which may not be used in a Function 2 call. This leaves only East and West 33 Street as possibilities and since only East 33 Street intersects Madison Avenue in Manhattan, the call will be processed successfully and a warning message will indicate a street name change.

-

Note Concerning the ‘Vestigial’ Function 2C: A Geosupport enhancement that was implemented in Version 9.5 (March 1998) enabled Function 2 to process pairs of streets that intersect twice, using the input compass direction field to identify the specific intersection to be processed. Prior to that enhancement, Function 2 could only process pairs of streets that intersect once, and a separate function, Function 2C, had to be used to process pairs of streets that intersect twice. The enhancement enabled Function 2 to process both types of intersection input, rendering Function 2C obsolete. Function 2C is a ‘vestigial’ function, in the sense in which this term is described in Chapter I.5. In particular, all new applications should be designed to perform all intersection processing using Function 2 only. It is recommended that users modify existing applications by replacing all Function 2C calls with Function 2 calls. To do so, it may be necessary or appropriate to modify the application’s reject handling routines to reflect the situations and GRC’s delineated in Table VII-2. Function 2C is not further documented in this User Programming Guide. -

- -
-
- - -
-
- - - -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section03/index.html b/site/chapters/chapterVII/section03/index.html deleted file mode 100644 index b9814529..00000000 --- a/site/chapters/chapterVII/section03/index.html +++ /dev/null @@ -1,932 +0,0 @@ - - - - - - - - - - - - VII.3 Three-Street Configurations - Concepts and Terminology - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.3 Three-Street Configurations - Concepts and Terminology
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.3 Three-Street Configurations - Concepts and Terminology

- -

There are many applications in which geographic locations to be processed are identified in terms of an ‘on’ street between two cross streets. Geosupport can process several types of such locations, namely street segments, blockfaces and street stretches. We refer generically to all these types of locations as three-street configurations.

-

This section introduces concepts and terminology needed to discuss three-street configurations. The three succeeding sections discuss the Geosupport functions that process the various types of three-street configurations:

-
    -
  • -

    Chapter VII.4 discusses Function 3, which processes street segments

    -
  • -
  • -

    Chapter VII.5 discusses Function 3C, which processes blockfaces

    -
  • -
  • -

    Chapter VII.6 discusses Function 3S, which processes street stretches.

    -
  • -
-

The definitions below are based on Geosupport’s single-line map model of the city’s geography, as explained in Chapter VII.1. Also, recall that the term ‘street’ refers to a street name or street code that satisfies the criteria delineated in Chapter VII.1. The term ‘node’ is as defined in Chapter VII-2.

-

Street Stretches and Street Segments

-

A street stretch is a portion (possibly all) of a street (called the ‘on’ street) between any two nodes along it (called the delimiting nodes of the stretch). A street stretch is considered to comprise both sides of the ‘on’ street.

-

For Geosupport purposes, a street segment is defined as a street stretch between a pair of delimiting nodes which may not coincide with an intersecting street . A street segment can therefore consist of a set of one or more CSCL segments.

-

In Geosupport, the general term ‘street segment’ is used to describe two situations.

-
    -
  • -

    A street segment is strictly defined as a street stretch such that the two delimiting nodes are consecutive along the ‘on’ street. Every such segment is uniquely identified by a segment ID.

    -
  • -
  • -

    For Geosupport purposes, a street segment often refers to a street stretch consisting of more than one segment, such that at least one side of the street stretch is a single entire blockface. This street stretch is defined by multiple segments id’s, all of which may optionally be returned to the user. For a more detailed discussion see Chapter VII.4, which describes Function 3.

    -
  • -
-

Every street stretch is composed of a set of one or more street segments, which do not necessarily form a continuously connected chain. That is, a street stretch can encompass gaps in the street.

-

Some examples of street stretches and segments follow.

-
- -
-FigureVII-12 -

Figure V11-12: Street Stretch

-
- -
    -
  • The stretch of Madison Avenue between East 51st Street and East 52nd Street in Manhattan (see Figure VII-12) is a street segment. The stretch of Madison Avenue between East 51st Street and East 54th Street is not a segment because its delimiting nodes are not consecutive along the ‘on’ street; it is a stretch consisting of three segments.
  • -
-
- -
- -
-FigureVII-13 -

FigureV11-13: Street Stretch
Containing Gap

-
- -
    -
  • An example of a street stretch that is not connected is Manhattan’s West 64th Street between Central Park West and West End Avenue (see Figure VII-13). West 64th Street has a gap (does not exist) between Columbus Avenue and Amsterdam Avenue, where it is interrupted by Lincoln Center. As a result, the stretch in question consists of two sub-stretches that are not connected to each other.
  • -
-
- -

Street stretches can be delimited by pseudo-intersections and intersection names as well as conventional street intersections:

-
    -
  • -

    An example of a street segment in the Bronx delimited by a dead end is CROES AVENUE between WATSON AVENUE and DEAD END (see Figure VII-3).

    -
  • -
  • -

    An example of a street stretch in Queens delimited by the city limits is LINDEN BOULEVARD between CROSS ISLAND PARKWAY and CITY LIMITS (see Figure VII-2).

    -
  • -
  • -

    Some examples of street segments in Manhattan delimited by bends are: BARROW STREET between HUDSON STREET and BEND (also specifiable in terms of conventional streets as BARROW STREET between HUDSON STREET and COMMERCE STREET); and COMMERCE STREET between BARROW STREET and BEND (the only way to specify this segment) (see Figure VII-4).

    -
  • -
-

Logical Direction Assigned to Streets

-

GSS has assigned a logical direction to every street segment in New York City. References to the left and right sides of any segment, and references to its delimiting nodes as the ‘from’ node and ‘to’ node, are relative to the segment’s logical direction.

-

For streets that have addresses, the logical direction is always assigned as the direction of increasing addresses. Therefore, for any street with addresses, the ‘from’ node of any segment is always the node at its low address end, and the ‘to’ node is the node at the high address end; the left and right sides of the segment are determined accordingly.

-

For features that have no addresses, such as all railroad tracks and some highways, the logical direction is assigned arbitrarily, but consistently, along the feature’s full extent. Note that a street’s logical direction, and thus the meaning of ‘from’, ‘to’, ‘left’ and ‘right’, is unrelated to the street’s traffic direction, to its orientation with respect to the points of the compass, or to the order in which cross streets delimiting a stretch are specified.

-

Blockfaces

-

A blockface is a continuous frontage of a physical city block along one street, ignoring the presence of any bending points or other intervening nodes. That is, the portions of a street frontage of a block that lie on both sides of a bending point are considered to be parts of the same blockface.

-
-FigureVII-14 -

FigureV11-14: Block with Four
Blockfaces

-
- -

For example, the Manhattan block bounded by Madison -and Park Avenues and East 51st and East 52nd Streets has the following four blockfaces (see Figure VII-14, which, unlike most of the figures in this chapter, contains a double-line map to illustrate clearly the concept of a blockface):

-
    -
  • The east side of Madison Avenue between East 51st and East 52nd Streets
  • -
  • The south side of East 52nd Street between Madison and Park Avenues
  • -
  • The west side of Park Avenue between East 51st and East 52nd Streets
  • -
  • The north side of East 51st Street between Madison and Park Avenues
  • -
-

An example of a stretch with a bending point in Manhattan is Commerce Street between Bedford and Barrow Streets (see Figure VII-4). Both sides of this stretch are single blockfaces, even though the stretch consists of two segments connected at the bending point.

-

T-Intersections

-
- -
-FigureVII-15 -

Figure VII-15: T-Intersection

-
- -

A street stretch, and in particular a street segment, is considered to comprise both sides of the ‘on’ street. In the case of a street segment, each side necessarily is either a single entire blockface or a portion of one. Many segments consist of a pair of facing entire blockfaces along the ‘on’ street. However, this is not the case at a street configuration called a T-intersection. A T-intersection (so named because the streets are configured like the letter ‘T’) is an intersection where a cross street intersects the ‘on’ street on one side of the ‘on’ street only, and there are no cross streets on the other side of the ‘on’ street at that intersection. At a T-intersection, the ‘on’ street has a blockface that encompasses more than one segment, and conversely, at least one side of each of those segments consists of only a portion of that blockface.

-
- -

An example of a T-intersection in Manhattan is the intersection of Fifth Avenue and East 41st Street (Figure VII-15). Because of the presence of the New York Public Library main building along the west side of Fifth Avenue between West 40th and West 42nd Streets, there are no cross streets on the west side of Fifth Avenue where it intersects with East 41st Street. The long blockface on the west side of Fifth Avenue encompasses two segments, each consisting of a portion of this long blockface facing a shorter entire blockface on the east side of Fifth Avenue.

-
- -
-FigureVII-16 -

Figure V11-16: Two Consecutive
T- Intersections

-
- -

It is possible for a street to have T-intersections at several consecutive nodes. An example in Manhattan is the three-segment stretch of Lexington Avenue between East 42nd and East 45th Streets (Figure VII-16). Because of the presence of the Grand Central Terminal complex on the west side of Lexington Avenue, East 43rd Street and East 44th Street intersect Lexington Avenue only on its east side, forming two consecutive T-intersections along Lexington Avenue. As a result, the west side of this stretch is a single long blockface, which faces three shorter blockfaces on the east side of Lexington Avenue.

-
- -
- -
-FigureVII-16 -

Figure VII-17: T-Intersections on
Alternating Sides of street

-
- -When a street has consecutive T-intersections at which the cross streets are on alternating sides of the ‘on’ street, then long blockfaces on both sides of the ‘on’ street face each other in overlapping fashion, forming segments both sides of which consist of portions of those long blockfaces. Union Avenue in Staten Island is an example (Figure VII-17). Note that Union Avenue between Leyden Avenue and Walloon Street is a street segment, because the two delimiting intersections are consecutive along Union Avenue, even though the cross streets are on opposite sides of the ‘on’ street.
- -


-

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section04/index.html b/site/chapters/chapterVII/section04/index.html deleted file mode 100644 index 296c8221..00000000 --- a/site/chapters/chapterVII/section04/index.html +++ /dev/null @@ -1,1014 +0,0 @@ - - - - - - - - - - - - VII.4 Street Segments and Related Configurations: Function 3 - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.4 Street Segments and Related Configurations: Function 3
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.4 Street Segments and Related Configurations: Function 3

- -

Function 3 is designed to accept as input portions of a street that are, loosely speaking, ‘one block long’. More precisely, Function 3 processes two types of input street stretches:

-
    -
  • Street segments (i.e., portions of a street between two consecutive nodes).
  • -
  • Street stretches consisting of more than one segment, such that at least one side of the street stretch is a single entire blockface. (Note that the user has the option of requesting that all segment ids in this type of output stretch be returned. See discussion of the Auxiliary Segment switch in the description of Function 3 output.) This type of input street stretch has three sub-cases:
      -
    • At a T-intersection, there is a street stretch in which one side is a single entire blockface.
    • -
    • At a bending point at which there are no cross streets, there is a street stretch in which both sides are single entire blockfaces.
    • -
    • Physical street segments that are split into multiple sub-segments because of a change in some district such as ZIP codes or police beats.
    • -
    -
  • -
-

The following examples illustrate the types of input data acceptable and not acceptable to Function 3. For the Lexington Avenue examples (in Manhattan), see Figure VII-16. For the Union Avenue examples (in Staten Island), see Figure VII-17. For the Commerce Street examples (in Manhattan), see Figure VII-4. For the Croes Avenue example (in the Bronx), see Figure VII-3.

-

Input Data Examples for Function 3

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Input ‘On’ StreetOne Cross Str.Other Cross Str.Fn 3 ActionReason for Action
Lexington AvenueEast 42 StreetEast 43 StreetAcceptedSingle segment
Lexington AvenueEast 43 StreetEast 44 StreetAcceptedSingle segment
Lexington AvenueEast 44 StreetEast 45 StreetAcceptedSingle segment
Lexington AvenueEast 42 StreetEast 45 StreetAcceptedSingle entire blockface on west side of Lexington Ave
Lexington AvenueEast 42 StreetEast 44 StreetRejectedMulti-segment, neither side of Lex. Ave is a single entire blockface - west side is a portion of a blockface, east side comprises 2 blockfaces.
Lexington AvenueEast 43 StreetEast 45 StreetRejectedMulti-segment, neither side of Lex. Ave is a single entire blockface - west side is a portion of a blockface, east side comprises 2 blockfaces.
Union AvenueLeyden AvenueWalloon StreetAcceptedSingle segment
Union AvenueWalloon StreetJourney StreetAcceptedSingle segment
Union AvenueJourney StreetUnion CourtAcceptedSingle segment
Union AvenueUnion CourtBrabant StreetAcceptedSingle segment
Union AvenueLeyden AvenueJourney StreetAcceptedSingle entire blockface on west side of Union Avenue
Union AvenueWalloon StreetUnion CourtAcceptedSingle entire blockface on east side of Union Avenue
Union AvenueJourney StreetBrabant StreetAcceptedSingle entire blockface on west side of Union Avenue
Commerce StreetBarrow StreetBendAcceptedSingle segment
Commerce StreetBedford StreetBendAcceptedSingle segment
Commerce StreetBarrow StreetBedford StreetAcceptedBoth sides are single entire blockfaces
Croes AvenueWatson AvenueDead EndAcceptedSingle entire segment
-

Function 3 Input Data Specification and Validation

-

Applications pass an input stretch to Function 3 by specifying three input streets, consisting of the ‘on’ street and two cross streets, in the appropriate WA1 input fields. The input cross streets, but not the ‘on’ street, may be pseudo-streets or intersection names. The input cross streets may be specified in either order. As with all Geosupport street input, the three input streets to a Function 3 call are specified in the form of either street names or street codes.

-

If either or both of the delimiting intersections of the input stretch has more than one cross street, the stretch may be specified using any of those cross streets. For example, the segment of Chambers Street illustrated in Figure VII-11 may be specified either as ‘Chambers Street between Church Street and West Broadway’, or as ‘Chambers Street between Church Street and Hudson Street’.

-

A successful two-work-area call to Function 3 signifies that the three input streets form a combination of an ‘on’ street and two cross streets that specify either a valid street segment or a valid street stretch at least one side of which is a single entire blockface.

-
- -
-FigureVII-18 -

FigureVII-18: Ambiguous
Segment Specification

-
- -

Ambiguous Function 3 Input Data

-

Some combinations of an ‘on’ street and two cross streets are ambiguous as Function 3 input data, that is, the data specify more than one stretch that satisfies Function 3’s input criteria. An example of ambiguous Function 3 input data in Queens is ‘Alderton Street between Asquith Crescent and 64th Road’ (Figure VII-18). This combination of streets describes two different segments of Alderton Street.

-

Function 3 rejects such ambiguous input. Unlike Function 2, which provides a means (compass direction input) for users to specify unambiguously an intersection of two streets that intersect in two different places, Geosupport provides the user with no recourse when Function 3 rejects an input stretch specification as ambiguous.

-
- -

Function 3 Output Data

-

If a two-work-area call to Function 3 is successful, information about both sides of the input stretch is returned in WA2. (Note that the long WA2 option is available for the MSW Function 3. See Section II.5.) Some of the data items apply to both the left and right sides of the segment, e.g. the ‘on’ street name and street code, segment length, ‘From’ node (COW only), ‘To’ node (COW only), etc. Many of the data items in Function 3’s WA2 (both regular and long) are paired, with one item for the left side of the ‘on’ street and another item of the same type for the right side. For example, there are fields for left and right ZIP code, for left and right 2010 census tract, and for left and right address ranges (each range consisting of a ‘from’ house number and a ‘to’ house number). Other examples exist in the COW WA2 for Function 3, e.g. fields for left and right Elections District (ED), for left and right Assembly District (AD), and for left and right Blockface ID (in COW Function 3 Extended). As explained in Chapter VII.3, left and right are determined by the ‘on’ street’s logical direction, and therefore are independent of the order in which the user specifies the input cross streets.

-

In the case of an input stretch encompassing more than one segment (the T-intersection and bend cases), the values of the WA2 items that Function 3 returns for the side of the street comprising more than one blockface are as follows. The low and high house number values that are returned correspond to the entire stretch. The values that are returned for all other side-related items correspond to the ‘last’ (relative to the stretch’s logical direction) blockface. For example, consider Fifth Avenue in Manhattan between East 40 and East 42 Streets (see Figure VII-15). Since the direction of increasing addresses along Fifth Avenue is from south to north, that is also Fifth Avenue’s logical direction. It follows that the right side of the given stretch is the east side. It consists of two blockfaces. Relative to the logical direction, the ‘last’ of these blockfaces is the one between East 41 and East 42 Streets. Accordingly, the right address range that is returned in WA2, consisting of the right low house number and the right high house number, corresponds to the entire right side of Fifth Avenue between East 40 and East 42 Streets. The values returned for all other items for the right side of the input stretch correspond to the ‘last’ blockface, the one between East 41 and East 42 Streets. The data returned represents two segments, but only one Segment ID is capable of being returned in the regular Function 3 WA2; consequently only the Segment ID with the lowest value is returned in the regular Function 3 WA2. COW Function 3 is capable of returning all the Segment IDs that exist in the returned segment. (See discussion of Auxiliary Segment Switch below.) If the user requests Fifth Avenue between East 40th street and East 41st Street, the segment ID returned will be 00034174. If the user requests Fifth Avenue between East 41st Street and East 42nd Street, the Segment ID returned will be 00034176. However if the user requests Fifth Avenue between East 40th Street and East 42nd Street, which represents two segments, (and the Auxiliary Segment Option is not requested) the segment ID returned will be 00034174, which is numerically the lower of the two numbers.

-

A COW Function 3 call may return, at the user’s option, all the Segment IDs (up to 70) of the segments that comprise the generated output segment. To request this data, the Auxiliary Segment Switch (AUXSEG a.k.a. SEGAUX) in the COW WA1 must be set to ‘Y’. This will result in all the Segment IDs (up to 70) being returned in a 500-byte area appended to the COW Function 3 WA2.

-

Function 3 returns the Segment Length in WA2. This value is expressed in feet, and is computed from the Spatial Coordinates of the nodes that constitute the segment’s endpoints; it is an approximation to the true length of the segment. Segment Length values provided by Geosupport should not be used in applications that require an engineering level of precision. In the case of an input stretch encompassing more than one segment, the Segment Length value that function 3 returns is the sum of the lengths of the constituent segments.

-

Another item that Function 3 returns in WA2 is called the Curve Flag. It indicates whether the input segment is curved, and if so, whether that curve is an arc of a circle or is an irregular curve. In the case of an arc of a circle, the Curve Flag indicates on which side of the segment’s ‘secant line’ (the straight line joining the segment’s endpoint nodes) the curve lies. If the input segment is curved, whether regularly or irregularly, the Segment Length value returned is approximately equal to the true arc length of the curve, rather than the secant length. If the input stretch encompasses more than one segment, the Curve Flag is returned with an ‘on’ (non-blank) value if at least one of the constituent segments is curved. For further information, see the entries for Curve Flag and Segment Length in Appendix 3.

-

In COW format, Function 3 also returns the FROM and TO node IDs. In addition, in Extended COW format, Function 3 Extended (with or without Auxiliary Segments) returns the X,Y coordinates associated with each of the nodes as well.

-

The Extended WA2 Mode Switch can be used to request the Extended COW format for Function 3. The first 450 bytes of Function 3 with the Mode Switch set to “X” will be the same as for regular COW Function 3 calls. The additional fields consist of items such as Bike Lane 2, Bike Traffic Direction, Street Width, X-Y Coordinates, Roadway Type, Traffic Direction and Neighborhood Tabulation Area Names. For a full list of the data returned, see the COW Work Area layout in Appendix 13.

-

The long WA2 option is available for the MSW Function 3. The additional data provided in the MSW long WA2 include the census geography and the administrative fire district geography. All this data is included in the regular COW Function 3 WA2.

-

Fuzzy Street Name Search for Functions 3 and 3C -See Section VII.8 Fuzzy Street Name Search Processing for Functions 3, 3C, and 3S

-

Cross Street Reversal Flag

-

A WA2 item returned by Function 3 called the Cross Street Reversal Flag indicates whether the order of the input streets is consistent with, or opposite to, the stretch’s logical direction. This flag can be used to determine which side of the street is the left side and which side is the right side in relation to the order of the input cross streets, as follows:

-
    -
  • If the Cross Street Reversal Flag is returned as a blank, the cross street that was specified in the input First Cross Street field in WA1 is at the ‘from’ end of the stretch and the cross street that was specified in the Second Cross Street field is at the ‘to’ end, so that left and right are consistent with facing from the first cross street to the second cross street.
  • -
  • If the Cross Street Reversal Flag contains an ‘R’, the first input cross street is at the ‘to’ end and the second is at the ‘from’ end, so that left and right are consistent with facing from the second cross street to the first cross street.
  • -
-

For example, consider the segment of Lexington Avenue between East 42nd and East 43rd Streets. Since the addresses on Lexington Avenue increase from south to north, East 42nd Street is at the ‘from’ end of this segment and East 43rd Street is at the ‘to’ end. If an application specifies this segment to Function 3 by passing East 42nd Street in the First Cross Street WA1 field and East 43rd Street in the Second Cross Street WA1 field, the Cross Street Reversal Flag will be returned as a blank. On the other hand, if East 43rd Street is passed in the First Cross Street field and East 42nd Street is passed in the Second Cross Street field, the flag will be returned containing an ‘R’.

-

Segment Orientation

-

In applications that involve field operations, such as those that generate work orders to dispatch personnel to specific blockfaces, the use of ‘left’ and ‘right’ as descriptors of the sides of a street can cause confusion for personnel in the field, because their significance is based on the street’s logical direction, which is not necessarily obvious in the field. Compass directions, on the other hand, are absolute descriptors of the sides of a street; the west side of Lexington Avenue in Manhattan is a specific, invariant side of that street, and is independent of how an observer may be facing. So in such applications, compass directions may be more suitable as side-of-street descriptors than ‘left’ and ‘right’.

-

To determine compass direction descriptors for the left and right sides of a segment, applications can use an item called the Segment Orientation that Function 3 returns in WA2. The Segment Orientation indicates how the input segment (or the last segment of the input stretch, if it consists of more than one segment) is oriented with respect to the points of the compass, taking into consideration the ‘on’ street’s logical direction. For example, if the input segment is Lexington Avenue between East 42nd Street and East 43rd Street, using the Segment Orientation, the application can determine that the left side of this segment (as determined by the street’s assigned logical direction) is the west side and the right side is the east side. See the entry for Segment Orientation in Appendix 3 for details on the possible values of the Segment Orientation and how to use it to determine compass direction descriptors for sides of streets.

-

In addition, in some applications it is desirable to be able to describe the ‘ends’ of a street segment in terms of a compass direction.

-

The application can use the Segment Orientation in conjunction with the Cross Street Reversal Flag to express a compass direction descriptor for a side of a street in terms of left or right relative to a particular ordering of the cross streets (as opposed to left and right relative to the street’s logical direction). For example, the application can determine that, when facing from East 42nd Street to East 43rd Street, the left side of Lexington Avenue is the west side; or that, when facing from East 43rd Street to East 42nd Street, the left side of Lexington Avenue is the east side.

-

Applications can use the Segment Orientation and the Cross Street Reversal Flag to determine compass direction descriptors for the ‘ends’ of a street segment, as well as its sides. For example, it can be determined that East 43rd Street is at the north end of the Lexington Avenue segment in our example, and East 42nd Street is at the south end.

-

See the entry for Segment Orientation in Appendix 3 for further details.

-

Consistent Retrieval of Application Data by ‘On’ Street and Two Cross Streets

-

If a street stretch has a delimiting node at which there is more than one cross street, the stretch can be specified in more than one way. Some applications require the ability to retrieve records for stretches from an application file consistently by geographic location, that is, independently of which cross streets were used to specify a stretch at record creation time and which cross streets are used at retrieval time. Function 3 provides items that can be used to form a key for such retrieval. Among the output items that Function 3 returns in WA2 are two lists of street codes (in the form of PB5SCs) for all the cross streets at the two delimiting nodes. Each list is ordered so that its first entry is always the numerically smallest PB5SC of all the entries in that list. This arrangement facilitates the formation by the application of a key for consistent geographic retrieval. The key would consist of a combination of the PB5SC for the ‘on’ street, the first entry in the ‘from’ cross street list, and the first entry in the ‘to’ cross street list.

-

If the application has a need to display the street names of the cross streets, the Cross Street Names Flag in WA1 can be turned ‘on’ and the names will be returned in the List of Street Names in WA1 (see entries for Cross Street Names Flag and List of Street Names in Appendix 3). Note that the cross street names feature incurs processing overhead, and should only be used when necessary.

-

Converting Address-Keyed Application Data to ‘On’ Street/Cross Streets

-

As mentioned in Chapter V.5, Function 1’s WA2 has two lists of cross streets for the two intersections delimiting the blockface containing the input address. Like the cross street lists in Function 3’s WA2, Function 1’s lists are arranged so that the numerically smallest PB5SC in each list is that list’s first entry. (However, unlike Function 3’s lists, either or both of Function 1’s lists can be empty.) Applications can identify an input address to a street stretch by using Function 1’s cross street lists to create a stretch-type key in the same way as described above for Function 3. This is useful in some applications that process geographically heterogeneous input data, with some input records, for example, identified by an address and others by an ‘on’ street and two cross streets. An example of such an application is the New York City Department of Transportation’s Street Light Information and Complaints System, which generates and tracks work orders for street light repair work. Among the ways in which this application improves the efficiency of those operations is by providing a means to consolidate all transactions involving street lights located on the same street segment into a single work order, regardless of whether the initial identification of the location is by an address or by an ‘on’ street and two cross streets.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section05/index.html b/site/chapters/chapterVII/section05/index.html deleted file mode 100644 index 3bf78d40..00000000 --- a/site/chapters/chapterVII/section05/index.html +++ /dev/null @@ -1,818 +0,0 @@ - - - - - - - - - - - - VII.5 Blockfaces: Function 3C - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.5 Blockfaces: Function 3C
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.5 Blockfaces: Function 3C

- -

In some applications, data are related to blockfaces, which are specific to a side of a street, rather than to street stretches or segments, which comprise both sides of the ‘on’ street. One way in which users commonly specify blockfaces is in terms of an ‘on’ street, two cross streets and a compass direction designating the side of the ‘on’ street, for example: “in Manhattan, the east side of Madison Avenue between East 50th and East 51st Streets”. Given such a blockface specification, Function 3C can be used to obtain information specific to that blockface. (For Manhattan only, the compass orientations of blockfaces are shifted 30 degrees counterclockwise, to conform to the widespread conventional treatment of the avenues and streets in midtown Manhattan as if they were oriented due north-south and due east-west, respectively. For more details on this 30-degree shift, see the description of Segment Orientation in Appendix 3.)

-

Function 3C accepts as input the long blockfaces formed by T-intersections. The sides of stretches opposite to such long blockfaces consist of more than one blockface and are not accepted as Function 3C input.

-

The input items to Function 3C are an ‘on’ street, two cross streets and a compass direction specifying the side of the street. The input cross streets, but not the ‘on’ street, may be pseudo-streets or intersection names. Note that, for Function 3C, the input compass direction has a different significance than it does for Function 2. In the case of Function 3C, the compass direction identifies which side of the street is to be processed. In the case of Function 2, it identifies, for a pair of input streets that intersect at two distinct locations, which of those two intersections is to be processed.

-

The same combinations of an ‘on’ street and two cross streets that Function 3 rejects as ambiguous input data are also rejected as ambiguous input data by Function 3C.

-

When Function 3C is called using two work areas, it returns in its WA2 those Function 3 WA2 items that are not associated with a specific side of the street, such as the lists of cross streets, the Segment Length, the ‘From’ node (COW only), ‘To’ node (COW only), etc. It also returns all of those Function 3 WA2 items that are specific to the side of the street specified by the input compass direction, such as the low and high house numbers, ZIP code and community district for that side of the street.

-

A successful two-work-area call to Function 3C signifies the following:

-
    -
  • The input ‘on’ street and two cross streets (or intersection names) specify a street stretch that is valid as Function 3 input (i.e., it is either a single street segment or a multi-segment stretch at least one side of which is a single entire blockface)
  • -
  • The input compass direction is a valid specification (as defined below) of a side of that stretch
  • -
  • The specified side of the stretch is a single entire blockface
  • -
-

As the second condition above implies, Function 3C treats some compass directions as invalid side-of-street specifications for some street stretches. The validity of a compass direction as a specification of a side of a street is determined by the orientation of the segment (or of the last segment of the stretch, if it consists of more than one segment) with respect to the points of the compass, as indicated by the value of the Segment Orientation. If the segment is oriented ‘nearly’ (i.e., within ten degrees of) due east-west, as indicated by a Segment Orientation value of ‘E’ or ‘W’, then its sides can only be validly described as the north and south sides, and Function 3C will reject east and west as side-of-street specifications. Similarly, if the segment is within ten degrees of due north-south, as indicated by a Segment Orientation value of ‘N’ or ‘S’ , then it is considered to have only east and west sides, and Function 3C will reject north and south as side-of-street specifications. (Note: recall that all Segment Orientation values in Manhattan are rotated 30 degrees counterclockwise. This has the effect, for example, of causing Geosupport to treat Third Avenue in Midtown Manhattan as a ‘nearly’ north-south street. Thus, Function 3C accepts as input either the east or west side of Third Avenue between, say, East 50 Street and East 51 Street, but it rejects the north and south sides.)

-

Of course, most segments are ‘diagonal’ (not oriented within ten degrees of due north-south or due east-west), in which case all four compass directions are accepted as valid side-of-street specifications. For example, if the segment is oriented northwest-southeast, one side of the segment is simultaneously the north side and the east side, and the other side is simultaneously the south side and the west side.

-

Consider the example illustrated in Figure VII-15. The east side of Fifth Avenue between East 40th and East 41st Streets is a valid blockface specification and is accepted by Function 3C. The same is true for the east side of Fifth Avenue between East 41st and East 42nd Streets. The west side of Fifth Avenue between East 40th and East 42nd Streets is likewise a valid blockface specification, in this case designating the long blockface of a T-intersection. The east side of Fifth Avenue between East 40th and East 42nd Streets is not a valid blockface specification, and is rejected by Function 3C (even though that combination of ‘on’ street and two cross streets is accepted by Function 3), since that side of Fifth Avenue between those cross streets consists of two blockfaces. See Chapter VII.4 for a description of the Auxiliary Segment Switch. That switch allows the user to request that Geosupport return all the segment IDs in a long face of a T-intersection, or any other multi-segment situation.

-

The Extended WA2 Mode Switch is available for Function 3C. The first 300 bytes of Function 3C with the Mode Switch set to “X” will be the same as regular Function 3C calls. The additional fields that are returned with Function 3 Extended are returned with Function 3C Extended as well.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section06/index.html b/site/chapters/chapterVII/section06/index.html deleted file mode 100644 index f892581b..00000000 --- a/site/chapters/chapterVII/section06/index.html +++ /dev/null @@ -1,885 +0,0 @@ - - - - - - - - - - - - VII.6 Street Stretches: Function 3S - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.6 Street Stretches: Function 3S
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.6 Street Stretches: Function 3S

- -

Function 3S processes street stretches. An input stretch is specified by an ‘on’ street and (optionally) any two cross streets, using the same WA1 input fields as are used for Function 3. If the ‘on’ street intersects an input cross street twice, an input compass direction must also be specified to identify which of those two intersections is intended to delimit the stretch. Input cross streets, but not the ‘on’ street, may be pseudo-streets or intersection names. If no input cross streets are specified, the delimiting nodes of the input stretch default to the ‘on’ street’s beginning and ending nodes, and the input stretch consists of the entire ‘on’ street. If the ‘on’ street is a locally-valid name, then only the intersections in that portion of the street, where the name is valid, will appear in the list. Similarly, if street code input is used, the B7SC will determine the stretch of the locally-valid street.

-

Function 3S’s WA2 contains a list of all of the input stretch’s ‘intersections’ in sequence between the beginning and ending delimiting nodes of the stretch. An ‘intersection’ can either be a node (as defined in Chapter VII.2), or it can be a non-specifiable intersection, that is, a point at which the street intersects only with a geographic feature to which a street code has not been assigned.

-

WA2 also contains a list counter containing the number of such intersections. There is space in the list for a maximum of 350 intersections.

-
    -
  • Each entry in the list typically contains the numerically smallest and second smallest PB5SCs for MSW, and up to five B7SCs for COW (the first two B7SCs are typically the numerically smallest and second smallest, of all of the cross streets at the represented intersection, if any).
  • -
  • Note that to return the most useful information to the user, ‘normal’ streets in numerical order appear first in the list entry, followed by ‘special’ streets, such as Ramps and Exits. Railroads, Shorelines and Borough Boundaries will then appear followed by Named Intersections, CITY LIMITs, DEAD ENDs, and BENDs. This will occur even if the ‘special’ streets have lower street codes than the ‘normal’ streets.
  • -
  • To avoid unnecessary listing of BENDs, Function 3S recognizes a BEND only if the angle of the bend is 60 degrees or more. (Prior to Release 16D, a bend was listed if the angle was 20 degrees or more.) Also, a bend is not included in the list of cross streets when another real street intersects there as well.
  • -
  • The ‘on’ street is not included in the list of cross streets at each intersection.
  • -
  • If there is only one cross street at an intersection, the list entry contains packed zeros in the second cross street field for MSW and blanks in remaining cross street fields for COW.
  • -
  • List entries representing non-specifiable intersections contain packed zeros in both cross street fields for MSW and blanks in all cross street fields for COW.
  • -
  • Two streets with different B7SCs but with the same B5SCs may appear in a COW list entry. This can happen when the Preferred Street Name of a street changes at an intersection. For example, in Brooklyn, the Preferred Street Name of Livingston Street becomes Aitken Place when Livingston Street intersects Clinton Street. The COW list entry for that intersection on Clinton Street will include B7SCs for both Livingston Street (B7SC 3-56530-01) and Aitken Place (B7SC 3-56530-02). -Note: An MSW Function 3S call returns only B5SCs and in this situation the list may include two identical streets codes with the same B5SC. This, at least, informs the MSW user that there are two street names at that point. As in the past, we strongly encourage MSW Work Area users to migrate to the COW Work Areas so you can benefit from multiple Geosupport enhancements that are not included in MSW.
  • -
-

Each list entry also contains the distance in feet between the node represented by this list entry and the node represented by the previous list entry. The maximum value this field can contain is 99,999. Please note that the distance information is only a rough approximation and cannot be used for applications that require precise distance measurements. Note, also, that the distance field will always contain zero in the first list entry returned by Function 3S since there is no previous list entry.

-

There is also a field in each list entry for a Gap Flag. A non-blank value in the Gap Flag indicates that one of the following is true:

-

a. There is some kind of gap in the ‘on’ street between the node represented by this list entry and the node represented by the previous list entry
-b. Multiple segments have been combined to create this entry so that only Real Street intersections are listed. Intersections with bends and other non-street features are combined to create one entry.

-

In other words, a non-blank value indicates that either there is no segment of the ‘on’ street connecting those two nodes, or that multiple segments have been combined to represent a ‘single’ segment between the two nodes. Note that the Gap Flag will always be blank in the first list entry returned by Function 3S since there is no previous list entry.

-

The Gap Flag is set to ‘G’ when there is a break in a street, such as exists with 7 Avenue between Central Park South (a.k.a. West 59 Street) and Central Park North (a.k.a. West 110 Street) in Manhattan. The length returned represents the distance between the end of one string of segments and the start of the next string of segments. With 7 Avenue in Manhattan, the length of the gap would be the distance from the intersection of 7 Avenue and Central Park South and the intersection of 7 Avenue and Central Park North.

-

The Gap Flag will be blank even if there is a gap between the first intersection in the list and the preceding intersection in the entire street; since, from the user’s perspective there is no gap within in the stretch. An example of this is the partial street stretch of Broadway in Manhattan between East 17 Street and East 20 Street. There is a gap between East 14 Street and East 17 Street, but there will not be any indication of that gap in the list of intersections. If, on the other hand, the user requested the partial street stretch of Broadway in Manhattan between East 10 Street and East 20 Street, the gap between East 14 Street and East 17 Street will appear in the list.

-

There are situations (e.g. dogleg and new stretch) where merely indicating that a gap exists is not sufficiently descriptive.

-

The Gap Flag is also used to indicate that segments have been combined when ‘Real Streets Only’ are requested.

-

To handle these situations, the Gap Flag has three values in addition to ‘G’.

-
    -
  1. ‘D’ for a Dogleg
  2. -
  3. ‘N’ for a New Stretch. -Note: For entries with the value of ‘N’, the length from the previous node is set to zero.
  4. -
  5. ‘C’ for Combined Segments. This occurs when the user requests ‘real streets only’ which results in some segments being combined. See the description of the ‘Real Street Only’ flag below.
  6. -
-

Example of Dogleg
-Looking at Elk Street in Manhattan, which exists between Chambers Street and Duane Street, there is a gap at Reade Street. This is not a real gap, but rather a dogleg. Gaps of this nature are identified with the letter ‘D’ to indicate the existence of a dogleg. The length field contains the length of the dogleg. (see Figure VII.6 for example of dogleg.

-

Examples of New Stretch

-
    -
  1. -

    A new stretch may involve situations where there are multiple roadbeds like Ocean Parkway in Brooklyn and Allen Street in Manhattan. In these cases one roadbed is listed first and then the first segment of each of the other roadbeds is listed as New (‘N’). The length field which contains the distance from the previous node is set to zero.

    -
  2. -
  3. -

    A new stretch may involve a triangle, which occurs when a road veers off for one or more segments and then comes back. Examples of this exist in the Bronx involving White Plains Road and Rhinelander Avenue. In this case, Rhinelander Avenue appears twice in the White Plains Road stretch; once as part of the entire street and once as a “New” one-segment stretch between nodes 0079418 and 0079417. Another example of a triangle is Queens Boulevard between Yellowstone Boulevard and 70 Road. On the southern side of Queens Blvd, there is a “spur” of Queens Boulevard between Yellowstone Boulevard and 70 Road separated from the main portion of Queens Boulevard by MacDonald Park. In any case the length field is set to zero.

    -
  4. -
  5. -

    A new stretch may involve a ‘street’ that has several separate stretches. In the Bronx, an example of this is the Throgs Neck Expressway which has several separate stretches, some of which have a different name (e.g. Throgs Neck Boulevard), but use the same five-digit street code. The first segment of each of these separate street stretches is listed as New (‘N’), and the distance from the previous node is set to zero.

    -
  6. -
-

Description of Combined Segments and the “Real Street Only” Flag
-In the COW there is an input flag in WA1 called the “Real Street Only” flag for users who seek only “real” cross streets along a stretch of a street, and not items defined as “Non-Street Feature” or “Bend”.

-

If the “Real Street Only” flag is set to R, only “Real” street list entries are returned. This means that “Non-Street Feature” or “Bend” items are not returned. The length from the previous node to the node with “Non-Street Feature” or “Bend” is added to the next segment and the Gap Flag is set to C, which indicates that segment lengths have been combined and one or more nodes have been omitted. There are two exceptions to this situation; namely, if the Gap Flag of the current node is equal to N or G which means a new stretch has commenced or if the Gap Flag of the next node is equal to N or G. In this case, a new stretch is starting and adding in the length of the preceding segment does not make sense. If the “Real Street Only” flag is set to any value other than R, all segments are displayed.

-

Example of Combined Segments
-Consider the street stretch in Manhattan on A C Powell Boulevard between West 137 Street and West 140 Street. A normal function 3S call will result in seven intersections listed, including three non-street feature intersections. If “Real Street Only” is requested, only four intersections are listed, and the distances between the intersections are adjusted accordingly.

-

Additional COW List entry items
-In the COW, for Function 3S, each list entry also includes a Marble Hill/Rikers Island flag, the Node ID of the intersection and a count of the number of streets at the intersection.

-

Note: In COW work areas, the entries in the list of intersections include B7SCs instead of B5SCs (as had been returned prior to Version 10.6). Users who are still using MSW work areas will find B5SCs in the list of intersections as in the past.

-

Locally Valid Street Name or Street Code processing

-

In Function 3S, if the on-street is a locally-valid street name, e.g. ‘FASHION AVENUE’ in Manhattan, Geosupport returns only the intersections where the name ‘FASHION AVENUE’ in Manhattan is valid. In this example, Geosupport will return approximately 16 intersections for ‘FASHION AVENUE’ in Manhattan.

-

If the user provides street code input instead of street name input, Geosupport uses the B7SC of the input to find the stretch of the locally-valid street. Of course, if the user supplies only the B5SC the entire street will be searched, which, hopefully, is what the user intended.

-

In COW work areas, the entries in the list of intersections will include B7SCs instead of the B5SCs as had been returned previously. Users who are still using MSW work areas will find B5SCs in the list of intersections as in the past.

-

Roadbed Street Stretches: Function 3S Partial Implementation

-

Function 3S may be used to obtain information about roadbed street stretches via the Roadbed Request Switch (as opposed to only generic street10 stretches). Please be aware that the roadbed processing, which is only partially implemented, may change and is being provided to enable you, the user, to take advantage of this enhancement while in its infancy.

-

Information about generic street stretches may be obtained for the entire street stretch or for part of a street stretch. However information about roadbed street stretches may only be obtained for certain types of stretches. Information about certain parts of a street stretch is not fully functional and will result in a Geosupport Return Code (GRC) of 96. It is expected to be fully functional in a future release of Geosupport.

-

It is the user’s responsibility to set the Roadbed Request Switch which is in Work Area 1.

-

If the Roadbed Request Switch is set to R, then a roadbed street stretch will be returned to the user. A blank in the Roadbed Request Switch will result in a generic street stretch being returned to the user. Any other value will result in a Geosupport Return Code (GRC) of 65.

-

If a user supplies a generic name for a multi-roadbed street and the Roadbed Request Switch indicates that generic processing is desired (i.e. value of the switch is ‘blank’), the output will be virtually the same as prior to implementation of the Roadbed Request Switch. An example of this would be Park Row in Manhattan.

-

If a user supplies a generic name for a multi-roadbed street and the Roadbed Request Switch indicates that roadbed processing is desired (i.e. value of the switch is ‘R’), the output may or may not be what was provided in the past. If the generic name supplied represents an undivided street, the generic and roadbed processing will produce the same output and it is possible to request part of the street stretch. If the generic name supplied represents a multi-roadbed street either in part or in full, then the entire stretch may be requested. Also, a street stretch that begins and ends with an undivided portion of the street may be requested. If only part of the street involves a multi-roadbed, then the undivided portion may be requested in part. For example, 58 Avenue in Queens is undivided in part. Consequently you may ask for roadbed processing from, say, 211 Street to 219 Street. If you ask for roadbed processing from, say, 214 Street to 218 Street, you will receive GRC 96 indicating that this functionality is under construction. If the entire stretch is requested with roadbed processing, the output will be different than what the output is for generic processing. The output starts with Rust Street and continues supplying the cross streets until about 213 Street where 58 Avenue becomes a multi-roadbed street. All of the intersecting streets on one roadbed are presented until about 219 Street, where 58 Avenue becomes undivided. The output then returns to earlier segments where 58 Avenue branched off as well as the segments for the other roadbed between 211 Street and 219 Street.

-

If a user supplies a street name that is defined as a roadbed name, but does not set the Roadbed Request Switch to indicate that roadbed processing is requested, then a GRC of 57 with the associated error message of “INPUT INCLUDES ROADBED NAME, BUT ROADBED REQUEST SWITCH IS OFF” will be returned to the user.

-

If a user supplies a street name that is defined as a roadbed name and sets the Roadbed Request Switch to indicate that roadbed processing is requested, then only those streets within the two cross streets that intersect the specified roadbed will be returned in the output. For example if you request the stretch for Park Avenue Northbound Roadbed and set the Roadbed Request Switch to indicate that roadbed processing is requested, then the output will include the streets that cross the northbound roadbed.

-

Coincident Segments: Function 3S Processing

-

Coincident segment processing (where one road is above another road) has become more consistent as of Release 16C. Coincident segments (streets, subways, railroads) were sometimes being listed as cross streets in releases prior to 16C. As of Release 16C, the B7SCs of segments coincident with the ‘on’ street are no longer listed as cross streets at both the ‘from’ node and ‘to’ node unless the coincident segment diverges at either the ‘from’ node or the ‘to’ node of the ‘on’ street. The new rules for coincident segments are as follows:

-

i. At a point where one of the two coincident segments’ stretch ends, the coincident segment will not be listed as a cross street.
-ii. At a point where one of the two coincident segments diverges (no longer coincident), the divergent segment will be listed as a cross street.
-iii. At a point where two divergent segments become coincident, the incoming divergent segment will be listed as a cross street.
-iv. At a point where a coincident segment stretch ends and a new coincidence begins with another ‘on street. The continuing and terminated segments will be listed as cross streets.

-

_________________________

- -

10 Generic streets are single line representations of streets that have multiple roadbeds, such as Queens Boulevard in Queens, the Grand Concourse in the Bronx, Broadway (in the Upper West Side) in Manhattan and Ocean Parkway in Brooklyn.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section07/index.html b/site/chapters/chapterVII/section07/index.html deleted file mode 100644 index c686d9e0..00000000 --- a/site/chapters/chapterVII/section07/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - VII.7 Borough Boundary Processing (Functions 2, 3 and 3C) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.7 Borough Boundary Processing (Functions 2, 3 and 3C)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.7 Borough Boundary Processing (Functions 2, 3 and 3C)

- -

All of the street configuration functions other than Function 3S allow users to specify locations that lie along a boundary of two boroughs in terms of streets from both boroughs. Function 2, for example, accepts the intersection of Brooklyn’s Ridgewood Avenue and Queens’s Rockaway Boulevard as a valid input street intersection lying on the Brooklyn Queens boundary. A more unusual example that Function 2 also accepts as a valid input intersection is the intersection of Atlantic Avenue in Brooklyn and Atlantic Avenue in Queens. Although physically, Atlantic Avenue is a single continuous street that crosses the Brooklyn-Queens border; Geosupport treats the portions of Atlantic Avenue in the two boroughs as two different streets, and therefore recognizes their meeting point at the borough boundary as an intersection.

-

A borough boundary location can be specified in terms of streets from different boroughs as follows. For street input data that are in the form of street names, there are three WA1 input fields for borough codes called Borough Code 1, Borough Code 2 and Borough Code 3 (see the WA1 layout in Appendix 2). These fields correspond respectively to the three WA1 input street name fields called Street Name 1, Street Name 2 and Street Name 3. A value is always required in Borough Code 1. If no values are loaded into Borough Code 2 and/or Borough Code 3, the default values are the value in Borough Code 1. When not all of the input street names are in the same borough, the proper value(s) must be inserted into Borough Code 2 and/or Borough Code 3, as appropriate.

-

If the street input data are in the form of street codes, either as PB5SCs or as B10SCs, each input street code field contains a borough code in its first byte position. This makes it possible to specify input streets from different boroughs using street code input.

-

The borough boundary processing feature described in this section is not implemented for Function 3S, which requires all three input streets to be from the same borough. If the input streets are in the form of street names, the borough must be specified in the WA1 input field Borough Code 1; Function 3S ignores the contents of the WA1 input fields Borough Code 2 and Borough Code 3.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVII/section08/index.html b/site/chapters/chapterVII/section08/index.html deleted file mode 100644 index d109084e..00000000 --- a/site/chapters/chapterVII/section08/index.html +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - VII.8 Fuzzy Name Search Processing for Functions 3, 3C, and 3S – Front-truncated street names - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VII: Street Configuration Processing »
  • - - - -
  • VII.8 Fuzzy Name Search Processing for Functions 3, 3C, and 3S – Front-truncated street names
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VII.8 Fuzzy Name Search Processing for Functions 3, 3C, and 3S – Front-truncated street names

- -

Under certain conditions, Functions 3, 3C, and 3S will return data when front-truncated street names are given as input; e.g. when 14 STREET in Manhattan is given as input instead of EAST 14 STREET or WEST 14 STREET.

-

When a user supplies a street that is a front-truncated street name, Geosupport will process that front-truncated street name if the front-truncated street name supplied may only refer to a single street name. For example, if a user supplies ‘7 STREET’ in Manhattan as an input street, Geosupport knows that the only possibility is ‘EAST 7 STREET’ in Manhattan since there is no ‘WEST 7 STREET’.

-

When a user supplies a street name that is a front-truncated street name such as 57 STREET where there are two viable street names, such as EAST 57 STREET and WEST 57 STREET in Manhattan, then Geosupport will determine which of the two street names actually intersects with the other input street. (Geosupport invokes Function 2 under-the-covers to check the intersections.) Geosupport will accept the call if only one of the two street names actually intersects the other input street. As an example, if a user inputs ’57 STREET’ between ‘PARK AVENUE’ and ‘MADISON AVENUE’, Geosupport will provide data, because in Manhattan ‘EAST 57 STREET’ intersects ‘PARK AVENUE’ and ‘MADISON AVENUE’. As another example, if a user inputs ‘PARK AVENUE’ between 57 STREET and 58 STREET, Geosupport will accept the call, because in Manhattan EAST 57 STREET intersects ‘PARK AVENUE’ as does EAST 58 STREET.

-

A warning message with Reason Code J will be issued when Geosupport assumes a name that is different from the input street name.

-

There are situations where a front-truncated street name will not be accepted. As an example, a Function 3S call where a user inputs ‘57 STREET’ between ‘PARK AVENUE’ and ‘SEVENTH AVENUE’, Geosupport will not provide data, because, in Manhattan, ‘EAST 57 STREET’ intersects ‘PARK AVENUE’ and ‘WEST 57 STREET’ intersects ‘SEVENTH AVENUE’. ‘EAST 57 STREET’ and ‘WEST 57 STREET’ are not considered to be the same streets. As another example, a Function 3S call where a user inputs ‘57 STREET’ with no cross streets. Geosupport will not provide data, because it has no cross street to help determine whether the user wants East 57 Street or West 57 Street. When no data is returned, Geosupport will return the Geosupport Return Code (GRC) of ‘EE’ for ‘57 STREET’ and provide a list of similar names which will include both ‘EAST 57 STREET’ and ‘WEST 57 STREET’.

-

The fuzzy search involving Functions 3, 3C and 3S is similar to the fuzzy search for Function 2 Intersection Processing, which is described in a sub-section of VII.2.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/chapterVIII/index.html b/site/chapters/chapterVIII/chapterVIII/index.html deleted file mode 100644 index 81dee35a..00000000 --- a/site/chapters/chapterVIII/chapterVIII/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter VIII - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • Chapter VIII
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER VIII

- -

THE GEOSUPPORT API - USER PROGRAM CODING AND JCL

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section01/index.html b/site/chapters/chapterVIII/section01/index.html deleted file mode 100644 index bc0760d5..00000000 --- a/site/chapters/chapterVIII/section01/index.html +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - VIII.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.1 Introduction

- -

The Geosupport System’s Application Programming Interface (API), the mechanism by which a user-written batch or CICS application program interfaces with the Geosupport System, was described in broad terms in Chapter II. The present chapter describes in detail, for the programming languages most widely used to develop applications on city mainframes, the statements that the user must code in an application program to access Geosupport via the API. The languages covered are COBOL, Assembler (i.e., any dialect of IBM mainframe assembler language), PL/1, C (supported on the mainframe at the Department of Information Technology and Communications (DoITT) by the IBM/C compiler) and NATURAL (a proprietary programming language used with the ADABAS database management system). An important optional user programming aid, the Geosupport COPY facility, is also discussed. The Geosupport-related JCL that the user must code to compile, link and (for batch applications) execute an application program is also described.

-

Notes for non-DoITT mainframe users:

-
    -
  • -

    All JCL documented in this chapter is valid for the DoITT mainframe. Variations from this JCL are possible at other data centers where Geosupport is installed, for a variety of reasons. For example, the DSNs of the Geosupport files may differ from those at DoITT to conform to local file naming standards. Variations from DoITT may also be caused by software environment differences, such as the version of the operating system that is running. In addition, certain software products mentioned in this chapter, such as IBM/C or ADABAS, that are installed at DoITT may be unavailable at other data centers. Non-DoITT users should refer any Geosupport-related JCL questions or problems to their data center’s Geosupport System Administrator (the system programmer at the data center who is responsible for installing new Geosupport releases).

    -
  • -
  • -

    Non-DoITT users should also be aware that certain Geosupport files and functions that are available at DoITT may not currently be installed at their data center. Specifically, a foreground file named PAD, which is accessed only by Functions 1A, BL and BN, is relatively large and therefore is not installed at some data centers at which there are no current applications that require Functions 1A, BL or BN. At those data centers, Functions 1A, BL and BN are not available for use. If future applications at those data centers require Functions 1A, BL and/or BN, the PAD file can then be installed, thereby activating those functions.

    -
  • -
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section02/index.html b/site/chapters/chapterVIII/section02/index.html deleted file mode 100644 index 546af6fe..00000000 --- a/site/chapters/chapterVIII/section02/index.html +++ /dev/null @@ -1,833 +0,0 @@ - - - - - - - - - - - - VIII.2 Review of the Geosupport API - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.2 Review of the Geosupport API
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.2 Review of the Geosupport API

- -

The Geosupport API consists of the following elements:

-
    -
  • -

    Driver: A Geosupport program called the driver that serves as an intermediary between the user’s application program and the Geosupport foreground software. The driver exists in the form of a load module, which the user must link-edit with the application program. (The link-editing is performed automatically for NATURAL programs.)

    -
  • -
  • -

    Work Areas: One or two standard-layout work areas that are used to pass data back and forth between the application program and Geosupport. The user must include the Geosupport work area(s) in the application program.

    -
  • -
  • -

    Programming Statements: Programming statements that the user must code in the application program to utilize the driver and work area(s) to interface with Geosupport.

    -
  • -
-

The work areas and required programming statements are identical in the batch and CICS environments, except that there is a different driver for each environment. The driver for batch applications is named GBI. The driver for CICS applications is named GOAIDRV. The driver serves two purposes:

-
    -
  • -

    It passes execution control from the user's application program to the Geosupport foreground software, which is external to the application program load module.

    -
  • -
  • -

    It passes the memory address(es) of the work area(s), which are located within the application program, to the Geosupport foreground software, enabling Geosupport to access the work areas.

    -
  • -
-

The user program must include the required Geosupport work area(s) in its working storage (COBOL, Assembler or C), automatic storage (PL/1) or U size buffer (NATURAL). When the application program issues a call to the driver, either one or two work areas (more precisely, their memory addresses) are passed as parameters of the call. The length and layout of Work Area 1 (WA1) are fixed. The length and layout of Work Area 2 (WA2) are determined by the function and, for functions that have either the long WA2 option or the Mode Switch of ‘X’ – Extended (discussed in Chapter II.5), by which option is specified. The distinction between one-work-area and two-work-area calls is discussed in Chapter II.4.

-

For the convenience of users whose application programs are written in COBOL, Assembler, PL/1, C or NATURAL, Geosupport COPY files are maintained. They contain source code descriptions of all of the work area layouts in each programming language. The Geosupport COPY files are discussed in detail in Chapter VIII.4. The use of the Geosupport COPY facility is optional but strongly recommended.

-

In batch applications, the user JCL for the execute step must include JOBLIB or STEPLIB DD statements for the load libraries that contain the Geosupport foreground software. Chapter VIII.8 describes the JCL required for batch execution, and Appendix 8 contains examples.

-

Important note for CICS applications written in NATURAL:

-

In order for Geosupport’s CICS driver to be able to pass control to the Geosupport foreground software properly, the driver must determine whether the user program is written in NATURAL. (This is necessary because NATURAL programs make non-standard program calls in the CICS environment. In a standard call, the address of the parameter list is passed in Register 1. Programs written in COBOL, Assembler, PL/1 and C generate standard calls. However, CICS NATURAL programs use Register 1 for a different purpose. Therefore, for NATURAL programs only, the Geosupport CICS driver uses the Transaction Work Area instead of Register 1 to pass the addresses of the work areas to Geosupport.)

-

The Geosupport CICS driver determines whether the calling program is a NATURAL program by examining an internal Geosupport table that contains the transaction-IDs of all applications written in NATURAL. If the transaction-ID of a CICS NATURAL program is not in that table, the transaction will terminate abnormally when attempting to call Geosupport. At DoITT, the updating of the Geosupport NATURAL transaction-ID table is the responsibility of DoITT staff. Therefore, DoITT users developing new CICS applications written in NATURAL must make a request to the appropriate DoITT staff to enter the new transaction-IDs into the Geosupport table. NATURAL CICS users running at other computer centers should contact GSS at GSS_Software@planning.nyc.gov.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section03/index.html b/site/chapters/chapterVIII/section03/index.html deleted file mode 100644 index ab64b53d..00000000 --- a/site/chapters/chapterVIII/section03/index.html +++ /dev/null @@ -1,852 +0,0 @@ - - - - - - - - - - - - VIII.3 Coding API Calls - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.3 Coding API Calls
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.3 Coding API Calls

- -

This section describes the source code statements that the user must code in the application program to call the driver. Also described, for PL/1 and C applications, are the statements required to declare the driver as an external entry point. Such a declaration is not required for COBOL, Assembler and NATURAL.

-

For all programming languages, the driver can be called either with one or with two calling parameters. The first parameter passes the address of Work Area 1 to the driver. If the application program is making a two-work-area call, the second parameter passes the address of Work Area 2 to the driver.

-

The programming statements to declare and call the driver are shown below in the form that must be coded for batch application programs. For CICS programs, the user must code these statements in the same way, but with the name of the CICS driver, GOAIDRV, in place of the batch driver, GBI.

-

In a (batch) PL/1 program, the driver must be declared as an external entry point as follows:

-
-

DCL GBI EXTERNAL ENTRY OPTION (ASM,INTER);

-
-

In a (batch) IBM/C program, the driver should be declared as follows:

-
-

#pragma linkage (GBI,OS) -long GBI(void *,... );

-
-

If ‘WA1’ and WA2 are the names that the user has given to the work areas within the application program source code, the statement calling the driver would be coded as follows in a (batch) application program:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
LanguageOne-Work-Area Call Two-Work-Area Call
COBOLCALL ‘GBI’ USING WA1.CALL ‘GBI’ USING WA1, WA2.
AssemblerCALL GBI,WA1,VLCALL GBI,(WA1,WA2),VL
PL/1CALL GBI (WA1);CALL GBI (WA1, WA2);
IBM/CGBI(&WA1);GBI(&WA1,&WA2);
NATURALCALL ‘GBI’ USING WA1CALL ‘GBI’ USING WA1 WA2
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section04/index.html b/site/chapters/chapterVIII/section04/index.html deleted file mode 100644 index db018237..00000000 --- a/site/chapters/chapterVIII/section04/index.html +++ /dev/null @@ -1,1174 +0,0 @@ - - - - - - - - - - - - VIII.4 The Geosupport Copy Files - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.4 The Geosupport Copy Files
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.4 The Geosupport Copy Files

- -

This section describes an optional feature of Geosupport, its COPY files. The Geosupport COPY files contain source code layouts of the Geosupport API work areas in the COBOL, Assembler, PL/1, C and NATURAL programming languages. The use of the Geosupport COPY files can greatly facilitate user programming and is strongly recommended for all applications. The Geosupport COPY files are contained in the Geosupport COPY libraries, which are described below.

-

In this section, basic concepts of COPY files are explained, and the organization of the Geosupport COPY libraries is described. In Chapter VIII.5, the specific source code statements that users must code in their programs to utilize the Geosupport COPY files are described. Chapter VIII.6 describes the JCL required to compile a program that utilizes the Geosupport COPY files.

-

Overview of COPY Files in General

-

Many programming languages, including COBOL, Assembler, PL/1, C and NATURAL, have a facility for referring, within the source code of a program, to external files (generically referred to as ‘COPY files’ in this document) containing source code to be inserted into the program at compile time. (C ‘COPY files’ are usually called header files; NATURAL ‘COPY files’ are called Local Data Areas (LDAs).) Each programming language has a declarative command (‘COPY’ in COBOL and Assembler, ‘%INCLUDE’ in PL/1, ‘#include’ in C, ‘LOCAL USING’ in NATURAL) for referring to such external COPY files. During program compilation, when the compiler encounters such a command, it dynamically retrieves the source code stored in the named COPY file and processes that source code as if it were an integral part of the program source code. The source code retrieved at compile time from the COPY file serves as input to the compiler only; it is not inserted permanently into the user’s program source code file. Only the declarative statement that refers to the COPY file is permanently present in the program source code. Note: declarative statements referencing external source code COPY files are not to be confused with external program calls. Declarative statements are directives to the compiler, and are processed at source code compilation time; program calls are executable statements, performed at application execution time.

-

For COBOL, Assembler, PL/1 and C, COPY files must reside as members of a Partitioned Data Set (PDS) called a COPY library, which must be made accessible to the compiler by coding a SYSLIB DD statement in the JCL for the compile step. In addition, for COBOL and PL/1, an appropriate compiler option must be specified. For NATURAL, COPY files are called Local Data Areas (LDAs) and reside in the system library in each ADABAS database. The Database Administrator (DBA) must modify each NATURAL application’s security profile to make the LDAs accessible to the application.

-

An ideal situation in which to use COPY files is when numerous programs in an application must all describe the same data structure(s). Using this technique, a source code description of each data structure is stored centrally in a COPY library. All programs requiring one or more of the data structures need only contain declarative statement(s) referring to the appropriate member file(s) in the COPY library. This approach insures that all the programs define the given storage layout in exactly the same way, using the same data item names, data types and data lengths. This facilitates application-wide maintenance and debugging. Changes to a data structure need only be made centrally in the COPY file, rather than separately and redundantly in each program.

-

Of course, the source code in a program that references a COPY file must be written so that it is compatible with the source code in that COPY file. In particular, for fields that are defined in the COPY file and referred to in the program, the program must use the same data names and must assume the same data types and lengths as does the COPY file.

-

The Geosupport COPY Libraries

-

There are two Geosupport COPY libraries that collectively contain COBOL, Assembler, PL/1 and C source code COPY files for all of the Geosupport API work area layouts. Geosupport also has a set of NATURAL LDAs for the work area layouts. The use of these facilities can greatly facilitate user application programming. Among the potential productivity benefits are the following:

-
    -
  • -

    Elimination of the need for application programmers to key into their programs lengthy source code descriptions of the Geosupport work area layouts line by line.

    -
  • -
  • -

    Standardization of Geosupport data item names among the programs in an application, facilitating troubleshooting and the reassignment of programming staff to programs written by others.

    -
  • -
  • -

    Standardization of the descriptions (data types and lengths) of Geosupport data items in an application, fostering accuracy and compatibility among programs and files.

    -
  • -
  • -

    Simplification of the updating of programs to reflect changes to Geosupport work area layouts. Each time a program that references the Geosupport COPY libraries is recompiled, the latest versions of the work area layouts are automatically retrieved.

    -
  • -
-

The Geosupport COPY libraries supporting COBOL, Assembler, PL/1 and C applications are two catalogued Partitioned Data Sets (PDSs) named A030.GEO.COPYLIB2 and A030.GEO.COPYLIB.

-

For NATURAL applications at DoITT, the DoITT Database Administration staff is responsible for installing the Geosupport LDAs in the system library (CSCLIB) for each ADABAS database and for making the LDAs accessible to each application that needs such access by updating the application’s profile. It is the user’s responsibility to communicate with the appropriate DoITT staff to request such installation and profile updating.

-

The Geosupport COPY libraries contain a complete set of COPY files for the Geosupport API work areas in COBOL, Assembler, PL/1, C and NATURAL. Each COPY file contains source code descriptions of one or more of the work areas in one of the supported programming languages, as explained below. The Geosupport COPY libraries support both batch and CICS applications.

-

The MSW Work Area 2s of Functions 1, and 1E, (regular WA2), 2, 3 and 3C all have the same length, 200 bytes. For each of the supported programming languages except C, the layouts of these work areas are stored together in a single COPY file, coded as redefinitions of the same memory area. (In the COBOL files, this is done using REDEFINES. In the Assembler files, it is done using an ORG to reset the Location Counter. In the PL/1 files, it is done using BASED. In the NATURAL LDAs, it is done using REDEFINE.) Except for C, each of the remaining work area layouts has its own COPY file. For C, there is a single COPY file (called a ‘header file’ in C terminology) containing the layouts of all of the work areas, including WA1.

-

The COW Work Area 2s are handled in a similar fashion, though they may not all have the same length.

-

Tables VIII-1 and VIII-2, below, list all of the MSW and COW COPY files respectively for COBOL, Assembler, PL/1, NATURAL and C. The tables indicate the work areas for which each file contains layouts, the lengths of those work areas in bytes, and the name of each file by programming language. Appendix 5 and Appendix 14 contain printouts of the MSW and COW COPY files respectively.

-

Table VIII-1: MSW COPY Files for COBOL, Assembler, PL/1, C and NATURAL

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - COPY File Name - - - - - - - -
MSW
WORK
AREA
FUNCTION(S)LENGTH
(bytes)
COBOLASSEMBLERPL/1CNATURAL
WA1All884W1COBW1BALW1PL1WACGEOLW1
WA21 (regular WA2), 1E (regular WA2), 2, 3 (regular WA2), 3C200W2COBW2BALW2PL1WACGEOLW2
WA21 (long WA2), 1E (long WA2), 3 (long WA2)300W2COBLW2BALLW2PL1LWACGEOLW2L
WA21A&BL (regular WA2), BN (\*)939W2COB1AW2BAL1AW2PL11AWACGEOLW2LA
WA21A&BL (long WA2) (\**)17,683W2COB1ALW2BAL1ALW2PL11ALWACGEOLW2LAL
WA23S4,224W2COB3SW2BAL3SW2PL13SWACGEOLW23S
- -

The COW COPY Files Table (Table VIII-2) appears on the following page.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - COPY File Name - - - - - - - -
MSW
WORK
AREA
FUNCTION(S)LENGTH
(bytes)
COBOLASSEMBLERPL/1CNATURAL
WA1All1,200P1COBP1BALP1PL1PACGEOLP1
WA21 & 1E (Regular WA2), 3C (Regular WA2)300P2COBP2BALP2PL1PACGEOLP2
WA22200P2COBP2BALLP2PL1LPACGEOLP2
WA22W4000P2COBP2BALP2PL1PACGEOLP2
WA23 (Regular WA2)450P2COBP2BALP2PL1PACGEOLP2
WA23 (WA2 with AUXSEG option)950P2COBP2BALP2PL1PACGEOLP2
WA23C (WA2 with AUXSEG option)800P2COBP2BALP2PL1PACGEOLP2
WA23C (WA2 with AUXSEG option)800P2COBP2BALP2PL1PACGEOLP2
WA23 (Extended WA2)1,000P2COBP2BALP2PL1PACGEOLP2
WA23C (Extended WA2)850P2COBP2BALP2PL1PACGEOLP2
WA23 (Extended WA2 w/AUXSEG)1,500P2COBP2BALP2PL1PACGEOLP2
WA23C (Extended WA2 w/AUXSEG)1,350P2COBP2BALP2PL1PACGEOLP2
WA21A & BL (Regular WA2), BN (\*)1,363P2COB1AP2BAL1AP2PL11APACGEOLP21A
WA21A & BL (Long WA2) (\**) 1A & BL (TPAD Long WA2) (\***) 17,750P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21A & BL & BN (Extended WA2) (****) 2,800P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21 & 1E (Extended WA2)1,500P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA21B4,300P2COB1ALP2BAL1AP2PL11ALPACGEOLP2AL
WA23S19,274P2COB3SP2BAL3SP2PL13SPACGEOLP23S
WA2AP1,363P2COBAPP2BALAPP2PL1APPACGEOL2AP
WA2AP (Extended WA2)2,800P2COBAPP2BALAPP2PL1APPACGEOL2APX
- -

(*) Functions 1A, BL and BN share a single regular WA2 layout. -(*) Functions 1A and BL share a single long WA2 layout. (Function BN has no long WA2 option.). -(*) Functions 1A and BL share a single TPAD long WA2 layout. (Function BN has no TPAD long WA2 option.). -(*) Functions 1A, BL and BN share a single extended WA2 layout.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section05/index.html b/site/chapters/chapterVIII/section05/index.html deleted file mode 100644 index b92d08cf..00000000 --- a/site/chapters/chapterVIII/section05/index.html +++ /dev/null @@ -1,1023 +0,0 @@ - - - - - - - - - - - - VIII.5 Coding API Calls When Using Geosupport COPY Files - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.5 Coding API Calls When Using Geosupport COPY Files
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.5 Coding API Calls When Using Geosupport COPY Files

- -

This section describes the source code statements that COBOL, Assembler, PL/1, C and NATURAL users must code in application programs that use Geosupport COPY files. The required statements consist of declarative statements to reference the COPY files (using the file names in Table VIII-1) and statements calling the driver.

-

In Chapter VIII.3, the forms of calls to the driver were given using arbitrary data names for the work areas. In programs that do not use Geosupport COPY files, those names are user-selectable. In the present section, the forms of the driver calls are given again, this time with the specific data names that are required for compatibility with the COPY files. COBOL and C are the only supported languages that permit COPY file users to select their own names for the work areas (but not for the fields within the work areas). Prior to each call to the driver, the program must prime Work Area 1 with the input data to be processed by Geosupport, as described in Chapter II.3.

-

In Chapter VIII.3, the forms of calls to the driver were given using arbitrary data names for the work areas. In programs that do not use Geosupport COPY files, those names are user-selectable. In the present section, the forms of the driver calls are given again, this time with the specific data names that are required for compatibility with the COPY files. COBOL and C are the only supported languages that permit COPY file users to select their own names for the work areas (but not for the fields within the work areas). Prior to each call to the driver, the program must prime Work Area 1 with the input data to be processed by Geosupport, as described in Chapter II.3.

-

The declarative statements referencing COPY files cause the compiler to process the source code contained therein as if it were present within the application program’s own source code at the point in the program where the declarative statement is located. Application programs need only reference those Geosupport COPY files that are required for the Geosupport function(s) the program actually calls, although referencing other COPY files does no harm.

-

COBOL Source Code Statements

-

To reference Geosupport MSW COPY files, COBOL programs must contain the appropriate one (or more) of the following statements in WORKING-STORAGE:

-
-

01 ANY-NAME-FOR-WA1. COPY W1COB. WA1, all functions -01 ANY-NAME-FOR-WA2. COPY W2COB. WA2, Functions 1 & 1E & 3 (regular WA2), 2, 3C

-

01 ANY-NAME-FOR-WA2-L. COPY W2COBL. WA2, Functions 1& 1E & 3 (long WA2)

-

01 ANY-NAME-FOR-WA2-1A. COPY W2COB1A. WA2, Functions 1A & BL (regular WA2), BN

-

01 ANY-NAME-FOR-WA2-1AL. COPY W2COB1AL. WA2, Functions 1A & BL (long WA2)

-

01 ANY-NAME-FOR-WA2-3S. COPY W2COB3S. WA2, Function 3S

-
-

For COBOL programs that will be executed in the batch environment and that use Geosupport COPY files, API calls are coded as follows:

-
-

One-work-area calls, all functions: - CALL ‘GBI’ USING ANY-NAME-FOR-WA1.

-

Two-work-area calls, Functions 1 & 1E & 3 (regular WA2), 2, 3C: - CALL ‘GBI’ USING ANY-NAME-FOR-WA1 ANY-NAME-FOR-WA2.

-

Two-work-area calls, Functions 1 & 1E & 3 (long WA2): - CALL ‘GBI’ USING ANY-NAME-FOR-WA1 ANY-NAME-FOR-WA2-L.

-

Two-work-area calls, Functions 1A & BL (regular WA2), BN: - CALL ‘GBI' USING ANY-NAME-FOR-WA1 ANY-NAME-FOR-WA2-1A.

-

Two-work-area calls, Functions 1A & BL (long WA2): - CALL ‘GBI’ USING ANY-NAME-FOR-WA1 ANY-NAME-FOR-WA2-1AL.

-

Two-work-area calls, Function 3S: - CALL ‘GBI’ USING ANY-NAME-FOR-WA1 ANY-NAME-FOR-WA2-3S.

-
-

CICS programs issue calls as above but with GOAIDRV in place of GBI.

-

To reference Geosupport COW COPY files include the appropriate COPY files whose names begin with P1 and P2 instead of W1 and W2, e.g. P1COB instead of W1COB. Note that in the COW format, there is no long WA2 for Functions 1, 1E, and 3. Note, also, that there are additional function options in the COW format.

-

* To choose the appropriate COW COPY file, see Table VIII-2.*

-

Assembler Source Code Statements

-

To reference Geosupport MSW COPY files, Assembler programs must contain the appropriate one (or more) of the following statements:

-
- - COPY W1BAL WA1, all functions
- COPY W2BAL WA2, Functions 1 & 1E & 3 (regular WA2), 2, 3C
- COPY W2BALL WA2, Functions 1 & 1E & 3 (long WA2)
- COPY W2BAL1A WA2, Functions 1A & BL (regular WA2), BN
- COPY W2BAL1AL WA2, Functions 1A & BL (long WA2)
- COPY W2BAL3S WA2, Function 3S - -
- -

For Assembler programs that will be executed in the batch environment and that use Geosupport COPY files, API calls are coded as follows:

-
- - CALL GBI,W1BAL,VL One-work-area calls, all functions
- CALL GBI,(W1BAL,W2BAL),VL Two-work-area calls, Functions 1 & 1E & 3
(regular WA2), 2, 3C
- CALL GBI,(W1BAL,W2BALL),VL Two-work-area calls, Functions 1 & 1E & 3
(long WA2)
- CALL GBI,(W1BAL,W2BAL1A),VL Two-work-area calls, Functions 1A & BL
(regular WA2), BN
- CALL GBI,(W1BAL,W2BAL1AL),VL Two-work-area calls, Functions 1A & BL
(long WA2)
- CALL GBI,(W1BAL,W2BAL3S),VL Two-work-area calls, Function 3S
- -
- -

CICS programs issue calls as above but with GOAIDRV in place of GBI.

-

To reference Geosupport COW COPY files include the appropriate COPY files whose names begin with P1 and P2 instead of W1 and W2, e.g. P1BAL instead of W1BAL. Note that in the COW format, there is no long WA2 for Functions 1, 1E, and 3. Note, also, that there are additional function options in the COW format.

-

* To choose the appropriate COW COPY file, see Table VIII-2. *

-

PL/1 Source Code Statements

-

To reference Geosupport MSW COPY files, PL/1 programs must contain the appropriate one(s) of the following statements:

-
- - %INCLUDE W1PL1; WA1, all functions
- %INCLUDE W2PL1; WA2, Functions 1 & 1E & 3 (regular WA2), 2, 3C
- %INCLUDE W2PL1L; WA2, Functions 1 & 1E & 3 (long WA2)
- %INCLUDE W2PL11A; WA2, Functions 1A & BL (regular WA2), BN
- %INCLUDE W2PL11AL; WA2, Functions 1A & BL (long WA2)
- %INCLUDE W2PL13S; WA2, Function 3S
- -
- -

For PL/1 programs that will be executed in the batch environment and that use Geosupport COPY files, API calls are coded as follows:

-
- - CALL GBI (W1PL1); One-work-area calls, all functions
- CALL GBI (W1PL1,W2PL1); Two-work-area calls, Functions 1 & 1E, 2, 3
(regular WA2), 3C
- CALL GBI (W1PL1,W2PL1L); Two-work-area calls, Functions 1 & 1E & 3
(long WA2)
- CALL GBI (W1PL1,W2PL11A); Two-work-area calls, Functions 1A & BL
(regular WA2), BN
- CALL GBI (W1PL1,W2PL11AL); Two-work-area calls, Functions 1A & BL
(long WA2)
- CALL GBI (W1PL1,W2PL13S); Two-work-area calls, Function 3S
- -
- -

CICS programs issue calls as above but with GOAIDRV in place of GBI.

-

(Note: for either a batch or a CICS PL/1 program, the appropriate Geosupport driver (GBI or GOAIDRV respectively) must be declared as an external entry point. See Section VIII.3.)

-

To reference the Geosupport COW COPY files include the appropriate copy files whose names begin with P1 and P2 instead of W1 and W2, e.g. P1PL1 instead of W1PL1. Note that in the COW format, there is no long WA2 for Functions 1, 1E, and 3. Note, also, that there are additional function options in the COW format.

-

/* To choose the appropriate COW COPY file, see Table VIII-2. *

-

IBM/C Source Code Statements

-

To reference the Geosupport MSW COPY file IBM/C programs must contain the following statement:

-
-

#include

-
-

In the following C source code examples, the letter ‘L’ appears in upper case to facilitate distinguishing it from the numeric character ‘1’.

-
- - C_WA1 anyname_wa1; WA1, all functions
- C_WA2_F1 anyname_wa2_f1; WA2, Functions 1 & 1E (regular WA2)
- C_WA2_F1 anyname_wa2_f1L; WA2, Functions 1 & 1E (long WA2)
- C_WA2_F1A anyname_wa2_f1a; WA2, Functions 1A & BL (regular WA2), BN
- C_WA2_F1AL anyname_wa2_f1aL; WA2, Functions 1A & BL (long WA2)
- C_WA2_F2 anyname_wa2_f2; WA2, Function 2
- C_WA2_F3 anyname_wa2_f3; WA2, Function 3 (regular WA2)
- C_WA2_F3L anyname_wa2_f3L; WA2, Function 3 (long WA2)
- C_WA2_F3C anyname_wa2_f3c; WA2, Function 3C
- C_WA2_F3S anyname_wa2_f3s; WA2, Function 3S
- -
- -

For C programs that will be executed in the batch environment and that use the Geosupport COPY file, API calls are coded as follows:

-
- - C_WA1 anyname_wa1; WA1, all functions
- C_WA2_F1 anyname_wa2_f1; WA2, Functions 1 & 1E (regular WA2)
- C_WA2_F1 anyname_wa2_f1L; WA2, Functions 1 & 1E (long WA2)
- C_WA2_F1A anyname_wa2_f1a; WA2, Functions 1A & BL (regular WA2), BN
- C_WA2_F1AL anyname_wa2_f1aL; WA2, Functions 1A & BL (long WA2)
- C_WA2_F2 anyname_wa2_f2; WA2, Function 2
- C_WA2_F3 anyname_wa2_f3; WA2, Function 3 (regular WA2)
- C_WA2_F3L anyname_wa2_f3L; WA2, Function 3 (long WA2)
- C_WA2_F3C anyname_wa2_f3c; WA2, Function 3C
- C_WA2_F3S anyname_wa2_f3s; WA2, Function 3S
- -
- -
- - GBI (&anyname_wa1); One-work-area calls, all functions.
- GBI (&anyname_wa1,&anyname_wa2_f1); Two-work-area calls, Functions 1 & 1E
(regular WA2)
- GBI (&anyname_wa1,&anyname_wa2_f1L); Two-work-area calls, Functions 1 & 1E
(long WA2)
- GBI (&anyname_wa1,&anyname_wa2_f1a); Two-work-area calls, Functions 1A & BL
(regular WA2), BN
- GBI (&anyname_wa1,&anyname_wa2_f1aL); Two-work-area calls, Functions 1A & BL
(long WA2)
- GBI (&anyname_wa1,&anyname_wa2_f2); Two-work-area calls, Function 2
- GBI (&anyname_wa1,&anyname_wa2_f3); Two-work-area calls, Function 3
(regular WA2)
- GBI (&anyname_wa1,&anyname_wa2_f3L); Two-work-area calls, Function 3
(long WA2)
- GBI (&anyname_wa1,&anyname_wa2_f3c); Two-work-area calls, Function 3C
- GBI (&anyname_wa1,&anyname_wa2_f3s); Two-work-area calls, Function 3S
- -
- -

CICS programs issue calls as above but with GOAIDRV in place of GBI.

-

(Note: for either a batch or a CICS C program, the Geosupport driver (GBI or GOAIDRV respectively) must be declared as an external entry point. (See Section VIII.3.)

-

To reference the Geosupport COW COPY files include the PAC COPY file instead of the WAC COPY file. Note that in the COW format, there is no long WA2 for Functions 1, 1E, and 3. Note, also, that there are additional function options in the COW format.

-

NATURAL Source Code Statements

-

NATURAL Source Code Statements -NATURAL programs reference Geosupport MSW LDAs by containing one or more of the following statements in DEFINE DATA:

-
- - LOCAL USING GEOLW1 WA1, all functions
- LOCAL USING GEOLW2 WA2, Functions 1 & 1E & 3 (regular WA2), 2, 3C
- LOCAL USING GEOLW2L WA2, Functions 1 & 1E & 3 (long WA2)
- LOCAL USING GEOLW21A WA2, Functions 1A & BL (regular WA2), BN
- LOCAL USING GEOLW2AL WA2, Functions 1A & BL (long WA2)
- LOCAL USING GEOLW23S WA2, Function 3S
- -
- -

For NATURAL MSW programs that will be executed in the batch environment and that use the Geosupport COPY files (LDAs), API calls are issued as follows:

-
- - CALL ‘GBI’ USING W1NAT One-work-area calls, all functions
- CALL ‘GBI’ USING W1NAT W2NAT Two-work-area calls, Functions 1 & 1E & 3
(regular WA2), 2, 3C
- CALL ‘GBI’ USING W1NAT W2NATL Two-work-area calls, Functions 1 & 1E & 3
(longWA2)
- CALL ‘GBI’ USING W1NAT W2NAT1A Two-work-area calls, Functions 1A & BL
(regular WA2), BN
- CALL ‘GBI’ USING W1NAT W2NATAL Two-work-area calls, Functions 1A & BL
(long WA2)
- CALL ‘GBI’ USING W1NAT W2NAT3S Two-work-area calls, Functions 3S
- -
- -

CICS NATURAL programs issue calls as above but with GOAIDRV in place of GBI.

-

Natural COW -NATURAL programs reference Geosupport COW LDAs by containing one or more of the following statements in DEFINE DATA:

-
- - LOCAL USING GEOLP1 WA1, all functions
- LOCAL USING GEOLP2 WA2, Functions 1 & 1E & 3C
- LOCAL USING GEOLP2 WA2, Function 2
- LOCAL USING GEOLP2 WA2, Function 3
- LOCAL USING GEOLP21A WA2, Functions 1A & BL (regular WA2), BN
- LOCAL USING GEOLP2AL WA2, Functions 1A & BL (long WA2)
- LOCAL USING GEOLP23S WA2, Function 3S
- LOCAL USING GEOL2AP WA2, Function AP
- LOCAL USING GEOL2APX WA2, Function AP Extended
- -
- -

For NATURAL COW programs that will be executed in the batch environment and that use the Geosupport COPY files (LDAs), some samples of API calls follow:

-
- - CALL ‘GBI’ USING P1NAT One-work-area calls, all functions
- CALL ‘GBI’ USING P1NAT P2NAT Two-work-area calls, Functions 1 & 1E & 3C
- CALL ‘GBI’ USING P1NAT P2NAT2 Two-work-area calls, Function 2
- CALL ‘GBI’ USING P1NAT P2NAT3 Two-work-area calls, Function 3
- CALL ‘GBI’ USING P1NAT P2NAT1A Two-work-area calls, Fns 1A & BL (regular WA2), BN
- CALL ‘GBI’ USING P1NAT P2NAT1AL Two-work-area calls, Functions 1A & BL (long WA2)
- CALL ‘GBI’ USING P1NAT P2NAT3S Two-work-area calls, Functions 3S
- CALL ‘GBI’ USING P1NAT P2NATAP Two-work-area calls, Functions AP
- CALL ‘GBI’ USING P1NAT P2NATAPX Two-work-area calls, Functions AP Extended
- -
- -

Note that there are additional function options in the COW format.

-

* To choose the appropriate COW COPY file (P2NATxxx), see Table VIII-2. *

-

CICS NATURAL programs issue calls as above but with GOAIDRV in place of GBI.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section06/index.html b/site/chapters/chapterVIII/section06/index.html deleted file mode 100644 index de78f918..00000000 --- a/site/chapters/chapterVIII/section06/index.html +++ /dev/null @@ -1,882 +0,0 @@ - - - - - - - - - - - - VIII.6 JCL for the Compile Step - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.6 JCL for the Compile Step
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.6 JCL for the Compile Step

- -

COBOL, Assembler, PL/1 and C programs that do not reference Geosupport COPY files do not require any Geosupport-related JCL in the compile step. When compiling a COBOL, Assembler, PL/1 or C program that references Geosupport COPY files, the Geosupport COPY libraries must be made accessible to the compiler, as described below. NATURAL programs are compiled in the usual way, with no special user action required to access the Geosupport LDAs.

-

The Geosupport COPY libraries that support COBOL, Assembler, PL/1 and C are two catalogued files which at DoITT have the DSNs A030.GEO.COPYLIB2 and A030.GEO.COPYLIB. (At other installations, users should verify these DSNs with the data center’s Geosupport System Administrator.) The COPY libraries must be concatenated under the DDname SYSLIB in the JCL for the compile step. Since the two libraries have some member names in common, it is essential to concatenate their DD statements in the proper order as shown below.

-

Assuming that one of the standard IBM catalogued procedures for compiling is being used, the JCL for SYSLIB should be coded as follows:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COBOL://COBOL.SYSLIBDD DSN=A030.GEO.COPYLIB2,DISP=SHR
//DD DSN=A030.GEO.COPYLIB,DISP=SHR
ASSEMBLER//ASM.SYSLIBDD DSN=A030.GEO.COPYLIB2,DISP=SHR
//DD DSN=A030.GEO.COPYLIB,DISP=SHR
//DD DSN=<\name of user macro library>,DISP=SHR
//DD DSN=SYS1.MACLIB,DISP=SHR
PL/1://PLI.SYSLIBDD DSN=A030.GEO.COPYLIB2,DISP=SHR
//DD DSN=A030.GEO.COPYLIB,DISP=SHR
IBM/C://COMPILE.SYSLIBDD
//DD DSN=A030.GEO.COPYLIB,DISP=SHR
- -

For Assembler applications, care must be taken to insure that the required Assembler macro libraries are concatenated to SYSLIB, as shown.

-

For C applications, note that the compiler requires access only to COPYLIB, not to COPYLIB2, and furthermore, care must be taken to insure that COPYLIB is concatenated to the IBM/C header file library, rather than overriding it. Overriding is prevented by coding one DD statement with a blank operand field followed by the DD statement for the Geosupport COPY library, as shown.

-

For COBOL applications, in addition to providing the DD statements for SYSLIB, the appropriate compiler option, LIB, must also be in effect. Since LIB is the default, it does not have to be explicitly specified.

-

For PL/1 applications being compiled by a compiler other than the IBM Enterprise PL/1 Compiler, in addition to providing the DD statements for SYSLIB, the appropriate compiler option, MACRO or INCLUDE, must also be in effect. If %INCLUDE is the only kind of preprocessor statement in the program, then the INCLUDE option should be used instead of the MACRO option. This will make compilation faster. If other kinds of preprocessor statements are in the program in addition to the %INCLUDE statement(s), then the MACRO option must be used. For example:

-

// EXEC IBMZC,PARM.PLI=’ MACRO’
-
or
-
// EXEC IBMZC,PARM.PLI=’ INCLUDE’

-

In the IBM Enterprise PL/1 Compiler, the meaning of the INCLUDE compiler option has changed. As a result, if %INCLUDE is the only kind of preprocessor statement in the program, then no compiler option reflecting that fact should be coded. If other kinds of preprocessor statements are in the program in addition to the %INCLUDE statement(s), then as is the case with other PL/1 compilers, the MACRO option must be used.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section07/index.html b/site/chapters/chapterVIII/section07/index.html deleted file mode 100644 index f547f563..00000000 --- a/site/chapters/chapterVIII/section07/index.html +++ /dev/null @@ -1,822 +0,0 @@ - - - - - - - - - - - - VIII.7 JCL for the Compile Step - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.7 JCL for the Compile Step
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.7 JCL for the Linkage Editor Step

- -

In both batch and CICS applications, the Geosupport driver must be link-edited into the user program. For applications written in NATURAL, this is done automatically with no special user action required. For non-NATURAL applications, either batch or CICS, users must link-edit their programs as explained below.

-

When link-editing a non-NATURAL application, the user must provide in the JCL for the linkage editor step a DD statement for the Geosupport load library containing the driver, as well as an INCLUDE statement in the SYSIN file specifying the driver. The DD statement should be coded as follows (“YOURDDN” may be replaced by any DDname):

-

//YOURDDN DD DSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR

-

For batch programs, the INCLUDE statement in the SYSIN file should be coded as follows:

-

//LKED.SYSIN DD *
-
-
-
INCLUDE YOURDDN(GBI)
-
-
-
/*

-

For CICS programs, the INCLUDE statement should be coded as follows:

-

//LKED.SYSIN DD *
-
-
-
INCLUDE YOURDDN(GOAIDRV)
-
-
-
/*

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterVIII/section08/index.html b/site/chapters/chapterVIII/section08/index.html deleted file mode 100644 index 328bbdf3..00000000 --- a/site/chapters/chapterVIII/section08/index.html +++ /dev/null @@ -1,887 +0,0 @@ - - - - - - - - - - - - VIII.8 JCL for the Execute Step (Batch Applications) - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter VIII: Geosupport API »
  • - - - -
  • VIII.8 JCL for the Execute Step (Batch Applications)
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

VIII.8 JCL for the Execute Step (Batch Applications)

- -

For user programs being executed in the batch environment, the user must provide seven megabytes of memory for Geosupport, in addition to the memory required for the user program itself.
-

-

Geosupport Software Files

-

User programs that are executed in the batch environment also require Geosupport-related DD statements in the JCL for the execute step. A STEPLIB or JOBLIB DD statement must be provided to make the Geosupport foreground component batch load module library accessible to the application. As of Version 10.1 of Geosupport, users do this by coding either of the following DD statements:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//STEPLIBDDDSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
//DDDSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
or
//JOBLIBDDDSN=A030.GEO.SUPPORT.PDSE.LOADLIB,DISP=SHR
//DDDSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
- -

(NATURAL users, please see the important note at the end of this section regarding the STEPLIB or JOBLIB DD statement.)

-

Geosupport Data Files

-

As of Version 10.1 of Geosupport, the user no longer has to provide DD statements for the Geosupport data files. In fact, if these DD statements are provided they are ignored by Geosupport. The data set names of the Geosupport data files are stored in a module called DSNAMES. If you need to use a non-standard Geosupport data file, please see your systems programmer.

-

Note for NATURAL Users:

-

When using a NATURAL batch execution procedure, care must be taken to insure that the Geosupport load library is concatenated to the two standard NATURAL libraries, rather than overriding them. Overriding is prevented by coding two DD statements with blank operand fields, followed by the DD statement for the Geosupport load library. The following JCL is an example (any stepname may be used):

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//STEPNMEXEC,REGION=7M
//STEPLIBDD
//DD
//JOBLIBDDDSN=A030.GEO.SUPPORT PDSE LOADLIB,DISP=SHR
//DDDSN=A030.GEO.SUPPORT.LOADLIB,DISP=SHR
- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterX/chapterX/index.html b/site/chapters/chapterX/chapterX/index.html deleted file mode 100644 index a3e256f8..00000000 --- a/site/chapters/chapterX/chapterX/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter X - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter X: Desktop Edition GBAT »
  • - - - -
  • Chapter X
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER X

- -

DESKTOP EDITION: GEOSUPPORT BATCH ADDRESS TRANSLATOR (GBAT)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterX/section01/index.html b/site/chapters/chapterX/section01/index.html deleted file mode 100644 index 5125e929..00000000 --- a/site/chapters/chapterX/section01/index.html +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - X.1 What is GBAT? - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter X: Desktop Edition GBAT »
  • - - - -
  • X.1 What is GBAT?
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

X.1 What is GBAT?

- -

GBAT Desktop Edition is Geosupport Desktop Edition’s batch utility application and may be executed on any 32-bit Windows platform. GBAT Desktop Edition (referred to as GBAT in this document) can frequently satisfy your batch Geosupport processing needs and eliminate the necessity of your writing your own application program.

-

GBAT accepts as input and provides as output either text files or most databases that are supported by Microsoft’s ODBC (Open Database Connectivity), such as Access2

-

Execution of GBAT is controlled by control files that you create via a user friendly, full featured graphical interface. Once you have created these control files, they may be used repeatedly.

-

If you are using a database for input and/or output, you must have a fairly thorough knowledge of how to use that database. This document does not discuss how to use any database. For information on the database that you are using, refer to either the vendor documentation on the database or to Microsoft documentation.

-

GBAT produces two types of output text files or databases. One set of output consists of the successful output and the second consists of the records that resulted in an error condition.

-

NOTE FOR DATABASE USERS:

- -

GBAT returns empty input fields as Zero Length Strings in the output, even if they were originally NULL. This phenomenon has been observed using Access and is presumed to exist using other databases as well. We hope to fix this in a future release of GBAT Desktop Edition.

-
-

2GBAT has been successfully tested with Access, dBASE, Excel, MS SQL Server and FoxPro. GBAT has not been successfully tested with Paradox.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterX/section02/index.html b/site/chapters/chapterX/section02/index.html deleted file mode 100644 index 830fc572..00000000 --- a/site/chapters/chapterX/section02/index.html +++ /dev/null @@ -1,1010 +0,0 @@ - - - - - - - - - - - - X.2 Using GBAT - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter X: Desktop Edition GBAT »
  • - - - -
  • X.2 Using GBAT
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

X.2 Using GBAT

- -

X.2.1 Before You Begin

-

Use the Geosupport Desktop Edition Installation CD to install the Geosupport Desktop Edition package.

-

It is recommended that you use GBAT on machines with the latest versions of the “Microsoft Data Access Components” and “Microsoft Jet”. If you want to make certain that you are up to date, download and install the following files from Microsoft’s web site: Mdac_typ.exe,Jet40Sp3_Comp.exe, and Jet40SP6_9xNT.exe.

-

X.2.2 Starting the Application

-

To start the application, find and double-click the NYCgbat.exe program icon which appears as shown on the right side, Gbat_Logo> in My Computer or Windows Explorer.

-

X.2.3 Selecting an ODBC Data Source

-

Upon starting the application, you will be presented with the following ODBC data source selection screen.
-GoatFunction_medium<>

-

An ODBC Data Source file is a configuration file that contains information about a database that can be accessed through ODBC. If you have previously configured the data source, it will be listed in the list displayed in the “Select Data Source” window, an example of which is shown above. In that situation, select that Data Source and click on the OK button. Then proceed to Chapter X.2.5 labeled “Function Selection” in this document. If you have not previously configured your data source, you need to create a new data source. This is done by clicking on the New button.

-

Creating a data source using a database that you are familiar with should be a fairly straightforward process; refer to the documentation or online help of your ODBC driver’s data source configuration for further information. See Note For Database Users on previous page.

-

Creating a data source for text files is more complicated. Follow the steps indicated in Chapter X.2.4 to create a data source for the text files.

-

X.2.4 Configuring a New Text Data Source

-

First, click on the New button in the Select Data Source Window, which is illustrated above. You will be presented with a list of drivers for which a data source can be set up as illustrated below on the “Create New Data Source” window. Select the Microsoft Text Driver and click on the Next button.

-

GoatFunction_medium<>

-

In the ”Create New Data Source” window illustrated below, choose a name for your data source and click on the Next button.

-

GoatFunction_medium<>

-

Click on the finish button in the window shown next, and you will be taken to the ODBC text driver’s configuration screen.

-

GoatFunction_medium<>

-

The next window illustrates the “ODBC Text Setup” screen as it initially appears.

-

GoatFunction_medium<>

-

In the above window, first deselect the “Use Current Directory” checkbox.
-Next Using the “Select Directory” button, choose the directory in which your text files are located.
-Then click on the Options button to expand the window.

-

GoatFunction_medium<>

-

If the extension of the filenames in which your data is stored does not appear on the Extensions List of the above window, type it in the Extension box and click on the Add button. Then, select that extension on the list and click on the “Define Format” button.
-GoatFunction_medium<>

-

You can use the above window labeled “Define Text Format” to specify the schema of the data in each of your text files. This is important because GBAT operates on a database paradigm rather than a flat-file paradigm. It needs to be given data in the form of Tables and Columns (also know as “fields”), rather than files and character positions, in order to make sense out of them.

-

First from the “Tables” menu select the name of the file whose schema you wish to define.
-Check the “Column Name Header” checkbox if the first line of the text file that you are configuring contains field names rather than field data. (If the data file does not contain field names, you will have to specify field names later on.)

-

Now, select the format in which your data is stored.

-
    -
  • -

    Choose “CSV Delimited” if your data items are surrounded by quotation marks and separated by commas

    -
  • -
  • -

    Choose “Tab Delimited” if your data items are separated by tab characters

    -
  • -
  • -

    Choose “Custom Delimited” if your data items are separated by some other character. You will have to specify that character in the “Delimiter” field.

    -
  • -
  • -

    Choose “Fixed Length” if the data items in your text file are a fixed number of characters, consistent on each line, without any sort of delimitation.

    -
  • -
-

If your text file uses the Fixed Length format, and/or you have not selected the “Column Name Header” checkbox, you will now have to specify information about the fields that it contains. (In all other circumstances, the Driver should be able to determine this information automatically. You can click the “Guess” button if you want to make sure.) For each field in your text file:

-
    -
  • -

    Choose the field’s Data Type from the “Data Type” drop-down menu. This will usually be “char” for fields in text files.

    -
  • -
  • -

    Enter a Name by which the field will be identified.

    -
  • -
  • -

    If you are using a Fixed Length format file, and/or you have chosen “char” for the data type, specify the Width of the field in characters. This is important for any file format, because if you specify a width that is too short, the data that GBAT sees will be truncated. However, it is especially important for Fixed Length format files that the field width be accurate, because the width value is also used to determine the starting position of the following field.

    -
  • -
  • -

    Click on the Add button to add the field specification to the Columns list.

    -
  • -
-

If, for example, you have a Fixed Length format text file, where two lines appear as:
-

 22 Reade St. 1 
- 1541 E28 St. 3

-

This file contains an Address Number field beginning at position one that is five characters long, followed by a street name field beginning at position six that is twelve characters long, followed by a borough code field beginning at position eighteen that is a single character long. To configure the columns for this table, select Char from the data type list, type “ADDRESS NUMBER” for the name, and “5” for the width; then click on the Add button. Then select Char, enter “Street Name”, and “12”, and click on Add. Finally, select char once again, enter “Borough Code”, “1”, and click on Add.

-

When you’ve finished setting up your table, you can select another text file to configure from the Tables list box. After you have configured all of your tables, click on the OK button to return to the “ODBC Text Setup” window. Click on the OK button in this window. You have now finished setting up your Text ODBC Data Source. Select your newly created data source in the window labeled “Select Data Source”, which should be displayed now. Click on the OK button to continue to the next step.

-

X.2.5 Function Selection

-

GoatFunction_medium<>

-

This is the point at which the configuration of your GBAT session proper begins. First, you will be defining the input information to be used by GBAT; that is, where the data is coming from, and what sort of processing should be carried out on it.

-

If you have already configured the input settings and saved them to a file, you can retrieve those settings here. Select the “Load Configuration” checkbox and find the saved configuration file using the Browse button. You may then proceed to Chapter X.2.7 labeled “General Input Configuration” by clicking on the Next button.

-

You must choose a table to be the source of your input data. To do this, select a table from the “Select a Table” drop-down list. This will be a data source that you previously configured as described in Chapter X.2.3 of this document.

-

You must also choose the Geosupport function that will be used to process your data. To do this, select the radio button for the appropriate function. For more information on the capabilities of each of the Geosupport functions, please see Appendix 1.

-

Click on the Next button to continue on to the next screen.

-

X.2.6 Function-Specific Configuration

-

X.2.6.1 Function 1 and Function 1E

- -

If you chose Function 1 on the Function Selection window, the following window will be displayed.

-

GoatFunction_medium<>

-

Please note that the window for Function 1E differs from the window for Function 1 only in the label at the top of the window.

-

The input information required to execute Function 1 or 1E includes an address number, street name or street code, and borough.

-

Your text file or database may contain the house number in one of three different forms. The most common form is the manner in which you would normally write the house number; e.g. 22, 61-15, 27A, etc. If your data is in this form, select the first button under House Number which is labeled “Address Number”. If your file has been processed by the Geosupport system you may have saved the form of the house number used internally in Geosupport referred to as HNS, which stands for House Number in Sort format. If your data is in this format, select the second button under House Number, which is labeled HNS. The third possibility is that the address number is combined with the street name and, consequently, there will be no separate field for the address number. In this case, select the third button under House Number which is labeled None (Freeform address). If either “Address Number” or “HNS” is selected, then select the field in your file which contains the Address Number or HNS. If you have selected “HNS”, the field must be eleven characters wide. If you have selected “Address Number”, then the field may be any size up to sixteen characters wide. If you have selected “None”, then no field is selected.

-

Next specify the format of your street data, which will be street name or street code. If you have selected the street code option and the street code field in your database contains a borough code as its first digit, select the “Street Code Contains Borough Code”button. From the drop-down list, select the field in the table that contains the street data.

-

Now specify the field in your table that contains the borough code. If the borough code in your table is contained within the street code field, this step will not be necessary.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.2 Function 1A

- -

If you chose Function 1A on the Function Selection screen, the following window will now be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function 1A includes an address number, street name or street code, and borough as well as information defined as “Extended Data”. For information on defining the address number, street information and borough refer to the previous section which describes the input information required to execute Function 1 and 1E since this information is the same.

-

For Function 1A, you have the option of having Geosupport return a list of addresses or a list of Building Identification Numbers commonly referred to as BINs. If you want the list of addresses, select the button labeled “Address List”. If you want the list of BINs, select the button labeled “BIN List”. Since the number of addresses in the address list can vary from one to twenty one and the number of BINs in the BIN list can vary from one to two thousand five hundred, only the first item in the list will be returned as an optional field for your output table. However, if you would like the full list of addresses or BINs, select the “Output Complete List” checkbox and enter the name of the database table to which you would like the list to be output. If you later chose to output the results of the data processing as text files rather than database tables, the name that you specify here will be ignored. If the database table does not exist, it will be created during execution of GBAT.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.3 Function 1N

- -

If you chose Function 1N on the Function Selection screen, the following window will be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function 1N includes a street name and borough.
-First select from the drop-down list the field in the table that contains the street name.
-Next specify the field in your table that contains the borough code.
-Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.4 Function 2

- -

If you chose Function 2 on the Function Selection screen, the following window will now be visible:

-

GoatFunction_medium<>

-

The input information required to execute Function 2 includes two streets and the borough associated with each street. If the streets intersect exactly twice, a compass direction is required as well. If the streets intersect more than twice, then the intersection cannot be processed by Geosupport.

-

First, it is necessary to specify the format of your street data, which will be in the form of either street name or street code. The street code may be either the five-digits, seven digits or ten-digits. If the street code field has been selected and it includes the borough code, then select the boxes labeled “Street Code Contains Borough Code”. From the drop- down lists, select for each street the field in the table that contain the street data to be used. Do the same for the borough codes, if they are not contained within the street codes.

-

If you are using street codes, please ensure that all of the street codes you provide for each street are of the same length; that is, all street codes must be either 5 digit, 7 digit or 10 digit and all must either include or exclude the borough code.

-

If you would like to specify a field for compass directions, ensure that the “Compass Direction” checkbox is checked and select the appropriate field from the drop-down list. If you do not wish to provide this optional field, ensure that the “Compass Direction” checkbox is not checked.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.5 Function 3

- -

If you chose Function 3 on the Function Selection screen, the following window will be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function 3 includes the on-street, two cross streets and the boroughs of each street.

-

First, using the radio buttons, specify the format of your street data, which will be street name or street code. For each street for which you have selected the street code option and for your data the borough code is not contained within the street code, check the “External Borough Code” checkbox. From the drop-down lists, for each street select the field in the table that contains the street data. Do the same for the borough codes, if they are not included with the street codes.

-

If you are using street codes, please ensure that all of the street codes you provide for each street are of the same length; that is, all street codes must be either 5 digit, 7 digit or 10 digit and all must either include or exclude the borough code.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.6 Function 3C

- -

If you chose Function 3C on the Function Selection screen, the following window will now be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function 3C includes a compass direction, an on-street name, two cross streets, and the boroughs for each of the streets.

-

First, using the radio buttons, specify the format of your street data, which will be street name or street code.
-Next select the field containing the compass direction from the “Select a Field for Compass Direction” drop-down.
-Refer to Chapter X.2.6.5, which describes the input for Function 3, for information on supplying the rest of the data for Function 3C.
-Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.7 Function BL

- -

If you chose Function BL on the Function Selection screen, the following window will now be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function BL includes a borough, tax block and tax lot. Each of these items may be provided in separate fields or as a single ten-character string in one field.

-

If you would like to provide the entire BBL in a single field, select the “Full BBL” radio button in the Borough area of the window and then choose the appropriate source field from the drop-down menu.

-

If, on the other hand, you would prefer to provide each element of the BBL individually, select the “Borough Code” radio button in the Borough area of the window and then choose the appropriate source field for the borough code from the adjacent drop-down. Do the same thing for the tax block and the tax lot in the subsequent areas of the window.

-

For Function BL as for Function 1A, you have the option of having Geosupport return a list of addresses or a list of Building Identification Numbers commonly referred to as BINs. If you want the list of addresses, select the button labeled “Address List”. If you want the list of BINs, select the button labeled “BIN List”. Since the number of addresses in the address list can vary from one to twenty one and the number of BINs in the BIN list can vary from one to two thousand five hundred, only the first item in the list will be returned as an optional field for your output table. However, if you would like the full list of addresses or BINs, select the “Output Complete List” checkbox and enter the name of the database table to which you would like the list to be output. If you later chose to output the results of the data processing as text files rather than database tables, the name that you specify here will be ignored. If the database table does not currently exist, it will be created during the GBAT execution.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.8 Function BN

- -

If you chose Function BN on the Function Selection screen, the following window will now be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function BN includes only the Building Identification Number (BIN). Select the field containing the list of input BINs using the drop-down menu.

-

Unlike Functions 1A and BL, only the Address List may be returned with Function BN. The first item on this list will be available as an optional field for your output table. However, if you would like the full list of address ranges, select the “Output Complete List” checkbox and enter the name of the database table to which you would like the list to be output. If you later chose to output the results of the data processing as text files rather than database tables, the name that you specify here will be ignored.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.6.9 Function D, DG, DN

- -

If you chose a D Function on the Function Selection screen, a variation on the following window will now be displayed:

-

GoatFunction_medium<>

-

The input information required to execute Function D, DG or DN includes one to three street codes and their associated borough. Five digit street codes are supplied for Function D, seven digit street codes are supplied for Function DG and ten digit street codes are supplied for Function DN.

-

Chose the input field that will be used as the source for the first street code from the drop-down list. If the borough code is not also contained within this field, check the “External Borough Code” checkbox, and choose the source field for the borough code from the adjacent drop-list.

-

If you have additional input fields for street codes, you may specify them in a similar fashion, after first checking the “Second Street Code” and “Third Street Code” check boxes.

-

Please ensure that all of the street codes you provide are of the same length; that is, all street codes must be either 5 digit for Function D, 7 digit for Function DG or 10 digit for Function DN and all must either include or exclude the borough code. Please note that if the borough code is included with the street code, then the field width for Function D is six, for Function DG, eight and for Function DN, eleven.

-

Once you have finished configuring these options, click on the Next button to move on to the next screen, which is described in Chapter X.2.7 labeled “General Input Configuration”.

-

X.2.7 General Input Configuration

-

The General Input Configuration Window should now be displayed:

-

GoatFunction_medium<>

-

This window is used to configure various options that influence how the data is processed, but are not specific to a particular function.

-

You can specify the maximum length of street names that Geosupport will process and return by using the “Street Name Length” field. The value that you enter should be between four and thirty-two, inclusive. The default value is thirty-two.

-

The default format for street names is the Sort Order format. The Sort Order converts all numbers in street names to a four character field; for example the “1" in “1 Avenue” is preceded by three blanks and the “10" in “10 Avenue” is preceded by two blanks. The purpose of the leading blanks is to force “1 Avenue” to precede “10 Avenue” when the street names are sorted. The Compact format eliminates the leading blanks. If you would like street names to be returned in Compact format, check the Compact checkbox; otherwise street names will be returned in Sort Order format.

-

Certain functions are able to return lists of cross streets in Work Area 1. If you would like the names of the cross streets to be returned as well as their street codes, check the “Cross Street Names” checkbox. This checkbox will be enabled only when you are using a function that can return the cross street list.

-

Alias Table functionality has not yet been implemented in GBAT Desktop Edition; please ignore the associated controls in this window at this time.

-

If your data uses some values for borough codes other than the Geosupport standard3, check the “Use Alternate Borough Codes” checkbox and enter them here. When encountering these non-standard borough codes, GBAT will translate them into the appropriate Geosupport equivalents, allowing successful processing to occur. This option is available only for those functions which accept borough codes for input.

-

If you would like to save your input configuration settings for later re-use, click on the Save Input Configuration button. You will be presented with a window which enables you to supply the name you wish to use for this file.

-

Once you have finished configuring the options in this window, click on the “Next” button to continue on to the next screen, which is described in Chapter X.2.8 which is labeled Output Configuration.

-
-

3The standard borough codes are 1=Manhattan, 2= Bronx, 3=Brooklyn, 4=Queens and 5=Staten Island.

-

X.2.8 Output Configuration

-

You should now see the following Output Configuration window:

-

GoatFunction_medium<>

-

This screen is used to configure various aspects of the behavior of GBAT during the function processing as well as describing the desired output. If you have previously configured these settings and saved them to a file, you can click on the “Load Output Configuration” button to retrieve the file. You will be presented with a window that lists the various output configuration files that are stored in your system.

-

If you would like GBAT to stop processing after a certain number of input records have been rejected by Geosupport (i.e., caused Geosupport to return an error), check the “Enable Max Rejects” checkbox. The default value is 200 and appears in the box labeled “Maximum Rejects”. If this number is not suitable for your situation, you may specify another value. If you would like records that generate Geosupport warnings as well as errors to be treated as rejects, check the “Reject Warnings” checkbox.

-

If you would like output to be written to text files rather than to tables in your database, check the “Write to Text Files” checkbox. Buttons labeled “Error File Browse” and “Output File Browse” will appear; these can be used to select the names of the text files in which output will be placed. For Functions 1A, BL and BN where you have selected the check box labeled “Output Complete List” after you have clicked on the “Start” button on the Function Processing window, you will receive a request for the name of the file in which the address list or the BIN list output is to be stored.

-

If you would like your output written to database tables, make sure that the “Write to Text Files” checkbox is not checked. You must specify a name for the error table in the “Error Table Name” text box, and a name for the output table in the “Output Table Name” text box. If you chose names belonging to tables that already exist, those existing tables will be deleted and replaced with the new tables.

-

Use the “Output Type” drop down list to select the type of output that you would like GBAT create. “Work Area 1” will place all of the data returned by Work Area 1 into your output table. “Work Area 2” will do the same with all the Work Area 2 fields. “WA1 and WA2” will return all the fields from both work areas into your table. If you select the “Errors Only” section, no output table will be generated at all and only errors will be returned. This is a simple way to validate the data that you have in your database or text file.

-

Selecting the “Custom” option from the “Output Type” drop down allows you to include whatever fields you want in the output table, in whatever order you want. Chose fields from the “Available Fields” list by selecting them with the left mouse button. Multiple fields can be selected by holding down the Ctrl key and clicking on each. To select a range of fields, hold down the shift key, click on the first fields in the range, and then on the last. To add fields to the “Selected Fields” list, click on the º button. To remove fields from the “Selected Fields” list, select them as you would those in the “Available Fields” list and click on the » button.

-

When you are finished setting up these configuration options, you can save them to disk for later re-use. To do so, click on the “Save Output Configuration” button.

-

Click on the Next button to move to the next screen, which is described in Chapter X.2.9, which is labeled Function Processing.

-

X.2.9 Function Processing

-

At this point everything is prepared for the actual GBAT execution. The Function Processing window should now appear on your display unit:

-

GoatFunction_medium<>

-

Click on the Start button to begin execution. Output messages will periodically be displayed in the window, indicating the process’s status, as well as a blue progress bar which will indicate the percentage of the job that has been completed. If at any time you would like to halt the processing, simply click on the upper Cancel button.

-

When processing has completed, the window will look something like the following window.

-

GoatFunction_medium<>

-

If you would like to run the process again, click on the Start button. If you would like to make changes to the configuration before executing GBAT again, click on the Back button until you reach the screen that contains what you want changed.
-To exit the application, click on the Finish button.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/chapterXI/index.html b/site/chapters/chapterXI/chapterXI/index.html deleted file mode 100644 index 154132bd..00000000 --- a/site/chapters/chapterXI/chapterXI/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - Chapter XI - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • Chapter XI
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

CHAPTER XI

- -

GEOSUPPORT ON-LINE ADDRESS TRANSLATOR (GOAT)

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section01/index.html b/site/chapters/chapterXI/section01/index.html deleted file mode 100644 index 595ac98c..00000000 --- a/site/chapters/chapterXI/section01/index.html +++ /dev/null @@ -1,810 +0,0 @@ - - - - - - - - - - - - XI.1 Introduction - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.1 Introduction
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.1 Introduction

- -
IMPORTANT NOTE:
- -

Windows Desktop GOAT has been deprecated. No updates to its functionality will be made. It will continue to be available in the 32-bit Geosupport Desktop Edition only, not in the 64-bit version. The data returned by GOAT will continue to reflect the data in the Geosupport release that came with the installation package; however, new fields that are added to Geosupport will not be added to GOAT.

-
Please note that a fully-supported version of GOAT is available at:

www.nyc.gov/goat

- -

Description of GOAT:
-Geosupport On-Line Address Translator, commonly referred to as GOAT, is the system’s principal interactive Windows application. It is an inquiry application that allows the user to request almost any Geosupport Function. The user simply enters input data and receives a formatted screen display of the output information provided by that function. To use GOAT requires no programming skills and it is heavily used by non-technical people who need the information that GOAT can provide.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section02/index.html b/site/chapters/chapterXI/section02/index.html deleted file mode 100644 index da5a85ee..00000000 --- a/site/chapters/chapterXI/section02/index.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - XI.2 How to Use GOAT - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.2 How to Use GOAT
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.2 How to Use GOAT

- -

Goat_Logo >

-

The GOAT icon that is displayed on the right side of this page may appear on your desktop. To invoke GOAT, click on this icon. If the icon is not on your desktop, you may invoke GOAT from the folder in which Geosupport was installed on your system via EXPLORER. The screen displayed on the next page will appear on your desktop.

-

You may invoke a function by clicking on the tool bar at the top of the GOAT window as illustrated to the below.

-

Goat window <>

-

An alternate method is to click on “Goat Function” on the line above the tool bar to display a list of Geosupport Functions as illustrated below.

-

Note: All illustrations are samples and may not appear identical to what appears on your screen.

-

Goat Function <>

-

To invoke any function, click on the function either on the tool bar or in the Goat Function list.
-Goat Function <>

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section03/index.html b/site/chapters/chapterXI/section03/index.html deleted file mode 100644 index e62add4c..00000000 --- a/site/chapters/chapterXI/section03/index.html +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - XI.3 Invoking Function 1 or Function 1E - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.3 Invoking Function 1 or Function 1E
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.3 Invoking Function 1 or Function 1E

- -

After you have clicked on "1" in the tool bar or "Fn 1" in the “Goat Function” list, the dialogue box displayed below will appear in your GOAT Window.

-

GoatFunction_small <>

-

To invoke Function 1 or 1E, you must enter a house number in the text box labeled “House Number” and a street name in the text box labeled “Street Name”. If you want information about a place name such as the Bronx Zoo or the Empire State Building, then you enter the place name in the text box labeled “Street Name” and leave the text box labeled “House Number” blank. You select the borough by clicking on one of the buttons associated with “Borough”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan. You may choose to receive or not to receive information concerning the political districts (Function 1E), such as Election District, Assembly District, etc

-

The input and the output are displayed as below. In this example the political districts are displayed.

-

GoatFunction_small <>

-


-
-GoatFunction_small <>
-
-

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section04/index.html b/site/chapters/chapterXI/section04/index.html deleted file mode 100644 index 4a92b8da..00000000 --- a/site/chapters/chapterXI/section04/index.html +++ /dev/null @@ -1,813 +0,0 @@ - - - - - - - - - - - - XI.4 Invoking Function 1A - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.4 Invoking Function 1A
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.4 Invoking Function 1A

- -

After you have clicked on the “1A” in the tool bar or the “Fn 1A” in the “Goat Function” list, the dialogue box displayed on the right will appear in your Goat Window. To invoke Function 1A you must enter a house number in the text box labeled “House Number” and a street name in the text box labeled “Street Name”.
-GoatFunction> -If you want information about a place name such as the Bronx Zoo or the Empire State Building, then you enter the place name in the text box labeled “Street Name” and leave the text box labeled “House Number” blank. You select the borough by clicking on one of the buttons associated with “Borough”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan.

-

GoatFunction>

-

You may have a choice of receiving a list of addresses associated with the property or a list of Building Identification Numbers (BINs). If you leave the button associated with “BIN List” set to “No” as shown to the right, you will receive a list of addresses associated with the property.

-

GoatFunction>

-

The output resulting from the input illustrated on the right is as displayed below.

-



-GoatFunction_large<

-


- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section05/index.html b/site/chapters/chapterXI/section05/index.html deleted file mode 100644 index fd51b208..00000000 --- a/site/chapters/chapterXI/section05/index.html +++ /dev/null @@ -1,809 +0,0 @@ - - - - - - - - - - - - XI.5 Invoking Function 2 - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.5 Invoking Function 2
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.5 Invoking Function 2

- -

GoatFunction>

-

After you have clicked on "2" in the tool bar or "Fn 2" in the “Goat Function” list, the dialogue box displayed on the right will appear in your GOAT Window. To invoke Function 2, you must enter two street names. The first goes in the text box labeled “First Street Name” and the second goes in the text box labeled “Second Street Name”. Place Names may not be used. You select the borough by clicking on one of the buttons associated with “Borough of First Street Name”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan. You do not need to click on a button associated with “Borough of Second Street” if both streets are in the same borough.

-

GoatFunction>

-

There are certain streets in New York City which intersect twice. One example is Cromwell Crescent and Alderton Street in Queens. To obtain information about the intersection you must specify about which one of the two intersections you want the information. This is done by specifying a compass direction as illustrated in the dialogue box to the right. The output resulting from this input is shown below.
-

-

GoatFunction_large<>

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section06/index.html b/site/chapters/chapterXI/section06/index.html deleted file mode 100644 index e2ad955a..00000000 --- a/site/chapters/chapterXI/section06/index.html +++ /dev/null @@ -1,811 +0,0 @@ - - - - - - - - - - - - XI.6 Invoking Function 3 or Function 3C - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.6 Invoking Function 3 or Function 3C
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.6 Invoking Function 3 or Function 3C

- -

After you have clicked on "3" in the tool bar or "Fn 3" GoatFunction> in the “Goat Function” list, the dialogue box displayed on the right will appear in your GOAT Window. To invoke Function 3 or 3C, you must enter three street names. The first goes in the text box labeled “‘On’ Street”, the second goes in the text box labeled “First Cross Street” and the third goes in the text box labeled “Second Cross Street”. Place Names may not be used. You select the borough by clicking on one of the buttons associated with “Borough of 'On' Street Name”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan. You do not need to click on a button associated with “Borough of First Cross Street” or “Borough of Second Cross Street” if all three streets are in the same borough.

-

GoatFunction<>

-

The dialogue box above will result in the output illustrated as shown below.

-

GoatFunction_large<>

-

If you want information about only one side of the street (Function 3C), then you use the compass direction found towards the bottom of the dialogue box to select the side of the street that you are interested in.

-

GoatFunction<>

-

This is illustrated in the dialogue box displayed above. The output resulting from this input is shown below.

-

GoatFunction_large<>

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section07/index.html b/site/chapters/chapterXI/section07/index.html deleted file mode 100644 index 759fba45..00000000 --- a/site/chapters/chapterXI/section07/index.html +++ /dev/null @@ -1,817 +0,0 @@ - - - - - - - - - - - - XI.7 Invoking Function 3S - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.7 Invoking Function 3S
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.7 Invoking Function 3S

- -

After you have clicked on the GoatFunction> "3S" in the tool bar or the "Fn 3S" in the “Goat Function” list, the dialogue box displayed on the right will appear in your GOAT Window. To invoke Function 3S, you must enter either one or three street names. If you want to know the names of all streets that a particular street intersects, you would supply only a Borough and an ‘On’ Street. If you are only interested in the names of some of the streets that intersect the ‘On’ Street, you may restrict the output by supplying cross streets that will limit the output.

-

The first street goes in the text box labeled “‘On’ Street”, the second street goes in the text box labeled “First Cross Street” and the third street goes in the text box labeled “Second Cross Street”. You may not supply a “First Cross Street” unless you supply a “Second Cross Street”. The converse is also true. Place Names may not be used. You select the borough by clicking on one of the buttons associated with “Borough of 'On' Street Name”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan.

-

The dialogue box on the right GoatFunction> requests all of the streets that intersect Reade Street in Manhattan. The output would appear as shown on the top of the next page. Please note that the output includes the approximate length of the street stretch.

-


-

GoatFunction_large>
-

-

GoatFunction> - If you are only interested in a subset of the streets that ntersect the ‘On’ Street, you may limit your search by specifying cross streets as illustrated in the dialogue box to the right. The output of this search will yield the results shown below. -

-

GoatFunction_large>
-

-

If the ‘on’ street and one or both of the cross streets GoatFunction> intersect twice, you must specify a compass direction. In the example shown here, the street stretch being requested is Alderton Street between its northern intersection with Cromwell Crescent and its southern intersection with Cromwell Crescent. The output is shown below.
-
-GoatFunction_large>

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section08/index.html b/site/chapters/chapterXI/section08/index.html deleted file mode 100644 index b07e1f50..00000000 --- a/site/chapters/chapterXI/section08/index.html +++ /dev/null @@ -1,804 +0,0 @@ - - - - - - - - - - - - XI.8 Invoking Function B - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.8 Invoking Function B
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.8 Invoking Function B

- -

Function B has not yet been implemented in Geosupport Desktop Edition.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section09/index.html b/site/chapters/chapterXI/section09/index.html deleted file mode 100644 index adaaa9c9..00000000 --- a/site/chapters/chapterXI/section09/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - XI.9 Invoking Function BL - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.9 Invoking Function BL
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.9 Invoking Function BL

- -

Please note that the output for Function BL is the same as the output for Function 1A except for the information in the Title Bar which will reference your input data.

-

After you have clicked on the “BL” in the tool bar or the “Fn BL” in the “Goat Function” list, GoatFunction> the dialogue box displayed on the right will appear in your GOAT Window. To invoke Function BL, you must enter a Tax Block Number in the text box labeled “Block” and a Tax Lot Number in the text box labeled “Lot”. You select the borough by clicking on one of the buttons associated with “Borough”. The borough names are abbreviated. Mn is Manhattan, Bx is the Bronx, Bk is Brooklyn, Qn is Queens and SI is Staten Island. The dialogue box appears with the borough pre-set to Manhattan.

-

You may have a choice of receiving a list of addresses associated with GoatFunction> the property or a list of Building Identification Numbers (BINs). If you leave the button associated with “BIN List” set to “No” as shown in the dialogue box to the right, you will receive a list of addresses associated with the property. The output you would receive from the input shown is displayed on the left side of the page in the section on Function 1A.

-

If you wish to see a list of the Building Identification Numbers (BINs) on the property, GoatFunction> you need to click on the “Yes” button associated with “BIN List” as shown in the dialogue box to the right. The output resulting from the input illustrated on the right is shown on the right side of the page in the section on Function 1A.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section10/index.html b/site/chapters/chapterXI/section10/index.html deleted file mode 100644 index b57bcd19..00000000 --- a/site/chapters/chapterXI/section10/index.html +++ /dev/null @@ -1,806 +0,0 @@ - - - - - - - - - - - - XI.10 Invoking Function BN - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.10 Invoking Function BN
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.10 Invoking Function BN

- -

Please note that the output for Function BN is the same as the output for Function 1A except for the information in the Title Bar which will reference your input data.

-

After you have clicked on the “BN” in the tool bar or the “Fn BN” in the “Goat Function” list, GoatFunction> the dialogue box displayed on the right will appear in your GOAT Window. To invoke Function BN, you must enter a Building Identification Number in the text box labeled “BIN.

-

You may only receive a list of addresses associated with the GoatFunction> Building Identification Number (BIN) that you supplied as input. The output you would receive from the input shown is displayed on the left side of the page in the section on Function 1A.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/chapters/chapterXI/section11/index.html b/site/chapters/chapterXI/section11/index.html deleted file mode 100644 index 7d9fd116..00000000 --- a/site/chapters/chapterXI/section11/index.html +++ /dev/null @@ -1,812 +0,0 @@ - - - - - - - - - - - - XI.11 Invoking Function D - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Chapter XI: Desktop Edition GOAT »
  • - - - -
  • XI.11 Invoking Function D
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

XI.11 Invoking Function D

- -

To invoke Function D, you must click on “D” in the tool bar or the “FN D” in the “Goat Function” list.GoatFunction> As you can see in the dialogue box displayed to the right, you have the option of supplying up to three street codes at once. You must supply the Borough information for the first street code. You only need supply the borough information for the second and third street code if the borough is different than the first one. The street codes may be entered as 5, 7 or 10 digit street codes. -Any order or GoatFunction> combination is permitted. In the example illustrated to the right, not only is each street code in another borough, but each street code is of a different length; the first one is five digits, the second is seven and the third is ten.

-

You may also influence the output by modifying the contents of the text box next to the label “Street Name Length (SNL)”. Leaving the SNL at 32 results in the output illustrated below.

-

GoatFunction_large<>

-

However reducing the SNL value to 14, results in the output below where the word “STREET” is abbreviated to “ST” and “AVENUE” is abbreviated to “AVE”.

-

GoatFunction_large<>

-

The second method that you may use to influence the output of Function D using GOAT is the Format Option. The choices are “Compact” and “Sort”. This option affects the format of street names that contain numbers. “Sort” is the default and causes blanks to be inserted in a street name in front of the number. Notice the extra blanks in front of the number 34 in the above output. If instead of leaving the Format Option set to “Sort”, you select “Compact”, the extra blanks in front of '34' will be removed as illustrated in the output below.

-

GoatFunction_large<>

-

Notice also that the “Compact” option has no effect on the display of the street names that include only non-numeric words.

- -
-
- - -
-
- -
- -
- -
- - - - « Previous - - - Next » - - -
- - - - - diff --git a/site/convert.js b/site/convert.js deleted file mode 100644 index 31e186d8..00000000 --- a/site/convert.js +++ /dev/null @@ -1,184 +0,0 @@ -const markdownpdf = require("markdown-pdf"); -const path = require("path"); -const fs = require("fs"); - -const split = require("split"); -const through = require("through"); -const duplexer = require("duplexer"); - - -const INDEX = "index.md"; -const TOC = "tableofcontents.md"; -const OVERVIEW = "overview.md"; -const ABOUT = "aboutUs.md"; -const CHAPTERS = "chapters"; -const APPENDICES = "appendices"; - -//ON macOS, this file is created. Must be ignored. -const DSSTORE = ".DS_Store"; -//global dictionary to hold the sequence of the files. -var printingOrderDictionary = {}; -//determine the OS type. Important for the path of each file. -function getOSSlashType() { - if (process.platform === 'darwin') { - return "/"; - } else if (process.platform === 'win32') { - return "\\"; - } -} -//Required function to convert chapter names with roman numerals to numbers. -function romanToNumber(str) { - var result = 0; - var decimal = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]; - var roman = ["M", "CM","D","CD","C", "XC", "L", "XL", "X","IX","V","IV","I"]; - for (var i = 0; i < decimal.length; i++) { - while (str.indexOf(roman[i]) === 0) { - result += decimal[i]; - str = str.replace(roman[i],''); - } - } - return result; -} -//Order the files. This is crucial to handle how the pages are converted to PDF -function numberFiles(fileName) { - switch (fileName) { - case INDEX: - printingOrderDictionary[1] = INDEX; - break; - case TOC: - printingOrderDictionary[2] = TOC; - break; - case OVERVIEW: - printingOrderDictionary[3] = OVERVIEW; - break; - case CHAPTERS: - printingOrderDictionary[4] = CHAPTERS; - break; - case APPENDICES: - printingOrderDictionary[5] = APPENDICES; - break; - case ABOUT: - printingOrderDictionary[6] = ABOUT; - break; - default: break; - } -} -//populate the printingOrderDictionary to get ordered sequence of files -function setupDocsDirectory() { - var docs = fs.readdirSync(__dirname); - docs.forEach(function(eachFile){ - numberFiles(eachFile); - }); -} -//Create a dictionary of number as keys and chapter as values. Correctly ordered. -function getChaptersMap(filePath) { - var chapters = fs.readdirSync(filePath); - var chapterMaps = {}; - chapters.forEach(function(chapter){ - chapterMaps[romanToNumber(chapter.replace("chapter",""))] = chapter; - }); - return chapterMaps; -} -//populate a dictionary where the key is the chapter path and the value is an array of sections for that chapter. -function readAllChapterSections(filePath) { - var chaptersMap = getChaptersMap(filePath); - let allChapterSections = {}; - for (var key in chaptersMap) { - let eachChapterSections = fs.readdirSync(filePath + getOSSlashType() + chaptersMap[key]); - //the key is the path of the chapter, and the value is an array of sections for that chapter - allChapterSections[filePath + getOSSlashType() + chaptersMap[key]] = eachChapterSections; - } - return allChapterSections; -} -//populate each section path -function getAllSectionPaths(filePath) { - let allChapterSections = readAllChapterSections(filePath); - let allPaths = []; - for (var chapterPath in allChapterSections) { - //loop through each array of chapter sections - for (var i = 0; i < allChapterSections[chapterPath].length; i++) { - if (allChapterSections[chapterPath][i] !== DSSTORE) { - let path = chapterPath + getOSSlashType() + allChapterSections[chapterPath][i]; - allPaths.push(path); - } - } - } - return allPaths; -} -//populate each appendix path and return all paths. -function getAllAppendicesPaths(filePath) { - let paths = []; - let appendices = fs.readdirSync(filePath); - for (var i = 0; i < appendices.length; i++) { - if (appendices[i] !== DSSTORE) { - let path = filePath + getOSSlashType() + appendices[i]; - paths.push(path); - } - } - return paths; -} - -function getAllPaths() { - var all = []; - //loop through the ordered dictionary to get each file/folder in order. - for (var key in printingOrderDictionary) { - var filePath = path.join(__dirname, printingOrderDictionary[key]); - var stats = fs.statSync(filePath); - //array to store all paths in a sequence - var allPaths = []; - if (stats.isFile()) { - allPaths.push(filePath); - } else if (stats.isDirectory()) { - //Handle Chapters and Appendices directory. - if (printingOrderDictionary[key] === CHAPTERS) { - //get each section path - let allSectionPaths = getAllSectionPaths(filePath); - allPaths = allPaths.concat(allSectionPaths); - } else if (printingOrderDictionary[key] === APPENDICES) { - //get each appendix path - let appendicesPath = getAllAppendicesPaths(filePath); - allPaths = allPaths.concat(appendicesPath); - } - } - all = all.concat(allPaths); - } - return all; -} - -//setup the ordered directory files. -setupDocsDirectory(); -//get all paths of every single file in the docs folder. -let mdDocs = getAllPaths(); -let pdfDoc = "upg.pdf"; - -//console.log(mdDocs); - - -function preProcessMd() { - // Split the input stream by lines - var splitter = split() - - var replacer = through(function (data) { - let pattern = /(\/img\/)|(..\/..\/..\/img)/; - this.queue(data.replace(pattern, "img/") + "\n"); - }); - - splitter.pipe(replacer) - return duplexer(splitter, replacer) -} - -var options = { - cssPath: "css/pdf.css", - remarkable: { - html: true, - breaks: true, - plugins: [ require('remarkable-classy') ], - syntax: [ 'footnote', 'sup', 'sub' ] - }, - preProcessMd: preProcessMd, - runningsPath: "pageFooter.js" -} - -markdownpdf(options).concat.from(mdDocs).to(pdfDoc, function () { - console.log("Created", pdfDoc) -}); diff --git a/site/css/highlight.css b/site/css/highlight.css deleted file mode 100644 index 0ae40a72..00000000 --- a/site/css/highlight.css +++ /dev/null @@ -1,124 +0,0 @@ -/* -This is the GitHub theme for highlight.js - -github.com style (c) Vasily Polovnyov - -*/ - -.hljs { - display: block; - overflow-x: auto; - color: #333; - -webkit-text-size-adjust: none; -} - -.hljs-comment, -.diff .hljs-header, -.hljs-javadoc { - color: #998; - font-style: italic; -} - -.hljs-keyword, -.css .rule .hljs-keyword, -.hljs-winutils, -.nginx .hljs-title, -.hljs-subst, -.hljs-request, -.hljs-status { - color: #333; - font-weight: bold; -} - -.hljs-number, -.hljs-hexcolor, -.ruby .hljs-constant { - color: #008080; -} - -.hljs-string, -.hljs-tag .hljs-value, -.hljs-phpdoc, -.hljs-dartdoc, -.tex .hljs-formula { - color: #d14; -} - -.hljs-title, -.hljs-id, -.scss .hljs-preprocessor { - color: #900; - font-weight: bold; -} - -.hljs-list .hljs-keyword, -.hljs-subst { - font-weight: normal; -} - -.hljs-class .hljs-title, -.hljs-type, -.vhdl .hljs-literal, -.tex .hljs-command { - color: #458; - font-weight: bold; -} - -.hljs-tag, -.hljs-tag .hljs-title, -.hljs-rule .hljs-property, -.django .hljs-tag .hljs-keyword { - color: #000080; - font-weight: normal; -} - -.hljs-attribute, -.hljs-variable, -.lisp .hljs-body, -.hljs-name { - color: #008080; -} - -.hljs-regexp { - color: #009926; -} - -.hljs-symbol, -.ruby .hljs-symbol .hljs-string, -.lisp .hljs-keyword, -.clojure .hljs-keyword, -.scheme .hljs-keyword, -.tex .hljs-special, -.hljs-prompt { - color: #990073; -} - -.hljs-built_in { - color: #0086b3; -} - -.hljs-preprocessor, -.hljs-pragma, -.hljs-pi, -.hljs-doctype, -.hljs-shebang, -.hljs-cdata { - color: #999; - font-weight: bold; -} - -.hljs-deletion { - background: #fdd; -} - -.hljs-addition { - background: #dfd; -} - -.diff .hljs-change { - background: #0086b3; -} - -.hljs-chunk { - color: #aaa; -} diff --git a/site/css/main.css b/site/css/main.css deleted file mode 100644 index eb46f70c..00000000 --- a/site/css/main.css +++ /dev/null @@ -1,381 +0,0 @@ -@import url('https://fonts.googleapis.com/css?family=Karla|Muli'); - - -body { - font-style: normal; - font-family: 'Muli', sans-serif; - font-size: 20; - color:black; -} - -.hideMe { - display: none !important; -} -.selectedNavButton { - display: block !important; - background-color: #e3e3e3; - -} -.selectedNavButton li a { - color: rgb(128,128,128) !important; -} -.selectedNavButton li a:hover { - background-color: lightgray !important; -} - -.highlightSelectedButton { - background-color: #fcfcfc; - color: black !important; -} -.highlightSelectedButton:hover { - background-color: #fcfcfc !important; -} - -.currentSection { - display: block; -} - -.notCurrent { - display: none; -} - -.wy-side-nav-search { - background-color: #e3e3e3; -} - -/*.subnav { - display: none !important; -}*/ - -#dynamicNav { - display: none; -} - -.icon-home:before { - //height: 100px; - //width: 150px; - background-size: cover; - vertical-align: middle; - margin-right: 5px; - position: relative; - content: ""; - -} - -.nycplanning:before { - height: 100px; - width: 180px; - background-image: url("../img/logo_NYCtop.png"); - -} -.homeLogo:before { - height: 40px; - width: 245px; - background-image: url("../img/logo_GSSDoc.png"); - margin-top: -65px; -} - - - -.docName { - margin-top: 1em; - font-size: 2em; -} - - - -.version { - font-weight: bold; - margin-top: -1.5em; -} - -.dcpInfo { - margin-top: -2em; -} - -.center { - text-align: center; -} -.sourceCodeStatements { - white-space:pre; -} - -.borderlessTable, .borderlessTable tr, .borderlessTable td, .borderlessTable th { - border: 0px !important; - background-color: transparent !important; -} - -.section_header { - text-decoration: underline; - font-weight: bold; - font-size: 20px; -} -.subSection_header { - font-weight: lighter; - font-size: 14px; -} - -.underlineMe { - text-decoration: underline; -} - -.title { - font-weight: bold; - font-family: "Muli", Times, serif; -} - -img[alt$=">"] { - float:right; -} - -img[alt$="<"] { - float:left; -} - -.chapterTitle { - text-align: center; - font-family: 'Muli'; - color: black; - font-weight: bold; -} - -.top { - margin-top: 2em; - font-size: 70px; -} - -.bottom { - margin-top: -40px; - margin-bottom: 5em; - font-size: 50px; -} -.bottomMargin { - margin-bottom: 3em; -} - - -img[alt$="<>"] { - display: block; - max-width: 60%; - height: auto; - margin: auto; - float: none!important; -} -img[alt^="GeosupportArchitecture"] { - margin-bottom: -50px; -} -img[alt^="NYCSeal"] { - width: 220px; - float: right !important; -} -img[alt^="NYCPlanningLogo"] { - margin-top: 7em; -} - - -img[alt^="GoatFunction"] { - width: 290px; -} - -img[alt^="GoatFunction_large"] { - width: 1000px; - margin-top: 10px; - margin-bottom: 50px; -} - -img[alt^="GoatFunction_small"] { - width: 600px; -} - -img[alt^="GoatFunction_medium"] { - width: 560px; -} -.textalign{ - padding-left:1cm; -} -.mobile{ - background-color: #33333em !important; -} -.img_tagline { - margin-top: : -100px; - padding-left: 100px; - color: black; - font-size: 18px; - font-weight: bold; -} - -#bend { - margin-top: 16em !important; -} - -.imageWithFigure { - float: right; - margin-left: 20px; -} - -.textWithImage { - margin-top: 5em; -} -.topMargin { - margin-top: 11em; -} -.topMargin u { - font-size: 26px; -} -#lincolnCenter { - margin-top: 10em; - margin-bottom: 6em; -} - -.textImageAlignment { - margin-top: 12em; -} - -.tableCenter { - float: right; - padding-left: 40px; - -} -.tableCenter table { - margin: 10px, 10px, 10px, 10px; -} - - -.preInline { - display: inline !important; -} -.customPre{ - font-family: monospace; -} - -.smallText { - font-size: 15px; - font-weight: normal; -} - -.indent p { - margin-bottom: 1px; -} -.indent p:last-child { - margin-bottom: 30px; -} -.rightTableAlignment { - text-align: left; - margin-left: -15px; -} - - -.indentRows { - padding-left: 40px !important; -} -.indentRowsofRows { - padding-left: 60px !important; -} -.centerRow { - text-align: center; -} - -.topVerticalTD { - vertical-align:top !important; -} - - -.bordered-table, .bordered-table th, .bordered-table td { - border: 1px solid black; - text-align: center; -} - -.indent { - padding-left: 2cm !important; -} - -.indent-extra { - padding-left: 3cm !important; -} - -.subheading { - font-size: 0.8cm !important; -} - - - -/*.rst-content .section .docutils { - overflow: visible !important; -}*/ -.smallText{ - font-size: 13px !important; -} -.hljs-string, .hljs-tag .hljs-value, .hljs-phpdoc, .hljs-dartdoc, .tex .hljs-formula { - color: black !important; -} - -.hljs { - font-size: 0.4cm !important; -} - -.topBreak { - margin-top: 15em; -} - -.printBtn { - color: black; - padding: 5px; -} -.printBtn:active, .printBtn:visited{ - color: black; - text-decoration: none; -} -.printBtn:hover { - background-color: rgba(210, 210, 210, 0.8); - cursor: pointer; - color: white; - border-radius: 5px; -} - - - -/*testing sticky */ -.sticky { - margin-top: 0 !important; - position: fixed; - text-align: center; - top: 0; - z-index: 10000; - border-radius: 0 0 0.5em 0.5em; - background-color: rgba(240, 240, 240, 240); - padding: 5px; -} -.btnBack { - background-color: white; -} -.toctable tr td:nth-child(2){ - display: none; - visibility: hidden; - } - -/* Print changes */ -@media print { - .section { - position: absolute; - } - img { - width: 80%; - float: left; - } - img[alt^="Gbat_Logo"] { - width: 10% !important; - } - img[alt^="Goat_Logo"] { - width: 10% !important; - } - .printBtn { - visibility: hidden; - } - .toctable { - width: 85% !important; - } -.toctable tr td:nth-child(2){ - display: block; - visibility: visible; - } -} diff --git a/site/css/pdf.css b/site/css/pdf.css deleted file mode 100644 index ad20fdcc..00000000 --- a/site/css/pdf.css +++ /dev/null @@ -1,260 +0,0 @@ -body { - font-style: normal; - font-family: "Times New Roman", Times, serif; - font-size: 12px; -} - -/*Tables Structure*/ -table, table tr, table td, table th { - border: 1px solid !important; -} - -.pdfSmallTable { - font-size: 10px; -} - -pre code { - font-size: 8px; - color: red; -} -blockquote, .pdfPre { - border: 0px !important; - background-color: transparent !important; -} - -.borderlessTable, .borderlessTable tr, .borderlessTable td, .borderlessTable th { - border: 0px !important; - background-color: transparent !important; -} - -.docName { - margin-top: 2em; - font-size: 3em; -} -.version { - font-weight: bold; - margin-top: -1.5em; -} -.dcpInfo { - margin-top: -2em; -} -.center { - text-align: center; -} -.sourceCodeStatements { - white-space:pre; -} -.section_header { - text-decoration: underline; - font-weight: bold; - font-size: 20px; -} -.subSection_header { - font-weight: lighter; - font-size: 14px; -} - -.underlineMe { - text-decoration: underline; -} - -.title { - font-weight: bold; - font-family: "Muli", Times, serif; -} - - -.chapterTitle { - text-align: center; - font-family: 'Muli'; - color: black; - font-weight: bold; -} -.top { - padding-top: 3em; - font-size: 70px; - page-break-before: always; -} -.bottom { - margin-top: -40px; - font-size: 50px; - page-break-after: always; -} - -.pdfPageBreakAfter { - page-break-after: always; -} -.pdfPageBreakBefore { - page-break-before: always; -} - - -.longText { - font-size: 30px; -} -.bottomMargin { - margin-bottom: 3em; -} -.pdfAppendix { - page-break-before: always; -} - -img[alt$=">"] { - float:right; -} - -img[alt$="<"] { - float:left; -} - -img[alt$="<>"] { - display: block; - max-width: 100%; - height: auto; - margin: auto; - float: none !important; -} -img[alt^="GeosupportArchitecture"] { - margin-bottom: -50px; -} -img[alt^="NYCSeal"] { - width: 150px; - float: right !important; -} -img[alt^="NYCPlanningLogo"] { - margin-top: 6.5em; -} - - -img[alt^="GoatFunction"] { - width: 290px; -} - -img[alt^="GoatFunction_large"] { - width: 1000px; - margin-top: 10px; - margin-bottom: 50px; -} - -img[alt^="GoatFunction_small"] { - width: 600px; -} - -img[alt^="GoatFunction_medium"] { - width: 560px; -} - -.img_tagline { - margin-top: : -100px; - padding-left: 100px; - font-size: 10px; -} - -#bend { - margin-top: 16em !important; -} - -.imageWithFigure { - float: none; - margin-left: 20px; -} - -/*.textWithImage { - margin-top: 5em; -}*/ -.topMargin { - margin-top: 11em; -} -.topMargin u { - font-size: 26px; -} -#lincolnCenter { - margin-top: 10em; - margin-bottom: 6em; -} - -.textImageAlignment { - margin-top: 12em; -} - -.tableCenter { - float: right; - padding-left: 40px; - -} -.tableCenter table { - margin: 10px, 10px, 10px, 10px; -} - -.preInline { - display: inline !important; - border: 0px !important; -} -.customPre{ - font-family: monospace; -} - -.smallText { - font-size: 15px; - font-weight: normal; -} - -.indent p { - margin-bottom: 1px; -} -.indent p:last-child { - margin-bottom: 30px; -} -.rightTableAlignment { - text-align: left; -} - - -.indentRows { - padding-left: 40px !important; -} -.indentRowsofRows{ - padding-left: 60px !important; -} -.centerRow { - text-align: center; -} - -.topVerticalTD { - vertical-align:top !important; -} - - -.bordered-table, .bordered-table th, .bordered-table td { - border: 1px solid black; - text-align: center; -} - -.indent { - padding-left: 2cm !important; -} - -.indent-extra { - padding-left: 3cm !important; -} - -.subheading { - font-size: 0.8cm !important; -} -/*.rst-content .section .docutils { - overflow: visible !important; -}*/ -.smallText{ - font-size: 13px !important; -} -.hljs-string, .hljs-tag .hljs-value, .hljs-phpdoc, .hljs-dartdoc, .tex .hljs-formula { - color: black !important; -} -a:after { - content: "" !important; - /*background-color:inherit;*/ - } -a { - color: #0a0101 !important; - text-decoration: none !important; -} diff --git a/site/css/theme.css b/site/css/theme.css deleted file mode 100644 index e3fca69a..00000000 --- a/site/css/theme.css +++ /dev/null @@ -1,12 +0,0 @@ -/* - * This file is copied from the upstream ReadTheDocs Sphinx - * theme. To aid upgradability this file should *not* be edited. - * modifications we need should be included in theme_extra.css. - * - * https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/core/static/core/css/theme.css - */ - -*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio,canvas,video{display:inline-block;*display:inline;*zoom:1}audio:not([controls]){display:none}[hidden]{display:none}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:hover,a:active{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}blockquote{margin:0}dfn{font-style:italic}ins{background:#ff9;color:#000;text-decoration:none}mark{background:#ff0;color:#000;font-style:italic;font-weight:bold}pre,code,.rst-content tt,kbd,samp{font-family:monospace,serif;_font-family:"courier new",monospace;font-size:1em}pre{white-space:pre}q{quotes:none}q:before,q:after{content:"";content:none}small{font-size:85%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}ul,ol,dl{margin:0;padding:0;list-style:none;list-style-image:none}li{list-style:none}dd{margin:0}img{border:0;-ms-interpolation-mode:bicubic;vertical-align:middle;max-width:100%}svg:not(:root){overflow:hidden}figure{margin:0}form{margin:0}fieldset{border:0;margin:0;padding:0}label{cursor:pointer}legend{border:0;*margin-left:-7px;padding:0;white-space:normal}button,input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}button,input{line-height:normal}button,input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;*overflow:visible}button[disabled],input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;*width:13px;*height:13px}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top;resize:vertical}table{border-collapse:collapse;border-spacing:0}td{vertical-align:top}.chromeframe{margin:0.2em 0;background:#ccc;color:#000;padding:0.2em 0}.ir{display:block;border:0;text-indent:-999em;overflow:hidden;background-color:transparent;background-repeat:no-repeat;text-align:left;direction:ltr;*line-height:0}.ir br{display:none}.hidden{display:none !important;visibility:hidden}.visuallyhidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.relative{position:relative}big,small{font-size:100%}@media print{html,body,section{background:none !important}*{box-shadow:none !important;text-shadow:none !important;filter:none !important;-ms-filter:none !important}a,a:visited{text-decoration:underline}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:0.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo,.btn,input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"],select,textarea,.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a,.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a,.wy-nav-top a{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}/*! - * Font Awesome 4.1.0 by @davegandy - http://fontawesome.io - @fontawesome - * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:'FontAwesome';src:url("../fonts/fontawesome-webfont.eot?v=4.1.0");src:url("../fonts/fontawesome-webfont.eot?#iefix&v=4.1.0") format("embedded-opentype"),url("../fonts/fontawesome-webfont.woff?v=4.1.0") format("woff"),url("../fonts/fontawesome-webfont.ttf?v=4.1.0") format("truetype"),url("../fonts/fontawesome-webfont.svg?v=4.1.0#fontawesomeregular") format("svg");font-weight:normal;font-style:normal}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333em;line-height:0.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:0.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:solid 0.08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left,.rst-content .pull-left.admonition-title,.rst-content h1 .pull-left.headerlink,.rst-content h2 .pull-left.headerlink,.rst-content h3 .pull-left.headerlink,.rst-content h4 .pull-left.headerlink,.rst-content h5 .pull-left.headerlink,.rst-content h6 .pull-left.headerlink,.rst-content dl dt .pull-left.headerlink,.pull-left.icon{margin-right:.3em}.fa.pull-right,.rst-content .pull-right.admonition-title,.rst-content h1 .pull-right.headerlink,.rst-content h2 .pull-right.headerlink,.rst-content h3 .pull-right.headerlink,.rst-content h4 .pull-right.headerlink,.rst-content h5 .pull-right.headerlink,.rst-content h6 .pull-right.headerlink,.rst-content dl dt .pull-right.headerlink,.pull-right.icon{margin-left:.3em}.fa-spin{-webkit-animation:spin 2s infinite linear;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1, 1);-moz-transform:scale(-1, 1);-ms-transform:scale(-1, 1);-o-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1, -1);-moz-transform:scale(1, -1);-ms-transform:scale(1, -1);-o-transform:scale(1, -1);transform:scale(1, -1)}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before,.icon-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-gear:before,.fa-cog:before{content:""}.fa-trash-o:before{content:""}.fa-home:before,.icon-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-rotate-right:before,.fa-repeat:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before,.icon-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before{content:""}.fa-check-circle:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before,.rst-content .admonition-title:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before,.icon-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-warning:before,.fa-exclamation-triangle:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-gears:before,.fa-cogs:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before,.icon-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before,.icon-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.icon-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before,.icon-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-save:before,.fa-floppy-o:before{content:""}.fa-square:before{content:""}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before,.wy-dropdown .caret:before,.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-unsorted:before,.fa-sort:before{content:""}.fa-sort-down:before,.fa-sort-desc:before{content:""}.fa-sort-up:before,.fa-sort-asc:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-legal:before,.fa-gavel:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-flash:before,.fa-bolt:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-paste:before,.fa-clipboard:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-unlink:before,.fa-chain-broken:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:""}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:""}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:""}.fa-euro:before,.fa-eur:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-rupee:before,.fa-inr:before{content:""}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:""}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:""}.fa-won:before,.fa-krw:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before,.icon-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-turkish-lira:before,.fa-try:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-institution:before,.fa-bank:before,.fa-university:before{content:""}.fa-mortar-board:before,.fa-graduation-cap:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper-square:before,.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:""}.fa-file-zip-o:before,.fa-file-archive-o:before{content:""}.fa-file-sound-o:before,.fa-file-audio-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-ge:before,.fa-empire:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-send:before,.fa-paper-plane:before{content:""}.fa-send-o:before,.fa-paper-plane-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa,.rst-content .admonition-title,.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink,.icon,.wy-dropdown .caret,.wy-inline-validate.wy-inline-validate-success .wy-input-context,.wy-inline-validate.wy-inline-validate-danger .wy-input-context,.wy-inline-validate.wy-inline-validate-warning .wy-input-context,.wy-inline-validate.wy-inline-validate-info .wy-input-context{font-family:inherit}.fa:before,.rst-content .admonition-title:before,.rst-content h1 .headerlink:before,.rst-content h2 .headerlink:before,.rst-content h3 .headerlink:before,.rst-content h4 .headerlink:before,.rst-content h5 .headerlink:before,.rst-content h6 .headerlink:before,.rst-content dl dt .headerlink:before,.icon:before,.wy-dropdown .caret:before,.wy-inline-validate.wy-inline-validate-success .wy-input-context:before,.wy-inline-validate.wy-inline-validate-danger .wy-input-context:before,.wy-inline-validate.wy-inline-validate-warning .wy-input-context:before,.wy-inline-validate.wy-inline-validate-info .wy-input-context:before{font-family:"FontAwesome";display:inline-block;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa,a .rst-content .admonition-title,.rst-content a .admonition-title,a .rst-content h1 .headerlink,.rst-content h1 a .headerlink,a .rst-content h2 .headerlink,.rst-content h2 a .headerlink,a .rst-content h3 .headerlink,.rst-content h3 a .headerlink,a .rst-content h4 .headerlink,.rst-content h4 a .headerlink,a .rst-content h5 .headerlink,.rst-content h5 a .headerlink,a .rst-content h6 .headerlink,.rst-content h6 a .headerlink,a .rst-content dl dt .headerlink,.rst-content dl dt a .headerlink,a .icon{display:inline-block;text-decoration:inherit}.btn .fa,.btn .rst-content .admonition-title,.rst-content .btn .admonition-title,.btn .rst-content h1 .headerlink,.rst-content h1 .btn .headerlink,.btn .rst-content h2 .headerlink,.rst-content h2 .btn .headerlink,.btn .rst-content h3 .headerlink,.rst-content h3 .btn .headerlink,.btn .rst-content h4 .headerlink,.rst-content h4 .btn .headerlink,.btn .rst-content h5 .headerlink,.rst-content h5 .btn .headerlink,.btn .rst-content h6 .headerlink,.rst-content h6 .btn .headerlink,.btn .rst-content dl dt .headerlink,.rst-content dl dt .btn .headerlink,.btn .icon,.nav .fa,.nav .rst-content .admonition-title,.rst-content .nav .admonition-title,.nav .rst-content h1 .headerlink,.rst-content h1 .nav .headerlink,.nav .rst-content h2 .headerlink,.rst-content h2 .nav .headerlink,.nav .rst-content h3 .headerlink,.rst-content h3 .nav .headerlink,.nav .rst-content h4 .headerlink,.rst-content h4 .nav .headerlink,.nav .rst-content h5 .headerlink,.rst-content h5 .nav .headerlink,.nav .rst-content h6 .headerlink,.rst-content h6 .nav .headerlink,.nav .rst-content dl dt .headerlink,.rst-content dl dt .nav .headerlink,.nav .icon{display:inline}.btn .fa.fa-large,.btn .rst-content .fa-large.admonition-title,.rst-content .btn .fa-large.admonition-title,.btn .rst-content h1 .fa-large.headerlink,.rst-content h1 .btn .fa-large.headerlink,.btn .rst-content h2 .fa-large.headerlink,.rst-content h2 .btn .fa-large.headerlink,.btn .rst-content h3 .fa-large.headerlink,.rst-content h3 .btn .fa-large.headerlink,.btn .rst-content h4 .fa-large.headerlink,.rst-content h4 .btn .fa-large.headerlink,.btn .rst-content h5 .fa-large.headerlink,.rst-content h5 .btn .fa-large.headerlink,.btn .rst-content h6 .fa-large.headerlink,.rst-content h6 .btn .fa-large.headerlink,.btn .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .btn .fa-large.headerlink,.btn .fa-large.icon,.nav .fa.fa-large,.nav .rst-content .fa-large.admonition-title,.rst-content .nav .fa-large.admonition-title,.nav .rst-content h1 .fa-large.headerlink,.rst-content h1 .nav .fa-large.headerlink,.nav .rst-content h2 .fa-large.headerlink,.rst-content h2 .nav .fa-large.headerlink,.nav .rst-content h3 .fa-large.headerlink,.rst-content h3 .nav .fa-large.headerlink,.nav .rst-content h4 .fa-large.headerlink,.rst-content h4 .nav .fa-large.headerlink,.nav .rst-content h5 .fa-large.headerlink,.rst-content h5 .nav .fa-large.headerlink,.nav .rst-content h6 .fa-large.headerlink,.rst-content h6 .nav .fa-large.headerlink,.nav .rst-content dl dt .fa-large.headerlink,.rst-content dl dt .nav .fa-large.headerlink,.nav .fa-large.icon{line-height:0.9em}.btn .fa.fa-spin,.btn .rst-content .fa-spin.admonition-title,.rst-content .btn .fa-spin.admonition-title,.btn .rst-content h1 .fa-spin.headerlink,.rst-content h1 .btn .fa-spin.headerlink,.btn .rst-content h2 .fa-spin.headerlink,.rst-content h2 .btn .fa-spin.headerlink,.btn .rst-content h3 .fa-spin.headerlink,.rst-content h3 .btn .fa-spin.headerlink,.btn .rst-content h4 .fa-spin.headerlink,.rst-content h4 .btn .fa-spin.headerlink,.btn .rst-content h5 .fa-spin.headerlink,.rst-content h5 .btn .fa-spin.headerlink,.btn .rst-content h6 .fa-spin.headerlink,.rst-content h6 .btn .fa-spin.headerlink,.btn .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .btn .fa-spin.headerlink,.btn .fa-spin.icon,.nav .fa.fa-spin,.nav .rst-content .fa-spin.admonition-title,.rst-content .nav .fa-spin.admonition-title,.nav .rst-content h1 .fa-spin.headerlink,.rst-content h1 .nav .fa-spin.headerlink,.nav .rst-content h2 .fa-spin.headerlink,.rst-content h2 .nav .fa-spin.headerlink,.nav .rst-content h3 .fa-spin.headerlink,.rst-content h3 .nav .fa-spin.headerlink,.nav .rst-content h4 .fa-spin.headerlink,.rst-content h4 .nav .fa-spin.headerlink,.nav .rst-content h5 .fa-spin.headerlink,.rst-content h5 .nav .fa-spin.headerlink,.nav .rst-content h6 .fa-spin.headerlink,.rst-content h6 .nav .fa-spin.headerlink,.nav .rst-content dl dt .fa-spin.headerlink,.rst-content dl dt .nav .fa-spin.headerlink,.nav .fa-spin.icon{display:inline-block}.btn.fa:before,.rst-content .btn.admonition-title:before,.rst-content h1 .btn.headerlink:before,.rst-content h2 .btn.headerlink:before,.rst-content h3 .btn.headerlink:before,.rst-content h4 .btn.headerlink:before,.rst-content h5 .btn.headerlink:before,.rst-content h6 .btn.headerlink:before,.rst-content dl dt .btn.headerlink:before,.btn.icon:before{opacity:0.5;-webkit-transition:opacity 0.05s ease-in;-moz-transition:opacity 0.05s ease-in;transition:opacity 0.05s ease-in}.btn.fa:hover:before,.rst-content .btn.admonition-title:hover:before,.rst-content h1 .btn.headerlink:hover:before,.rst-content h2 .btn.headerlink:hover:before,.rst-content h3 .btn.headerlink:hover:before,.rst-content h4 .btn.headerlink:hover:before,.rst-content h5 .btn.headerlink:hover:before,.rst-content h6 .btn.headerlink:hover:before,.rst-content dl dt .btn.headerlink:hover:before,.btn.icon:hover:before{opacity:1}.btn-mini .fa:before,.btn-mini .rst-content .admonition-title:before,.rst-content .btn-mini .admonition-title:before,.btn-mini .rst-content h1 .headerlink:before,.rst-content h1 .btn-mini .headerlink:before,.btn-mini .rst-content h2 .headerlink:before,.rst-content h2 .btn-mini .headerlink:before,.btn-mini .rst-content h3 .headerlink:before,.rst-content h3 .btn-mini .headerlink:before,.btn-mini .rst-content h4 .headerlink:before,.rst-content h4 .btn-mini .headerlink:before,.btn-mini .rst-content h5 .headerlink:before,.rst-content h5 .btn-mini .headerlink:before,.btn-mini .rst-content h6 .headerlink:before,.rst-content h6 .btn-mini .headerlink:before,.btn-mini .rst-content dl dt .headerlink:before,.rst-content dl dt .btn-mini .headerlink:before,.btn-mini .icon:before{font-size:14px;vertical-align:-15%}.wy-alert,.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning,.rst-content .seealso,.rst-content .admonition-todo{padding:12px;line-height:24px;margin-bottom:24px;background:#e7f2fa}.wy-alert-title,.rst-content .admonition-title{color:#fff;font-weight:bold;display:block;color:#fff;background:#6ab0de;margin:-12px;padding:6px 12px;margin-bottom:12px}.wy-alert.wy-alert-danger,.rst-content .wy-alert-danger.note,.rst-content .wy-alert-danger.attention,.rst-content .wy-alert-danger.caution,.rst-content .danger,.rst-content .error,.rst-content .wy-alert-danger.hint,.rst-content .wy-alert-danger.important,.rst-content .wy-alert-danger.tip,.rst-content .wy-alert-danger.warning,.rst-content .wy-alert-danger.seealso,.rst-content .wy-alert-danger.admonition-todo{background:#fdf3f2}.wy-alert.wy-alert-danger .wy-alert-title,.rst-content .wy-alert-danger.note .wy-alert-title,.rst-content .wy-alert-danger.attention .wy-alert-title,.rst-content .wy-alert-danger.caution .wy-alert-title,.rst-content .danger .wy-alert-title,.rst-content .error .wy-alert-title,.rst-content .wy-alert-danger.hint .wy-alert-title,.rst-content .wy-alert-danger.important .wy-alert-title,.rst-content .wy-alert-danger.tip .wy-alert-title,.rst-content .wy-alert-danger.warning .wy-alert-title,.rst-content .wy-alert-danger.seealso .wy-alert-title,.rst-content .wy-alert-danger.admonition-todo .wy-alert-title,.wy-alert.wy-alert-danger .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-danger .admonition-title,.rst-content .wy-alert-danger.note .admonition-title,.rst-content .wy-alert-danger.attention .admonition-title,.rst-content .wy-alert-danger.caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .wy-alert-danger.hint .admonition-title,.rst-content .wy-alert-danger.important .admonition-title,.rst-content .wy-alert-danger.tip .admonition-title,.rst-content .wy-alert-danger.warning .admonition-title,.rst-content .wy-alert-danger.seealso .admonition-title,.rst-content .wy-alert-danger.admonition-todo .admonition-title{background:#f29f97}.wy-alert.wy-alert-warning,.rst-content .wy-alert-warning.note,.rst-content .attention,.rst-content .caution,.rst-content .wy-alert-warning.danger,.rst-content .wy-alert-warning.error,.rst-content .wy-alert-warning.hint,.rst-content .wy-alert-warning.important,.rst-content .wy-alert-warning.tip,.rst-content .warning,.rst-content .wy-alert-warning.seealso,.rst-content .admonition-todo{background:#ffedcc}.wy-alert.wy-alert-warning .wy-alert-title,.rst-content .wy-alert-warning.note .wy-alert-title,.rst-content .attention .wy-alert-title,.rst-content .caution .wy-alert-title,.rst-content .wy-alert-warning.danger .wy-alert-title,.rst-content .wy-alert-warning.error .wy-alert-title,.rst-content .wy-alert-warning.hint .wy-alert-title,.rst-content .wy-alert-warning.important .wy-alert-title,.rst-content .wy-alert-warning.tip .wy-alert-title,.rst-content .warning .wy-alert-title,.rst-content .wy-alert-warning.seealso .wy-alert-title,.rst-content .admonition-todo .wy-alert-title,.wy-alert.wy-alert-warning .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-warning .admonition-title,.rst-content .wy-alert-warning.note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .wy-alert-warning.danger .admonition-title,.rst-content .wy-alert-warning.error .admonition-title,.rst-content .wy-alert-warning.hint .admonition-title,.rst-content .wy-alert-warning.important .admonition-title,.rst-content .wy-alert-warning.tip .admonition-title,.rst-content .warning .admonition-title,.rst-content .wy-alert-warning.seealso .admonition-title,.rst-content .admonition-todo .admonition-title{background:#f0b37e}.wy-alert.wy-alert-info,.rst-content .note,.rst-content .wy-alert-info.attention,.rst-content .wy-alert-info.caution,.rst-content .wy-alert-info.danger,.rst-content .wy-alert-info.error,.rst-content .wy-alert-info.hint,.rst-content .wy-alert-info.important,.rst-content .wy-alert-info.tip,.rst-content .wy-alert-info.warning,.rst-content .seealso,.rst-content .wy-alert-info.admonition-todo{background:#e7f2fa}.wy-alert.wy-alert-info .wy-alert-title,.rst-content .note .wy-alert-title,.rst-content .wy-alert-info.attention .wy-alert-title,.rst-content .wy-alert-info.caution .wy-alert-title,.rst-content .wy-alert-info.danger .wy-alert-title,.rst-content .wy-alert-info.error .wy-alert-title,.rst-content .wy-alert-info.hint .wy-alert-title,.rst-content .wy-alert-info.important .wy-alert-title,.rst-content .wy-alert-info.tip .wy-alert-title,.rst-content .wy-alert-info.warning .wy-alert-title,.rst-content .seealso .wy-alert-title,.rst-content .wy-alert-info.admonition-todo .wy-alert-title,.wy-alert.wy-alert-info .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-info .admonition-title,.rst-content .note .admonition-title,.rst-content .wy-alert-info.attention .admonition-title,.rst-content .wy-alert-info.caution .admonition-title,.rst-content .wy-alert-info.danger .admonition-title,.rst-content .wy-alert-info.error .admonition-title,.rst-content .wy-alert-info.hint .admonition-title,.rst-content .wy-alert-info.important .admonition-title,.rst-content .wy-alert-info.tip .admonition-title,.rst-content .wy-alert-info.warning .admonition-title,.rst-content .seealso .admonition-title,.rst-content .wy-alert-info.admonition-todo .admonition-title{background:#6ab0de}.wy-alert.wy-alert-success,.rst-content .wy-alert-success.note,.rst-content .wy-alert-success.attention,.rst-content .wy-alert-success.caution,.rst-content .wy-alert-success.danger,.rst-content .wy-alert-success.error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .wy-alert-success.warning,.rst-content .wy-alert-success.seealso,.rst-content .wy-alert-success.admonition-todo{background:#dbfaf4}.wy-alert.wy-alert-success .wy-alert-title,.rst-content .wy-alert-success.note .wy-alert-title,.rst-content .wy-alert-success.attention .wy-alert-title,.rst-content .wy-alert-success.caution .wy-alert-title,.rst-content .wy-alert-success.danger .wy-alert-title,.rst-content .wy-alert-success.error .wy-alert-title,.rst-content .hint .wy-alert-title,.rst-content .important .wy-alert-title,.rst-content .tip .wy-alert-title,.rst-content .wy-alert-success.warning .wy-alert-title,.rst-content .wy-alert-success.seealso .wy-alert-title,.rst-content .wy-alert-success.admonition-todo .wy-alert-title,.wy-alert.wy-alert-success .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-success .admonition-title,.rst-content .wy-alert-success.note .admonition-title,.rst-content .wy-alert-success.attention .admonition-title,.rst-content .wy-alert-success.caution .admonition-title,.rst-content .wy-alert-success.danger .admonition-title,.rst-content .wy-alert-success.error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .wy-alert-success.warning .admonition-title,.rst-content .wy-alert-success.seealso .admonition-title,.rst-content .wy-alert-success.admonition-todo .admonition-title{background:#1abc9c}.wy-alert.wy-alert-neutral,.rst-content .wy-alert-neutral.note,.rst-content .wy-alert-neutral.attention,.rst-content .wy-alert-neutral.caution,.rst-content .wy-alert-neutral.danger,.rst-content .wy-alert-neutral.error,.rst-content .wy-alert-neutral.hint,.rst-content .wy-alert-neutral.important,.rst-content .wy-alert-neutral.tip,.rst-content .wy-alert-neutral.warning,.rst-content .wy-alert-neutral.seealso,.rst-content .wy-alert-neutral.admonition-todo{background:#f3f6f6}.wy-alert.wy-alert-neutral .wy-alert-title,.rst-content .wy-alert-neutral.note .wy-alert-title,.rst-content .wy-alert-neutral.attention .wy-alert-title,.rst-content .wy-alert-neutral.caution .wy-alert-title,.rst-content .wy-alert-neutral.danger .wy-alert-title,.rst-content .wy-alert-neutral.error .wy-alert-title,.rst-content .wy-alert-neutral.hint .wy-alert-title,.rst-content .wy-alert-neutral.important .wy-alert-title,.rst-content .wy-alert-neutral.tip .wy-alert-title,.rst-content .wy-alert-neutral.warning .wy-alert-title,.rst-content .wy-alert-neutral.seealso .wy-alert-title,.rst-content .wy-alert-neutral.admonition-todo .wy-alert-title,.wy-alert.wy-alert-neutral .rst-content .admonition-title,.rst-content .wy-alert.wy-alert-neutral .admonition-title,.rst-content .wy-alert-neutral.note .admonition-title,.rst-content .wy-alert-neutral.attention .admonition-title,.rst-content .wy-alert-neutral.caution .admonition-title,.rst-content .wy-alert-neutral.danger .admonition-title,.rst-content .wy-alert-neutral.error .admonition-title,.rst-content .wy-alert-neutral.hint .admonition-title,.rst-content .wy-alert-neutral.important .admonition-title,.rst-content .wy-alert-neutral.tip .admonition-title,.rst-content .wy-alert-neutral.warning .admonition-title,.rst-content .wy-alert-neutral.seealso .admonition-title,.rst-content .wy-alert-neutral.admonition-todo .admonition-title{color:#404040;background:#e1e4e5}.wy-alert.wy-alert-neutral a,.rst-content .wy-alert-neutral.note a,.rst-content .wy-alert-neutral.attention a,.rst-content .wy-alert-neutral.caution a,.rst-content .wy-alert-neutral.danger a,.rst-content .wy-alert-neutral.error a,.rst-content .wy-alert-neutral.hint a,.rst-content .wy-alert-neutral.important a,.rst-content .wy-alert-neutral.tip a,.rst-content .wy-alert-neutral.warning a,.rst-content .wy-alert-neutral.seealso a,.rst-content .wy-alert-neutral.admonition-todo a{color:#2980B9}.wy-alert p:last-child,.rst-content .note p:last-child,.rst-content .attention p:last-child,.rst-content .caution p:last-child,.rst-content .danger p:last-child,.rst-content .error p:last-child,.rst-content .hint p:last-child,.rst-content .important p:last-child,.rst-content .tip p:last-child,.rst-content .warning p:last-child,.rst-content .seealso p:last-child,.rst-content .admonition-todo p:last-child{margin-bottom:0}.wy-tray-container{position:fixed;bottom:0px;left:0;z-index:600}.wy-tray-container li{display:block;width:300px;background:transparent;color:#fff;text-align:center;box-shadow:0 5px 5px 0 rgba(0,0,0,0.1);padding:0 24px;min-width:20%;opacity:0;height:0;line-height:56px;overflow:hidden;-webkit-transition:all 0.3s ease-in;-moz-transition:all 0.3s ease-in;transition:all 0.3s ease-in}.wy-tray-container li.wy-tray-item-success{background:#27AE60}.wy-tray-container li.wy-tray-item-info{background:#2980B9}.wy-tray-container li.wy-tray-item-warning{background:#E67E22}.wy-tray-container li.wy-tray-item-danger{background:#E74C3C}.wy-tray-container li.on{opacity:1;height:56px}@media screen and (max-width: 768px){.wy-tray-container{bottom:auto;top:0;width:100%}.wy-tray-container li{width:100%}}button{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle;cursor:pointer;line-height:normal;-webkit-appearance:button;*overflow:visible}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button[disabled]{cursor:default}.btn{display:inline-block;border-radius:2px;line-height:normal;white-space:nowrap;text-align:center;cursor:pointer;font-size:100%;padding:6px 12px 8px 12px;color:#fff;border:1px solid rgba(0,0,0,0.1);background-color:#27AE60;text-decoration:none;font-weight:normal;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:0px 1px 2px -1px rgba(255,255,255,0.5) inset,0px -2px 0px 0px rgba(0,0,0,0.1) inset;outline-none:false;vertical-align:middle;*display:inline;zoom:1;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transition:all 0.1s linear;-moz-transition:all 0.1s linear;transition:all 0.1s linear}.btn-hover{background:#2e8ece;color:#fff}.btn:hover{background:#2cc36b;color:#fff}.btn:focus{background:#2cc36b;outline:0}.btn:active{box-shadow:0px -1px 0px 0px rgba(0,0,0,0.05) inset,0px 2px 0px 0px rgba(0,0,0,0.1) inset;padding:8px 12px 6px 12px}.btn:visited{color:#fff}.btn:disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn-disabled:hover,.btn-disabled:focus,.btn-disabled:active{background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);filter:alpha(opacity=40);opacity:0.4;cursor:not-allowed;box-shadow:none}.btn::-moz-focus-inner{padding:0;border:0}.btn-small{font-size:80%}.btn-info{background-color:#2980B9 !important}.btn-info:hover{background-color:#2e8ece !important}.btn-neutral{background-color:#f3f6f6 !important;color:#404040 !important}.btn-neutral:hover{background-color:#e5ebeb !important;color:#404040}.btn-neutral:visited{color:#404040 !important}.btn-success{background-color:#27AE60 !important}.btn-success:hover{background-color:#295 !important}.btn-danger{background-color:#E74C3C !important}.btn-danger:hover{background-color:#ea6153 !important}.btn-warning{background-color:#E67E22 !important}.btn-warning:hover{background-color:#e98b39 !important}.btn-invert{background-color:#222}.btn-invert:hover{background-color:#2f2f2f !important}.btn-link{background-color:transparent !important;color:#2980B9;box-shadow:none;border-color:transparent !important}.btn-link:hover{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:active{background-color:transparent !important;color:#409ad5 !important;box-shadow:none}.btn-link:visited{color:#9B59B6}.wy-btn-group .btn,.wy-control .btn{vertical-align:middle}.wy-btn-group{margin-bottom:24px;*zoom:1}.wy-btn-group:before,.wy-btn-group:after{display:table;content:""}.wy-btn-group:after{clear:both}.wy-dropdown{position:relative;display:inline-block}.wy-dropdown-menu{position:absolute;left:0;display:none;float:left;top:100%;min-width:100%;background:#fcfcfc;z-index:100;border:solid 1px #cfd7dd;box-shadow:0 2px 2px 0 rgba(0,0,0,0.1);padding:12px}.wy-dropdown-menu>dd>a{display:block;clear:both;color:#404040;white-space:nowrap;font-size:90%;padding:0 12px;cursor:pointer}.wy-dropdown-menu>dd>a:hover{background:#2980B9;color:#fff}.wy-dropdown-menu>dd.divider{border-top:solid 1px #cfd7dd;margin:6px 0}.wy-dropdown-menu>dd.search{padding-bottom:12px}.wy-dropdown-menu>dd.search input[type="search"]{width:100%}.wy-dropdown-menu>dd.call-to-action{background:#e3e3e3;text-transform:uppercase;font-weight:500;font-size:80%}.wy-dropdown-menu>dd.call-to-action:hover{background:#e3e3e3}.wy-dropdown-menu>dd.call-to-action .btn{color:#fff}.wy-dropdown.wy-dropdown-up .wy-dropdown-menu{bottom:100%;top:auto;left:auto;right:0}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu{background:#fcfcfc;margin-top:2px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a{padding:6px 12px}.wy-dropdown.wy-dropdown-bubble .wy-dropdown-menu a:hover{background:#2980B9;color:#fff}.wy-dropdown.wy-dropdown-left .wy-dropdown-menu{right:0;text-align:right}.wy-dropdown-arrow:before{content:" ";border-bottom:5px solid #f5f5f5;border-left:5px solid transparent;border-right:5px solid transparent;position:absolute;display:block;top:-4px;left:50%;margin-left:-3px}.wy-dropdown-arrow.wy-dropdown-arrow-left:before{left:11px}.wy-form-stacked select{display:block}.wy-form-aligned input,.wy-form-aligned textarea,.wy-form-aligned select,.wy-form-aligned .wy-help-inline,.wy-form-aligned label{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-form-aligned .wy-control-group>label{display:inline-block;vertical-align:middle;width:10em;margin:6px 12px 0 0;float:left}.wy-form-aligned .wy-control{float:left}.wy-form-aligned .wy-control label{display:block}.wy-form-aligned .wy-control select{margin-top:6px}fieldset{border:0;margin:0;padding:0}legend{display:block;width:100%;border:0;padding:0;white-space:normal;margin-bottom:24px;font-size:150%;*margin-left:-7px}label{display:block;margin:0 0 0.3125em 0;color:#999;font-size:90%}input,select,textarea{font-size:100%;margin:0;vertical-align:baseline;*vertical-align:middle}.wy-control-group{margin-bottom:24px;*zoom:1;max-width:68em;margin-left:auto;margin-right:auto;*zoom:1}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group:before,.wy-control-group:after{display:table;content:""}.wy-control-group:after{clear:both}.wy-control-group.wy-control-group-required>label:after{content:" *";color:#E74C3C}.wy-control-group .wy-form-full,.wy-control-group .wy-form-halves,.wy-control-group .wy-form-thirds{padding-bottom:12px}.wy-control-group .wy-form-full select,.wy-control-group .wy-form-halves select,.wy-control-group .wy-form-thirds select{width:100%}.wy-control-group .wy-form-full input[type="text"],.wy-control-group .wy-form-full input[type="password"],.wy-control-group .wy-form-full input[type="email"],.wy-control-group .wy-form-full input[type="url"],.wy-control-group .wy-form-full input[type="date"],.wy-control-group .wy-form-full input[type="month"],.wy-control-group .wy-form-full input[type="time"],.wy-control-group .wy-form-full input[type="datetime"],.wy-control-group .wy-form-full input[type="datetime-local"],.wy-control-group .wy-form-full input[type="week"],.wy-control-group .wy-form-full input[type="number"],.wy-control-group .wy-form-full input[type="search"],.wy-control-group .wy-form-full input[type="tel"],.wy-control-group .wy-form-full input[type="color"],.wy-control-group .wy-form-halves input[type="text"],.wy-control-group .wy-form-halves input[type="password"],.wy-control-group .wy-form-halves input[type="email"],.wy-control-group .wy-form-halves input[type="url"],.wy-control-group .wy-form-halves input[type="date"],.wy-control-group .wy-form-halves input[type="month"],.wy-control-group .wy-form-halves input[type="time"],.wy-control-group .wy-form-halves input[type="datetime"],.wy-control-group .wy-form-halves input[type="datetime-local"],.wy-control-group .wy-form-halves input[type="week"],.wy-control-group .wy-form-halves input[type="number"],.wy-control-group .wy-form-halves input[type="search"],.wy-control-group .wy-form-halves input[type="tel"],.wy-control-group .wy-form-halves input[type="color"],.wy-control-group .wy-form-thirds input[type="text"],.wy-control-group .wy-form-thirds input[type="password"],.wy-control-group .wy-form-thirds input[type="email"],.wy-control-group .wy-form-thirds input[type="url"],.wy-control-group .wy-form-thirds input[type="date"],.wy-control-group .wy-form-thirds input[type="month"],.wy-control-group .wy-form-thirds input[type="time"],.wy-control-group .wy-form-thirds input[type="datetime"],.wy-control-group .wy-form-thirds input[type="datetime-local"],.wy-control-group .wy-form-thirds input[type="week"],.wy-control-group .wy-form-thirds input[type="number"],.wy-control-group .wy-form-thirds input[type="search"],.wy-control-group .wy-form-thirds input[type="tel"],.wy-control-group .wy-form-thirds input[type="color"]{width:100%}.wy-control-group .wy-form-full{float:left;display:block;margin-right:2.35765%;width:100%;margin-right:0}.wy-control-group .wy-form-full:last-child{margin-right:0}.wy-control-group .wy-form-halves{float:left;display:block;margin-right:2.35765%;width:48.82117%}.wy-control-group .wy-form-halves:last-child{margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n){margin-right:0}.wy-control-group .wy-form-halves:nth-of-type(2n+1){clear:left}.wy-control-group .wy-form-thirds{float:left;display:block;margin-right:2.35765%;width:31.76157%}.wy-control-group .wy-form-thirds:last-child{margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n){margin-right:0}.wy-control-group .wy-form-thirds:nth-of-type(3n+1){clear:left}.wy-control-group.wy-control-group-no-input .wy-control{margin:6px 0 0 0;font-size:90%}.wy-control-no-input{display:inline-block;margin:6px 0 0 0;font-size:90%}.wy-control-group.fluid-input input[type="text"],.wy-control-group.fluid-input input[type="password"],.wy-control-group.fluid-input input[type="email"],.wy-control-group.fluid-input input[type="url"],.wy-control-group.fluid-input input[type="date"],.wy-control-group.fluid-input input[type="month"],.wy-control-group.fluid-input input[type="time"],.wy-control-group.fluid-input input[type="datetime"],.wy-control-group.fluid-input input[type="datetime-local"],.wy-control-group.fluid-input input[type="week"],.wy-control-group.fluid-input input[type="number"],.wy-control-group.fluid-input input[type="search"],.wy-control-group.fluid-input input[type="tel"],.wy-control-group.fluid-input input[type="color"]{width:100%}.wy-form-message-inline{display:inline-block;padding-left:0.3em;color:#666;vertical-align:middle;font-size:90%}.wy-form-message{display:block;color:#999;font-size:70%;margin-top:0.3125em;font-style:italic}input{line-height:normal}input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;*overflow:visible}input[type="text"],input[type="password"],input[type="email"],input[type="url"],input[type="date"],input[type="month"],input[type="time"],input[type="datetime"],input[type="datetime-local"],input[type="week"],input[type="number"],input[type="search"],input[type="tel"],input[type="color"]{-webkit-appearance:none;padding:6px;display:inline-block;border:1px solid #ccc;font-size:80%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;box-shadow:inset 0 1px 3px #ddd;border-radius:0;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}input[type="datetime-local"]{padding:0.34375em 0.625em}input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0;margin-right:0.3125em;*height:13px;*width:13px}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}input[type="text"]:focus,input[type="password"]:focus,input[type="email"]:focus,input[type="url"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus{outline:0;outline:thin dotted \9;border-color:#333}input.no-focus:focus{border-color:#ccc !important}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:1px auto #129FEA}input[type="text"][disabled],input[type="password"][disabled],input[type="email"][disabled],input[type="url"][disabled],input[type="date"][disabled],input[type="month"][disabled],input[type="time"][disabled],input[type="datetime"][disabled],input[type="datetime-local"][disabled],input[type="week"][disabled],input[type="number"][disabled],input[type="search"][disabled],input[type="tel"][disabled],input[type="color"][disabled]{cursor:not-allowed;background-color:#f3f6f6;color:#cad2d3}input:focus:invalid,textarea:focus:invalid,select:focus:invalid{color:#E74C3C;border:1px solid #E74C3C}input:focus:invalid:focus,textarea:focus:invalid:focus,select:focus:invalid:focus{border-color:#E74C3C}input[type="file"]:focus:invalid:focus,input[type="radio"]:focus:invalid:focus,input[type="checkbox"]:focus:invalid:focus{outline-color:#E74C3C}input.wy-input-large{padding:12px;font-size:100%}textarea{overflow:auto;vertical-align:top;width:100%;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif}select,textarea{padding:0.5em 0.625em;display:inline-block;border:1px solid #ccc;font-size:80%;box-shadow:inset 0 1px 3px #ddd;-webkit-transition:border 0.3s linear;-moz-transition:border 0.3s linear;transition:border 0.3s linear}select{border:1px solid #ccc;background-color:#fff}select[multiple]{height:auto}select:focus,textarea:focus{outline:0}select[disabled],textarea[disabled],input[readonly],select[readonly],textarea[readonly]{cursor:not-allowed;background-color:#fff;color:#cad2d3;border-color:transparent}.wy-checkbox,.wy-radio{margin:6px 0;color:#404040;display:block}.wy-checkbox input,.wy-radio input{vertical-align:baseline}.wy-form-message-inline{display:inline-block;*display:inline;*zoom:1;vertical-align:middle}.wy-input-prefix,.wy-input-suffix{white-space:nowrap}.wy-input-prefix .wy-input-context,.wy-input-suffix .wy-input-context{padding:6px;display:inline-block;font-size:80%;background-color:#f3f6f6;border:solid 1px #ccc;color:#999}.wy-input-suffix .wy-input-context{border-left:0}.wy-input-prefix .wy-input-context{border-right:0}.wy-control-group.wy-control-group-error .wy-form-message,.wy-control-group.wy-control-group-error>label{color:#E74C3C}.wy-control-group.wy-control-group-error input[type="text"],.wy-control-group.wy-control-group-error input[type="password"],.wy-control-group.wy-control-group-error input[type="email"],.wy-control-group.wy-control-group-error input[type="url"],.wy-control-group.wy-control-group-error input[type="date"],.wy-control-group.wy-control-group-error input[type="month"],.wy-control-group.wy-control-group-error input[type="time"],.wy-control-group.wy-control-group-error input[type="datetime"],.wy-control-group.wy-control-group-error input[type="datetime-local"],.wy-control-group.wy-control-group-error input[type="week"],.wy-control-group.wy-control-group-error input[type="number"],.wy-control-group.wy-control-group-error input[type="search"],.wy-control-group.wy-control-group-error input[type="tel"],.wy-control-group.wy-control-group-error input[type="color"]{border:solid 1px #E74C3C}.wy-control-group.wy-control-group-error textarea{border:solid 1px #E74C3C}.wy-inline-validate{white-space:nowrap}.wy-inline-validate .wy-input-context{padding:0.5em 0.625em;display:inline-block;font-size:80%}.wy-inline-validate.wy-inline-validate-success .wy-input-context{color:#27AE60}.wy-inline-validate.wy-inline-validate-danger .wy-input-context{color:#E74C3C}.wy-inline-validate.wy-inline-validate-warning .wy-input-context{color:#E67E22}.wy-inline-validate.wy-inline-validate-info .wy-input-context{color:#2980B9}.rotate-90{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg)}.rotate-180{-webkit-transform:rotate(180deg);-moz-transform:rotate(180deg);-ms-transform:rotate(180deg);-o-transform:rotate(180deg);transform:rotate(180deg)}.rotate-270{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg)}.mirror{-webkit-transform:scaleX(-1);-moz-transform:scaleX(-1);-ms-transform:scaleX(-1);-o-transform:scaleX(-1);transform:scaleX(-1)}.mirror.rotate-90{-webkit-transform:scaleX(-1) rotate(90deg);-moz-transform:scaleX(-1) rotate(90deg);-ms-transform:scaleX(-1) rotate(90deg);-o-transform:scaleX(-1) rotate(90deg);transform:scaleX(-1) rotate(90deg)}.mirror.rotate-180{-webkit-transform:scaleX(-1) rotate(180deg);-moz-transform:scaleX(-1) rotate(180deg);-ms-transform:scaleX(-1) rotate(180deg);-o-transform:scaleX(-1) rotate(180deg);transform:scaleX(-1) rotate(180deg)}.mirror.rotate-270{-webkit-transform:scaleX(-1) rotate(270deg);-moz-transform:scaleX(-1) rotate(270deg);-ms-transform:scaleX(-1) rotate(270deg);-o-transform:scaleX(-1) rotate(270deg);transform:scaleX(-1) rotate(270deg)}@media only screen and (max-width: 480px){.wy-form button[type="submit"]{margin:0.7em 0 0}.wy-form input[type="text"],.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0.3em;display:block}.wy-form label{margin-bottom:0.3em;display:block}.wy-form input[type="password"],.wy-form input[type="email"],.wy-form input[type="url"],.wy-form input[type="date"],.wy-form input[type="month"],.wy-form input[type="time"],.wy-form input[type="datetime"],.wy-form input[type="datetime-local"],.wy-form input[type="week"],.wy-form input[type="number"],.wy-form input[type="search"],.wy-form input[type="tel"],.wy-form input[type="color"]{margin-bottom:0}.wy-form-aligned .wy-control-group label{margin-bottom:0.3em;text-align:left;display:block;width:100%}.wy-form-aligned .wy-control{margin:1.5em 0 0 0}.wy-form .wy-help-inline,.wy-form-message-inline,.wy-form-message{display:block;font-size:80%;padding:6px 0}}@media screen and (max-width: 768px){.tablet-hide{display:none}}@media screen and (max-width: 480px){.mobile-hide{display:none}}.float-left{float:left}.float-right{float:right}.full-width{width:100%}.wy-table,.rst-content table.docutils,.rst-content table.field-list{border-collapse:collapse;border-spacing:0;empty-cells:show;margin-bottom:24px}.wy-table caption,.rst-content table.docutils caption,.rst-content table.field-list caption{color:#000;font:italic 85%/1 arial,sans-serif;padding:1em 0;text-align:center}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td,.wy-table th,.rst-content table.docutils th,.rst-content table.field-list th{font-size:90%;margin:0;overflow:visible;padding:8px 16px}.wy-table td:first-child,.rst-content table.docutils td:first-child,.rst-content table.field-list td:first-child,.wy-table th:first-child,.rst-content table.docutils th:first-child,.rst-content table.field-list th:first-child{border-left-width:0}.wy-table thead,.rst-content table.docutils thead,.rst-content table.field-list thead{color:#000;text-align:left;vertical-align:bottom;white-space:nowrap}.wy-table thead th,.rst-content table.docutils thead th,.rst-content table.field-list thead th{font-weight:bold;border-bottom:solid 2px #e1e4e5}.wy-table td,.rst-content table.docutils td,.rst-content table.field-list td{background-color:transparent;vertical-align:middle}.wy-table td p,.rst-content table.docutils td p,.rst-content table.field-list td p{line-height:18px}.wy-table td p:last-child,.rst-content table.docutils td p:last-child,.rst-content table.field-list td p:last-child{margin-bottom:0}.wy-table .wy-table-cell-min,.rst-content table.docutils .wy-table-cell-min,.rst-content table.field-list .wy-table-cell-min{width:1%;padding-right:0}.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox],.wy-table .wy-table-cell-min input[type=checkbox],.rst-content table.docutils .wy-table-cell-min input[type=checkbox],.rst-content table.field-list .wy-table-cell-min input[type=checkbox]{margin:0}.wy-table-secondary{color:gray;font-size:90%}.wy-table-tertiary{color:gray;font-size:80%}.wy-table-odd td,.wy-table-striped tr:nth-child(2n-1) td,.rst-content table.docutils:not(.field-list) tr:nth-child(2n-1) td{background-color:#f3f6f6}.wy-table-backed{background-color:#f3f6f6}.wy-table-bordered-all,.rst-content table.docutils{border:1px solid #e1e4e5}.wy-table-bordered-all td,.rst-content table.docutils td{border-bottom:1px solid #e1e4e5;border-left:1px solid #e1e4e5}.wy-table-bordered-all tbody>tr:last-child td,.rst-content table.docutils tbody>tr:last-child td{border-bottom-width:0}.wy-table-bordered{border:1px solid #e1e4e5}.wy-table-bordered-rows td{border-bottom:1px solid #e1e4e5}.wy-table-bordered-rows tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-horizontal td,.wy-table-horizontal th{border-width:0 0 1px 0;border-bottom:1px solid #e1e4e5}.wy-table-horizontal tbody>tr:last-child td{border-bottom-width:0}.wy-table-responsive{margin-bottom:24px;max-width:100%;overflow:auto}.wy-table-responsive table{margin-bottom:0 !important}.wy-table-responsive table td,.wy-table-responsive table th{white-space:nowrap}a{color:#2980B9;text-decoration:none}a:hover{color:#3091d1}a:visited{color:#9B59B6}html{height:100%;overflow-x:hidden}body{font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;font-weight:normal;color:#404040;min-height:100%;overflow-x:hidden;background:#edf0f2}.wy-text-left{text-align:left}.wy-text-center{text-align:center}.wy-text-right{text-align:right}.wy-text-large{font-size:120%}.wy-text-normal{font-size:100%}.wy-text-small,small{font-size:80%}.wy-text-strike{text-decoration:line-through}.wy-text-warning{color:#E67E22 !important}a.wy-text-warning:hover{color:#eb9950 !important}.wy-text-info{color:#2980B9 !important}a.wy-text-info:hover{color:#409ad5 !important}.wy-text-success{color:#27AE60 !important}a.wy-text-success:hover{color:#36d278 !important}.wy-text-danger{color:#E74C3C !important}a.wy-text-danger:hover{color:#ed7669 !important}.wy-text-neutral{color:#404040 !important}a.wy-text-neutral:hover{color:#595959 !important}h1,h2,h3,h4,h5,h6,legend{margin-top:0;font-weight:700;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif}p{line-height:24px;margin:0;font-size:16px;margin-bottom:24px}h1{font-size:175%}h2{font-size:150%}h3{font-size:125%}h4{font-size:115%}h5{font-size:110%}h6{font-size:100%}hr{display:block;height:1px;border:0;border-top:1px solid #e1e4e5;margin:24px 0;padding:0}code,.rst-content tt{white-space:nowrap;max-width:100%;background:#fff;border:solid 1px #e1e4e5;font-size:75%;padding:0 5px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;color:#E74C3C;overflow-x:auto}code.code-large,.rst-content tt.code-large{font-size:90%}.wy-plain-list-disc,.rst-content .section ul,.rst-content .toctree-wrapper ul,article ul{list-style:disc;line-height:24px;margin-bottom:24px}.wy-plain-list-disc li,.rst-content .section ul li,.rst-content .toctree-wrapper ul li,article ul li{list-style:disc;margin-left:24px}.wy-plain-list-disc li p:last-child,.rst-content .section ul li p:last-child,.rst-content .toctree-wrapper ul li p:last-child,article ul li p:last-child{margin-bottom:0}.wy-plain-list-disc li ul,.rst-content .section ul li ul,.rst-content .toctree-wrapper ul li ul,article ul li ul{margin-bottom:0}.wy-plain-list-disc li li,.rst-content .section ul li li,.rst-content .toctree-wrapper ul li li,article ul li li{list-style:circle}.wy-plain-list-disc li li li,.rst-content .section ul li li li,.rst-content .toctree-wrapper ul li li li,article ul li li li{list-style:square}.wy-plain-list-disc li ol li,.rst-content .section ul li ol li,.rst-content .toctree-wrapper ul li ol li,article ul li ol li{list-style:decimal}.wy-plain-list-decimal,.rst-content .section ol,.rst-content ol.arabic,article ol{list-style:decimal;line-height:24px;margin-bottom:24px}.wy-plain-list-decimal li,.rst-content .section ol li,.rst-content ol.arabic li,article ol li{list-style:decimal;margin-left:24px}.wy-plain-list-decimal li p:last-child,.rst-content .section ol li p:last-child,.rst-content ol.arabic li p:last-child,article ol li p:last-child{margin-bottom:0}.wy-plain-list-decimal li ul,.rst-content .section ol li ul,.rst-content ol.arabic li ul,article ol li ul{margin-bottom:0}.wy-plain-list-decimal li ul li,.rst-content .section ol li ul li,.rst-content ol.arabic li ul li,article ol li ul li{list-style:disc}.codeblock-example{border:1px solid #e1e4e5;border-bottom:none;padding:24px;padding-top:48px;font-weight:500;background:#fff;position:relative}.codeblock-example:after{content:"Example";position:absolute;top:0px;left:0px;background:#9B59B6;color:#fff;padding:6px 12px}.codeblock-example.prettyprint-example-only{border:1px solid #e1e4e5;margin-bottom:24px}.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight']{border:1px solid #e1e4e5;padding:0px;overflow-x:auto;background:#fff;margin:1px 0 24px 0}.codeblock div[class^='highlight'],pre.literal-block div[class^='highlight'],.rst-content .literal-block div[class^='highlight'],div[class^='highlight'] div[class^='highlight']{border:none;background:none;margin:0}div[class^='highlight'] td.code{width:100%}.linenodiv pre{border-right:solid 1px #e6e9ea;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;color:#d9d9d9}div[class^='highlight'] pre{white-space:pre;margin:0;padding:12px 12px;font-family:Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace;font-size:12px;line-height:1.5;display:block;overflow:auto;color:#404040}@media print{.codeblock,pre.literal-block,.rst-content .literal-block,.rst-content pre.literal-block,div[class^='highlight'],div[class^='highlight'] pre{white-space:pre-wrap}}.hll{background-color:#ffc;margin:0 -12px;padding:0 12px;display:block}.c{color:#998;font-style:italic}.err{color:#a61717;background-color:#e3d2d2}.k{font-weight:bold}.o{font-weight:bold}.cm{color:#998;font-style:italic}.cp{color:#999;font-weight:bold}.c1{color:#998;font-style:italic}.cs{color:#999;font-weight:bold;font-style:italic}.gd{color:#000;background-color:#fdd}.gd .x{color:#000;background-color:#faa}.ge{font-style:italic}.gr{color:#a00}.gh{color:#999}.gi{color:#000;background-color:#dfd}.gi .x{color:#000;background-color:#afa}.go{color:#888}.gp{color:#555}.gs{font-weight:bold}.gu{color:purple;font-weight:bold}.gt{color:#a00}.kc{font-weight:bold}.kd{font-weight:bold}.kn{font-weight:bold}.kp{font-weight:bold}.kr{font-weight:bold}.kt{color:#458;font-weight:bold}.m{color:#099}.s{color:#d14}.n{color:#333}.na{color:teal}.nb{color:#0086b3}.nc{color:#458;font-weight:bold}.no{color:teal}.ni{color:purple}.ne{color:#900;font-weight:bold}.nf{color:#900;font-weight:bold}.nn{color:#555}.nt{color:navy}.nv{color:teal}.ow{font-weight:bold}.w{color:#bbb}.mf{color:#099}.mh{color:#099}.mi{color:#099}.mo{color:#099}.sb{color:#d14}.sc{color:#d14}.sd{color:#d14}.s2{color:#d14}.se{color:#d14}.sh{color:#d14}.si{color:#d14}.sx{color:#d14}.sr{color:#009926}.s1{color:#d14}.ss{color:#990073}.bp{color:#999}.vc{color:teal}.vg{color:teal}.vi{color:teal}.il{color:#099}.gc{color:#999;background-color:#EAF2F5}.wy-breadcrumbs li{display:inline-block}.wy-breadcrumbs li.wy-breadcrumbs-aside{float:right}.wy-breadcrumbs li a{display:inline-block;padding:5px}.wy-breadcrumbs li a:first-child{padding-left:0}.wy-breadcrumbs-extra{margin-bottom:0;color:#b3b3b3;font-size:80%;display:inline-block}@media screen and (max-width: 480px){.wy-breadcrumbs-extra{display:none}.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}@media print{.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-affix{position:fixed;top:1.618em}.wy-menu a:hover{text-decoration:none}.wy-menu-horiz{*zoom:1}.wy-menu-horiz:before,.wy-menu-horiz:after{display:table;content:""}.wy-menu-horiz:after{clear:both}.wy-menu-horiz ul,.wy-menu-horiz li{display:inline-block}.wy-menu-horiz li:hover{background:rgba(255,255,255,0.1)}.wy-menu-horiz li.divide-left{border-left:solid 1px #404040}.wy-menu-horiz li.divide-right{border-right:solid 1px #404040}.wy-menu-horiz a{height:32px;display:inline-block;line-height:32px;padding:0 16px}.wy-menu-vertical header{height:32px;display:inline-block;line-height:32px;padding:0 1.618em;display:block;font-weight:bold;text-transform:uppercase;font-size:80%;color:#2980B9;white-space:nowrap}.wy-menu-vertical ul{margin-bottom:0}.wy-menu-vertical li.divide-top{border-top:solid 1px #404040}.wy-menu-vertical li.divide-bottom{border-bottom:solid 1px #404040}.wy-menu-vertical li.current{background:#e3e3e3}.wy-menu-vertical li.current a{color:gray;border-right:solid 1px #c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current a:hover{background:#d6d6d6}.wy-menu-vertical li.on a,.wy-menu-vertical li.current>a{color:#404040;padding:0.4045em 1.618em;font-weight:bold;position:relative;background:#fcfcfc;border:none;border-bottom:solid 1px #c9c9c9;border-top:solid 1px #c9c9c9;padding-left:1.618em -4px}.wy-menu-vertical li.on a:hover,.wy-menu-vertical li.current>a:hover{background:#fcfcfc}.wy-menu-vertical li.toctree-l2.current>a{background:#c9c9c9;padding:0.4045em 2.427em}.wy-menu-vertical li.current ul{display:block}.wy-menu-vertical li ul{margin-bottom:0;display:none}.wy-menu-vertical .local-toc li ul{display:block}.wy-menu-vertical li ul li a{margin-bottom:0;color:#b3b3b3;font-weight:normal}.wy-menu-vertical a{display:inline-block;line-height:18px;padding:0.4045em 1.618em;display:block;position:relative;font-size:90%;color:#b3b3b3}.wy-menu-vertical a:hover{background-color:#4e4a4a;cursor:pointer}.wy-menu-vertical a:active{background-color:#2980B9;cursor:pointer;color:#fff}.wy-side-nav-search{z-index:200;background-color:#2980B9;text-align:center;padding:0.809em;display:block;color:#fcfcfc;margin-bottom:0.809em}.wy-side-nav-search input[type=text]{width:100%;border-radius:50px;padding:6px 12px;border-color:#2472a4}.wy-side-nav-search img{display:block;margin:auto auto 0.809em auto;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-side-nav-search>a,.wy-side-nav-search .wy-dropdown>a{color:#fcfcfc;font-size:100%;font-weight:bold;display:inline-block;padding:4px 6px;margin-bottom:0.809em}.wy-side-nav-search>a:hover,.wy-side-nav-search .wy-dropdown>a:hover{background:rgba(255,255,255,0.1)}.wy-nav .wy-menu-vertical header{color:#2980B9}.wy-nav .wy-menu-vertical a{color:#b3b3b3}.wy-nav .wy-menu-vertical a:hover{background-color:#2980B9;color:#fff}[data-menu-wrap]{-webkit-transition:all 0.2s ease-in;-moz-transition:all 0.2s ease-in;transition:all 0.2s ease-in;position:absolute;opacity:1;width:100%;opacity:0}[data-menu-wrap].move-center{left:0;right:auto;opacity:1}[data-menu-wrap].move-left{right:auto;left:-100%;opacity:0}[data-menu-wrap].move-right{right:-100%;left:auto;opacity:0}.wy-body-for-nav{background:left repeat-y #fcfcfc;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyRpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoTWFjaW50b3NoKSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDoxOERBMTRGRDBFMUUxMUUzODUwMkJCOThDMEVFNURFMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoxOERBMTRGRTBFMUUxMUUzODUwMkJCOThDMEVFNURFMCI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjE4REExNEZCMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjE4REExNEZDMEUxRTExRTM4NTAyQkI5OEMwRUU1REUwIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+EwrlwAAAAA5JREFUeNpiMDU0BAgwAAE2AJgB9BnaAAAAAElFTkSuQmCC);background-size:300px 1px}.wy-grid-for-nav{position:absolute;width:100%;height:100%}.wy-nav-side{position:absolute;top:0;left:0;width:300px;overflow:hidden;min-height:100%;background:#343131;z-index:200}.wy-nav-top{display:none;color:#fff;padding:0.4045em 0.809em;position:relative;line-height:50px;text-align:center;font-size:100%;*zoom:1}.wy-nav-top:before,.wy-nav-top:after{display:table;content:""}.wy-nav-top:after{clear:both}.wy-nav-top a{color:#fff;font-weight:bold}.wy-nav-top img{margin-right:12px;height:45px;width:45px;background-color:#2980B9;padding:5px;border-radius:100%}.wy-nav-top i{font-size:30px;float:left;cursor:pointer;background:black}.wy-nav-content-wrap{margin-left:300px;background:#fcfcfc;min-height:100%}.wy-nav-content{padding:1.618em 3.236em;height:100%;max-width:800px;margin:auto}.wy-body-mask{position:fixed;width:100%;height:100%;background:rgba(0,0,0,0.2);display:none;z-index:499}.wy-body-mask.on{display:block}footer{color:#999}footer p{margin-bottom:12px}.rst-footer-buttons{*zoom:1}.rst-footer-buttons:before,.rst-footer-buttons:after{display:table;content:""}.rst-footer-buttons:after{clear:both}#search-results .search li{margin-bottom:24px;border-bottom:solid 1px #e1e4e5;padding-bottom:24px}#search-results .search li:first-child{border-top:solid 1px #e1e4e5;padding-top:24px}#search-results .search li a{font-size:120%;margin-bottom:12px;display:inline-block}#search-results .context{color:gray;font-size:90%}@media screen and (max-width: 768px){.wy-body-for-nav{background:#fcfcfc}.wy-nav-top{display:block}.wy-nav-side{left:-300px}.wy-nav-side.shift{width:85%;left:0}.wy-nav-content-wrap{margin-left:0}.wy-nav-content-wrap .wy-nav-content{padding:1.618em}.wy-nav-content-wrap.shift{position:fixed;min-width:100%;left:85%;top:0;height:100%;overflow:hidden}}@media screen and (min-width: 1400px){.wy-nav-content-wrap{background:rgba(0,0,0,0.05)}.wy-nav-content{margin:0;background:#fcfcfc}}@media print{.rst-versions,footer,.wy-nav-side{display:none}.wy-nav-content-wrap{margin-left:0}}nav.stickynav{position:fixed;top:0}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa,.rst-versions .rst-current-version .rst-content .admonition-title,.rst-content .rst-versions .rst-current-version .admonition-title,.rst-versions .rst-current-version .rst-content h1 .headerlink,.rst-content h1 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h2 .headerlink,.rst-content h2 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h3 .headerlink,.rst-content h3 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h4 .headerlink,.rst-content h4 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h5 .headerlink,.rst-content h5 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content h6 .headerlink,.rst-content h6 .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .rst-content dl dt .headerlink,.rst-content dl dt .rst-versions .rst-current-version .headerlink,.rst-versions .rst-current-version .icon{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}.rst-content img{max-width:100%;height:auto !important}.rst-content div.figure{margin-bottom:24px}.rst-content div.figure.align-center{text-align:center}.rst-content .section>img{margin-bottom:24px}.rst-content blockquote{margin-left:24px;line-height:24px;margin-bottom:24px}.rst-content .note .last,.rst-content .attention .last,.rst-content .caution .last,.rst-content .danger .last,.rst-content .error .last,.rst-content .hint .last,.rst-content .important .last,.rst-content .tip .last,.rst-content .warning .last,.rst-content .seealso .last,.rst-content .admonition-todo .last{margin-bottom:0}.rst-content .admonition-title:before{margin-right:4px}.rst-content .admonition table{border-color:rgba(0,0,0,0.1)}.rst-content .admonition table td,.rst-content .admonition table th{background:transparent !important;border-color:rgba(0,0,0,0.1) !important}.rst-content .section ol.loweralpha,.rst-content .section ol.loweralpha li{list-style:lower-alpha}.rst-content .section ol.upperalpha,.rst-content .section ol.upperalpha li{list-style:upper-alpha}.rst-content .section ol p,.rst-content .section ul p{margin-bottom:12px}.rst-content .line-block{margin-left:24px}.rst-content .topic-title{font-weight:bold;margin-bottom:12px}.rst-content .toc-backref{color:#404040}.rst-content .align-right{float:right;margin:0px 0px 24px 24px}.rst-content .align-left{float:left;margin:0px 24px 24px 0px}.rst-content .align-center{margin:auto;display:block}.rst-content h1 .headerlink,.rst-content h2 .headerlink,.rst-content h3 .headerlink,.rst-content h4 .headerlink,.rst-content h5 .headerlink,.rst-content h6 .headerlink,.rst-content dl dt .headerlink{display:none;visibility:hidden;font-size:14px}.rst-content h1 .headerlink:after,.rst-content h2 .headerlink:after,.rst-content h3 .headerlink:after,.rst-content h4 .headerlink:after,.rst-content h5 .headerlink:after,.rst-content h6 .headerlink:after,.rst-content dl dt .headerlink:after{visibility:visible;content:"";font-family:FontAwesome;display:inline-block}.rst-content h1:hover .headerlink,.rst-content h2:hover .headerlink,.rst-content h3:hover .headerlink,.rst-content h4:hover .headerlink,.rst-content h5:hover .headerlink,.rst-content h6:hover .headerlink,.rst-content dl dt:hover .headerlink{display:inline-block}.rst-content .sidebar{float:right;width:40%;display:block;margin:0 0 24px 24px;padding:24px;background:#f3f6f6;border:solid 1px #e1e4e5}.rst-content .sidebar p,.rst-content .sidebar ul,.rst-content .sidebar dl{font-size:90%}.rst-content .sidebar .last{margin-bottom:0}.rst-content .sidebar .sidebar-title{display:block;font-family:"Roboto Slab","ff-tisa-web-pro","Georgia",Arial,sans-serif;font-weight:bold;background:#e1e4e5;padding:6px 12px;margin:-24px;margin-bottom:24px;font-size:100%}.rst-content .highlighted{background:#F1C40F;display:inline-block;font-weight:bold;padding:0 6px}.rst-content .footnote-reference,.rst-content .citation-reference{vertical-align:super;font-size:90%}.rst-content table.docutils.citation,.rst-content table.docutils.footnote{background:none;border:none;color:#999}.rst-content table.docutils.citation td,.rst-content table.docutils.citation tr,.rst-content table.docutils.footnote td,.rst-content table.docutils.footnote tr{border:none;background-color:transparent !important;white-space:normal}.rst-content table.docutils.citation td.label,.rst-content table.docutils.footnote td.label{padding-left:0;padding-right:0;vertical-align:top}.rst-content table.field-list{border:none}.rst-content table.field-list td{border:none;padding-top:5px}.rst-content table.field-list td>strong{display:inline-block;margin-top:3px}.rst-content table.field-list .field-name{padding-right:10px;text-align:left;white-space:nowrap}.rst-content table.field-list .field-body{text-align:left;padding-left:0}.rst-content tt{color:#000}.rst-content tt big,.rst-content tt em{font-size:100% !important;line-height:normal}.rst-content tt .xref,a .rst-content tt{font-weight:bold}.rst-content a tt{color:#2980B9}.rst-content dl{margin-bottom:24px}.rst-content dl dt{font-weight:bold}.rst-content dl p,.rst-content dl table,.rst-content dl ul,.rst-content dl ol{margin-bottom:12px !important}.rst-content dl dd{margin:0 0 12px 24px}.rst-content dl:not(.docutils){margin-bottom:24px}.rst-content dl:not(.docutils) dt{display:inline-block;margin:6px 0;font-size:90%;line-height:normal;background:#e7f2fa;color:#2980B9;border-top:solid 3px #6ab0de;padding:6px;position:relative}.rst-content dl:not(.docutils) dt:before{color:#6ab0de}.rst-content dl:not(.docutils) dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dl dt{margin-bottom:6px;border:none;border-left:solid 3px #ccc;background:#f0f0f0;color:gray}.rst-content dl:not(.docutils) dl dt .headerlink{color:#404040;font-size:100% !important}.rst-content dl:not(.docutils) dt:first-child{margin-top:0}.rst-content dl:not(.docutils) tt{font-weight:bold}.rst-content dl:not(.docutils) tt.descname,.rst-content dl:not(.docutils) tt.descclassname{background-color:transparent;border:none;padding:0;font-size:100% !important}.rst-content dl:not(.docutils) tt.descname{font-weight:bold}.rst-content dl:not(.docutils) .optional{display:inline-block;padding:0 4px;color:#000;font-weight:bold}.rst-content dl:not(.docutils) .property{display:inline-block;padding-right:8px}.rst-content .viewcode-link,.rst-content .viewcode-back{display:inline-block;color:#27AE60;font-size:80%;padding-left:24px}.rst-content .viewcode-back{display:block;float:right}.rst-content p.rubric{margin-bottom:12px;font-weight:bold}@media screen and (max-width: 480px){.rst-content .sidebar{width:100%}}span[id*='MathJax-Span']{color:#404040}.math{text-align:center} diff --git a/site/css/theme_extra.css b/site/css/theme_extra.css deleted file mode 100644 index e53d320a..00000000 --- a/site/css/theme_extra.css +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Sphinx doesn't have support for section dividers like we do in - * MkDocs, this styles the section titles in the nav - * - * https://github.com/mkdocs/mkdocs/issues/175 - */ -.wy-menu-vertical span { - line-height: 18px; - padding: 0.4045em 1.618em; - display: block; - position: relative; - font-size: 90%; - color: #838383; -} - -.wy-menu-vertical .subnav a { - padding: 0.4045em 2.427em; -} - -/* - * Long navigations run off the bottom of the screen as the nav - * area doesn't scroll. - * - * https://github.com/mkdocs/mkdocs/pull/202 - * - * Builds upon pull 202 https://github.com/mkdocs/mkdocs/pull/202 - * to make toc scrollbar end before navigations buttons to not be overlapping. - */ -.wy-nav-side { - height: calc(100% - 45px); - overflow-y: auto; - min-height: 0; -} - -.rst-versions{ - border-top: 0; - height: 45px; -} - -@media screen and (max-width: 768px) { - .wy-nav-side { - height: 100%; - } -} - -/* - * readthedocs theme hides nav items when the window height is - * too small to contain them. - * - * https://github.com/mkdocs/mkdocs/issues/#348 - */ -.wy-menu-vertical ul { - margin-bottom: 2em; -} - -/* - * Wrap inline code samples otherwise they shoot of the side and - * can't be read at all. - * - * https://github.com/mkdocs/mkdocs/issues/313 - * https://github.com/mkdocs/mkdocs/issues/233 - * https://github.com/mkdocs/mkdocs/issues/834 - */ -code { - white-space: pre-wrap; - word-wrap: break-word; - padding: 2px 5px; -} - -/** - * Make code blocks display as blocks and give them the appropriate - * font size and padding. - * - * https://github.com/mkdocs/mkdocs/issues/855 - * https://github.com/mkdocs/mkdocs/issues/834 - * https://github.com/mkdocs/mkdocs/issues/233 - */ -pre code { - white-space: pre; - word-wrap: normal; - display: block; - padding: 12px; - font-size: 12px; -} - -/* - * Fix link colors when the link text is inline code. - * - * https://github.com/mkdocs/mkdocs/issues/718 - */ -a code { - color: #2980B9; -} -a:hover code { - color: #3091d1; -} -a:visited code { - color: #9B59B6; -} - -/* - * The CSS classes from highlight.js seem to clash with the - * ReadTheDocs theme causing some code to be incorrectly made - * bold and italic. - * - * https://github.com/mkdocs/mkdocs/issues/411 - */ -pre .cs, pre .c { - font-weight: inherit; - font-style: inherit; -} - -/* - * Fix some issues with the theme and non-highlighted code - * samples. Without and highlighting styles attached the - * formatting is broken. - * - * https://github.com/mkdocs/mkdocs/issues/319 - */ -.no-highlight { - display: block; - padding: 0.5em; - color: #333; -} - - -/* - * Additions specific to the search functionality provided by MkDocs - */ - -.search-results article { - margin-top: 23px; - border-top: 1px solid #E1E4E5; - padding-top: 24px; -} - -.search-results article:first-child { - border-top: none; -} - -form .search-query { - width: 100%; - border-radius: 50px; - padding: 6px 12px; /* csslint allow: box-model */ - border-color: #D1D4D5; -} - -.wy-menu-vertical li ul { - display: inherit; -} - -.wy-menu-vertical li ul.subnav ul.subnav{ - padding-left: 1em; -} - -.wy-menu-vertical .subnav li.current > a { - padding-left: 2.42em; -} -.wy-menu-vertical .subnav li.current > ul li a { - padding-left: 3.23em; -} - -/* - * Improve inline code blocks within admonitions. - * - * https://github.com/mkdocs/mkdocs/issues/656 - */ - .admonition code { - color: #404040; - border: 1px solid #c7c9cb; - border: 1px solid rgba(0, 0, 0, 0.2); - background: #f8fbfd; - background: rgba(255, 255, 255, 0.7); -} - -/* - * Account for wide tables which go off the side. - * Override borders to avoid wierdness on narrow tables. - * - * https://github.com/mkdocs/mkdocs/issues/834 - * https://github.com/mkdocs/mkdocs/pull/1034 - */ -.rst-content .section .docutils { - width: 100%; - overflow: auto; - display: block; - border: none; -} - -td, th { - border: 1px solid #e1e4e5 !important; /* csslint allow: important */ - border-collapse: collapse; -} diff --git a/site/fonts/fontawesome-webfont.eot b/site/fonts/fontawesome-webfont.eot deleted file mode 100644 index 0662cb96..00000000 Binary files a/site/fonts/fontawesome-webfont.eot and /dev/null differ diff --git a/site/fonts/fontawesome-webfont.svg b/site/fonts/fontawesome-webfont.svg deleted file mode 100644 index 2edb4ec3..00000000 --- a/site/fonts/fontawesome-webfont.svg +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/site/fonts/fontawesome-webfont.ttf b/site/fonts/fontawesome-webfont.ttf deleted file mode 100644 index d3659246..00000000 Binary files a/site/fonts/fontawesome-webfont.ttf and /dev/null differ diff --git a/site/fonts/fontawesome-webfont.woff b/site/fonts/fontawesome-webfont.woff deleted file mode 100644 index b9bd17e1..00000000 Binary files a/site/fonts/fontawesome-webfont.woff and /dev/null differ diff --git a/site/img/Thumbs.db b/site/img/Thumbs.db deleted file mode 100644 index 3fd96e7c..00000000 Binary files a/site/img/Thumbs.db and /dev/null differ diff --git a/site/img/favicon.ico b/site/img/favicon.ico deleted file mode 100644 index e85006a3..00000000 Binary files a/site/img/favicon.ico and /dev/null differ diff --git a/site/img/figureI-1.png b/site/img/figureI-1.png deleted file mode 100644 index ee269edd..00000000 Binary files a/site/img/figureI-1.png and /dev/null differ diff --git a/site/img/figureII-1.png b/site/img/figureII-1.png deleted file mode 100644 index 6188e2f4..00000000 Binary files a/site/img/figureII-1.png and /dev/null differ diff --git a/site/img/figureVI-1.png b/site/img/figureVI-1.png deleted file mode 100644 index 5c1acf4c..00000000 Binary files a/site/img/figureVI-1.png and /dev/null differ diff --git a/site/img/figureVII-1.png b/site/img/figureVII-1.png deleted file mode 100644 index 6ef344fe..00000000 Binary files a/site/img/figureVII-1.png and /dev/null differ diff --git a/site/img/figureVII-10.png b/site/img/figureVII-10.png deleted file mode 100644 index 2f38069e..00000000 Binary files a/site/img/figureVII-10.png and /dev/null differ diff --git a/site/img/figureVII-11.png b/site/img/figureVII-11.png deleted file mode 100644 index 92c97c96..00000000 Binary files a/site/img/figureVII-11.png and /dev/null differ diff --git a/site/img/figureVII-12.png b/site/img/figureVII-12.png deleted file mode 100644 index fc09d6e4..00000000 Binary files a/site/img/figureVII-12.png and /dev/null differ diff --git a/site/img/figureVII-13.png b/site/img/figureVII-13.png deleted file mode 100644 index a9bc2791..00000000 Binary files a/site/img/figureVII-13.png and /dev/null differ diff --git a/site/img/figureVII-14.png b/site/img/figureVII-14.png deleted file mode 100644 index 2fe1c822..00000000 Binary files a/site/img/figureVII-14.png and /dev/null differ diff --git a/site/img/figureVII-15.png b/site/img/figureVII-15.png deleted file mode 100644 index 080a56ac..00000000 Binary files a/site/img/figureVII-15.png and /dev/null differ diff --git a/site/img/figureVII-16.png b/site/img/figureVII-16.png deleted file mode 100644 index 142786f6..00000000 Binary files a/site/img/figureVII-16.png and /dev/null differ diff --git a/site/img/figureVII-17.png b/site/img/figureVII-17.png deleted file mode 100644 index a87bb769..00000000 Binary files a/site/img/figureVII-17.png and /dev/null differ diff --git a/site/img/figureVII-18.png b/site/img/figureVII-18.png deleted file mode 100644 index 92acdf23..00000000 Binary files a/site/img/figureVII-18.png and /dev/null differ diff --git a/site/img/figureVII-2.png b/site/img/figureVII-2.png deleted file mode 100644 index c3a706b0..00000000 Binary files a/site/img/figureVII-2.png and /dev/null differ diff --git a/site/img/figureVII-3.png b/site/img/figureVII-3.png deleted file mode 100644 index 715a6033..00000000 Binary files a/site/img/figureVII-3.png and /dev/null differ diff --git a/site/img/figureVII-4.png b/site/img/figureVII-4.png deleted file mode 100644 index 9109ae50..00000000 Binary files a/site/img/figureVII-4.png and /dev/null differ diff --git a/site/img/figureVII-5.png b/site/img/figureVII-5.png deleted file mode 100644 index 2ecc65b0..00000000 Binary files a/site/img/figureVII-5.png and /dev/null differ diff --git a/site/img/figureVII-6.png b/site/img/figureVII-6.png deleted file mode 100644 index c4436620..00000000 Binary files a/site/img/figureVII-6.png and /dev/null differ diff --git a/site/img/figureVII-7.png b/site/img/figureVII-7.png deleted file mode 100644 index e51eb346..00000000 Binary files a/site/img/figureVII-7.png and /dev/null differ diff --git a/site/img/figureVII-8.png b/site/img/figureVII-8.png deleted file mode 100644 index a89c510e..00000000 Binary files a/site/img/figureVII-8.png and /dev/null differ diff --git a/site/img/figureVII-9.png b/site/img/figureVII-9.png deleted file mode 100644 index 3c419756..00000000 Binary files a/site/img/figureVII-9.png and /dev/null differ diff --git a/site/img/gbat2.3.1.jpg b/site/img/gbat2.3.1.jpg deleted file mode 100644 index 0c27f30b..00000000 Binary files a/site/img/gbat2.3.1.jpg and /dev/null differ diff --git a/site/img/gbat2.4.1.jpg b/site/img/gbat2.4.1.jpg deleted file mode 100644 index 66912433..00000000 Binary files a/site/img/gbat2.4.1.jpg and /dev/null differ diff --git a/site/img/gbat2.4.2.jpg b/site/img/gbat2.4.2.jpg deleted file mode 100644 index 43b0c6f8..00000000 Binary files a/site/img/gbat2.4.2.jpg and /dev/null differ diff --git a/site/img/gbat2.4.3.jpg b/site/img/gbat2.4.3.jpg deleted file mode 100644 index 1869f857..00000000 Binary files a/site/img/gbat2.4.3.jpg and /dev/null differ diff --git a/site/img/gbat2.4.4.jpg b/site/img/gbat2.4.4.jpg deleted file mode 100644 index d974e604..00000000 Binary files a/site/img/gbat2.4.4.jpg and /dev/null differ diff --git a/site/img/gbat2.4.5.jpg b/site/img/gbat2.4.5.jpg deleted file mode 100644 index aca992d8..00000000 Binary files a/site/img/gbat2.4.5.jpg and /dev/null differ diff --git a/site/img/gbat2.4.6.jpg b/site/img/gbat2.4.6.jpg deleted file mode 100644 index 7b2f6f71..00000000 Binary files a/site/img/gbat2.4.6.jpg and /dev/null differ diff --git a/site/img/gbat2.5.1.jpg b/site/img/gbat2.5.1.jpg deleted file mode 100644 index 455ffe5a..00000000 Binary files a/site/img/gbat2.5.1.jpg and /dev/null differ diff --git a/site/img/gbat2.6.1.jpg b/site/img/gbat2.6.1.jpg deleted file mode 100644 index 0fd78a34..00000000 Binary files a/site/img/gbat2.6.1.jpg and /dev/null differ diff --git a/site/img/gbat2.6.2.jpg b/site/img/gbat2.6.2.jpg deleted file mode 100644 index b4286dc9..00000000 Binary files a/site/img/gbat2.6.2.jpg and /dev/null differ diff --git a/site/img/gbat2.6.3.jpg b/site/img/gbat2.6.3.jpg deleted file mode 100644 index 3aeea3ac..00000000 Binary files a/site/img/gbat2.6.3.jpg and /dev/null differ diff --git a/site/img/gbat2.6.4.jpg b/site/img/gbat2.6.4.jpg deleted file mode 100644 index 4cefe0c9..00000000 Binary files a/site/img/gbat2.6.4.jpg and /dev/null differ diff --git a/site/img/gbat2.6.5.jpg b/site/img/gbat2.6.5.jpg deleted file mode 100644 index 2fe9594b..00000000 Binary files a/site/img/gbat2.6.5.jpg and /dev/null differ diff --git a/site/img/gbat2.6.6.jpg b/site/img/gbat2.6.6.jpg deleted file mode 100644 index ea0e72e9..00000000 Binary files a/site/img/gbat2.6.6.jpg and /dev/null differ diff --git a/site/img/gbat2.6.7.jpg b/site/img/gbat2.6.7.jpg deleted file mode 100644 index 8f1196f9..00000000 Binary files a/site/img/gbat2.6.7.jpg and /dev/null differ diff --git a/site/img/gbat2.6.8.jpg b/site/img/gbat2.6.8.jpg deleted file mode 100644 index 8c63c035..00000000 Binary files a/site/img/gbat2.6.8.jpg and /dev/null differ diff --git a/site/img/gbat2.6.9.jpg b/site/img/gbat2.6.9.jpg deleted file mode 100644 index 65673de3..00000000 Binary files a/site/img/gbat2.6.9.jpg and /dev/null differ diff --git a/site/img/gbat2.7.1.jpg b/site/img/gbat2.7.1.jpg deleted file mode 100644 index cf6646f2..00000000 Binary files a/site/img/gbat2.7.1.jpg and /dev/null differ diff --git a/site/img/gbat2.8.1.jpg b/site/img/gbat2.8.1.jpg deleted file mode 100644 index 5eff1fd2..00000000 Binary files a/site/img/gbat2.8.1.jpg and /dev/null differ diff --git a/site/img/gbat2.9.1.jpg b/site/img/gbat2.9.1.jpg deleted file mode 100644 index 9d69eb31..00000000 Binary files a/site/img/gbat2.9.1.jpg and /dev/null differ diff --git a/site/img/gbat2.9.2.jpg b/site/img/gbat2.9.2.jpg deleted file mode 100644 index 05330dad..00000000 Binary files a/site/img/gbat2.9.2.jpg and /dev/null differ diff --git a/site/img/gbat_2.2.1.jpg b/site/img/gbat_2.2.1.jpg deleted file mode 100644 index 695c5a30..00000000 Binary files a/site/img/gbat_2.2.1.jpg and /dev/null differ diff --git a/site/img/geoExcel1.png b/site/img/geoExcel1.png deleted file mode 100644 index 8ace5177..00000000 Binary files a/site/img/geoExcel1.png and /dev/null differ diff --git a/site/img/geoExcel2.png b/site/img/geoExcel2.png deleted file mode 100644 index 8a9dcc26..00000000 Binary files a/site/img/geoExcel2.png and /dev/null differ diff --git a/site/img/geoExcel3.png b/site/img/geoExcel3.png deleted file mode 100644 index 4d8cb89b..00000000 Binary files a/site/img/geoExcel3.png and /dev/null differ diff --git a/site/img/geoExcel4.png b/site/img/geoExcel4.png deleted file mode 100644 index 90d06ee0..00000000 Binary files a/site/img/geoExcel4.png and /dev/null differ diff --git a/site/img/geoExcel5.png b/site/img/geoExcel5.png deleted file mode 100644 index 9629c51d..00000000 Binary files a/site/img/geoExcel5.png and /dev/null differ diff --git a/site/img/geoSystemLogo.png b/site/img/geoSystemLogo.png deleted file mode 100644 index 3b416bfe..00000000 Binary files a/site/img/geoSystemLogo.png and /dev/null differ diff --git a/site/img/geoSystemLogo_.png b/site/img/geoSystemLogo_.png deleted file mode 100644 index c08b23c9..00000000 Binary files a/site/img/geoSystemLogo_.png and /dev/null differ diff --git a/site/img/goat.png b/site/img/goat.png deleted file mode 100644 index a2e1d741..00000000 Binary files a/site/img/goat.png and /dev/null differ diff --git a/site/img/goat10.1.jpg b/site/img/goat10.1.jpg deleted file mode 100644 index ea64b4d1..00000000 Binary files a/site/img/goat10.1.jpg and /dev/null differ diff --git a/site/img/goat10.2.jpg b/site/img/goat10.2.jpg deleted file mode 100644 index 62e728da..00000000 Binary files a/site/img/goat10.2.jpg and /dev/null differ diff --git a/site/img/goat11.1.jpg b/site/img/goat11.1.jpg deleted file mode 100644 index 1538edb7..00000000 Binary files a/site/img/goat11.1.jpg and /dev/null differ diff --git a/site/img/goat11.2.jpg b/site/img/goat11.2.jpg deleted file mode 100644 index 0269d69e..00000000 Binary files a/site/img/goat11.2.jpg and /dev/null differ diff --git a/site/img/goat11.3.jpg b/site/img/goat11.3.jpg deleted file mode 100644 index 8d8f64d7..00000000 Binary files a/site/img/goat11.3.jpg and /dev/null differ diff --git a/site/img/goat11.4.jpg b/site/img/goat11.4.jpg deleted file mode 100644 index 29811778..00000000 Binary files a/site/img/goat11.4.jpg and /dev/null differ diff --git a/site/img/goat11.5.jpg b/site/img/goat11.5.jpg deleted file mode 100644 index 1cb5a746..00000000 Binary files a/site/img/goat11.5.jpg and /dev/null differ diff --git a/site/img/goat5.1.jpg b/site/img/goat5.1.jpg deleted file mode 100644 index 0d082646..00000000 Binary files a/site/img/goat5.1.jpg and /dev/null differ diff --git a/site/img/goat5.2.jpg b/site/img/goat5.2.jpg deleted file mode 100644 index fad80e3c..00000000 Binary files a/site/img/goat5.2.jpg and /dev/null differ diff --git a/site/img/goat5.3.jpg b/site/img/goat5.3.jpg deleted file mode 100644 index 127dc098..00000000 Binary files a/site/img/goat5.3.jpg and /dev/null differ diff --git a/site/img/goat6.1.jpg b/site/img/goat6.1.jpg deleted file mode 100644 index c6c4bb3a..00000000 Binary files a/site/img/goat6.1.jpg and /dev/null differ diff --git a/site/img/goat6.2.jpg b/site/img/goat6.2.jpg deleted file mode 100644 index b6c7fc7c..00000000 Binary files a/site/img/goat6.2.jpg and /dev/null differ diff --git a/site/img/goat6.3.jpg b/site/img/goat6.3.jpg deleted file mode 100644 index 0ba4a209..00000000 Binary files a/site/img/goat6.3.jpg and /dev/null differ diff --git a/site/img/goat6.4.jpg b/site/img/goat6.4.jpg deleted file mode 100644 index 18008da0..00000000 Binary files a/site/img/goat6.4.jpg and /dev/null differ diff --git a/site/img/goat6.5.jpg b/site/img/goat6.5.jpg deleted file mode 100644 index 896049c0..00000000 Binary files a/site/img/goat6.5.jpg and /dev/null differ diff --git a/site/img/goat7.1.jpg b/site/img/goat7.1.jpg deleted file mode 100644 index 54005d29..00000000 Binary files a/site/img/goat7.1.jpg and /dev/null differ diff --git a/site/img/goat7.2.jpg b/site/img/goat7.2.jpg deleted file mode 100644 index 8d67e0ba..00000000 Binary files a/site/img/goat7.2.jpg and /dev/null differ diff --git a/site/img/goat7.3.jpg b/site/img/goat7.3.jpg deleted file mode 100644 index a9ea501c..00000000 Binary files a/site/img/goat7.3.jpg and /dev/null differ diff --git a/site/img/goat7.4.jpg b/site/img/goat7.4.jpg deleted file mode 100644 index d3096623..00000000 Binary files a/site/img/goat7.4.jpg and /dev/null differ diff --git a/site/img/goat7.5.jpg b/site/img/goat7.5.jpg deleted file mode 100644 index 3661fc80..00000000 Binary files a/site/img/goat7.5.jpg and /dev/null differ diff --git a/site/img/goat7.6.jpg b/site/img/goat7.6.jpg deleted file mode 100644 index 63819c08..00000000 Binary files a/site/img/goat7.6.jpg and /dev/null differ diff --git a/site/img/goat7.7.jpg b/site/img/goat7.7.jpg deleted file mode 100644 index 2f5770bf..00000000 Binary files a/site/img/goat7.7.jpg and /dev/null differ diff --git a/site/img/goat9.1.jpg b/site/img/goat9.1.jpg deleted file mode 100644 index 9cb0ad62..00000000 Binary files a/site/img/goat9.1.jpg and /dev/null differ diff --git a/site/img/goat9.2.jpg b/site/img/goat9.2.jpg deleted file mode 100644 index 66507c54..00000000 Binary files a/site/img/goat9.2.jpg and /dev/null differ diff --git a/site/img/goat9.3.jpg b/site/img/goat9.3.jpg deleted file mode 100644 index c6f035e6..00000000 Binary files a/site/img/goat9.3.jpg and /dev/null differ diff --git a/site/img/goat_1.png b/site/img/goat_1.png deleted file mode 100644 index 18529673..00000000 Binary files a/site/img/goat_1.png and /dev/null differ diff --git a/site/img/goat_2.png b/site/img/goat_2.png deleted file mode 100644 index b721e933..00000000 Binary files a/site/img/goat_2.png and /dev/null differ diff --git a/site/img/goat_3.png b/site/img/goat_3.png deleted file mode 100644 index 4cf4b653..00000000 Binary files a/site/img/goat_3.png and /dev/null differ diff --git a/site/img/goat_4.png b/site/img/goat_4.png deleted file mode 100644 index 2dab610b..00000000 Binary files a/site/img/goat_4.png and /dev/null differ diff --git a/site/img/goat_5.png b/site/img/goat_5.png deleted file mode 100644 index 4d23a98f..00000000 Binary files a/site/img/goat_5.png and /dev/null differ diff --git a/site/img/goat_6.png b/site/img/goat_6.png deleted file mode 100644 index f9744f87..00000000 Binary files a/site/img/goat_6.png and /dev/null differ diff --git a/site/img/goat_7.png b/site/img/goat_7.png deleted file mode 100644 index 05543790..00000000 Binary files a/site/img/goat_7.png and /dev/null differ diff --git a/site/img/goat_8.png b/site/img/goat_8.png deleted file mode 100644 index 1a51d96a..00000000 Binary files a/site/img/goat_8.png and /dev/null differ diff --git a/site/img/goat_function1BScreen.png b/site/img/goat_function1BScreen.png deleted file mode 100644 index b0b82d7b..00000000 Binary files a/site/img/goat_function1BScreen.png and /dev/null differ diff --git a/site/img/goat_logo.png b/site/img/goat_logo.png deleted file mode 100644 index 18d914a8..00000000 Binary files a/site/img/goat_logo.png and /dev/null differ diff --git a/site/img/goat_window.png b/site/img/goat_window.png deleted file mode 100644 index a82c2a20..00000000 Binary files a/site/img/goat_window.png and /dev/null differ diff --git a/site/img/logo2.png b/site/img/logo2.png deleted file mode 100644 index df284807..00000000 Binary files a/site/img/logo2.png and /dev/null differ diff --git a/site/img/logo_GSSDoc.png b/site/img/logo_GSSDoc.png deleted file mode 100644 index dd393f81..00000000 Binary files a/site/img/logo_GSSDoc.png and /dev/null differ diff --git a/site/img/logo_NYCtop.png b/site/img/logo_NYCtop.png deleted file mode 100644 index 89586cbc..00000000 Binary files a/site/img/logo_NYCtop.png and /dev/null differ diff --git a/site/img/logo_top.png b/site/img/logo_top.png deleted file mode 100644 index 8ded7dd0..00000000 Binary files a/site/img/logo_top.png and /dev/null differ diff --git a/site/img/logo_top2.png b/site/img/logo_top2.png deleted file mode 100644 index 6be84fcc..00000000 Binary files a/site/img/logo_top2.png and /dev/null differ diff --git a/site/img/logo_top_new.png b/site/img/logo_top_new.png deleted file mode 100644 index be29aa7e..00000000 Binary files a/site/img/logo_top_new.png and /dev/null differ diff --git a/site/img/nyc_seal.png b/site/img/nyc_seal.png deleted file mode 100644 index 67b5cbce..00000000 Binary files a/site/img/nyc_seal.png and /dev/null differ diff --git a/site/index.html b/site/index.html deleted file mode 100644 index 6215d5a4..00000000 --- a/site/index.html +++ /dev/null @@ -1,807 +0,0 @@ - - - - - - - - - - - - Home - DCP - - - - - - - - - - - - - - - - - - - -
- - - - -
- - - - - -
-
-
- -
    -
  • Docs »
  • - - - -
  • Home
  • - -
  • - -
  • -
- - - -
- - -
-
-
- -

geoSystemLogo <>

-

User Programming Guide (UPG)

- -

SOFTWARE VERSION 17.3

- -

NYCPlanningLogo <>

-
Department of City Planning / City of New York
-Information Technology Division
-Geographic Systems Section
- -
-
- - -
-
- -
- -
- -
- - - - - Next » - - -
- - - - - - - diff --git a/site/js/highlight.pack.js b/site/js/highlight.pack.js deleted file mode 100644 index a5818dfb..00000000 --- a/site/js/highlight.pack.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e){"undefined"!=typeof exports?e(exports):(window.hljs=e({}),"function"==typeof define&&define.amd&&define([],function(){return window.hljs}))}(function(e){function n(e){return e.replace(/&/gm,"&").replace(//gm,">")}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var t=e&&e.exec(n);return t&&0==t.index}function a(e){var n=(e.className+" "+(e.parentNode?e.parentNode.className:"")).split(/\s+/);return n=n.map(function(e){return e.replace(/^lang(uage)?-/,"")}),n.filter(function(e){return N(e)||/no(-?)highlight|plain|text/.test(e)})[0]}function i(e,n){var t,r={};for(t in e)r[t]=e[t];if(n)for(t in n)r[t]=n[t];return r}function o(e){var n=[];return function r(e,a){for(var i=e.firstChild;i;i=i.nextSibling)3==i.nodeType?a+=i.nodeValue.length:1==i.nodeType&&(n.push({event:"start",offset:a,node:i}),a=r(i,a),t(i).match(/br|hr|img|input/)||n.push({event:"stop",offset:a,node:i}));return a}(e,0),n}function u(e,r,a){function i(){return e.length&&r.length?e[0].offset!=r[0].offset?e[0].offset"}function u(e){l+=""}function c(e){("start"==e.event?o:u)(e.node)}for(var s=0,l="",f=[];e.length||r.length;){var g=i();if(l+=n(a.substr(s,g[0].offset-s)),s=g[0].offset,g==e){f.reverse().forEach(u);do c(g.splice(0,1)[0]),g=i();while(g==e&&g.length&&g[0].offset==s);f.reverse().forEach(o)}else"start"==g[0].event?f.push(g[0].node):f.pop(),c(g.splice(0,1)[0])}return l+n(a.substr(s))}function c(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),"m"+(e.cI?"i":"")+(r?"g":""))}function r(a,o){if(!a.compiled){if(a.compiled=!0,a.k=a.k||a.bK,a.k){var u={},c=function(n,t){e.cI&&(t=t.toLowerCase()),t.split(" ").forEach(function(e){var t=e.split("|");u[t[0]]=[n,t[1]?Number(t[1]):1]})};"string"==typeof a.k?c("keyword",a.k):Object.keys(a.k).forEach(function(e){c(e,a.k[e])}),a.k=u}a.lR=t(a.l||/\b\w+\b/,!0),o&&(a.bK&&(a.b="\\b("+a.bK.split(" ").join("|")+")\\b"),a.b||(a.b=/\B|\b/),a.bR=t(a.b),a.e||a.eW||(a.e=/\B|\b/),a.e&&(a.eR=t(a.e)),a.tE=n(a.e)||"",a.eW&&o.tE&&(a.tE+=(a.e?"|":"")+o.tE)),a.i&&(a.iR=t(a.i)),void 0===a.r&&(a.r=1),a.c||(a.c=[]);var s=[];a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(i(e,n))}):s.push("self"==e?a:e)}),a.c=s,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,o);var l=a.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([a.tE,a.i]).map(n).filter(Boolean);a.t=l.length?t(l.join("|"),!0):{exec:function(){return null}}}}r(e)}function s(e,t,a,i){function o(e,n){for(var t=0;t";return i+=e+'">',i+n+o}function d(){if(!L.k)return n(y);var e="",t=0;L.lR.lastIndex=0;for(var r=L.lR.exec(y);r;){e+=n(y.substr(t,r.index-t));var a=g(L,r);a?(B+=a[1],e+=p(a[0],n(r[0]))):e+=n(r[0]),t=L.lR.lastIndex,r=L.lR.exec(y)}return e+n(y.substr(t))}function h(){if(L.sL&&!w[L.sL])return n(y);var e=L.sL?s(L.sL,y,!0,M[L.sL]):l(y);return L.r>0&&(B+=e.r),"continuous"==L.subLanguageMode&&(M[L.sL]=e.top),p(e.language,e.value,!1,!0)}function b(){return void 0!==L.sL?h():d()}function v(e,t){var r=e.cN?p(e.cN,"",!0):"";e.rB?(k+=r,y=""):e.eB?(k+=n(t)+r,y=""):(k+=r,y=t),L=Object.create(e,{parent:{value:L}})}function m(e,t){if(y+=e,void 0===t)return k+=b(),0;var r=o(t,L);if(r)return k+=b(),v(r,t),r.rB?0:t.length;var a=u(L,t);if(a){var i=L;i.rE||i.eE||(y+=t),k+=b();do L.cN&&(k+=""),B+=L.r,L=L.parent;while(L!=a.parent);return i.eE&&(k+=n(t)),y="",a.starts&&v(a.starts,""),i.rE?0:t.length}if(f(t,L))throw new Error('Illegal lexeme "'+t+'" for mode "'+(L.cN||"")+'"');return y+=t,t.length||1}var E=N(e);if(!E)throw new Error('Unknown language: "'+e+'"');c(E);var R,L=i||E,M={},k="";for(R=L;R!=E;R=R.parent)R.cN&&(k=p(R.cN,"",!0)+k);var y="",B=0;try{for(var C,j,I=0;;){if(L.t.lastIndex=I,C=L.t.exec(t),!C)break;j=m(t.substr(I,C.index-I),C[0]),I=C.index+j}for(m(t.substr(I)),R=L;R.parent;R=R.parent)R.cN&&(k+="");return{r:B,value:k,language:e,top:L}}catch(S){if(-1!=S.message.indexOf("Illegal"))return{r:0,value:n(t)};throw S}}function l(e,t){t=t||x.languages||Object.keys(w);var r={r:0,value:n(e)},a=r;return t.forEach(function(n){if(N(n)){var t=s(n,e,!1);t.language=n,t.r>a.r&&(a=t),t.r>r.r&&(a=r,r=t)}}),a.language&&(r.second_best=a),r}function f(e){return x.tabReplace&&(e=e.replace(/^((<[^>]+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,x.tabReplace)})),x.useBR&&(e=e.replace(/\n/g,"
")),e}function g(e,n,t){var r=n?E[n]:t,a=[e.trim()];return e.match(/\bhljs\b/)||a.push("hljs"),-1===e.indexOf(r)&&a.push(r),a.join(" ").trim()}function p(e){var n=a(e);if(!/no(-?)highlight|plain|text/.test(n)){var t;x.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):t=e;var r=t.textContent,i=n?s(n,r,!0):l(r),c=o(t);if(c.length){var p=document.createElementNS("http://www.w3.org/1999/xhtml","div");p.innerHTML=i.value,i.value=u(c,o(p),r)}i.value=f(i.value),e.innerHTML=i.value,e.className=g(e.className,n,i.language),e.result={language:i.language,re:i.r},i.second_best&&(e.second_best={language:i.second_best.language,re:i.second_best.r})}}function d(e){x=i(x,e)}function h(){if(!h.called){h.called=!0;var e=document.querySelectorAll("pre code");Array.prototype.forEach.call(e,p)}}function b(){addEventListener("DOMContentLoaded",h,!1),addEventListener("load",h,!1)}function v(n,t){var r=w[n]=t(e);r.aliases&&r.aliases.forEach(function(e){E[e]=n})}function m(){return Object.keys(w)}function N(e){return w[e]||w[E[e]]}var x={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0},w={},E={};return e.highlight=s,e.highlightAuto=l,e.fixMarkup=f,e.highlightBlock=p,e.configure=d,e.initHighlighting=h,e.initHighlightingOnLoad=b,e.registerLanguage=v,e.listLanguages=m,e.getLanguage=N,e.inherit=i,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="\\b(0[xX][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/},e.C=function(n,t,r){var a=e.inherit({cN:"comment",b:n,e:t,c:[]},r||{});return a.c.push(e.PWM),a},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e});hljs.registerLanguage("objectivec",function(e){var t={cN:"built_in",b:"(AV|CA|CF|CG|CI|MK|MP|NS|UI)\\w+"},i={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"BOOL dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"},o=/[a-zA-Z@][a-zA-Z0-9_]*/,n="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:i,l:o,i:""}]}]},{cN:"class",b:"("+n.split(" ").join("|")+")\\b",e:"({|$)",eE:!0,k:n,l:o,c:[e.UTM]},{cN:"variable",b:"\\."+e.UIR,r:0}]}});hljs.registerLanguage("sql",function(e){var t=e.C("--","$");return{cI:!0,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup revoke",e:/;/,eW:!0,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[e.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[e.BE]},e.CNM,e.CBCM,t]},e.CBCM,t]}});hljs.registerLanguage("javascript",function(e){return{aliases:["js"],k:{keyword:"in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as await",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise"},c:[{cN:"pi",r:10,v:[{b:/^\s*('|")use strict('|")/},{b:/^\s*('|")use asm('|")/}]},e.ASM,e.QSM,{cN:"string",b:"`",e:"`",c:[e.BE,{cN:"subst",b:"\\$\\{",e:"\\}"}]},e.CLCM,e.CBCM,{cN:"number",b:"\\b(0[xXbBoO][a-fA-F0-9]+|(\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",r:0},{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/\s*[);\]]/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+e.IR,r:0},{bK:"import",e:"[;$]",k:"import from as",c:[e.ASM,e.QSM]},{cN:"class",bK:"class",e:/[{;=]/,eE:!0,i:/[:"\[\]]/,c:[{bK:"extends"},e.UTM]}]}});hljs.registerLanguage("scss",function(e){{var t="[a-zA-Z-][a-zA-Z0-9_-]*",i={cN:"variable",b:"(\\$"+t+")\\b"},r={cN:"function",b:t+"\\(",rB:!0,eE:!0,e:"\\("},o={cN:"hexcolor",b:"#[0-9A-Fa-f]+"};({cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:!0,i:"[^\\s]",starts:{cN:"value",eW:!0,eE:!0,c:[r,o,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"important",b:"!important"}]}})}return{cI:!0,i:"[=/|']",c:[e.CLCM,e.CBCM,r,{cN:"id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{cN:"pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{cN:"pseudo",b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},i,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background-blend-mode|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{cN:"value",b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{cN:"value",b:":",e:";",c:[r,i,o,e.CSSNM,e.QSM,e.ASM,{cN:"important",b:"!important"}]},{cN:"at_rule",b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[r,i,e.QSM,e.ASM,o,e.CSSNM,{cN:"preprocessor",b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("mel",function(e){return{k:"int float string vector matrix if else switch case default while do for in break continue global proc return about abs addAttr addAttributeEditorNodeHelp addDynamic addNewShelfTab addPP addPanelCategory addPrefixToName advanceToNextDrivenKey affectedNet affects aimConstraint air alias aliasAttr align alignCtx alignCurve alignSurface allViewFit ambientLight angle angleBetween animCone animCurveEditor animDisplay animView annotate appendStringArray applicationName applyAttrPreset applyTake arcLenDimContext arcLengthDimension arclen arrayMapper art3dPaintCtx artAttrCtx artAttrPaintVertexCtx artAttrSkinPaintCtx artAttrTool artBuildPaintMenu artFluidAttrCtx artPuttyCtx artSelectCtx artSetPaintCtx artUserPaintCtx assignCommand assignInputDevice assignViewportFactories attachCurve attachDeviceAttr attachSurface attrColorSliderGrp attrCompatibility attrControlGrp attrEnumOptionMenu attrEnumOptionMenuGrp attrFieldGrp attrFieldSliderGrp attrNavigationControlGrp attrPresetEditWin attributeExists attributeInfo attributeMenu attributeQuery autoKeyframe autoPlace bakeClip bakeFluidShading bakePartialHistory bakeResults bakeSimulation basename basenameEx batchRender bessel bevel bevelPlus binMembership bindSkin blend2 blendShape blendShapeEditor blendShapePanel blendTwoAttr blindDataType boneLattice boundary boxDollyCtx boxZoomCtx bufferCurve buildBookmarkMenu buildKeyframeMenu button buttonManip CBG cacheFile cacheFileCombine cacheFileMerge cacheFileTrack camera cameraView canCreateManip canvas capitalizeString catch catchQuiet ceil changeSubdivComponentDisplayLevel changeSubdivRegion channelBox character characterMap characterOutlineEditor characterize chdir checkBox checkBoxGrp checkDefaultRenderGlobals choice circle circularFillet clamp clear clearCache clip clipEditor clipEditorCurrentTimeCtx clipSchedule clipSchedulerOutliner clipTrimBefore closeCurve closeSurface cluster cmdFileOutput cmdScrollFieldExecuter cmdScrollFieldReporter cmdShell coarsenSubdivSelectionList collision color colorAtPoint colorEditor colorIndex colorIndexSliderGrp colorSliderButtonGrp colorSliderGrp columnLayout commandEcho commandLine commandPort compactHairSystem componentEditor compositingInterop computePolysetVolume condition cone confirmDialog connectAttr connectControl connectDynamic connectJoint connectionInfo constrain constrainValue constructionHistory container containsMultibyte contextInfo control convertFromOldLayers convertIffToPsd convertLightmap convertSolidTx convertTessellation convertUnit copyArray copyFlexor copyKey copySkinWeights cos cpButton cpCache cpClothSet cpCollision cpConstraint cpConvClothToMesh cpForces cpGetSolverAttr cpPanel cpProperty cpRigidCollisionFilter cpSeam cpSetEdit cpSetSolverAttr cpSolver cpSolverTypes cpTool cpUpdateClothUVs createDisplayLayer createDrawCtx createEditor createLayeredPsdFile createMotionField createNewShelf createNode createRenderLayer createSubdivRegion cross crossProduct ctxAbort ctxCompletion ctxEditMode ctxTraverse currentCtx currentTime currentTimeCtx currentUnit curve curveAddPtCtx curveCVCtx curveEPCtx curveEditorCtx curveIntersect curveMoveEPCtx curveOnSurface curveSketchCtx cutKey cycleCheck cylinder dagPose date defaultLightListCheckBox defaultNavigation defineDataServer defineVirtualDevice deformer deg_to_rad delete deleteAttr deleteShadingGroupsAndMaterials deleteShelfTab deleteUI deleteUnusedBrushes delrandstr detachCurve detachDeviceAttr detachSurface deviceEditor devicePanel dgInfo dgdirty dgeval dgtimer dimWhen directKeyCtx directionalLight dirmap dirname disable disconnectAttr disconnectJoint diskCache displacementToPoly displayAffected displayColor displayCull displayLevelOfDetail displayPref displayRGBColor displaySmoothness displayStats displayString displaySurface distanceDimContext distanceDimension doBlur dolly dollyCtx dopeSheetEditor dot dotProduct doubleProfileBirailSurface drag dragAttrContext draggerContext dropoffLocator duplicate duplicateCurve duplicateSurface dynCache dynControl dynExport dynExpression dynGlobals dynPaintEditor dynParticleCtx dynPref dynRelEdPanel dynRelEditor dynamicLoad editAttrLimits editDisplayLayerGlobals editDisplayLayerMembers editRenderLayerAdjustment editRenderLayerGlobals editRenderLayerMembers editor editorTemplate effector emit emitter enableDevice encodeString endString endsWith env equivalent equivalentTol erf error eval evalDeferred evalEcho event exactWorldBoundingBox exclusiveLightCheckBox exec executeForEachObject exists exp expression expressionEditorListen extendCurve extendSurface extrude fcheck fclose feof fflush fgetline fgetword file fileBrowserDialog fileDialog fileExtension fileInfo filetest filletCurve filter filterCurve filterExpand filterStudioImport findAllIntersections findAnimCurves findKeyframe findMenuItem findRelatedSkinCluster finder firstParentOf fitBspline flexor floatEq floatField floatFieldGrp floatScrollBar floatSlider floatSlider2 floatSliderButtonGrp floatSliderGrp floor flow fluidCacheInfo fluidEmitter fluidVoxelInfo flushUndo fmod fontDialog fopen formLayout format fprint frameLayout fread freeFormFillet frewind fromNativePath fwrite gamma gauss geometryConstraint getApplicationVersionAsFloat getAttr getClassification getDefaultBrush getFileList getFluidAttr getInputDeviceRange getMayaPanelTypes getModifiers getPanel getParticleAttr getPluginResource getenv getpid glRender glRenderEditor globalStitch gmatch goal gotoBindPose grabColor gradientControl gradientControlNoAttr graphDollyCtx graphSelectContext graphTrackCtx gravity grid gridLayout group groupObjectsByName HfAddAttractorToAS HfAssignAS HfBuildEqualMap HfBuildFurFiles HfBuildFurImages HfCancelAFR HfConnectASToHF HfCreateAttractor HfDeleteAS HfEditAS HfPerformCreateAS HfRemoveAttractorFromAS HfSelectAttached HfSelectAttractors HfUnAssignAS hardenPointCurve hardware hardwareRenderPanel headsUpDisplay headsUpMessage help helpLine hermite hide hilite hitTest hotBox hotkey hotkeyCheck hsv_to_rgb hudButton hudSlider hudSliderButton hwReflectionMap hwRender hwRenderLoad hyperGraph hyperPanel hyperShade hypot iconTextButton iconTextCheckBox iconTextRadioButton iconTextRadioCollection iconTextScrollList iconTextStaticLabel ikHandle ikHandleCtx ikHandleDisplayScale ikSolver ikSplineHandleCtx ikSystem ikSystemInfo ikfkDisplayMethod illustratorCurves image imfPlugins inheritTransform insertJoint insertJointCtx insertKeyCtx insertKnotCurve insertKnotSurface instance instanceable instancer intField intFieldGrp intScrollBar intSlider intSliderGrp interToUI internalVar intersect iprEngine isAnimCurve isConnected isDirty isParentOf isSameObject isTrue isValidObjectName isValidString isValidUiName isolateSelect itemFilter itemFilterAttr itemFilterRender itemFilterType joint jointCluster jointCtx jointDisplayScale jointLattice keyTangent keyframe keyframeOutliner keyframeRegionCurrentTimeCtx keyframeRegionDirectKeyCtx keyframeRegionDollyCtx keyframeRegionInsertKeyCtx keyframeRegionMoveKeyCtx keyframeRegionScaleKeyCtx keyframeRegionSelectKeyCtx keyframeRegionSetKeyCtx keyframeRegionTrackCtx keyframeStats lassoContext lattice latticeDeformKeyCtx launch launchImageEditor layerButton layeredShaderPort layeredTexturePort layout layoutDialog lightList lightListEditor lightListPanel lightlink lineIntersection linearPrecision linstep listAnimatable listAttr listCameras listConnections listDeviceAttachments listHistory listInputDeviceAxes listInputDeviceButtons listInputDevices listMenuAnnotation listNodeTypes listPanelCategories listRelatives listSets listTransforms listUnselected listerEditor loadFluid loadNewShelf loadPlugin loadPluginLanguageResources loadPrefObjects localizedPanelLabel lockNode loft log longNameOf lookThru ls lsThroughFilter lsType lsUI Mayatomr mag makeIdentity makeLive makePaintable makeRoll makeSingleSurface makeTubeOn makebot manipMoveContext manipMoveLimitsCtx manipOptions manipRotateContext manipRotateLimitsCtx manipScaleContext manipScaleLimitsCtx marker match max memory menu menuBarLayout menuEditor menuItem menuItemToShelf menuSet menuSetPref messageLine min minimizeApp mirrorJoint modelCurrentTimeCtx modelEditor modelPanel mouse movIn movOut move moveIKtoFK moveKeyCtx moveVertexAlongDirection multiProfileBirailSurface mute nParticle nameCommand nameField namespace namespaceInfo newPanelItems newton nodeCast nodeIconButton nodeOutliner nodePreset nodeType noise nonLinear normalConstraint normalize nurbsBoolean nurbsCopyUVSet nurbsCube nurbsEditUV nurbsPlane nurbsSelect nurbsSquare nurbsToPoly nurbsToPolygonsPref nurbsToSubdiv nurbsToSubdivPref nurbsUVSet nurbsViewDirectionVector objExists objectCenter objectLayer objectType objectTypeUI obsoleteProc oceanNurbsPreviewPlane offsetCurve offsetCurveOnSurface offsetSurface openGLExtension openMayaPref optionMenu optionMenuGrp optionVar orbit orbitCtx orientConstraint outlinerEditor outlinerPanel overrideModifier paintEffectsDisplay pairBlend palettePort paneLayout panel panelConfiguration panelHistory paramDimContext paramDimension paramLocator parent parentConstraint particle particleExists particleInstancer particleRenderInfo partition pasteKey pathAnimation pause pclose percent performanceOptions pfxstrokes pickWalk picture pixelMove planarSrf plane play playbackOptions playblast plugAttr plugNode pluginInfo pluginResourceUtil pointConstraint pointCurveConstraint pointLight pointMatrixMult pointOnCurve pointOnSurface pointPosition poleVectorConstraint polyAppend polyAppendFacetCtx polyAppendVertex polyAutoProjection polyAverageNormal polyAverageVertex polyBevel polyBlendColor polyBlindData polyBoolOp polyBridgeEdge polyCacheMonitor polyCheck polyChipOff polyClipboard polyCloseBorder polyCollapseEdge polyCollapseFacet polyColorBlindData polyColorDel polyColorPerVertex polyColorSet polyCompare polyCone polyCopyUV polyCrease polyCreaseCtx polyCreateFacet polyCreateFacetCtx polyCube polyCut polyCutCtx polyCylinder polyCylindricalProjection polyDelEdge polyDelFacet polyDelVertex polyDuplicateAndConnect polyDuplicateEdge polyEditUV polyEditUVShell polyEvaluate polyExtrudeEdge polyExtrudeFacet polyExtrudeVertex polyFlipEdge polyFlipUV polyForceUV polyGeoSampler polyHelix polyInfo polyInstallAction polyLayoutUV polyListComponentConversion polyMapCut polyMapDel polyMapSew polyMapSewMove polyMergeEdge polyMergeEdgeCtx polyMergeFacet polyMergeFacetCtx polyMergeUV polyMergeVertex polyMirrorFace polyMoveEdge polyMoveFacet polyMoveFacetUV polyMoveUV polyMoveVertex polyNormal polyNormalPerVertex polyNormalizeUV polyOptUvs polyOptions polyOutput polyPipe polyPlanarProjection polyPlane polyPlatonicSolid polyPoke polyPrimitive polyPrism polyProjection polyPyramid polyQuad polyQueryBlindData polyReduce polySelect polySelectConstraint polySelectConstraintMonitor polySelectCtx polySelectEditCtx polySeparate polySetToFaceNormal polySewEdge polyShortestPathCtx polySmooth polySoftEdge polySphere polySphericalProjection polySplit polySplitCtx polySplitEdge polySplitRing polySplitVertex polyStraightenUVBorder polySubdivideEdge polySubdivideFacet polyToSubdiv polyTorus polyTransfer polyTriangulate polyUVSet polyUnite polyWedgeFace popen popupMenu pose pow preloadRefEd print progressBar progressWindow projFileViewer projectCurve projectTangent projectionContext projectionManip promptDialog propModCtx propMove psdChannelOutliner psdEditTextureFile psdExport psdTextureFile putenv pwd python querySubdiv quit rad_to_deg radial radioButton radioButtonGrp radioCollection radioMenuItemCollection rampColorPort rand randomizeFollicles randstate rangeControl readTake rebuildCurve rebuildSurface recordAttr recordDevice redo reference referenceEdit referenceQuery refineSubdivSelectionList refresh refreshAE registerPluginResource rehash reloadImage removeJoint removeMultiInstance removePanelCategory rename renameAttr renameSelectionList renameUI render renderGlobalsNode renderInfo renderLayerButton renderLayerParent renderLayerPostProcess renderLayerUnparent renderManip renderPartition renderQualityNode renderSettings renderThumbnailUpdate renderWindowEditor renderWindowSelectContext renderer reorder reorderDeformers requires reroot resampleFluid resetAE resetPfxToPolyCamera resetTool resolutionNode retarget reverseCurve reverseSurface revolve rgb_to_hsv rigidBody rigidSolver roll rollCtx rootOf rot rotate rotationInterpolation roundConstantRadius rowColumnLayout rowLayout runTimeCommand runup sampleImage saveAllShelves saveAttrPreset saveFluid saveImage saveInitialState saveMenu savePrefObjects savePrefs saveShelf saveToolSettings scale scaleBrushBrightness scaleComponents scaleConstraint scaleKey scaleKeyCtx sceneEditor sceneUIReplacement scmh scriptCtx scriptEditorInfo scriptJob scriptNode scriptTable scriptToShelf scriptedPanel scriptedPanelType scrollField scrollLayout sculpt searchPathArray seed selLoadSettings select selectContext selectCurveCV selectKey selectKeyCtx selectKeyframeRegionCtx selectMode selectPref selectPriority selectType selectedNodes selectionConnection separator setAttr setAttrEnumResource setAttrMapping setAttrNiceNameResource setConstraintRestPosition setDefaultShadingGroup setDrivenKeyframe setDynamic setEditCtx setEditor setFluidAttr setFocus setInfinity setInputDeviceMapping setKeyCtx setKeyPath setKeyframe setKeyframeBlendshapeTargetWts setMenuMode setNodeNiceNameResource setNodeTypeFlag setParent setParticleAttr setPfxToPolyCamera setPluginResource setProject setStampDensity setStartupMessage setState setToolTo setUITemplate setXformManip sets shadingConnection shadingGeometryRelCtx shadingLightRelCtx shadingNetworkCompare shadingNode shapeCompare shelfButton shelfLayout shelfTabLayout shellField shortNameOf showHelp showHidden showManipCtx showSelectionInTitle showShadingGroupAttrEditor showWindow sign simplify sin singleProfileBirailSurface size sizeBytes skinCluster skinPercent smoothCurve smoothTangentSurface smoothstep snap2to2 snapKey snapMode snapTogetherCtx snapshot soft softMod softModCtx sort sound soundControl source spaceLocator sphere sphrand spotLight spotLightPreviewPort spreadSheetEditor spring sqrt squareSurface srtContext stackTrace startString startsWith stitchAndExplodeShell stitchSurface stitchSurfacePoints strcmp stringArrayCatenate stringArrayContains stringArrayCount stringArrayInsertAtIndex stringArrayIntersector stringArrayRemove stringArrayRemoveAtIndex stringArrayRemoveDuplicates stringArrayRemoveExact stringArrayToString stringToStringArray strip stripPrefixFromName stroke subdAutoProjection subdCleanTopology subdCollapse subdDuplicateAndConnect subdEditUV subdListComponentConversion subdMapCut subdMapSewMove subdMatchTopology subdMirror subdToBlind subdToPoly subdTransferUVsToCache subdiv subdivCrease subdivDisplaySmoothness substitute substituteAllString substituteGeometry substring surface surfaceSampler surfaceShaderList swatchDisplayPort switchTable symbolButton symbolCheckBox sysFile system tabLayout tan tangentConstraint texLatticeDeformContext texManipContext texMoveContext texMoveUVShellContext texRotateContext texScaleContext texSelectContext texSelectShortestPathCtx texSmudgeUVContext texWinToolCtx text textCurves textField textFieldButtonGrp textFieldGrp textManip textScrollList textToShelf textureDisplacePlane textureHairColor texturePlacementContext textureWindow threadCount threePointArcCtx timeControl timePort timerX toNativePath toggle toggleAxis toggleWindowVisibility tokenize tokenizeList tolerance tolower toolButton toolCollection toolDropped toolHasOptions toolPropertyWindow torus toupper trace track trackCtx transferAttributes transformCompare transformLimits translator trim trunc truncateFluidCache truncateHairCache tumble tumbleCtx turbulence twoPointArcCtx uiRes uiTemplate unassignInputDevice undo undoInfo ungroup uniform unit unloadPlugin untangleUV untitledFileName untrim upAxis updateAE userCtx uvLink uvSnapshot validateShelfName vectorize view2dToolCtx viewCamera viewClipPlane viewFit viewHeadOn viewLookAt viewManip viewPlace viewSet visor volumeAxis vortex waitCursor warning webBrowser webBrowserPrefs whatIs window windowPref wire wireContext workspace wrinkle wrinkleContext writeTake xbmLangPathList xform",i:"",o={cN:"params",b:"\\([^\\(]",rB:!0,c:[{b:/\(/,e:/\)/,k:c,c:["self"].concat(r)}]};return{aliases:["coffee","cson","iced"],k:c,i:/\/\*/,c:r.concat([e.C("###","###"),e.HCM,{cN:"function",b:"^\\s*"+n+"\\s*=\\s*"+s,e:"[-=]>",rB:!0,c:[i,o]},{b:/[:\(,=]\s*/,r:0,c:[{cN:"function",b:s,e:"[-=]>",rB:!0,c:[o]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:n+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("tex",function(c){var e={cN:"command",b:"\\\\[a-zA-Zа-яА-я]+[\\*]?"},m={cN:"command",b:"\\\\[^a-zA-Zа-яА-я0-9]"},r={cN:"special",b:"[{}\\[\\]\\&#~]",r:0};return{c:[{b:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",rB:!0,c:[e,m,{cN:"number",b:" *=",e:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",eB:!0}],r:10},e,m,r,{cN:"formula",b:"\\$\\$",e:"\\$\\$",c:[e,m,r],r:0},{cN:"formula",b:"\\$",e:"\\$",c:[e,m,r],r:0},c.C("%","$",{r:0})]}});hljs.registerLanguage("go",function(e){var t={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:t,i:"",sL:"vbscript"}]}});hljs.registerLanguage("haskell",function(e){var c=[e.C("--","$"),e.C("{-","-}",{c:["self"]})],a={cN:"pragma",b:"{-#",e:"#-}"},i={cN:"preprocessor",b:"^#",e:"$"},n={cN:"type",b:"\\b[A-Z][\\w']*",r:0},t={cN:"container",b:"\\(",e:"\\)",i:'"',c:[a,i,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},e.inherit(e.TM,{b:"[_a-z][\\w']*"})].concat(c)},l={cN:"container",b:"{",e:"}",c:t.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{cN:"module",b:"\\bmodule\\b",e:"where",k:"module where",c:[t].concat(c),i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e:"$",k:"import|0 qualified as hiding",c:[t].concat(c),i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[n,t].concat(c)},{cN:"typedef",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[a,n,t,l].concat(c)},{cN:"default",bK:"default",e:"$",c:[n,t].concat(c)},{cN:"infix",bK:"infix infixl infixr",e:"$",c:[e.CNM].concat(c)},{cN:"foreign",b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[n,e.QSM].concat(c)},{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},a,i,e.QSM,e.CNM,n,e.inherit(e.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}].concat(c)}});hljs.registerLanguage("scilab",function(e){var n=[e.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[e.BE,{b:"''"}]}];return{aliases:["sci"],k:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function endfunction",e:"$",k:"function endfunction|10",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",r:0,c:n},e.C("//","$")].concat(n)}});hljs.registerLanguage("profile",function(e){return{c:[e.CNM,{cN:"built_in",b:"{",e:"}$",eB:!0,eE:!0,c:[e.ASM,e.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:!0},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[e.CNM],r:10},e.ASM,e.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[e.UTM],r:0}]}});hljs.registerLanguage("thrift",function(e){var t="bool byte i16 i32 i64 double string binary";return{k:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:t,literal:"true false"},c:[e.QSM,e.NM,e.CLCM,e.CBCM,{cN:"class",bK:"struct enum service exception",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{b:"\\b(set|list|map)\\s*<",e:">",k:t,c:["self"]}]}});hljs.registerLanguage("matlab",function(e){var a=[e.CNM,{cN:"string",b:"'",e:"'",c:[e.BE,{b:"''"}]}],s={r:0,c:[{cN:"operator",b:/'['\.]*/}]};return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{b:/[a-zA-Z_][a-zA-Z_0-9]*'['\.]*/,rB:!0,r:0,c:[{b:/[a-zA-Z_][a-zA-Z_0-9]*/,r:0},s.c[0]]},{cN:"matrix",b:"\\[",e:"\\]",c:a,r:0,starts:s},{cN:"cell",b:"\\{",e:/}/,c:a,r:0,starts:s},{b:/\)/,r:0,starts:s},e.C("^\\s*\\%\\{\\s*$","^\\s*\\%\\}\\s*$"),e.C("\\%","$")].concat(a)}});hljs.registerLanguage("vbscript",function(e){return{aliases:["vbs"],cI:!0,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C(/'/,/$/,{r:0}),e.CNM]}});hljs.registerLanguage("capnproto",function(t){return{aliases:["capnp"],k:{keyword:"struct enum interface union group import using const annotation extends in of on as with from fixed",built_in:"Void Bool Int8 Int16 Int32 Int64 UInt8 UInt16 UInt32 UInt64 Float32 Float64 Text Data AnyPointer AnyStruct Capability List",literal:"true false"},c:[t.QSM,t.NM,t.HCM,{cN:"shebang",b:/@0x[\w\d]{16};/,i:/\n/},{cN:"number",b:/@\d+\b/},{cN:"class",bK:"struct enum",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]},{cN:"class",bK:"interface",e:/\{/,i:/\n/,c:[t.inherit(t.TM,{starts:{eW:!0,eE:!0}})]}]}});hljs.registerLanguage("xl",function(e){var t="ObjectLoader Animate MovieCredits Slides Filters Shading Materials LensFlare Mapping VLCAudioVideo StereoDecoder PointCloud NetworkAccess RemoteControl RegExp ChromaKey Snowfall NodeJS Speech Charts",o={keyword:"if then else do while until for loop import with is as where when by data constant",literal:"true false nil",type:"integer real text name boolean symbol infix prefix postfix block tree",built_in:"in mod rem and or xor not abs sign floor ceil sqrt sin cos tan asin acos atan exp expm1 log log2 log10 log1p pi at",module:t,id:"text_length text_range text_find text_replace contains page slide basic_slide title_slide title subtitle fade_in fade_out fade_at clear_color color line_color line_width texture_wrap texture_transform texture scale_?x scale_?y scale_?z? translate_?x translate_?y translate_?z? rotate_?x rotate_?y rotate_?z? rectangle circle ellipse sphere path line_to move_to quad_to curve_to theme background contents locally time mouse_?x mouse_?y mouse_buttons"},a={cN:"constant",b:"[A-Z][A-Z_0-9]+",r:0},r={cN:"variable",b:"([A-Z][a-z_0-9]+)+",r:0},i={cN:"id",b:"[a-z][a-z_0-9]+",r:0},l={cN:"string",b:'"',e:'"',i:"\\n"},n={cN:"string",b:"'",e:"'",i:"\\n"},s={cN:"string",b:"<<",e:">>"},c={cN:"number",b:"[0-9]+#[0-9A-Z_]+(\\.[0-9-A-Z_]+)?#?([Ee][+-]?[0-9]+)?",r:10},_={cN:"import",bK:"import",e:"$",k:{keyword:"import",module:t},r:0,c:[l]},d={cN:"function",b:"[a-z].*->"};return{aliases:["tao"],l:/[a-zA-Z][a-zA-Z0-9_?]*/,k:o,c:[e.CLCM,e.CBCM,l,n,s,d,_,a,r,i,c,e.NM]}});hljs.registerLanguage("scala",function(e){var t={cN:"annotation",b:"@[A-Za-z]+"},a={cN:"string",b:'u?r?"""',e:'"""',r:10},r={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"},c={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},i={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0},l={cN:"class",bK:"class object trait type",e:/[:={\[(\n;]/,c:[{cN:"keyword",bK:"extends with",r:10},i]},n={cN:"function",bK:"def val",e:/[:={\[(\n;]/,c:[i]};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[e.CLCM,e.CBCM,a,e.QSM,r,c,n,l,e.CNM,t]}});hljs.registerLanguage("elixir",function(e){var n="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?",r="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",b="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote",c={cN:"subst",b:"#\\{",e:"}",l:n,k:b},a={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},i={cN:"function",bK:"def defp defmacro",e:/\B\b/,c:[e.inherit(e.TM,{b:n,endsParent:!0})]},s=e.inherit(i,{cN:"class",bK:"defmodule defrecord",e:/\bdo\b|$|;/}),l=[a,e.HCM,s,i,{cN:"constant",b:"(\\b[A-Z_]\\w*(.)?)+",r:0},{cN:"symbol",b:":",c:[a,{b:r}],r:0},{cN:"symbol",b:n+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];return c.c=l,{l:n,k:b,c:l}});hljs.registerLanguage("sml",function(e){return{aliases:["ml"],k:{keyword:"abstype and andalso as case datatype do else end eqtype exception fn fun functor handle if in include infix infixr let local nonfix of op open orelse raise rec sharing sig signature struct structure then type val with withtype where while",built_in:"array bool char exn int list option order real ref string substring vector unit word",literal:"true false NONE SOME LESS EQUAL GREATER nil"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)"},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"tag",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"char",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("apache",function(e){var r={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"tag",b:""},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",r]},r,e.QSM]}}],i:/\S/}});hljs.registerLanguage("dockerfile",function(n){return{aliases:["docker"],cI:!0,k:{built_ins:"from maintainer cmd expose add copy entrypoint volume user workdir onbuild run env"},c:[n.HCM,{k:{built_in:"run cmd entrypoint volume add copy workdir onbuild"},b:/^ *(onbuild +)?(run|cmd|entrypoint|volume|add|copy|workdir) +/,starts:{e:/[^\\]\n/,sL:"bash",subLanguageMode:"continuous"}},{k:{built_in:"from maintainer expose env user onbuild"},b:/^ *(onbuild +)?(from|maintainer|expose|env|user|onbuild) +/,e:/[^\\]\n/,c:[n.ASM,n.QSM,n.NM,n.HCM]}]}});hljs.registerLanguage("markdown",function(e){return{aliases:["md","mkdown","mkd"],c:[{cN:"header",v:[{b:"^#{1,6}",e:"$"},{b:"^.+?\\n[=-]{2,}$"}]},{b:"<",e:">",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}| )",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:!0,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:!0,rE:!0,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:!0,eE:!0},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:!0,eE:!0}],r:10},{b:"^\\[.+\\]:",rB:!0,c:[{cN:"link_reference",b:"\\[",e:"\\]:",eB:!0,eE:!0,starts:{cN:"link_url",e:"$"}}]}]}});hljs.registerLanguage("haml",function(s){return{cI:!0,c:[{cN:"doctype",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},s.C("^\\s*(!=#|=#|-#|/).*$",!1,{r:0}),{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"title",b:"\\w+"},{cN:"value",b:"[#\\.]\\w+"},{b:"{\\s*",e:"\\s*}",eE:!0,c:[{b:":\\w+\\s*=>",e:",\\s+",rB:!0,eW:!0,c:[{cN:"symbol",b:":\\w+"},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:!0,c:[{b:"\\w+\\s*=",e:"\\s+",rB:!0,eW:!0,c:[{cN:"attribute",b:"\\w+",r:0},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]}]},{cN:"bullet",b:"^\\s*[=~]\\s*",r:0},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("fortran",function(e){var t={cN:"params",b:"\\(",e:"\\)"},n={constant:".False. .True.",type:"integer real character complex logical dimension allocatable|10 parameter external implicit|10 none double precision assign intent optional pointer target in out common equivalence data",keyword:"kind do while private call intrinsic where elsewhere type endtype endmodule endselect endinterface end enddo endif if forall endforall only contains default return stop then public subroutine|10 function program .and. .or. .not. .le. .eq. .ge. .gt. .lt. goto save else use module select case access blank direct exist file fmt form formatted iostat name named nextrec number opened rec recl sequential status unformatted unit continue format pause cycle exit c_null_char c_alert c_backspace c_form_feed flush wait decimal round iomsg synchronous nopass non_overridable pass protected volatile abstract extends import non_intrinsic value deferred generic final enumerator class associate bind enum c_int c_short c_long c_long_long c_signed_char c_size_t c_int8_t c_int16_t c_int32_t c_int64_t c_int_least8_t c_int_least16_t c_int_least32_t c_int_least64_t c_int_fast8_t c_int_fast16_t c_int_fast32_t c_int_fast64_t c_intmax_t C_intptr_t c_float c_double c_long_double c_float_complex c_double_complex c_long_double_complex c_bool c_char c_null_ptr c_null_funptr c_new_line c_carriage_return c_horizontal_tab c_vertical_tab iso_c_binding c_loc c_funloc c_associated c_f_pointer c_ptr c_funptr iso_fortran_env character_storage_size error_unit file_storage_size input_unit iostat_end iostat_eor numeric_storage_size output_unit c_f_procpointer ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode newunit contiguous pad position action delim readwrite eor advance nml interface procedure namelist include sequence elemental pure",built_in:"alog alog10 amax0 amax1 amin0 amin1 amod cabs ccos cexp clog csin csqrt dabs dacos dasin datan datan2 dcos dcosh ddim dexp dint dlog dlog10 dmax1 dmin1 dmod dnint dsign dsin dsinh dsqrt dtan dtanh float iabs idim idint idnint ifix isign max0 max1 min0 min1 sngl algama cdabs cdcos cdexp cdlog cdsin cdsqrt cqabs cqcos cqexp cqlog cqsin cqsqrt dcmplx dconjg derf derfc dfloat dgamma dimag dlgama iqint qabs qacos qasin qatan qatan2 qcmplx qconjg qcos qcosh qdim qerf qerfc qexp qgamma qimag qlgama qlog qlog10 qmax1 qmin1 qmod qnint qsign qsin qsinh qsqrt qtan qtanh abs acos aimag aint anint asin atan atan2 char cmplx conjg cos cosh exp ichar index int log log10 max min nint sign sin sinh sqrt tan tanh print write dim lge lgt lle llt mod nullify allocate deallocate adjustl adjustr all allocated any associated bit_size btest ceiling count cshift date_and_time digits dot_product eoshift epsilon exponent floor fraction huge iand ibclr ibits ibset ieor ior ishft ishftc lbound len_trim matmul maxexponent maxloc maxval merge minexponent minloc minval modulo mvbits nearest pack present product radix random_number random_seed range repeat reshape rrspacing scale scan selected_int_kind selected_real_kind set_exponent shape size spacing spread sum system_clock tiny transpose trim ubound unpack verify achar iachar transfer dble entry dprod cpu_time command_argument_count get_command get_command_argument get_environment_variable is_iostat_end ieee_arithmetic ieee_support_underflow_control ieee_get_underflow_mode ieee_set_underflow_mode is_iostat_eor move_alloc new_line selected_char_kind same_type_as extends_type_ofacosh asinh atanh bessel_j0 bessel_j1 bessel_jn bessel_y0 bessel_y1 bessel_yn erf erfc erfc_scaled gamma log_gamma hypot norm2 atomic_define atomic_ref execute_command_line leadz trailz storage_size merge_bits bge bgt ble blt dshiftl dshiftr findloc iall iany iparity image_index lcobound ucobound maskl maskr num_images parity popcnt poppar shifta shiftl shiftr this_image"};return{cI:!0,aliases:["f90","f95"],k:n,c:[e.inherit(e.ASM,{cN:"string",r:0}),e.inherit(e.QSM,{cN:"string",r:0}),{cN:"function",bK:"subroutine function program",i:"[${=\\n]",c:[e.UTM,t]},e.C("!","$",{r:0}),{cN:"number",b:"(?=\\b|\\+|\\-|\\.)(?=\\.\\d|\\d)(?:\\d+)?(?:\\.?\\d*)(?:[de][+-]?\\d+)?\\b\\.?",r:0}]}});hljs.registerLanguage("smali",function(r){var t=["add","and","cmp","cmpg","cmpl","const","div","double","float","goto","if","int","long","move","mul","neg","new","nop","not","or","rem","return","shl","shr","sput","sub","throw","ushr","xor"],n=["aget","aput","array","check","execute","fill","filled","goto/16","goto/32","iget","instance","invoke","iput","monitor","packed","sget","sparse"],s=["transient","constructor","abstract","final","synthetic","public","private","protected","static","bridge","system"];return{aliases:["smali"],c:[{cN:"string",b:'"',e:'"',r:0},r.C("#","$",{r:0}),{cN:"keyword",b:"\\s*\\.end\\s[a-zA-Z0-9]*",r:1},{cN:"keyword",b:"^[ ]*\\.[a-zA-Z]*",r:0},{cN:"keyword",b:"\\s:[a-zA-Z_0-9]*",r:0},{cN:"keyword",b:"\\s("+s.join("|")+")",r:1},{cN:"keyword",b:"\\[",r:0},{cN:"instruction",b:"\\s("+t.join("|")+")\\s",r:1},{cN:"instruction",b:"\\s("+t.join("|")+")((\\-|/)[a-zA-Z0-9]+)+\\s",r:10},{cN:"instruction",b:"\\s("+n.join("|")+")((\\-|/)[a-zA-Z0-9]+)*\\s",r:10},{cN:"class",b:"L[^(;:\n]*;",r:0},{cN:"function",b:'( |->)[^(\n ;"]*\\(',r:0},{cN:"function",b:"\\)",r:0},{cN:"variable",b:"[vp][0-9]+",r:0}]}});hljs.registerLanguage("julia",function(r){var e={keyword:"in abstract baremodule begin bitstype break catch ccall const continue do else elseif end export finally for function global if immutable import importall let local macro module quote return try type typealias using while",literal:"true false ANY ARGS CPU_CORES C_NULL DL_LOAD_PATH DevNull ENDIAN_BOM ENV I|0 Inf Inf16 Inf32 InsertionSort JULIA_HOME LOAD_PATH MS_ASYNC MS_INVALIDATE MS_SYNC MergeSort NaN NaN16 NaN32 OS_NAME QuickSort RTLD_DEEPBIND RTLD_FIRST RTLD_GLOBAL RTLD_LAZY RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_NOW RoundDown RoundFromZero RoundNearest RoundToZero RoundUp STDERR STDIN STDOUT VERSION WORD_SIZE catalan cglobal e eu eulergamma golden im nothing pi γ π φ",built_in:"ASCIIString AbstractArray AbstractRNG AbstractSparseArray Any ArgumentError Array Associative Base64Pipe Bidiagonal BigFloat BigInt BitArray BitMatrix BitVector Bool BoundsError Box CFILE Cchar Cdouble Cfloat Char CharString Cint Clong Clonglong ClusterManager Cmd Coff_t Colon Complex Complex128 Complex32 Complex64 Condition Cptrdiff_t Cshort Csize_t Cssize_t Cuchar Cuint Culong Culonglong Cushort Cwchar_t DArray DataType DenseArray Diagonal Dict DimensionMismatch DirectIndexString Display DivideError DomainError EOFError EachLine Enumerate ErrorException Exception Expr Factorization FileMonitor FileOffset Filter Float16 Float32 Float64 FloatRange FloatingPoint Function GetfieldNode GotoNode Hermitian IO IOBuffer IOStream IPv4 IPv6 InexactError Int Int128 Int16 Int32 Int64 Int8 IntSet Integer InterruptException IntrinsicFunction KeyError LabelNode LambdaStaticData LineNumberNode LoadError LocalProcess MIME MathConst MemoryError MersenneTwister Method MethodError MethodTable Module NTuple NewvarNode Nothing Number ObjectIdDict OrdinalRange OverflowError ParseError PollingFileWatcher ProcessExitedException ProcessGroup Ptr QuoteNode Range Range1 Ranges Rational RawFD Real Regex RegexMatch RemoteRef RepString RevString RopeString RoundingMode Set SharedArray Signed SparseMatrixCSC StackOverflowError Stat StatStruct StepRange String SubArray SubString SymTridiagonal Symbol SymbolNode Symmetric SystemError Task TextDisplay Timer TmStruct TopNode Triangular Tridiagonal Type TypeConstructor TypeError TypeName TypeVar UTF16String UTF32String UTF8String UdpSocket Uint Uint128 Uint16 Uint32 Uint64 Uint8 UndefRefError UndefVarError UniformScaling UnionType UnitRange Unsigned Vararg VersionNumber WString WeakKeyDict WeakRef Woodbury Zip"},t="[A-Za-z_\\u00A1-\\uFFFF][A-Za-z_0-9\\u00A1-\\uFFFF]*",o={l:t,k:e},n={cN:"type-annotation",b:/::/},a={cN:"subtype",b:/<:/},i={cN:"number",b:/(\b0x[\d_]*(\.[\d_]*)?|0x\.\d[\d_]*)p[-+]?\d+|\b0[box][a-fA-F0-9][a-fA-F0-9_]*|(\b\d[\d_]*(\.[\d_]*)?|\.\d[\d_]*)([eEfF][-+]?\d+)?/,r:0},l={cN:"char",b:/'(.|\\[xXuU][a-zA-Z0-9]+)'/},c={cN:"subst",b:/\$\(/,e:/\)/,k:e},u={cN:"variable",b:"\\$"+t},d={cN:"string",c:[r.BE,c,u],v:[{b:/\w*"/,e:/"\w*/},{b:/\w*"""/,e:/"""\w*/}]},g={cN:"string",c:[r.BE,c,u],b:"`",e:"`"},s={cN:"macrocall",b:"@"+t},S={cN:"comment",v:[{b:"#=",e:"=#",r:10},{b:"#",e:"$"}]};return o.c=[i,l,n,a,d,g,s,S,r.HCM],c.c=o.c,o});hljs.registerLanguage("delphi",function(e){var r="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure",t=[e.CLCM,e.C(/\{/,/\}/,{r:0}),e.C(/\(\*/,/\*\)/,{r:10})],i={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]},c={cN:"string",b:/(#\d+)+/},o={b:e.IR+"\\s*=\\s*class\\s*\\(",rB:!0,c:[e.TM]},n={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[e.TM,{cN:"params",b:/\(/,e:/\)/,k:r,c:[i,c]}].concat(t)};return{cI:!0,k:r,i:/"|\$[G-Zg-z]|\/\*|<\/|\|/,c:[i,c,e.NM,o,n].concat(t)}});hljs.registerLanguage("brainfuck",function(r){var n={cN:"literal",b:"[\\+\\-]",r:0};return{aliases:["bf"],c:[r.C("[^\\[\\]\\.,\\+\\-<> \r\n]","[\\[\\]\\.,\\+\\-<> \r\n]",{rE:!0,r:0}),{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:!0,c:[n]},n]}});hljs.registerLanguage("ini",function(e){return{cI:!0,i:/\S/,c:[e.C(";","$"),{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:!0,k:"on off true false yes no",c:[e.QSM,e.NM],r:0}]}]}});hljs.registerLanguage("json",function(e){var t={literal:"true false null"},i=[e.QSM,e.CNM],l={cN:"value",e:",",eW:!0,eE:!0,c:i,k:t},c={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:!0,eE:!0,c:[e.BE],i:"\\n",starts:l}],i:"\\S"},n={b:"\\[",e:"\\]",c:[e.inherit(l,{cN:null})],i:"\\S"};return i.splice(i.length,0,c,n),{c:i,k:t,i:"\\S"}});hljs.registerLanguage("powershell",function(e){var t={b:"`[\\s\\S]",r:0},r={cN:"variable",v:[{b:/\$[\w\d][\w\d_:]*/}]},o={cN:"string",b:/"/,e:/"/,c:[t,r,{cN:"variable",b:/\$[A-z]/,e:/[^A-z]/}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["ps"],l:/-?[A-z\.\-]+/,cI:!0,k:{keyword:"if else foreach return function do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch",literal:"$null $true $false",built_in:"Add-Content Add-History Add-Member Add-PSSnapin Clear-Content Clear-Item Clear-Item Property Clear-Variable Compare-Object ConvertFrom-SecureString Convert-Path ConvertTo-Html ConvertTo-SecureString Copy-Item Copy-ItemProperty Export-Alias Export-Clixml Export-Console Export-Csv ForEach-Object Format-Custom Format-List Format-Table Format-Wide Get-Acl Get-Alias Get-AuthenticodeSignature Get-ChildItem Get-Command Get-Content Get-Credential Get-Culture Get-Date Get-EventLog Get-ExecutionPolicy Get-Help Get-History Get-Host Get-Item Get-ItemProperty Get-Location Get-Member Get-PfxCertificate Get-Process Get-PSDrive Get-PSProvider Get-PSSnapin Get-Service Get-TraceSource Get-UICulture Get-Unique Get-Variable Get-WmiObject Group-Object Import-Alias Import-Clixml Import-Csv Invoke-Expression Invoke-History Invoke-Item Join-Path Measure-Command Measure-Object Move-Item Move-ItemProperty New-Alias New-Item New-ItemProperty New-Object New-PSDrive New-Service New-TimeSpan New-Variable Out-Default Out-File Out-Host Out-Null Out-Printer Out-String Pop-Location Push-Location Read-Host Remove-Item Remove-ItemProperty Remove-PSDrive Remove-PSSnapin Remove-Variable Rename-Item Rename-ItemProperty Resolve-Path Restart-Service Resume-Service Select-Object Select-String Set-Acl Set-Alias Set-AuthenticodeSignature Set-Content Set-Date Set-ExecutionPolicy Set-Item Set-ItemProperty Set-Location Set-PSDebug Set-Service Set-TraceSource Set-Variable Sort-Object Split-Path Start-Service Start-Sleep Start-Transcript Stop-Process Stop-Service Stop-Transcript Suspend-Service Tee-Object Test-Path Trace-Command Update-FormatData Update-TypeData Where-Object Write-Debug Write-Error Write-Host Write-Output Write-Progress Write-Verbose Write-Warning",operator:"-ne -eq -lt -gt -ge -le -not -like -notlike -match -notmatch -contains -notcontains -in -notin -replace"},c:[e.HCM,e.NM,o,a,r]}});hljs.registerLanguage("gradle",function(e){return{cI:!0,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.NM,e.RM]}});hljs.registerLanguage("erb",function(e){return{sL:"xml",subLanguageMode:"continuous",c:[e.C("<%#","%>"),{b:"<%[%=-]?",e:"[%-]?%>",sL:"ruby",eB:!0,eE:!0}]}});hljs.registerLanguage("swift",function(e){var i={keyword:"class deinit enum extension func import init let protocol static struct subscript typealias var break case continue default do else fallthrough if in for return switch where while as dynamicType is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned safe unsafe weak willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList"},t={cN:"type",b:"\\b[A-Z][\\w']*",r:0},n=e.C("/\\*","\\*/",{c:["self"]}),r={cN:"subst",b:/\\\(/,e:"\\)",k:i,c:[]},s={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0},o=e.inherit(e.QSM,{c:[r,e.BE]});return r.c=[s],{k:i,c:[o,e.CLCM,n,t,s,{cN:"func",bK:"func",e:"{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/,i:/\(/}),{cN:"generics",b://,i:/>/},{cN:"params",b:/\(/,e:/\)/,endsParent:!0,k:i,c:["self",s,o,e.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",bK:"struct protocol class extension enum",k:i,e:"\\{",eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{cN:"preprocessor",b:"(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix)"}]}});hljs.registerLanguage("lisp",function(b){var e="[a-zA-Z_\\-\\+\\*\\/\\<\\=\\>\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*",c="\\|[^]*?\\|",r="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s|D|E|F|L|S)(\\+|\\-)?\\d+)?",a={cN:"shebang",b:"^#!",e:"$"},i={cN:"literal",b:"\\b(t{1}|nil)\\b"},l={cN:"number",v:[{b:r,r:0},{b:"#(b|B)[0-1]+(/[0-1]+)?"},{b:"#(o|O)[0-7]+(/[0-7]+)?"},{b:"#(x|X)[0-9a-fA-F]+(/[0-9a-fA-F]+)?"},{b:"#(c|C)\\("+r+" +"+r,e:"\\)"}]},t=b.inherit(b.QSM,{i:null}),d=b.C(";","$",{r:0}),n={cN:"variable",b:"\\*",e:"\\*"},u={cN:"keyword",b:"[:&]"+e},N={b:e,r:0},o={b:c},s={b:"\\(",e:"\\)",c:["self",i,t,l,N]},v={cN:"quoted",c:[l,t,n,u,s,N],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:"quote"},{b:"'"+c}]},f={cN:"quoted",v:[{b:"'"+e},{b:"#'"+e+"(::"+e+")*"}]},g={cN:"list",b:"\\(\\s*",e:"\\)"},q={eW:!0,r:0};return g.c=[{cN:"keyword",v:[{b:e},{b:c}]},q],q.c=[v,f,g,i,l,t,d,n,u,o,N],{i:/\S/,c:[l,a,i,t,d,v,f,g,N]}});hljs.registerLanguage("rsl",function(e){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:" > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"},n={cN:"shebang",b:"^#!",e:"$"},c={cN:"literal",b:"(#t|#f|#\\\\"+t+"|#\\\\.)"},l={cN:"number",v:[{b:r,r:0},{b:i,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]},s=e.QSM,o=[e.C(";","$",{r:0}),e.C("#\\|","\\|#")],u={b:t,r:0},p={cN:"variable",b:"'"+t},d={eW:!0,r:0},g={cN:"list",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[{cN:"keyword",b:t,l:t,k:a},d]};return d.c=[c,l,s,u,p,g].concat(o),{i:/\S/,c:[n,l,s,p,g].concat(o)}});hljs.registerLanguage("stata",function(e){return{aliases:["do","ado"],cI:!0,k:"if else in foreach for forv forva forval forvalu forvalue forvalues by bys bysort xi quietly qui capture about ac ac_7 acprplot acprplot_7 adjust ado adopath adoupdate alpha ameans an ano anov anova anova_estat anova_terms anovadef aorder ap app appe appen append arch arch_dr arch_estat arch_p archlm areg areg_p args arima arima_dr arima_estat arima_p as asmprobit asmprobit_estat asmprobit_lf asmprobit_mfx__dlg asmprobit_p ass asse asser assert avplot avplot_7 avplots avplots_7 bcskew0 bgodfrey binreg bip0_lf biplot bipp_lf bipr_lf bipr_p biprobit bitest bitesti bitowt blogit bmemsize boot bootsamp bootstrap bootstrap_8 boxco_l boxco_p boxcox boxcox_6 boxcox_p bprobit br break brier bro brow brows browse brr brrstat bs bs_7 bsampl_w bsample bsample_7 bsqreg bstat bstat_7 bstat_8 bstrap bstrap_7 ca ca_estat ca_p cabiplot camat canon canon_8 canon_8_p canon_estat canon_p cap caprojection capt captu captur capture cat cc cchart cchart_7 cci cd censobs_table centile cf char chdir checkdlgfiles checkestimationsample checkhlpfiles checksum chelp ci cii cl class classutil clear cli clis clist clo clog clog_lf clog_p clogi clogi_sw clogit clogit_lf clogit_p clogitp clogl_sw cloglog clonevar clslistarray cluster cluster_measures cluster_stop cluster_tree cluster_tree_8 clustermat cmdlog cnr cnre cnreg cnreg_p cnreg_sw cnsreg codebook collaps4 collapse colormult_nb colormult_nw compare compress conf confi confir confirm conren cons const constr constra constrai constrain constraint continue contract copy copyright copysource cor corc corr corr2data corr_anti corr_kmo corr_smc corre correl correla correlat correlate corrgram cou coun count cox cox_p cox_sw coxbase coxhaz coxvar cprplot cprplot_7 crc cret cretu cretur creturn cross cs cscript cscript_log csi ct ct_is ctset ctst_5 ctst_st cttost cumsp cumsp_7 cumul cusum cusum_7 cutil d datasig datasign datasigna datasignat datasignatu datasignatur datasignature datetof db dbeta de dec deco decod decode deff des desc descr descri describ describe destring dfbeta dfgls dfuller di di_g dir dirstats dis discard disp disp_res disp_s displ displa display distinct do doe doed doedi doedit dotplot dotplot_7 dprobit drawnorm drop ds ds_util dstdize duplicates durbina dwstat dydx e ed edi edit egen eivreg emdef en enc enco encod encode eq erase ereg ereg_lf ereg_p ereg_sw ereghet ereghet_glf ereghet_glf_sh ereghet_gp ereghet_ilf ereghet_ilf_sh ereghet_ip eret eretu eretur ereturn err erro error est est_cfexist est_cfname est_clickable est_expand est_hold est_table est_unhold est_unholdok estat estat_default estat_summ estat_vce_only esti estimates etodow etof etomdy ex exi exit expand expandcl fac fact facto factor factor_estat factor_p factor_pca_rotated factor_rotate factormat fcast fcast_compute fcast_graph fdades fdadesc fdadescr fdadescri fdadescrib fdadescribe fdasav fdasave fdause fh_st file open file read file close file filefilter fillin find_hlp_file findfile findit findit_7 fit fl fli flis flist for5_0 form forma format fpredict frac_154 frac_adj frac_chk frac_cox frac_ddp frac_dis frac_dv frac_in frac_mun frac_pp frac_pq frac_pv frac_wgt frac_xo fracgen fracplot fracplot_7 fracpoly fracpred fron_ex fron_hn fron_p fron_tn fron_tn2 frontier ftodate ftoe ftomdy ftowdate g gamhet_glf gamhet_gp gamhet_ilf gamhet_ip gamma gamma_d2 gamma_p gamma_sw gammahet gdi_hexagon gdi_spokes ge gen gene gener genera generat generate genrank genstd genvmean gettoken gl gladder gladder_7 glim_l01 glim_l02 glim_l03 glim_l04 glim_l05 glim_l06 glim_l07 glim_l08 glim_l09 glim_l10 glim_l11 glim_l12 glim_lf glim_mu glim_nw1 glim_nw2 glim_nw3 glim_p glim_v1 glim_v2 glim_v3 glim_v4 glim_v5 glim_v6 glim_v7 glm glm_6 glm_p glm_sw glmpred glo glob globa global glogit glogit_8 glogit_p gmeans gnbre_lf gnbreg gnbreg_5 gnbreg_p gomp_lf gompe_sw gomper_p gompertz gompertzhet gomphet_glf gomphet_glf_sh gomphet_gp gomphet_ilf gomphet_ilf_sh gomphet_ip gphdot gphpen gphprint gprefs gprobi_p gprobit gprobit_8 gr gr7 gr_copy gr_current gr_db gr_describe gr_dir gr_draw gr_draw_replay gr_drop gr_edit gr_editviewopts gr_example gr_example2 gr_export gr_print gr_qscheme gr_query gr_read gr_rename gr_replay gr_save gr_set gr_setscheme gr_table gr_undo gr_use graph graph7 grebar greigen greigen_7 greigen_8 grmeanby grmeanby_7 gs_fileinfo gs_filetype gs_graphinfo gs_stat gsort gwood h hadimvo hareg hausman haver he heck_d2 heckma_p heckman heckp_lf heckpr_p heckprob hel help hereg hetpr_lf hetpr_p hetprob hettest hexdump hilite hist hist_7 histogram hlogit hlu hmeans hotel hotelling hprobit hreg hsearch icd9 icd9_ff icd9p iis impute imtest inbase include inf infi infil infile infix inp inpu input ins insheet insp inspe inspec inspect integ inten intreg intreg_7 intreg_p intrg2_ll intrg_ll intrg_ll2 ipolate iqreg ir irf irf_create irfm iri is_svy is_svysum isid istdize ivprob_1_lf ivprob_lf ivprobit ivprobit_p ivreg ivreg_footnote ivtob_1_lf ivtob_lf ivtobit ivtobit_p jackknife jacknife jknife jknife_6 jknife_8 jkstat joinby kalarma1 kap kap_3 kapmeier kappa kapwgt kdensity kdensity_7 keep ksm ksmirnov ktau kwallis l la lab labe label labelbook ladder levels levelsof leverage lfit lfit_p li lincom line linktest lis list lloghet_glf lloghet_glf_sh lloghet_gp lloghet_ilf lloghet_ilf_sh lloghet_ip llogi_sw llogis_p llogist llogistic llogistichet lnorm_lf lnorm_sw lnorma_p lnormal lnormalhet lnormhet_glf lnormhet_glf_sh lnormhet_gp lnormhet_ilf lnormhet_ilf_sh lnormhet_ip lnskew0 loadingplot loc loca local log logi logis_lf logistic logistic_p logit logit_estat logit_p loglogs logrank loneway lookfor lookup lowess lowess_7 lpredict lrecomp lroc lroc_7 lrtest ls lsens lsens_7 lsens_x lstat ltable ltable_7 ltriang lv lvr2plot lvr2plot_7 m ma mac macr macro makecns man manova manova_estat manova_p manovatest mantel mark markin markout marksample mat mat_capp mat_order mat_put_rr mat_rapp mata mata_clear mata_describe mata_drop mata_matdescribe mata_matsave mata_matuse mata_memory mata_mlib mata_mosave mata_rename mata_which matalabel matcproc matlist matname matr matri matrix matrix_input__dlg matstrik mcc mcci md0_ md1_ md1debug_ md2_ md2debug_ mds mds_estat mds_p mdsconfig mdslong mdsmat mdsshepard mdytoe mdytof me_derd mean means median memory memsize meqparse mer merg merge mfp mfx mhelp mhodds minbound mixed_ll mixed_ll_reparm mkassert mkdir mkmat mkspline ml ml_5 ml_adjs ml_bhhhs ml_c_d ml_check ml_clear ml_cnt ml_debug ml_defd ml_e0 ml_e0_bfgs ml_e0_cycle ml_e0_dfp ml_e0i ml_e1 ml_e1_bfgs ml_e1_bhhh ml_e1_cycle ml_e1_dfp ml_e2 ml_e2_cycle ml_ebfg0 ml_ebfr0 ml_ebfr1 ml_ebh0q ml_ebhh0 ml_ebhr0 ml_ebr0i ml_ecr0i ml_edfp0 ml_edfr0 ml_edfr1 ml_edr0i ml_eds ml_eer0i ml_egr0i ml_elf ml_elf_bfgs ml_elf_bhhh ml_elf_cycle ml_elf_dfp ml_elfi ml_elfs ml_enr0i ml_enrr0 ml_erdu0 ml_erdu0_bfgs ml_erdu0_bhhh ml_erdu0_bhhhq ml_erdu0_cycle ml_erdu0_dfp ml_erdu0_nrbfgs ml_exde ml_footnote ml_geqnr ml_grad0 ml_graph ml_hbhhh ml_hd0 ml_hold ml_init ml_inv ml_log ml_max ml_mlout ml_mlout_8 ml_model ml_nb0 ml_opt ml_p ml_plot ml_query ml_rdgrd ml_repor ml_s_e ml_score ml_searc ml_technique ml_unhold mleval mlf_ mlmatbysum mlmatsum mlog mlogi mlogit mlogit_footnote mlogit_p mlopts mlsum mlvecsum mnl0_ mor more mov move mprobit mprobit_lf mprobit_p mrdu0_ mrdu1_ mvdecode mvencode mvreg mvreg_estat n nbreg nbreg_al nbreg_lf nbreg_p nbreg_sw nestreg net newey newey_7 newey_p news nl nl_7 nl_9 nl_9_p nl_p nl_p_7 nlcom nlcom_p nlexp2 nlexp2_7 nlexp2a nlexp2a_7 nlexp3 nlexp3_7 nlgom3 nlgom3_7 nlgom4 nlgom4_7 nlinit nllog3 nllog3_7 nllog4 nllog4_7 nlog_rd nlogit nlogit_p nlogitgen nlogittree nlpred no nobreak noi nois noisi noisil noisily note notes notes_dlg nptrend numlabel numlist odbc old_ver olo olog ologi ologi_sw ologit ologit_p ologitp on one onew onewa oneway op_colnm op_comp op_diff op_inv op_str opr opro oprob oprob_sw oprobi oprobi_p oprobit oprobitp opts_exclusive order orthog orthpoly ou out outf outfi outfil outfile outs outsh outshe outshee outsheet ovtest pac pac_7 palette parse parse_dissim pause pca pca_8 pca_display pca_estat pca_p pca_rotate pcamat pchart pchart_7 pchi pchi_7 pcorr pctile pentium pergram pergram_7 permute permute_8 personal peto_st pkcollapse pkcross pkequiv pkexamine pkexamine_7 pkshape pksumm pksumm_7 pl plo plot plugin pnorm pnorm_7 poisgof poiss_lf poiss_sw poisso_p poisson poisson_estat post postclose postfile postutil pperron pr prais prais_e prais_e2 prais_p predict predictnl preserve print pro prob probi probit probit_estat probit_p proc_time procoverlay procrustes procrustes_estat procrustes_p profiler prog progr progra program prop proportion prtest prtesti pwcorr pwd q\\s qby qbys qchi qchi_7 qladder qladder_7 qnorm qnorm_7 qqplot qqplot_7 qreg qreg_c qreg_p qreg_sw qu quadchk quantile quantile_7 que quer query range ranksum ratio rchart rchart_7 rcof recast reclink recode reg reg3 reg3_p regdw regr regre regre_p2 regres regres_p regress regress_estat regriv_p remap ren rena renam rename renpfix repeat replace report reshape restore ret retu retur return rm rmdir robvar roccomp roccomp_7 roccomp_8 rocf_lf rocfit rocfit_8 rocgold rocplot rocplot_7 roctab roctab_7 rolling rologit rologit_p rot rota rotat rotate rotatemat rreg rreg_p ru run runtest rvfplot rvfplot_7 rvpplot rvpplot_7 sa safesum sample sampsi sav save savedresults saveold sc sca scal scala scalar scatter scm_mine sco scob_lf scob_p scobi_sw scobit scor score scoreplot scoreplot_help scree screeplot screeplot_help sdtest sdtesti se search separate seperate serrbar serrbar_7 serset set set_defaults sfrancia sh she shel shell shewhart shewhart_7 signestimationsample signrank signtest simul simul_7 simulate simulate_8 sktest sleep slogit slogit_d2 slogit_p smooth snapspan so sor sort spearman spikeplot spikeplot_7 spikeplt spline_x split sqreg sqreg_p sret sretu sretur sreturn ssc st st_ct st_hc st_hcd st_hcd_sh st_is st_issys st_note st_promo st_set st_show st_smpl st_subid stack statsby statsby_8 stbase stci stci_7 stcox stcox_estat stcox_fr stcox_fr_ll stcox_p stcox_sw stcoxkm stcoxkm_7 stcstat stcurv stcurve stcurve_7 stdes stem stepwise stereg stfill stgen stir stjoin stmc stmh stphplot stphplot_7 stphtest stphtest_7 stptime strate strate_7 streg streg_sw streset sts sts_7 stset stsplit stsum sttocc sttoct stvary stweib su suest suest_8 sum summ summa summar summari summariz summarize sunflower sureg survcurv survsum svar svar_p svmat svy svy_disp svy_dreg svy_est svy_est_7 svy_estat svy_get svy_gnbreg_p svy_head svy_header svy_heckman_p svy_heckprob_p svy_intreg_p svy_ivreg_p svy_logistic_p svy_logit_p svy_mlogit_p svy_nbreg_p svy_ologit_p svy_oprobit_p svy_poisson_p svy_probit_p svy_regress_p svy_sub svy_sub_7 svy_x svy_x_7 svy_x_p svydes svydes_8 svygen svygnbreg svyheckman svyheckprob svyintreg svyintreg_7 svyintrg svyivreg svylc svylog_p svylogit svymarkout svymarkout_8 svymean svymlog svymlogit svynbreg svyolog svyologit svyoprob svyoprobit svyopts svypois svypois_7 svypoisson svyprobit svyprobt svyprop svyprop_7 svyratio svyreg svyreg_p svyregress svyset svyset_7 svyset_8 svytab svytab_7 svytest svytotal sw sw_8 swcnreg swcox swereg swilk swlogis swlogit swologit swoprbt swpois swprobit swqreg swtobit swweib symmetry symmi symplot symplot_7 syntax sysdescribe sysdir sysuse szroeter ta tab tab1 tab2 tab_or tabd tabdi tabdis tabdisp tabi table tabodds tabodds_7 tabstat tabu tabul tabula tabulat tabulate te tempfile tempname tempvar tes test testnl testparm teststd tetrachoric time_it timer tis tob tobi tobit tobit_p tobit_sw token tokeni tokeniz tokenize tostring total translate translator transmap treat_ll treatr_p treatreg trim trnb_cons trnb_mean trpoiss_d2 trunc_ll truncr_p truncreg tsappend tset tsfill tsline tsline_ex tsreport tsrevar tsrline tsset tssmooth tsunab ttest ttesti tut_chk tut_wait tutorial tw tware_st two twoway twoway__fpfit_serset twoway__function_gen twoway__histogram_gen twoway__ipoint_serset twoway__ipoints_serset twoway__kdensity_gen twoway__lfit_serset twoway__normgen_gen twoway__pci_serset twoway__qfit_serset twoway__scatteri_serset twoway__sunflower_gen twoway_ksm_serset ty typ type typeof u unab unabbrev unabcmd update us use uselabel var var_mkcompanion var_p varbasic varfcast vargranger varirf varirf_add varirf_cgraph varirf_create varirf_ctable varirf_describe varirf_dir varirf_drop varirf_erase varirf_graph varirf_ograph varirf_rename varirf_set varirf_table varlist varlmar varnorm varsoc varstable varstable_w varstable_w2 varwle vce vec vec_fevd vec_mkphi vec_p vec_p_w vecirf_create veclmar veclmar_w vecnorm vecnorm_w vecrank vecstable verinst vers versi versio version view viewsource vif vwls wdatetof webdescribe webseek webuse weib1_lf weib2_lf weib_lf weib_lf0 weibhet_glf weibhet_glf_sh weibhet_glfa weibhet_glfa_sh weibhet_gp weibhet_ilf weibhet_ilf_sh weibhet_ilfa weibhet_ilfa_sh weibhet_ip weibu_sw weibul_p weibull weibull_c weibull_s weibullhet wh whelp whi which whil while wilc_st wilcoxon win wind windo window winexec wntestb wntestb_7 wntestq xchart xchart_7 xcorr xcorr_7 xi xi_6 xmlsav xmlsave xmluse xpose xsh xshe xshel xshell xt_iis xt_tis xtab_p xtabond xtbin_p xtclog xtcloglog xtcloglog_8 xtcloglog_d2 xtcloglog_pa_p xtcloglog_re_p xtcnt_p xtcorr xtdata xtdes xtfront_p xtfrontier xtgee xtgee_elink xtgee_estat xtgee_makeivar xtgee_p xtgee_plink xtgls xtgls_p xthaus xthausman xtht_p xthtaylor xtile xtint_p xtintreg xtintreg_8 xtintreg_d2 xtintreg_p xtivp_1 xtivp_2 xtivreg xtline xtline_ex xtlogit xtlogit_8 xtlogit_d2 xtlogit_fe_p xtlogit_pa_p xtlogit_re_p xtmixed xtmixed_estat xtmixed_p xtnb_fe xtnb_lf xtnbreg xtnbreg_pa_p xtnbreg_refe_p xtpcse xtpcse_p xtpois xtpoisson xtpoisson_d2 xtpoisson_pa_p xtpoisson_refe_p xtpred xtprobit xtprobit_8 xtprobit_d2 xtprobit_re_p xtps_fe xtps_lf xtps_ren xtps_ren_8 xtrar_p xtrc xtrc_p xtrchh xtrefe_p xtreg xtreg_be xtreg_fe xtreg_ml xtreg_pa_p xtreg_re xtregar xtrere_p xtset xtsf_ll xtsf_llti xtsum xttab xttest0 xttobit xttobit_8 xttobit_p xttrans yx yxview__barlike_draw yxview_area_draw yxview_bar_draw yxview_dot_draw yxview_dropline_draw yxview_function_draw yxview_iarrow_draw yxview_ilabels_draw yxview_normal_draw yxview_pcarrow_draw yxview_pcbarrow_draw yxview_pccapsym_draw yxview_pcscatter_draw yxview_pcspike_draw yxview_rarea_draw yxview_rbar_draw yxview_rbarm_draw yxview_rcap_draw yxview_rcapsym_draw yxview_rconnected_draw yxview_rline_draw yxview_rscatter_draw yxview_rspike_draw yxview_spike_draw yxview_sunflower_draw zap_s zinb zinb_llf zinb_plf zip zip_llf zip_p zip_plf zt_ct_5 zt_hc_5 zt_hcd_5 zt_is_5 zt_iss_5 zt_sho_5 zt_smp_5 ztbase_5 ztcox_5 ztdes_5 ztereg_5 ztfill_5 ztgen_5 ztir_5 ztjoin_5 ztnb ztnb_p ztp ztp_p zts_5 ztset_5 ztspli_5 ztsum_5 zttoct_5 ztvary_5 ztweib_5",c:[{cN:"label",v:[{b:"\\$\\{?[a-zA-Z0-9_]+\\}?"},{b:"`[a-zA-Z0-9_]+'"}]},{cN:"string",v:[{b:'`"[^\r\n]*?"\''},{b:'"[^\r\n"]*"'}]},{cN:"literal",v:[{b:"\\b(abs|acos|asin|atan|atan2|atanh|ceil|cloglog|comb|cos|digamma|exp|floor|invcloglog|invlogit|ln|lnfact|lnfactorial|lngamma|log|log10|max|min|mod|reldif|round|sign|sin|sqrt|sum|tan|tanh|trigamma|trunc|betaden|Binomial|binorm|binormal|chi2|chi2tail|dgammapda|dgammapdada|dgammapdadx|dgammapdx|dgammapdxdx|F|Fden|Ftail|gammaden|gammap|ibeta|invbinomial|invchi2|invchi2tail|invF|invFtail|invgammap|invibeta|invnchi2|invnFtail|invnibeta|invnorm|invnormal|invttail|nbetaden|nchi2|nFden|nFtail|nibeta|norm|normal|normalden|normd|npnchi2|tden|ttail|uniform|abbrev|char|index|indexnot|length|lower|ltrim|match|plural|proper|real|regexm|regexr|regexs|reverse|rtrim|string|strlen|strlower|strltrim|strmatch|strofreal|strpos|strproper|strreverse|strrtrim|strtrim|strupper|subinstr|subinword|substr|trim|upper|word|wordcount|_caller|autocode|byteorder|chop|clip|cond|e|epsdouble|epsfloat|group|inlist|inrange|irecode|matrix|maxbyte|maxdouble|maxfloat|maxint|maxlong|mi|minbyte|mindouble|minfloat|minint|minlong|missing|r|recode|replay|return|s|scalar|d|date|day|dow|doy|halfyear|mdy|month|quarter|week|year|d|daily|dofd|dofh|dofm|dofq|dofw|dofy|h|halfyearly|hofd|m|mofd|monthly|q|qofd|quarterly|tin|twithin|w|weekly|wofd|y|yearly|yh|ym|yofd|yq|yw|cholesky|colnumb|colsof|corr|det|diag|diag0cnt|el|get|hadamard|I|inv|invsym|issym|issymmetric|J|matmissing|matuniform|mreldif|nullmat|rownumb|rowsof|sweep|syminv|trace|vec|vecdiag)(?=\\(|$)"}]},e.C("^[ ]*\\*.*$",!1),e.CLCM,e.CBCM]}});hljs.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"header",b:"^(={1,5}) .+?( \\1)?$",r:10},{cN:"header",b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",r:10},{cN:"attribute",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"attribute",b:"^\\[.+?\\]$",r:0},{cN:"blockquote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"label",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"smartquote",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{cN:"horizontal_rule",b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link_url",b:"\\w",e:"[^\\[]+",r:0},{cN:"link_label",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}});hljs.registerLanguage("php",function(e){var c={cN:"variable",b:"\\$+[a-zA-Z_-ÿ][a-zA-Z0-9_-ÿ]*"},i={cN:"preprocessor",b:/<\?(php)?|\?>/},a={cN:"string",c:[e.BE,i],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},n={v:[e.BNM,e.CNM]};return{aliases:["php3","php4","php5","php6"],cI:!0,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[e.CLCM,e.HCM,e.C("/\\*","\\*/",{c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},i]}),e.C("__halt_compiler.+?;",!1,{eW:!0,k:"__halt_compiler",l:e.UIR}),{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[e.BE]},i,c,{b:/(::|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/},{cN:"function",bK:"function",e:/[;{]/,eE:!0,i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",c,e.CBCM,a,n]}]},{cN:"class",bK:"class interface",e:"{",eE:!0,i:/[:\(\$"]/,c:[{bK:"extends implements"},e.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[e.UTM]},{bK:"use",e:";",c:[e.UTM]},{b:"=>"},a,n]}});hljs.registerLanguage("java",function(e){var a=e.UIR+"(<"+e.UIR+">)?",t="false synchronized int abstract float private char boolean static null if const for true while long strictfp finally protected import native final void enum else break transient catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",c="(\\b(0b[01_]+)|\\b0[xX][a-fA-F0-9_]+|(\\b[\\d_]+(\\.[\\d_]*)?|\\.[\\d_]+)([eE][-+]?\\d+)?)[lLfF]?",r={cN:"number",b:c,r:0};return{aliases:["jsp"],k:t,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"new throw return",r:0},{cN:"function",b:"("+a+"\\s+)+"+e.UIR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:t,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,k:t,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},r,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("glsl",function(e){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[e.CLCM,e.CBCM,e.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("lua",function(e){var t="\\[=*\\[",a="\\]=*\\]",r={b:t,e:a,c:["self"]},n=[e.C("--(?!"+t+")","$"),e.C("--"+t,a,{c:[r],r:10})];return{l:e.UIR,k:{keyword:"and break do else elseif end false for if in local nil not or repeat return then true until while",built_in:"_G _VERSION assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall coroutine debug io math os package string table"},c:n.concat([{cN:"function",bK:"function",e:"\\)",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{cN:"params",b:"\\(",eW:!0,c:n}].concat(n)},e.CNM,e.ASM,e.QSM,{cN:"string",b:t,e:a,c:[r],r:5}])}});hljs.registerLanguage("protobuf",function(e){return{k:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},c:[e.QSM,e.NM,e.CLCM,{cN:"class",bK:"message enum service",e:/\{/,i:/\n/,c:[e.inherit(e.TM,{starts:{eW:!0,eE:!0}})]},{cN:"function",bK:"rpc",e:/;/,eE:!0,k:"rpc returns"},{cN:"constant",b:/^\s*[A-Z_]+/,e:/\s*=/,eE:!0}]}});hljs.registerLanguage("gcode",function(e){var N="[A-Z_][A-Z0-9_.]*",i="\\%",c={literal:"",built_in:"",keyword:"IF DO WHILE ENDWHILE CALL ENDIF SUB ENDSUB GOTO REPEAT ENDREPEAT EQ LT GT NE GE LE OR XOR"},r={cN:"preprocessor",b:"([O])([0-9]+)"},l=[e.CLCM,e.CBCM,e.C(/\(/,/\)/),e.inherit(e.CNM,{b:"([-+]?([0-9]*\\.?[0-9]+\\.?))|"+e.CNR}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"keyword",b:"([G])([0-9]+\\.?[0-9]?)"},{cN:"title",b:"([M])([0-9]+\\.?[0-9]?)"},{cN:"title",b:"(VC|VS|#)",e:"(\\d+)"},{cN:"title",b:"(VZOFX|VZOFY|VZOFZ)"},{cN:"built_in",b:"(ATAN|ABS|ACOS|ASIN|SIN|COS|EXP|FIX|FUP|ROUND|LN|TAN)(\\[)",e:"([-+]?([0-9]*\\.?[0-9]+\\.?))(\\])"},{cN:"label",v:[{b:"N",e:"\\d+",i:"\\W"}]}];return{aliases:["nc"],cI:!0,l:N,k:c,c:[{cN:"preprocessor",b:i},r].concat(l)}});hljs.registerLanguage("vim",function(e){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"},i:/[{:]/,c:[e.NM,e.ASM,{cN:"string",b:/"((\\")|[^"\n])*("|\n)/},{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",r:0,c:[e.TM,{cN:"params",b:"\\(",e:"\\)"}]}]}});hljs.registerLanguage("processing",function(e){return{k:{keyword:"BufferedReader PVector PFont PImage PGraphics HashMap boolean byte char color double float int long String Array FloatDict FloatList IntDict IntList JSONArray JSONObject Object StringDict StringList Table TableRow XML false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private",constant:"P2D P3D HALF_PI PI QUARTER_PI TAU TWO_PI",variable:"displayHeight displayWidth mouseY mouseX mousePressed pmouseX pmouseY key keyCode pixels focused frameCount frameRate height width",title:"setup draw",built_in:"size createGraphics beginDraw createShape loadShape PShape arc ellipse line point quad rect triangle bezier bezierDetail bezierPoint bezierTangent curve curveDetail curvePoint curveTangent curveTightness shape shapeMode beginContour beginShape bezierVertex curveVertex endContour endShape quadraticVertex vertex ellipseMode noSmooth rectMode smooth strokeCap strokeJoin strokeWeight mouseClicked mouseDragged mouseMoved mousePressed mouseReleased mouseWheel keyPressed keyPressedkeyReleased keyTyped print println save saveFrame day hour millis minute month second year background clear colorMode fill noFill noStroke stroke alpha blue brightness color green hue lerpColor red saturation modelX modelY modelZ screenX screenY screenZ ambient emissive shininess specular add createImage beginCamera camera endCamera frustum ortho perspective printCamera printProjection cursor frameRate noCursor exit loop noLoop popStyle pushStyle redraw binary boolean byte char float hex int str unbinary unhex join match matchAll nf nfc nfp nfs split splitTokens trim append arrayCopy concat expand reverse shorten sort splice subset box sphere sphereDetail createInput createReader loadBytes loadJSONArray loadJSONObject loadStrings loadTable loadXML open parseXML saveTable selectFolder selectInput beginRaw beginRecord createOutput createWriter endRaw endRecord PrintWritersaveBytes saveJSONArray saveJSONObject saveStream saveStrings saveXML selectOutput popMatrix printMatrix pushMatrix resetMatrix rotate rotateX rotateY rotateZ scale shearX shearY translate ambientLight directionalLight lightFalloff lights lightSpecular noLights normal pointLight spotLight image imageMode loadImage noTint requestImage tint texture textureMode textureWrap blend copy filter get loadPixels set updatePixels blendMode loadShader PShaderresetShader shader createFont loadFont text textFont textAlign textLeading textMode textSize textWidth textAscent textDescent abs ceil constrain dist exp floor lerp log mag map max min norm pow round sq sqrt acos asin atan atan2 cos degrees radians sin tan noise noiseDetail noiseSeed random randomGaussian randomSeed"},c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}});hljs.registerLanguage("mizar",function(e){return{k:"environ vocabularies notations constructors definitions registrations theorems schemes requirements begin end definition registration cluster existence pred func defpred deffunc theorem proof let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from be being by means equals implies iff redefine define now not or attr is mode suppose per cases set thesis contradiction scheme reserve struct correctness compatibility coherence symmetry assymetry reflexivity irreflexivity connectedness uniqueness commutativity idempotence involutiveness projectivity",c:[e.C("::","$")]}});hljs.registerLanguage("vbnet",function(e){return{aliases:["vb"],cI:!0,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[e.inherit(e.QSM,{c:[{b:'""'}]}),e.C("'","$",{rB:!0,c:[{cN:"xmlDocTag",b:"'''|",c:[e.PWM]},{cN:"xmlDocTag",b:"",c:[e.PWM]}]}),e.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end region externalsource"}]}});hljs.registerLanguage("q",function(e){var s={keyword:"do while select delete by update from",constant:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",typename:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:s,l:/\b(`?)[A-Za-z0-9_]+\b/,c:[e.CLCM,e.QSM,e.CNM]}});hljs.registerLanguage("livescript",function(e){var t={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger case default function var with then unless until loop of by when and or is isnt not it that otherwise from to til fallthrough super case default function var void const let enum export import native __hasProp __extends __slice __bind __indexOf",literal:"true false null undefined yes no on off it that void",built_in:"npm require console print module global window document"},s="[A-Za-z$_](?:-[0-9A-Za-z$_]|[0-9A-Za-z$_])*",i=e.inherit(e.TM,{b:s}),n={cN:"subst",b:/#\{/,e:/}/,k:t},r={cN:"subst",b:/#[A-Za-z$_]/,e:/(?:\-[0-9A-Za-z$_]|[0-9A-Za-z$_])*/,k:t},c=[e.BNM,{cN:"number",b:"(\\b0[xX][a-fA-F0-9_]+)|(\\b\\d(\\d|_\\d)*(\\.(\\d(\\d|_\\d)*)?)?(_*[eE]([-+]\\d(_\\d|\\d)*)?)?[_a-z]*)",r:0,starts:{e:"(\\s*/)?",r:0}},{cN:"string",v:[{b:/'''/,e:/'''/,c:[e.BE]},{b:/'/,e:/'/,c:[e.BE]},{b:/"""/,e:/"""/,c:[e.BE,n,r]},{b:/"/,e:/"/,c:[e.BE,n,r]},{b:/\\/,e:/(\s|$)/,eE:!0}]},{cN:"pi",v:[{b:"//",e:"//[gim]*",c:[n,e.HCM]},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+s},{b:"``",e:"``",eB:!0,eE:!0,sL:"javascript"}];n.c=c;var a={cN:"params",b:"\\(",rB:!0,c:[{b:/\(/,e:/\)/,k:t,c:["self"].concat(c)}]};return{aliases:["ls"],k:t,i:/\/\*/,c:c.concat([e.C("\\/\\*","\\*\\/"),e.HCM,{cN:"function",c:[i,a],rB:!0,v:[{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B\\->\\*?",e:"\\->\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?!?(\\(.*\\))?\\s*\\B[-~]{1,2}>\\*?",e:"[-~]{1,2}>\\*?"},{b:"("+s+"\\s*(?:=|:=)\\s*)?(\\(.*\\))?\\s*\\B!?[-~]{1,2}>\\*?",e:"!?[-~]{1,2}>\\*?"}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:!0,i:/[:="\[\]]/,c:[i]},i]},{cN:"attribute",b:s+":",e:":",rB:!0,rE:!0,r:0}])}});hljs.registerLanguage("haxe",function(e){var r="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";return{aliases:["hx"],k:{keyword:"break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",literal:"true false null"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end error"},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM]},{cN:"type",b:":",e:r,r:10}]}]}});hljs.registerLanguage("monkey",function(e){var n={cN:"number",r:0,v:[{b:"[$][a-fA-F0-9]+"},e.NM]};return{cI:!0,k:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},c:[e.C("#rem","#end"),e.C("'","$",{r:0}),{cN:"function",bK:"function method",e:"[(=:]|$",i:/\n/,c:[e.UTM]},{cN:"class",bK:"class interface",e:"$",c:[{bK:"extends implements"},e.UTM]},{cN:"variable",b:"\\b(self|super)\\b"},{cN:"preprocessor",bK:"import",e:"$"},{cN:"preprocessor",b:"\\s*#",e:"$",k:"if else elseif endif end then"},{cN:"pi",b:"^\\s*strict\\b"},{bK:"alias",e:"=",c:[e.UTM]},e.QSM,n]}});hljs.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},s={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,e.NM,s,a,t]}});hljs.registerLanguage("erlang",function(e){var r="[a-z'][a-zA-Z0-9_']*",c="("+r+":"+r+"|"+r+")",a={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"},n=e.C("%","$"),i={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},b={b:"fun\\s+"+r+"/\\d+"},d={b:c+"\\(",e:"\\)",rB:!0,r:0,c:[{cN:"function_name",b:c,r:0},{b:"\\(",e:"\\)",eW:!0,rE:!0,r:0}]},o={cN:"tuple",b:"{",e:"}",r:0},t={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0},l={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0},f={b:"#"+e.UIR,r:0,rB:!0,c:[{cN:"record_name",b:"#"+e.UIR,r:0},{b:"{",e:"}",r:0}]},s={bK:"fun receive if try case",e:"end",k:a};s.c=[n,b,e.inherit(e.ASM,{cN:""}),s,d,e.QSM,i,o,t,l,f];var u=[n,b,s,d,e.QSM,i,o,t,l,f];d.c[1].c=u,o.c=u,f.c[1].c=u;var v={cN:"params",b:"\\(",e:"\\)",c:u};return{aliases:["erl"],k:a,i:"(",rB:!0,i:"\\(|#|//|/\\*|\\\\|:|;",c:[v,e.inherit(e.TM,{b:r})],starts:{e:";|\\.",k:a,c:u}},n,{cN:"pp",b:"^-",e:"\\.",r:0,eE:!0,rB:!0,l:"-"+e.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[v]},i,e.QSM,f,t,l,o,{b:/\.$/}]}});hljs.registerLanguage("kotlin",function(e){var a="val var get set class trait object public open private protected final enum if else do while for when break continue throw try catch finally import package is as in return fun override default companion reified inline volatile transient native";return{k:{typename:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null",keyword:a},c:[e.CLCM,{cN:"javadoc",b:"/\\*\\*",e:"\\*//*",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CBCM,{cN:"type",b://,rB:!0,eE:!1,r:0},{cN:"function",bK:"fun",e:"[(]|$",rB:!0,eE:!0,k:a,i:/fun\s+(<.*>)?[^\s\(]+(\s+[^\s\(]+)\s*=/,r:5,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"type",b://,k:"reified",r:0},{cN:"params",b:/\(/,e:/\)/,k:a,r:0,i:/\([^\(,\s:]+,/,c:[{cN:"typename",b:/:\s*/,e:/\s*[=\)]/,eB:!0,rE:!0,r:0}]},e.CLCM,e.CBCM]},{cN:"class",bK:"class trait",e:/[:\{(]|$/,eE:!0,i:"extends implements",c:[e.UTM,{cN:"type",b://,eB:!0,eE:!0,r:0},{cN:"typename",b:/[,:]\s*/,e:/[<\(,]|$/,eB:!0,rE:!0}]},{cN:"variable",bK:"var val",e:/\s*[=:$]/,eE:!0},e.QSM,{cN:"shebang",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.CNM]}});hljs.registerLanguage("stylus",function(t){var e={cN:"variable",b:"\\$"+t.IR},o={cN:"hexcolor",b:"#([a-fA-F0-9]{6}|[a-fA-F0-9]{3})",r:10},i=["charset","css","debug","extend","font-face","for","import","include","media","mixin","page","warn","while"],r=["after","before","first-letter","first-line","active","first-child","focus","hover","lang","link","visited"],n=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","mark","menu","nav","object","ol","p","q","quote","samp","section","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],a="[\\.\\s\\n\\[\\:,]",l=["align-content","align-items","align-self","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","auto","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","clip-path","color","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","cursor","direction","display","empty-cells","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","font","font-family","font-feature-settings","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-variant-ligatures","font-weight","height","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","inherit","initial","justify-content","left","letter-spacing","line-height","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marks","mask","max-height","max-width","min-height","min-width","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page-break-after","page-break-before","page-break-inside","perspective","perspective-origin","pointer-events","position","quotes","resize","right","tab-size","table-layout","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-style","text-indent","text-overflow","text-rendering","text-shadow","text-transform","text-underline-position","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","white-space","widows","width","word-break","word-spacing","word-wrap","z-index"],d=["\\{","\\}","\\?","(\\bReturn\\b)","(\\bEnd\\b)","(\\bend\\b)",";","#\\s","\\*\\s","===\\s","\\|","%"];return{aliases:["styl"],cI:!1,i:"("+d.join("|")+")",k:"if else for in",c:[t.QSM,t.ASM,t.CLCM,t.CBCM,o,{b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"class",b:"\\.[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"+a,rB:!0,c:[{cN:"id",b:"\\#[a-zA-Z][a-zA-Z0-9_-]*"}]},{b:"\\b("+n.join("|")+")"+a,rB:!0,c:[{cN:"tag",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"}]},{cN:"pseudo",b:"&?:?:\\b("+r.join("|")+")"+a},{cN:"at_rule",b:"@("+i.join("|")+")\\b"},e,t.CSSNM,t.NM,{cN:"function",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*\\(.*\\)",i:"[\\n]",rB:!0,c:[{cN:"title",b:"\\b[a-zA-Z][a-zA-Z0-9_-]*"},{cN:"params",b:/\(/,e:/\)/,c:[o,e,t.ASM,t.CSSNM,t.NM,t.QSM]}]},{cN:"attribute",b:"\\b("+l.reverse().join("|")+")\\b"}]}});hljs.registerLanguage("css",function(e){var c="[a-zA-Z-][a-zA-Z0-9_-]*",a={cN:"function",b:c+"\\(",rB:!0,eE:!0,e:"\\("},r={cN:"rule",b:/[A-Z\_\.\-]+\s*:/,rB:!0,e:";",eW:!0,c:[{cN:"attribute",b:/\S/,e:":",eE:!0,starts:{cN:"value",eW:!0,eE:!0,c:[a,e.CSSNM,e.QSM,e.ASM,e.CBCM,{cN:"hexcolor",b:"#[0-9A-Fa-f]+"},{cN:"important",b:"!important"}]}}]};return{cI:!0,i:/[=\/|']/,c:[e.CBCM,r,{cN:"id",b:/\#[A-Za-z0-9_-]+/},{cN:"class",b:/\.[A-Za-z0-9_-]+/,r:0},{cN:"attr_selector",b:/\[/,e:/\]/,i:"$"},{cN:"pseudo",b:/:(:)?[a-zA-Z0-9\_\-\+\(\)"']+/},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:"font-face page"},{cN:"at_rule",b:"@",e:"[{;]",c:[{cN:"keyword",b:/\S+/},{b:/\s/,eW:!0,eE:!0,r:0,c:[a,e.ASM,e.QSM,e.CSSNM]}]},{cN:"tag",b:c,r:0},{cN:"rules",b:"{",e:"}",i:/\S/,r:0,c:[e.CBCM,r]}]}});hljs.registerLanguage("puppet",function(e){var s="augeas computer cron exec file filebucket host interface k5login macauthorization mailalias maillist mcx mount nagios_command nagios_contact nagios_contactgroup nagios_host nagios_hostdependency nagios_hostescalation nagios_hostextinfo nagios_hostgroup nagios_service firewall nagios_servicedependency nagios_serviceescalation nagios_serviceextinfo nagios_servicegroup nagios_timeperiod notify package resources router schedule scheduled_task selboolean selmodule service ssh_authorized_key sshkey stage tidy user vlan yumrepo zfs zone zpool",r="alias audit before loglevel noop require subscribe tag owner ensure group mode name|0 changes context force incl lens load_path onlyif provider returns root show_diff type_check en_address ip_address realname command environment hour monute month monthday special target weekday creates cwd ogoutput refresh refreshonly tries try_sleep umask backup checksum content ctime force ignore links mtime purge recurse recurselimit replace selinux_ignore_defaults selrange selrole seltype seluser source souirce_permissions sourceselect validate_cmd validate_replacement allowdupe attribute_membership auth_membership forcelocal gid ia_load_module members system host_aliases ip allowed_trunk_vlans description device_url duplex encapsulation etherchannel native_vlan speed principals allow_root auth_class auth_type authenticate_user k_of_n mechanisms rule session_owner shared options device fstype enable hasrestart directory present absent link atboot blockdevice device dump pass remounts poller_tag use message withpath adminfile allow_virtual allowcdrom category configfiles flavor install_options instance package_settings platform responsefile status uninstall_options vendor unless_system_user unless_uid binary control flags hasstatus manifest pattern restart running start stop allowdupe auths expiry gid groups home iterations key_membership keys managehome membership password password_max_age password_min_age profile_membership profiles project purge_ssh_keys role_membership roles salt shell uid baseurl cost descr enabled enablegroups exclude failovermethod gpgcheck gpgkey http_caching include includepkgs keepalive metadata_expire metalink mirrorlist priority protect proxy proxy_password proxy_username repo_gpgcheck s3_enabled skip_if_unavailable sslcacert sslclientcert sslclientkey sslverify mounted",a={keyword:"and case class default define else elsif false if in import enherits node or true undef unless main settings $string "+s,literal:r,built_in:"architecture augeasversion blockdevices boardmanufacturer boardproductname boardserialnumber cfkey dhcp_servers domain ec2_ ec2_userdata facterversion filesystems ldom fqdn gid hardwareisa hardwaremodel hostname id|0 interfaces ipaddress ipaddress_ ipaddress6 ipaddress6_ iphostnumber is_virtual kernel kernelmajversion kernelrelease kernelversion kernelrelease kernelversion lsbdistcodename lsbdistdescription lsbdistid lsbdistrelease lsbmajdistrelease lsbminordistrelease lsbrelease macaddress macaddress_ macosx_buildversion macosx_productname macosx_productversion macosx_productverson_major macosx_productversion_minor manufacturer memoryfree memorysize netmask metmask_ network_ operatingsystem operatingsystemmajrelease operatingsystemrelease osfamily partitions path physicalprocessorcount processor processorcount productname ps puppetversion rubysitedir rubyversion selinux selinux_config_mode selinux_config_policy selinux_current_mode selinux_current_mode selinux_enforced selinux_policyversion serialnumber sp_ sshdsakey sshecdsakey sshrsakey swapencrypted swapfree swapsize timezone type uniqueid uptime uptime_days uptime_hours uptime_seconds uuid virtual vlans xendomains zfs_version zonenae zones zpool_version"},i=e.C("#","$"),o={cN:"string",c:[e.BE],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]},n=[o,i,{cN:"keyword",bK:"class",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"(::)?[A-Za-z_]\\w*(::\\w+)*"}),i,o]},{cN:"keyword",b:"([a-zA-Z_(::)]+ *\\{)",c:[o,i],r:0},{cN:"keyword",b:"(\\}|\\{)",r:0},{cN:"function",b:"[a-zA-Z_]+\\s*=>"},{cN:"constant",b:"(::)?(\\b[A-Z][a-z_]*(::)?)+",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0}];return{aliases:["pp"],k:a,c:n}});hljs.registerLanguage("nimrod",function(t){return{aliases:["nim"],k:{keyword:"addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template|10 try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",literal:"shared guarded stdin stdout stderr result|10 true false"},c:[{cN:"decorator",b:/{\./,e:/\.}/,r:10},{cN:"string",b:/[a-zA-Z]\w*"/,e:/"/,c:[{b:/""/}]},{cN:"string",b:/([a-zA-Z]\w*)?"""/,e:/"""/},t.QSM,{cN:"type",b:/\b[A-Z]\w+\b/,r:0},{cN:"type",b:/\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/},{cN:"number",b:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,r:0},t.HCM]}});hljs.registerLanguage("smalltalk",function(a){var r="[a-z][a-zA-Z0-9_]*",s={cN:"char",b:"\\$.{1}"},c={cN:"symbol",b:"#"+a.UIR};return{aliases:["st"],k:"self super nil true false thisContext",c:[a.C('"','"'),a.ASM,{cN:"class",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{cN:"method",b:r+":",r:0},a.CNM,c,s,{cN:"localvars",b:"\\|[ ]*"+r+"([ ]+"+r+")*[ ]*\\|",rB:!0,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+r}]},{cN:"array",b:"\\#\\(",e:"\\)",c:[a.ASM,s,a.CNM,c]}]}});hljs.registerLanguage("x86asm",function(s){return{cI:!0,l:"\\.?"+s.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",literal:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",pseudo:"db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",preprocessor:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",built_in:"bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[s.C(";","$",{r:0}),{cN:"number",b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{cN:"number",b:"\\$[0-9][0-9A-Fa-f]*",r:0},{cN:"number",b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[HhXx]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{cN:"number",b:"\\b(?:0[HhXx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"},s.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"string",b:"`",e:"[^\\\\]`",r:0},{cN:"string",b:"\\.[A-Za-z0-9]+",r:0},{cN:"label",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0},{cN:"label",b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:",r:0},{cN:"argument",b:"%[0-9]+",r:0},{cN:"built_in",b:"%!S+",r:0}]}});hljs.registerLanguage("roboconf",function(e){var n="[a-zA-Z-_][^\n{\r\n]+\\{";return{aliases:["graph","instances"],cI:!0,k:"import",c:[{cN:"facet",b:"^facet "+n,e:"}",k:"facet installer exports children extends",c:[e.HCM]},{cN:"instance-of",b:"^instance of "+n,e:"}",k:"name count channels instance-data instance-state instance of",c:[{cN:"keyword",b:"[a-zA-Z-_]+( | )*:"},e.HCM]},{cN:"component",b:"^"+n,e:"}",l:"\\(?[a-zA-Z]+\\)?",k:"installer exports children extends imports facets alias (optional)",c:[{cN:"string",b:"\\.[a-zA-Z-_]+",e:"\\s|,|;",eE:!0},e.HCM]},e.HCM]}});hljs.registerLanguage("ruby",function(e){var c="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?",r="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor",b={cN:"yardoctag",b:"@[A-Za-z]+"},a={cN:"value",b:"#<",e:">"},n=[e.C("#","$",{c:[b]}),e.C("^\\=begin","^\\=end",{c:[b],r:10}),e.C("^__END__","\\n$")],s={cN:"subst",b:"#\\{",e:"}",k:r},t={cN:"string",c:[e.BE,s],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:/`/,e:/`/},{b:"%[qQwWx]?\\(",e:"\\)"},{b:"%[qQwWx]?\\[",e:"\\]"},{b:"%[qQwWx]?{",e:"}"},{b:"%[qQwWx]?<",e:">"},{b:"%[qQwWx]?/",e:"/"},{b:"%[qQwWx]?%",e:"%"},{b:"%[qQwWx]?-",e:"-"},{b:"%[qQwWx]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]},i={cN:"params",b:"\\(",e:"\\)",k:r},d=[t,a,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[e.inherit(e.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+e.IR+"::)?"+e.IR}]}].concat(n)},{cN:"function",bK:"def",e:" |$|;",r:0,c:[e.inherit(e.TM,{b:c}),i].concat(n)},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:e.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[t,{b:c}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+e.RSR+")\\s*",c:[a,{cN:"regexp",c:[e.BE,s],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}].concat(n),r:0}].concat(n);s.c=d,i.c=d;var o="[>?]>",l="[\\w#]+\\(\\w+\\):\\d+:\\d+>",u="(\\w+-)?\\d+\\.\\d+\\.\\d(p\\d+)?[^>]+>",N=[{b:/^\s*=>/,cN:"status",starts:{e:"$",c:d}},{cN:"prompt",b:"^("+o+"|"+l+"|"+u+")",starts:{e:"$",c:d}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:r,c:n.concat(N).concat(d)}});hljs.registerLanguage("typescript",function(e){return{aliases:["ts"],k:{keyword:"in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private get set super interface extendsstatic constructor implements enum export import declare type protected",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:0},e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{b:"("+e.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[e.CLCM,e.CBCM,e.RM,{b:/;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:!0,c:[e.inherit(e.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[e.CLCM,e.CBCM],i:/["'\(]/}],i:/\[|%/,r:0},{cN:"constructor",bK:"constructor",e:/\{/,eE:!0,r:10},{cN:"module",bK:"module",e:/\{/,eE:!0},{cN:"interface",bK:"interface",e:/\{/,eE:!0},{b:/\$[(.]/},{b:"\\."+e.IR,r:0}]}});hljs.registerLanguage("handlebars",function(e){var a="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{aliases:["hbs","html.hbs","html.handlebars"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{{",e:"}}",c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a}]}]}});hljs.registerLanguage("mercury",function(e){var i={keyword:"module use_module import_module include_module end_module initialise mutable initialize finalize finalise interface implementation pred mode func type inst solver any_pred any_func is semidet det nondet multi erroneous failure cc_nondet cc_multi typeclass instance where pragma promise external trace atomic or_else require_complete_switch require_det require_semidet require_multi require_nondet require_cc_multi require_cc_nondet require_erroneous require_failure",pragma:"inline no_inline type_spec source_file fact_table obsolete memo loop_check minimal_model terminates does_not_terminate check_termination promise_equivalent_clauses",preprocessor:"foreign_proc foreign_decl foreign_code foreign_type foreign_import_module foreign_export_enum foreign_export foreign_enum may_call_mercury will_not_call_mercury thread_safe not_thread_safe maybe_thread_safe promise_pure promise_semipure tabled_for_io local untrailed trailed attach_to_io_state can_pass_as_mercury_type stable will_not_throw_exception may_modify_trail will_not_modify_trail may_duplicate may_not_duplicate affects_liveness does_not_affect_liveness doesnt_affect_liveness no_sharing unknown_sharing sharing",built_in:"some all not if then else true fail false try catch catch_any semidet_true semidet_false semidet_fail impure_true impure semipure"},r={cN:"label",b:"XXX",e:"$",eW:!0,r:0},t=e.inherit(e.CLCM,{b:"%"}),_=e.inherit(e.CBCM,{r:0});t.c.push(r),_.c.push(r);var n={cN:"number",b:"0'.\\|0[box][0-9a-fA-F]*"},a=e.inherit(e.ASM,{r:0}),o=e.inherit(e.QSM,{r:0}),l={cN:"constant",b:"\\\\[abfnrtv]\\|\\\\x[0-9a-fA-F]*\\\\\\|%[-+# *.0-9]*[dioxXucsfeEgGp]",r:0};o.c.push(l);var s={cN:"built_in",v:[{b:"<=>"},{b:"<=",r:0},{b:"=>",r:0},{b:"/\\\\"},{b:"\\\\/"}]},c={cN:"built_in",v:[{b:":-\\|-->"},{b:"=",r:0}]};return{aliases:["m","moo"],k:i,c:[s,c,t,_,n,e.NM,a,o,{b:/:-/}]}});hljs.registerLanguage("fix",function(u){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:!0,rB:!0,rE:!1,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:!0,rB:!1,cN:"attribute"},{b:/=/,e:/([\u2401\u0001])/,eE:!0,eB:!0,cN:"string"}]}],cI:!0}});hljs.registerLanguage("clojure",function(e){var t={built_in:"def cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"},r="a-zA-Z_\\-!.?+*=<>&#'",n="["+r+"]["+r+"0-9/;:]*",a="[-+]?\\d+(\\.\\d+)?",o={b:n,r:0},s={cN:"number",b:a,r:0},i=e.inherit(e.QSM,{i:null}),c=e.C(";","$",{r:0}),d={cN:"literal",b:/\b(true|false|nil)\b/},l={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"},m={cN:"comment",b:"\\^"+n},p=e.C("\\^\\{","\\}"),u={cN:"attribute",b:"[:]"+n},f={cN:"list",b:"\\(",e:"\\)"},h={eW:!0,r:0},y={k:t,l:n,cN:"keyword",b:n,starts:h},b=[f,i,m,p,c,u,l,s,d,o];return f.c=[e.C("comment",""),y,h],h.c=b,l.c=b,{aliases:["clj"],i:/\S/,c:[f,i,m,p,c,u,l,s,d]}});hljs.registerLanguage("perl",function(e){var t="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when",r={cN:"subst",b:"[$@]\\{",e:"\\}",k:t},s={b:"->{",e:"}"},n={cN:"variable",v:[{b:/\$\d/},{b:/[\$%@](\^\w\b|#\w+(::\w+)*|{\w+}|\w+(::\w*)*)/},{b:/[\$%@][^\s\w{]/,r:0}]},i=e.C("^(__END__|__DATA__)","\\n$",{r:5}),o=[e.BE,r,n],a=[n,e.HCM,i,e.C("^\\=\\w","\\=cut",{eW:!0}),s,{cN:"string",c:o,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[e.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[e.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+e.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[e.HCM,i,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[e.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];return r.c=a,s.c=a,{aliases:["pl"],k:t,c:a}});hljs.registerLanguage("twig",function(e){var t={cN:"params",b:"\\(",e:"\\)"},a="attribute block constant cycle date dump include max min parent random range source template_from_string",r={cN:"function",bK:a,r:0,c:[t]},c={cN:"filter",b:/\|[A-Za-z_]+:?/,k:"abs batch capitalize convert_encoding date date_modify default escape first format join json_encode keys last length lower merge nl2br number_format raw replace reverse round slice sort split striptags title trim upper url_encode",c:[r]},n="autoescape block do embed extends filter flush for if import include macro sandbox set spaceless use verbatim";return n=n+" "+n.split(" ").map(function(e){return"end"+e}).join(" "),{aliases:["craftcms"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[e.C(/\{#/,/#}/),{cN:"template_tag",b:/\{%/,e:/%}/,k:n,c:[c,r]},{cN:"variable",b:/\{\{/,e:/}}/,c:[c,r]}]}});hljs.registerLanguage("livecodeserver",function(e){var r={cN:"variable",b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0},t=[e.CBCM,e.HCM,e.C("--","$"),e.C("[^:]//","$")],a=e.inherit(e.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]}),o=e.inherit(e.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:!1,k:{keyword:"$_COOKIE $_FILES $_GET $_GET_BINARY $_GET_RAW $_POST $_POST_BINARY $_POST_RAW $_SESSION $_SERVER codepoint codepoints segment segments codeunit codeunits sentence sentences trueWord trueWords paragraph after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word words fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg avgDev base64Decode base64Encode baseConvert binaryDecode binaryEncode byteOffset byteToNum cachedURL cachedURLs charToNum cipherNames codepointOffset codepointProperty codepointToNum codeunitOffset commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames geometricMean global globals hasMemory harmonicMean hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames nativeCharToNum normalizeText num number numToByte numToChar numToCodepoint numToNativeChar offset open openfiles openProcesses openProcessIDs openSockets paragraphOffset paramCount param params peerAddress pendingMessages platform popStdDev populationStandardDeviation populationVariance popVariance processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLCreateTreeFromFileWithNamespaces revXMLCreateTreeWithNamespaces revXMLDataFromXPathQuery revXMLEvaluateXPath revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_Execute revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sampVariance sec secs seconds sentenceOffset sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName textDecode textEncode tick ticks time to tokenOffset toLower toUpper transpose truewordOffset trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus uuid value variableNames variance version waitDepth weekdayNames wordOffset xsltApplyStylesheet xsltApplyStylesheetFromFile xsltLoadStylesheet xsltLoadStylesheetFromFile add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket prepare process post seek rel relative read from process rename replace require resetAll resolve revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split start stop subtract union unload wait write"},c:[r,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"function",bK:"end",e:"$",c:[o,a]},{cN:"command",bK:"command on",e:"$",c:[r,o,e.ASM,e.QSM,e.BNM,e.CNM,a]},{cN:"command",bK:"end",e:"$",c:[o,a]},{cN:"preprocessor",b:"<\\?rev|<\\?lc|<\\?livecode",r:10},{cN:"preprocessor",b:"<\\?"},{cN:"preprocessor",b:"\\?>"},e.ASM,e.QSM,e.BNM,e.CNM,a].concat(t),i:";$|^\\[|^="}});hljs.registerLanguage("step21",function(e){var r="[A-Z_][A-Z0-9_.]*",i="END-ISO-10303-21;",l={literal:"",built_in:"",keyword:"HEADER ENDSEC DATA"},s={cN:"preprocessor",b:"ISO-10303-21;",r:10},t=[e.CLCM,e.CBCM,e.C("/\\*\\*!","\\*/"),e.CNM,e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"'",e:"'"},{cN:"label",v:[{b:"#",e:"\\d+",i:"\\W"}]}];return{aliases:["p21","step","stp"],cI:!0,l:r,k:l,c:[{cN:"preprocessor",b:i,r:10},s].concat(t)}});hljs.registerLanguage("cpp",function(t){var i={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary intmax_t uintmax_t int8_t uint8_t int16_t uint16_t int32_t uint32_t int64_t uint64_t int_least8_t uint_least8_t int_least16_t uint_least16_t int_least32_t uint_least32_t int_least64_t uint_least64_t int_fast8_t uint_fast8_t int_fast16_t uint_fast16_t int_fast32_t uint_fast32_t int_fast64_t uint_fast64_t intptr_t uintptr_t atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong atomic_wchar_t atomic_char16_t atomic_char32_t atomic_intmax_t atomic_uintmax_t atomic_intptr_t atomic_uintptr_t atomic_size_t atomic_ptrdiff_t atomic_int_least8_t atomic_int_least16_t atomic_int_least32_t atomic_int_least64_t atomic_uint_least8_t atomic_uint_least16_t atomic_uint_least32_t atomic_uint_least64_t atomic_int_fast8_t atomic_int_fast16_t atomic_int_fast32_t atomic_int_fast64_t atomic_uint_fast8_t atomic_uint_fast16_t atomic_uint_fast32_t atomic_uint_fast64_t",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","cc","h","c++","h++","hpp"],k:i,i:""]',k:"include",i:"\\n"},t.CLCM]},{b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:i,c:["self"]},{b:t.IR+"::",k:i},{bK:"new throw return else",r:0},{cN:"function",b:"("+t.IR+"\\s+)+"+t.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:i,c:[{b:t.IR+"\\s*\\(",rB:!0,c:[t.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:i,r:0,c:[t.CBCM]},t.CLCM,t.CBCM]}]}});hljs.registerLanguage("vala",function(e){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bK:"class interface delegate namespace",e:"{",eE:!0,i:"[^,:\\n\\s\\.]",c:[e.UTM]},e.CLCM,e.CBCM,{cN:"string",b:'"""',e:'"""',r:5},e.ASM,e.QSM,e.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN:"constant",b:" [A-Z_]+ ",r:0}]}});hljs.registerLanguage("http",function(t){return{aliases:["https"],i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:!0,e:"$",c:[{cN:"string",b:" ",e:" ",eB:!0,eE:!0}]},{cN:"attribute",b:"^\\w",e:": ",eE:!0,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:!0}}]}});hljs.registerLanguage("avrasm",function(r){return{cI:!0,l:"\\.?"+r.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",preprocessor:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[r.CBCM,r.C(";","$",{r:0}),r.CNM,r.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},r.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"label",b:"^[A-Za-z0-9_.$]+:"},{cN:"preprocessor",b:"#",e:"$"},{cN:"localvars",b:"@[0-9]+"}]}});hljs.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",i="get set args call";return{k:t,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"aspect",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+i,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+i},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("rib",function(e){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:">>|\.\.\.) /},b={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[r],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[r],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]},l={cN:"number",r:0,v:[{b:e.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:e.CNR+"[lLjJ]?"}]},c={cN:"params",b:/\(/,e:/\)/,c:["self",r,l,b]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[r,l,b,e.HCM,{v:[{cN:"function",bK:"def",r:10},{cN:"class",bK:"class"}],e:/:/,i:/[${=;\n,]/,c:[e.UTM,c]},{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("axapta",function(e){return{k:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bK:"class interface",e:"{",eE:!0,i:":",c:[{bK:"extends implements"},e.UTM]}]}});hljs.registerLanguage("nix",function(e){var t={keyword:"rec with let in inherit assert if else then",constant:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"},i={cN:"subst",b:/\$\{/,e:/}/,k:t},r={cN:"variable",b:/[a-zA-Z0-9-_]+(\s*=)/},n={cN:"string",b:"''",e:"''",c:[i]},s={cN:"string",b:'"',e:'"',c:[i]},a=[e.NM,e.HCM,e.CBCM,n,s,r];return i.c=a,{aliases:["nixos"],k:t,c:a}});hljs.registerLanguage("diff",function(e){return{aliases:["patch"],c:[{cN:"chunk",r:10,v:[{b:/^@@ +\-\d+,\d+ +\+\d+,\d+ +@@$/},{b:/^\*\*\* +\d+,\d+ +\*\*\*\*$/},{b:/^\-\-\- +\d+,\d+ +\-\-\-\-$/}]},{cN:"header",v:[{b:/Index: /,e:/$/},{b:/=====/,e:/=====$/},{b:/^\-\-\-/,e:/$/},{b:/^\*{3} /,e:/$/},{b:/^\+\+\+/,e:/$/},{b:/\*{5}/,e:/\*{5}$/}]},{cN:"addition",b:"^\\+",e:"$"},{cN:"deletion",b:"^\\-",e:"$"},{cN:"change",b:"^\\!",e:"$"}]}});hljs.registerLanguage("parser3",function(r){var e=r.C("{","}",{c:["self"]});return{sL:"xml",r:0,c:[r.C("^#","$"),r.C("\\^rem{","}",{r:10,c:[e]}),{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},r.CNM]}});hljs.registerLanguage("django",function(e){var t={cN:"filter",b:/\|[A-Za-z]+:?/,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",c:[{cN:"argument",b:/"/,e:/"/},{cN:"argument",b:/'/,e:/'/}]};return{aliases:["jinja"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[e.C(/\{%\s*comment\s*%}/,/\{%\s*endcomment\s*%}/),e.C(/\{#/,/#}/),{cN:"template_tag",b:/\{%/,e:/%}/,k:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",c:[t]},{cN:"variable",b:/\{\{/,e:/}}/,c:[t]}]}});hljs.registerLanguage("rust",function(e){var t=e.inherit(e.CBCM);return t.c.push("self"),{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self sizeof static struct super trait true type typeof unsafe unsized use virtual while yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",built_in:"assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! panic! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"},l:e.IR+"!?",i:""}]}});hljs.registerLanguage("vhdl",function(e){var t="\\d(_|\\d)*",r="[eE][-+]?"+t,n=t+"(\\."+t+")?("+r+")?",o="\\w+",i=t+"#"+o+"(\\."+o+")?#("+r+")?",a="\\b("+i+"|"+n+")";return{cI:!0,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[e.CBCM,e.C("--","$"),e.QSM,{cN:"number",b:a,r:0},{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[e.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[e.BE]}]}});hljs.registerLanguage("ocaml",function(e){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external for fun function functor if in include inherit! inherit initializer land lazy let lor lsl lsr lxor match method!|10 method mod module mutable new object of open! open or private rec sig struct then to try type val! val virtual when while with parser value",built_in:"array bool bytes char exn|5 float int int32 int64 list lazy_t|5 nativeint|5 string unit in_channel out_channel ref",literal:"true false"},i:/\/\/|>>/,l:"[a-z_]\\w*!?",c:[{cN:"literal",b:"\\[(\\|\\|)?\\]|\\(\\)"},e.C("\\(\\*","\\*\\)",{c:["self"]}),{cN:"symbol",b:"'[A-Za-z_](?!')[\\w']*"},{cN:"tag",b:"`[A-Z][\\w']*"},{cN:"type",b:"\\b[A-Z][\\w']*",r:0},{b:"[a-z_]\\w*'[\\w']*"},e.inherit(e.ASM,{cN:"char",r:0}),e.inherit(e.QSM,{i:null}),{cN:"number",b:"\\b(0[xX][a-fA-F0-9_]+[Lln]?|0[oO][0-7_]+[Lln]?|0[bB][01_]+[Lln]?|[0-9][0-9_]*([Lln]|(\\.[0-9_]*)?([eE][-+]?[0-9_]+)?)?)",r:0},{b:/[-=]>/}]}});hljs.registerLanguage("cmake",function(e){return{aliases:["cmake.in"],cI:!0,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},c:[{cN:"envvar",b:"\\${",e:"}"},e.HCM,e.QSM,e.NM]}});hljs.registerLanguage("1c",function(c){var e="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*",r="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт",t="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон",i={cN:"dquote",b:'""'},n={cN:"string",b:'"',e:'"|$',c:[i]},a={cN:"string",b:"\\|",e:'"|$',c:[i]};return{cI:!0,l:e,k:{keyword:r,built_in:t},c:[c.CLCM,c.NM,n,a,{cN:"function",b:"(процедура|функция)",e:"$",l:e,k:"процедура функция",c:[c.inherit(c.TM,{b:e}),{cN:"tail",eW:!0,c:[{cN:"params",b:"\\(",e:"\\)",l:e,k:"знач",c:[n,a]},{cN:"export",b:"экспорт",eW:!0,l:e,k:"экспорт",c:[c.CLCM]}]},c.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}});hljs.registerLanguage("tcl",function(e){return{aliases:["tk"],k:"after append apply array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd chan clock close concat continue dde dict encoding eof error eval exec exit expr fblocked fconfigure fcopy file fileevent filename flush for foreach format gets glob global history http if incr info interp join lappend|10 lassign|10 lindex|10 linsert|10 list llength|10 load lrange|10 lrepeat|10 lreplace|10 lreverse|10 lsearch|10 lset|10 lsort|10 mathfunc mathop memory msgcat namespace open package parray pid pkg::create pkg_mkIndex platform platform::shell proc puts pwd read refchan regexp registry regsub|10 rename return safe scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_startOfPreviousWord tcl_wordBreakAfter tcl_wordBreakBefore tcltest tclvars tell time tm trace unknown unload unset update uplevel upvar variable vwait while",c:[e.C(";[ \\t]*#","$"),e.C("^[ \\t]*#","$"),{bK:"proc",e:"[\\{]",eE:!0,c:[{cN:"symbol",b:"[ \\t\\n\\r]+(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"[ \\t\\n\\r]",eW:!0,eE:!0}]},{cN:"variable",eE:!0,v:[{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*\\(([a-zA-Z0-9_])*\\)",e:"[^a-zA-Z0-9_\\}\\$]"},{b:"\\$(\\{)?(::)?[a-zA-Z_]((::)?[a-zA-Z0-9_])*",e:"(\\))?[^a-zA-Z0-9_\\}\\$]"}]},{cN:"string",c:[e.BE],v:[e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null})]},{cN:"number",v:[e.BNM,e.CNM]}]}});hljs.registerLanguage("groovy",function(e){return{k:{typename:"byte short char int long boolean float double void",literal:"true false null",keyword:"def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[e.CLCM,{cN:"javadoc",b:"/\\*\\*",e:"\\*//*",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},e.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},e.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[e.BE]},e.QSM,{cN:"shebang",b:"^#!/usr/bin/env",e:"$",i:"\n"},e.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"label",b:"^\\s*[A-Za-z0-9_$]+:",r:0}]}});hljs.registerLanguage("erlang-repl",function(r){return{k:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"prompt",b:"^[0-9]+> ",r:10},r.C("%","$"),{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},r.ASM,r.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("nginx",function(e){var r={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+e.UIR}]},b={eW:!0,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[e.HCM,{cN:"string",c:[e.BE,r],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:!0,eE:!0,c:[r]},{cN:"regexp",c:[e.BE,r],v:[{b:"\\s\\^",e:"\\s|{|;",rE:!0},{b:"~\\*?\\s+",e:"\\s|{|;",rE:!0},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},r]};return{aliases:["nginxconf"],c:[e.HCM,{b:e.UIR+"\\s",e:";|{",rB:!0,c:[{cN:"title",b:e.UIR,starts:b}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("mathematica",function(e){return{aliases:["mma"],l:"(\\$|\\b)"+e.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber", -c:[{cN:"comment",b:/\(\*/,e:/\*\)/},e.ASM,e.QSM,e.CNM,{cN:"list",b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("fsharp",function(e){var t={b:"<",e:">",c:[e.inherit(e.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"yield! return! let! do!abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",c:[{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},e.C("\\(\\*","\\*\\)"),{cN:"class",bK:"type",e:"\\(|=|$",eE:!0,c:[e.UTM,t]},{cN:"annotation",b:"\\[<",e:">\\]",r:10},{cN:"attribute",b:"\\B('[A-Za-z])\\b",c:[e.BE]},e.CLCM,e.inherit(e.QSM,{i:null}),e.CNM]}});hljs.registerLanguage("verilog",function(e){return{aliases:["v"],cI:!0,k:{keyword:"always and assign begin buf bufif0 bufif1 case casex casez cmos deassign default defparam disable edge else end endcase endfunction endmodule endprimitive endspecify endtable endtask event for force forever fork function if ifnone initial inout input join macromodule module nand negedge nmos nor not notif0 notif1 or output parameter pmos posedge primitive pulldown pullup rcmos release repeat rnmos rpmos rtran rtranif0 rtranif1 specify specparam table task timescale tran tranif0 tranif1 wait while xnor xor",typename:"highz0 highz1 integer large medium pull0 pull1 real realtime reg scalared signed small strong0 strong1 supply0 supply0 supply1 supply1 time tri tri0 tri1 triand trior trireg vectored wand weak0 weak1 wire wor"},c:[e.CBCM,e.CLCM,e.QSM,{cN:"number",b:"\\b(\\d+'(b|h|o|d|B|H|O|D))?[0-9xzXZ]+",c:[e.BE],r:0},{cN:"typename",b:"\\.\\w+",r:0},{cN:"value",b:"#\\((?!parameter).+\\)"},{cN:"keyword",b:"\\+|-|\\*|/|%|<|>|=|#|`|\\!|&|\\||@|:|\\^|~|\\{|\\}",r:0}]}});hljs.registerLanguage("dos",function(e){var r=e.C(/@?rem\b/,/$/,{r:10}),t={cN:"label",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0};return{aliases:["bat","cmd"],cI:!0,k:{flow:"if else goto for in do call exit not exist errorlevel defined",operator:"equ neq lss leq gtr geq",keyword:"shift cd dir echo setlocal endlocal set pause copy",stream:"prn nul lpt3 lpt2 lpt1 con com4 com3 com2 com1 aux",winutils:"ping net ipconfig taskkill xcopy ren del",built_in:"append assoc at attrib break cacls cd chcp chdir chkdsk chkntfs cls cmd color comp compact convert date dir diskcomp diskcopy doskey erase fs find findstr format ftype graftabl help keyb label md mkdir mode more move path pause print popd pushd promt rd recover rem rename replace restore rmdir shiftsort start subst time title tree type ver verify vol"},c:[{cN:"envvar",b:/%%[^ ]|%[^ ]+?%|![^ ]+?!/},{cN:"function",b:t.b,e:"goto:eof",c:[e.inherit(e.TM,{b:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),r]},{cN:"number",b:"\\b\\d+",r:0},r]}});hljs.registerLanguage("gherkin",function(e){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"keyword",b:"\\*"},e.C("@[^@\r\n ]+","$"),{cN:"string",b:"\\|",e:"\\$"},{cN:"variable",b:"<",e:">"},e.HCM,{cN:"string",b:'"""',e:'"""'},e.QSM]}});hljs.registerLanguage("xml",function(t){var e="[A-Za-z0-9\\._:-]+",s={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"},c={eW:!0,i:/]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:!0,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},t.C("",{r:10}),{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[c],starts:{e:"",rE:!0,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[c],starts:{e:"",rE:!0,sL:""}},s,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},c]}]}});hljs.registerLanguage("autohotkey",function(e){var r={cN:"escape",b:"`[\\s\\S]"},c=e.C(";","$",{r:0}),n=[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},{cN:"built_in",bK:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{cI:!0,k:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},c:n.concat([r,e.inherit(e.QSM,{c:[r]}),c,{cN:"number",b:e.NR,r:0},{cN:"var_expand",b:"%",e:"%",i:"\\n",c:[r]},{cN:"label",c:[r],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,",r:10}])}});hljs.registerLanguage("r",function(e){var r="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[e.HCM,{b:r,l:r,k:{keyword:"function if in break next repeat else for return switch while try tryCatch stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[e.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("cs",function(e){var r="abstract as base bool break byte case catch char checked const continue decimal dynamic default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long null when object operator out override params private protected public readonly ref sbyte sealed short sizeof stackalloc static string struct switch this true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async protected public private internal ascending descending from get group into join let orderby partial select set value var where yield",t=e.IR+"(<"+e.IR+">)?";return{aliases:["csharp"],k:r,i:/::/,c:[e.C("///","$",{rB:!0,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:""},{b:""}]}]}),e.CLCM,e.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},e.ASM,e.QSM,e.CNM,{bK:"class namespace interface",e:/[{;=]/,i:/[^\s:]/,c:[e.TM,e.CLCM,e.CBCM]},{bK:"new return throw await",r:0},{cN:"function",b:"("+t+"\\s+)+"+e.IR+"\\s*\\(",rB:!0,e:/[{;=]/,eE:!0,k:r,c:[{b:e.IR+"\\s*\\(",rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:r,r:0,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]}]}});hljs.registerLanguage("nsis",function(e){var t={cN:"symbol",b:"\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"},n={cN:"constant",b:"\\$+{[a-zA-Z0-9_]+}"},i={cN:"variable",b:"\\$+[a-zA-Z0-9_]+",i:"\\(\\){}"},r={cN:"constant",b:"\\$+\\([a-zA-Z0-9_]+\\)"},o={cN:"params",b:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"},l={cN:"constant",b:"\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|makensis|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"};return{cI:!1,k:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "},c:[e.HCM,e.CBCM,{cN:"string",b:'"',e:'"',i:"\\n",c:[{cN:"symbol",b:"\\$(\\\\(n|r|t)|\\$)"},t,n,i,r]},e.C(";","$",{r:0}),{cN:"function",bK:"Function PageEx Section SectionGroup SubSection",e:"$"},l,n,i,r,o,e.NM,{cN:"literal",b:e.IR+"::"+e.IR}]}});hljs.registerLanguage("less",function(e){var r="[\\w-]+",t="("+r+"|@{"+r+"})",a=[],c=[],n=function(e){return{cN:"string",b:"~?"+e+".*?"+e}},i=function(e,r,t){return{cN:e,b:r,r:t}},s=function(r,t,a){return e.inherit({cN:r,b:t+"\\(",e:"\\(",rB:!0,eE:!0,r:0},a)},b={b:"\\(",e:"\\)",c:c,r:0};c.push(e.CLCM,e.CBCM,n("'"),n('"'),e.CSSNM,i("hexcolor","#[0-9A-Fa-f]+\\b"),s("function","(url|data-uri)",{starts:{cN:"string",e:"[\\)\\n]",eE:!0}}),s("function",r),b,i("variable","@@?"+r,10),i("variable","@{"+r+"}"),i("built_in","~?`[^`]*?`"),{cN:"attribute",b:r+"\\s*:",e:":",rB:!0,eE:!0});var o=c.concat({b:"{",e:"}",c:a}),u={bK:"when",eW:!0,c:[{bK:"and not"}].concat(c)},C={cN:"attribute",b:t,e:":",eE:!0,c:[e.CLCM,e.CBCM],i:/\S/,starts:{e:"[;}]",rE:!0,c:c,i:"[<=$]"}},l={cN:"at_rule",b:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{e:"[;{}]",rE:!0,c:c,r:0}},d={cN:"variable",v:[{b:"@"+r+"\\s*:",r:15},{b:"@"+r}],starts:{e:"[;}]",rE:!0,c:o}},p={v:[{b:"[\\.#:&\\[]",e:"[;{}]"},{b:t+"[^;]*{",e:"{"}],rB:!0,rE:!0,i:"[<='$\"]",c:[e.CLCM,e.CBCM,u,i("keyword","all\\b"),i("variable","@{"+r+"}"),i("tag",t+"%?",0),i("id","#"+t),i("class","\\."+t,0),i("keyword","&",0),s("pseudo",":not"),s("keyword",":extend"),i("pseudo","::?"+t),{cN:"attr_selector",b:"\\[",e:"\\]"},{b:"\\(",e:"\\)",c:o},{b:"!important"}]};return a.push(e.CLCM,e.CBCM,l,d,p,C),{cI:!0,i:"[=>'/<($\"]",c:a}});hljs.registerLanguage("pf",function(t){var o={cN:"variable",b:/\$[\w\d#@][\w\d_]*/},e={cN:"variable",b://};return{aliases:["pf.conf"],l:/[a-z0-9_<>-]+/,k:{built_in:"block match pass load anchor|5 antispoof|10 set table",keyword:"in out log quick on rdomain inet inet6 proto from port os to routeallow-opts divert-packet divert-reply divert-to flags group icmp-typeicmp6-type label once probability recieved-on rtable prio queuetos tag tagged user keep fragment for os dropaf-to|10 binat-to|10 nat-to|10 rdr-to|10 bitmask least-stats random round-robinsource-hash static-portdup-to reply-to route-toparent bandwidth default min max qlimitblock-policy debug fingerprints hostid limit loginterface optimizationreassemble ruleset-optimization basic none profile skip state-defaultsstate-policy timeoutconst counters persistno modulate synproxy state|5 floating if-bound no-sync pflow|10 sloppysource-track global rule max-src-nodes max-src-states max-src-connmax-src-conn-rate overload flushscrub|5 max-mss min-ttl no-df|10 random-id",literal:"all any no-route self urpf-failed egress|5 unknown"},c:[t.HCM,t.NM,t.QSM,o,e]}});hljs.registerLanguage("lasso",function(e){var r="[a-zA-Z_][a-zA-Z0-9_.]*",a="<\\?(lasso(script)?|=)",t="\\]|\\?>",s={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null boolean bytes keyword list locale queue set stack staticarray local var variable global data self inherited",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"},n=e.C("",{r:0}),o={cN:"preprocessor",b:"\\[noprocess\\]",starts:{cN:"markup",e:"\\[/noprocess\\]",rE:!0,c:[n]}},i={cN:"preprocessor",b:"\\[/noprocess|"+a},l={cN:"variable",b:"'"+r+"'"},c=[e.CLCM,{cN:"javadoc",b:"/\\*\\*!",e:"\\*/",c:[e.PWM]},e.CBCM,e.inherit(e.CNM,{b:e.CNR+"|(-?infinity|nan)\\b"}),e.inherit(e.ASM,{i:null}),e.inherit(e.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{cN:"variable",v:[{b:"[#$]"+r},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"tag",b:"::\\s*",e:r,i:"\\W"},{cN:"attribute",v:[{b:"-"+e.UIR,r:0},{b:"(\\.\\.\\.)"}]},{cN:"subst",v:[{b:"->\\s*",c:[l]},{b:":=|/(?!\\w)=?|[-+*%=<>&|!?\\\\]+",r:0}]},{cN:"built_in",b:"\\.\\.?\\s*",r:0,c:[l]},{cN:"class",bK:"define",rE:!0,e:"\\(|=>",c:[e.inherit(e.TM,{b:e.UIR+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],cI:!0,l:r+"|&[lg]t;",k:s,c:[{cN:"preprocessor",b:t,r:0,starts:{cN:"markup",e:"\\[|"+a,rE:!0,r:0,c:[n]}},o,i,{cN:"preprocessor",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:r+"|&[lg]t;",k:s,c:[{cN:"preprocessor",b:t,r:0,starts:{cN:"markup",e:"\\[noprocess\\]|"+a,rE:!0,c:[n]}},o,i].concat(c)}},{cN:"preprocessor",b:"\\[",r:0},{cN:"shebang",b:"^#!.+lasso9\\b",r:10}].concat(c)}});hljs.registerLanguage("prolog",function(c){var r={cN:"atom",b:/[a-z][A-Za-z0-9_]*/,r:0},b={cN:"name",v:[{b:/[A-Z][a-zA-Z0-9_]*/},{b:/_[A-Za-z0-9_]*/}],r:0},a={b:/\(/,e:/\)/,r:0},e={b:/\[/,e:/\]/},n={cN:"comment",b:/%/,e:/$/,c:[c.PWM]},t={cN:"string",b:/`/,e:/`/,c:[c.BE]},g={cN:"string",b:/0\'(\\\'|.)/},N={cN:"string",b:/0\'\\s/},o={b:/:-/},s=[r,b,a,o,e,n,c.CBCM,c.QSM,c.ASM,t,g,N,c.CNM];return a.c=s,e.c=s,{c:s.concat([{b:/\.$/}])}});hljs.registerLanguage("oxygene",function(e){var r="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained",t=e.C("{","}",{r:0}),a=e.C("\\(\\*","\\*\\)",{r:10}),n={cN:"string",b:"'",e:"'",c:[{b:"''"}]},o={cN:"string",b:"(#\\d+)+"},i={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",k:r,c:[n,o]},t,a]};return{cI:!0,k:r,i:'("|\\$[G-Zg-z]|\\/\\*||->)',c:[t,a,e.CLCM,n,o,e.NM,i,{cN:"class",b:"=\\bclass\\b",e:"end;",k:r,c:[n,o,t,a,e.CLCM,i]}]}});hljs.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},o=e.C("--","$"),n=e.C("\\(\\*","\\*\\)",{c:["self",o]}),a=[o,n,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(a),i:"//|->|=>"}});hljs.registerLanguage("makefile",function(e){var a={cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]};return{aliases:["mk","mak"],c:[e.HCM,{b:/^\w+\s*\W*=/,rB:!0,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:!0,starts:{e:/$/,r:0,c:[a]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[e.QSM,a]}]}});hljs.registerLanguage("dust",function(e){var a="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],cI:!0,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{",e:"}",r:0,c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a,r:0}]}]}});hljs.registerLanguage("clojure-repl",function(e){return{c:[{cN:"prompt",b:/^([\w.-]+|\s*#_)=>/,starts:{e:/$/,sL:"clojure",subLanguageMode:"continuous"}}]}});hljs.registerLanguage("dart",function(e){var t={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"},r={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[e.BE,t]},{b:'"""',e:'"""',c:[e.BE,t]},{b:"'",e:"'",i:"\\n",c:[e.BE,t]},{b:'"',e:'"',i:"\\n",c:[e.BE,t]}]};t.c=[e.CNM,r];var n={keyword:"assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",literal:"abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:n,c:[r,{cN:"dartdoc",b:"/\\*\\*",e:"\\*/",sL:"markdown",subLanguageMode:"continuous"},{cN:"dartdoc",b:"///",e:"$",sL:"markdown",subLanguageMode:"continuous"},e.CLCM,e.CBCM,{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.UTM]},e.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{b:"=>"}]}}); \ No newline at end of file diff --git a/site/js/jquery-2.1.1.min.js b/site/js/jquery-2.1.1.min.js deleted file mode 100644 index e5ace116..00000000 --- a/site/js/jquery-2.1.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) -},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("