{ "layers": [ { "currentVersion": 11.1, "cimVersion": "3.1.0", "id": 1, "name": "Parcel Dimensions (labels; limited)", "type": "Feature Layer", "description": "", "geometryType": "esriGeometryPolyline", "sourceSpatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.0032808333333333335, "zTolerance": 2.0E-5, "mTolerance": 0.001, "falseX": -17463800, "falseY": -46132600, "xyUnits": 3048.0060960121914, "falseZ": 0, "zUnits": 400000, "falseM": 0, "mUnits": 1 }, "copyrightText": "", "parentLayer": null, "subLayers": [], "minScale": 9027.977411, "maxScale": 0, "referenceScale": 0.0, "drawingInfo": { "renderer": { "type": "simple", "symbol": { "type": "esriSLS", "style": "esriSLSNull", "color": [ 38, 68, 155, 0 ], "width": 0 } }, "scaleSymbols": true, "transparency": 0, "labelingInfo": [ { "labelExpressionInfo": { "expression": "// Change the settings portion to configure direction format, color, rounding and abbreviations\r\n// This is an Arcade expression\r\n\r\n// SETTINGS\r\nvar ShowDistance = true; //set as 'true' to show distance\r\nvar ShowDirection = false; //set as 'true' to show direction\r\nvar DirectionType = 1; // 1 = Quadrant Bearing; 2 = North Azimuth; 3 = South Azimuth\r\nvar ShowRadius = false; //set as 'true' to show radius\r\nvar ShowCurveParameter = true; //set as 'true' to show a curve parameter\r\nvar ShowCOGOType = true; //set as 'true' to show prefixes and postfixes defined below for each cogo line label\r\nvar COGOType_Entered = ['', ''] //Change prefix and postfix for Entered courses\r\nvar COGOType_Scaled = ['', '(s)'] //Change prefix and postfix for Scaled courses\r\nvar COGOType_Computed = ['±', ''] //Change prefix and postfix for Computed courses\r\nvar COGOType_FromGeom = ['<', '>'] //Change for prefix and postfix From Geometry courses. The < is a special character to represent the left angle bracket\r\nvar CurveParameter = \"Chord\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\r\nvar ErrorString = \"COGO ERROR\"; //set to display invalid COGO combinations\r\nvar RadiusAbbr = 'R='; //radius abbreviation\r\nvar Radius2Abbr = 'R2='; //radius2 abbreviation for spiral curves\r\nvar ArclengthAbrr = 'L='; //arclength abbreviation\r\nvar ChordAbbr = 'CH='; //chord abbreviation\r\nvar AngleAbbr = 'A='; //central Angle abbreviation\r\nvar DistUnitRounding = 2; //number of decimal places for distance units: distance, radius, arclength & chord\r\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \r\nvar directionColor = \"blue='255'\"; //direction color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar distanceColor = \"magenta='255'\"; //distance color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar radiusColor = \"blue='255'\"; //radius color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar curveParamColor = \"magenta='255'\"; //curve parameter color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar partialCOGOColor = \"magenta='255'\"; //partial COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar invalidCOGOColor = \"red='255'\"; //invalid COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar fontNameSize = \"\"; //font type and size\r\n\r\n// VARIABLES\r\nvar cogo_direction = $feature.Direction;\r\nvar cogo_distance = $feature.Distance;\r\nvar cogo_radius = $feature.Radius;\r\nvar cogo_arclength = $feature.Arclength;\r\nvar cogo_radius2 = $feature.Radius2\r\nvar cogotype = $feature.COGOType\r\nif (HasKey($feature, \"labelPosition\")){\r\n var labelPosition = $feature.labelPosition\r\n}\r\nelse {\r\n var labelPosition = 1\r\n}\r\nvar binaryDictionary; //binary dictionary to check COGO combinations\r\nvar checksum = 0; //initialize checksum\r\nvar validValuesArray; //array of valid values for COGO combinations\r\nvar partialValuesArray; //array of partial values for COGO\r\nvar directionStr = \"\"; //direction string using for label\r\nvar distanceStr = \"\"; //distance string using for label\r\nvar radiusStr = \"\"; //radius string using for label\r\nvar radius2Str = \"\"; //radius2 string using for labeling spiral curves\r\nvar curveStr = \"\"; //curve parameter string using for label\r\nvar prefixPostfix = ['', ''] //Used for prefix and postfix of COGO Type\r\nvar angleRad; //curve angle in radians\r\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\r\n\r\nif (IsEmpty(cogo_direction) && IsEmpty(cogo_distance) && IsEmpty(cogo_radius) && IsEmpty(cogo_radius2) && IsEmpty(cogo_arclength)){\r\n return \"\"\r\n}\r\n\r\nfunction NorthAzimuth2Quadbearing(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'Quadrant', angleType: 'DMS', outputType: 'text', format: 'pd[°]mm[\\']ss[\"]b'})\r\n}\r\n\r\nfunction DMS_North(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'North', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction DMS_South(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'South', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2) {\r\n binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\r\n if (!IsEmpty(cogo_direction)) {checksum+=binaryDictionary.dir}\r\n if (!IsEmpty(cogo_distance)) {checksum+=binaryDictionary.dist}\r\n if (!IsEmpty(cogo_radius)) {checksum+=binaryDictionary.rad}\r\n if (!IsEmpty(cogo_arclength)) {checksum+=binaryDictionary.arc}\r\n if (!IsEmpty(cogo_radius2)) {checksum+=binaryDictionary.rad2}\r\n \r\n validValuesArray=[0,3,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\r\n partialValuesArray=[1,2,4,5,8,9,12,16,17,20,21,24,25,27,28]; //array of partial combinations: '1' for only direction, '2' for only distance, '4' for only radius...\r\n //Invalid Values = [6,7,10,11,14,15,18,19,22,23,26,30,31]\r\n\r\n\r\n if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\r\n return \"valid\";\r\n }\r\n if (IndexOf(partialValuesArray,checksum)>-1){\r\n return \"partial\"; \r\n }\r\n return \"invalid\";\r\n}\r\n\r\nfunction COGOTypePrefixPostfix(cogotypeValue){\r\n if (ShowCOGOType){\r\n if (cogotypeValue == 1) { //Entered\r\n return COGOType_Entered\r\n }\r\n else if(cogotypeValue == 2) { //From Geometry\r\n return COGOType_FromGeom\r\n }\r\n else if(cogotypeValue == 3) { //Computed\r\n return COGOType_Computed\r\n }\r\n else if(cogotypeValue == 4) { //Scaled\r\n return COGOType_Scaled\r\n }\r\n else { //If not set or invalid value\r\n return ['', '']\r\n }\r\n \r\n }\r\n else{\r\n return(['', ''])\r\n }\r\n}\r\n\r\nCOGOValidity = IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2);\r\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\r\n return \"\" + fontNameSize + ErrorString + \"<\/FNT><\/CLR><\/BOL>\"; \r\n}\r\n\r\nelse if (COGOValidity == \"partial\") { //if a partial COGO change colors\r\n distanceColor = partialCOGOColor;\r\n directionColor = partialCOGOColor;\r\n radiusColor = partialCOGOColor;\r\n curveParamColor = partialCOGOColor;\r\n}\r\n\r\n// Direction string\r\nif (ShowDirection) {\r\n if (IsEmpty(cogo_direction)==false) {\r\n if (DirectionType == 1) { //using quadrant bearing format\r\n directionStr = NorthAzimuth2Quadbearing(cogo_direction);\r\n }\r\n else if (DirectionType == 2) { //using north azimuth format\r\n directionStr = DMS_North(cogo_direction);\r\n }\r\n else if (DirectionType == 3) { //using south azimuth format\r\n directionStr = DMS_South(cogo_direction);\r\n }\r\n }\r\n}\r\n\r\n// Distance string\r\nif (ShowDistance) {\r\n if (IsEmpty(cogo_distance)==false) {\r\n distanceStr = text(round(cogo_distance,DistUnitRounding), NumberFormat);\r\n }\r\n}\r\n\r\n//Radius String\r\nif (ShowRadius) {\r\n if (!IsEmpty(cogo_radius)) { //it can be a curve or a spiral\r\n if (IsEmpty(cogo_radius2)) { //if radius2 is empty this is a curve\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding), NumberFormat);\r\n }\r\n else { // it is a spiral\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding),NumberFormat);\r\n radius2Str = Radius2Abbr + \" \" + text(round(cogo_radius2, DistUnitRounding),NumberFormat);\r\n if (cogo_radius == 0) { //substitute to infinity sign\r\n radiusStr = RadiusAbbr + \" ∞ \";\r\n }\r\n if (cogo_radius2 == 0) { //substitute to infinity sign\r\n radius2Str = Radius2Abbr + \" ∞ \";\r\n }\r\n } \r\n \r\n }\r\n}\r\n\r\n// Curve Parameter\r\nif (ShowCurveParameter) {\r\n if (!IsEmpty(cogo_arclength)) {\r\n if (CurveParameter == 'ArcLength') {\r\n curveStr = text(round(cogo_arclength, DistUnitRounding), NumberFormat); //return Arc length\r\n }\r\n angleRad = cogo_arclength/(abs(cogo_radius)) //calculate angle in radians\r\n if (CurveParameter == 'Angle') {\r\n curveStr = DMS_North(angleRad * 180 / pi); // convert radian to degrees and show as DMS\r\n }\r\n if (CurveParameter == 'Chord') {\r\n curveStr = text(round((2 * abs(cogo_radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat); //calculate chord length\r\n } \r\n }\r\n}\r\n\r\n//Determine type of curve displayed\r\nvar CurveTypePrefix = \"\"\r\nif (!IsEmpty(curveStr)){\r\n if (CurveParameter == 'ArcLength'){\r\n CurveTypePrefix = ArclengthAbrr\r\n }\r\n else if (CurveParameter == 'Angle'){\r\n CurveTypePrefix = AngleAbbr\r\n }\r\n else if (CurveParameter == 'Chord'){\r\n CurveTypePrefix = ChordAbbr\r\n }\r\n}\r\n\r\nvar isStraightLine = IsEmpty(radiusStr) && IsEmpty(radius2Str) && IsEmpty(curveStr)\r\n\r\n// Assemble label string\r\n\r\n// Only labels for Entered and Scaled COGO Types\r\nif ($feature.COGOType == 1 || $feature.COGOType == 4) {\r\n\r\n //Get prefix and postfix if either distance or curve is not empty. NOTE If both aren't empty it's invalid COGO\r\n if (!IsEmpty(distanceStr) || !IsEmpty(curveStr)){\r\n prefixPostfix = COGOTypePrefixPostfix(cogotype)\r\n }\r\n\r\n var sharedLabelBuffer = \"\"\r\n if (labelPosition == 3) {\r\n sharedLabelBuffer = \" \\n\"\r\n }\r\n\r\n //Straight lines\r\n if (isStraightLine){\r\n if (!IsEmpty(directionStr) && !IsEmpty(distanceStr)){ //If Direction and Distance are both NOT Empty\r\n return fontNameSize + \"\" + directionStr + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else if (IsEmpty(directionStr)){ //If Direction is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" +\r\n prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else{ //If Distance is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" + directionStr + \"<\/CLR><\/FNT>\";\r\n }\r\n }\r\n\r\n //Curves\r\n //If one or both radii and the curve string are NOT empty show the full curve\r\n if ((!IsEmpty(radiusStr) || !IsEmpty(radius2Str)) && !IsEmpty(curveStr)){\r\n return fontNameSize + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n //If the curve is empty\r\n else if (IsEmpty(curveStr)){\r\n return fontNameSize + sharedLabelBuffer + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR><\/FNT>\"\r\n }\r\n //If both radius are empty\r\n else{\r\n return fontNameSize + sharedLabelBuffer + \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n}", "title": "Custom" }, "labelPlacement": "esriServerLinePlacementAboveAlong", "textLayout": "followFeature", "deconflictionStrategy": "dynamic", "allowOverrun": false, "repeatLabel": false, "removeDuplicates": "all", "removeDuplicatesDistance": 216, "lineConnection": "none", "multiPart": "labelPerFeature", "stackLabel": false, "where": "LabelPosition = 1 Or LabelPosition IS NULL", "useCodedValues": true, "maxScale": 0, "minScale": 2256.994353, "name": "COGO Right", "priority": -1, "symbol": { "type": "esriTS", "color": [ 0, 0, 0, 255 ], "backgroundColor": null, "borderLineColor": null, "borderLineSize": null, "verticalAlignment": "bottom", "horizontalAlignment": "left", "rightToLeft": false, "angle": 0, "xoffset": 0, "yoffset": 0, "kerning": true, "haloColor": [ 255, 255, 255, 255 ], "haloSize": 1, "font": { "family": "Roboto", "size": 8, "style": "normal", "weight": "normal", "decoration": "none" } } }, { "labelExpressionInfo": { "expression": "// Change the settings portion to configure direction format, color, rounding and abbreviations\r\n// This is an Arcade expression\r\n\r\n// SETTINGS\r\nvar ShowDistance = true; //set as 'true' to show distance\r\nvar ShowDirection = false; //set as 'true' to show direction\r\nvar DirectionType = 1; // 1 = Quadrant Bearing; 2 = North Azimuth; 3 = South Azimuth\r\nvar ShowRadius = false; //set as 'true' to show radius\r\nvar ShowCurveParameter = true; //set as 'true' to show a curve parameter\r\nvar ShowCOGOType = true; //set as 'true' to show prefixes and postfixes defined below for each cogo line label\r\nvar COGOType_Entered = ['', ''] //Change prefix and postfix for Entered courses\r\nvar COGOType_Scaled = ['', '(s)'] //Change prefix and postfix for Scaled courses\r\nvar COGOType_Computed = ['±', ''] //Change prefix and postfix for Computed courses\r\nvar COGOType_FromGeom = ['<', '>'] //Change for prefix and postfix From Geometry courses. The < is a special character to represent the left angle bracket\r\nvar CurveParameter = \"Chord\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\r\nvar ErrorString = \"COGO ERROR\"; //set to display invalid COGO combinations\r\nvar RadiusAbbr = 'R='; //radius abbreviation\r\nvar Radius2Abbr = 'R2='; //radius2 abbreviation for spiral curves\r\nvar ArclengthAbrr = 'L='; //arclength abbreviation\r\nvar ChordAbbr = 'CH='; //chord abbreviation\r\nvar AngleAbbr = 'A='; //central Angle abbreviation\r\nvar DistUnitRounding = 2; //number of decimal places for distance units: distance, radius, arclength & chord\r\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \r\nvar directionColor = \"blue='255'\"; //direction color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar distanceColor = \"magenta='255'\"; //distance color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar radiusColor = \"blue='255'\"; //radius color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar curveParamColor = \"magenta='255'\"; //curve parameter color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar partialCOGOColor = \"magenta='255'\"; //partial COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar invalidCOGOColor = \"red='255'\"; //invalid COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar fontNameSize = \"\"; //font type and size\r\n\r\n// VARIABLES\r\nvar cogo_direction = $feature.Direction;\r\nvar cogo_distance = $feature.Distance;\r\nvar cogo_radius = $feature.Radius;\r\nvar cogo_arclength = $feature.Arclength;\r\nvar cogo_radius2 = $feature.Radius2\r\nvar cogotype = $feature.COGOType\r\nif (HasKey($feature, \"labelPosition\")){\r\n var labelPosition = $feature.labelPosition\r\n}\r\nelse {\r\n var labelPosition = 1\r\n}\r\nvar binaryDictionary; //binary dictionary to check COGO combinations\r\nvar checksum = 0; //initialize checksum\r\nvar validValuesArray; //array of valid values for COGO combinations\r\nvar partialValuesArray; //array of partial values for COGO\r\nvar directionStr = \"\"; //direction string using for label\r\nvar distanceStr = \"\"; //distance string using for label\r\nvar radiusStr = \"\"; //radius string using for label\r\nvar radius2Str = \"\"; //radius2 string using for labeling spiral curves\r\nvar curveStr = \"\"; //curve parameter string using for label\r\nvar prefixPostfix = ['', ''] //Used for prefix and postfix of COGO Type\r\nvar angleRad; //curve angle in radians\r\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\r\n\r\nif (IsEmpty(cogo_direction) && IsEmpty(cogo_distance) && IsEmpty(cogo_radius) && IsEmpty(cogo_radius2) && IsEmpty(cogo_arclength)){\r\n return \"\"\r\n}\r\n\r\nfunction NorthAzimuth2Quadbearing(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'Quadrant', angleType: 'DMS', outputType: 'text', format: 'pd[°]mm[\\']ss[\"]b'})\r\n}\r\n\r\nfunction DMS_North(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'North', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction DMS_South(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'South', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2) {\r\n binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\r\n if (!IsEmpty(cogo_direction)) {checksum+=binaryDictionary.dir}\r\n if (!IsEmpty(cogo_distance)) {checksum+=binaryDictionary.dist}\r\n if (!IsEmpty(cogo_radius)) {checksum+=binaryDictionary.rad}\r\n if (!IsEmpty(cogo_arclength)) {checksum+=binaryDictionary.arc}\r\n if (!IsEmpty(cogo_radius2)) {checksum+=binaryDictionary.rad2}\r\n \r\n validValuesArray=[0,3,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\r\n partialValuesArray=[1,2,4,5,8,9,12,16,17,20,21,24,25,27,28]; //array of partial combinations: '1' for only direction, '2' for only distance, '4' for only radius...\r\n //Invalid Values = [6,7,10,11,14,15,18,19,22,23,26,30,31]\r\n\r\n\r\n if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\r\n return \"valid\";\r\n }\r\n if (IndexOf(partialValuesArray,checksum)>-1){\r\n return \"partial\"; \r\n }\r\n return \"invalid\";\r\n}\r\n\r\nfunction COGOTypePrefixPostfix(cogotypeValue){\r\n if (ShowCOGOType){\r\n if (cogotypeValue == 1) { //Entered\r\n return COGOType_Entered\r\n }\r\n else if(cogotypeValue == 2) { //From Geometry\r\n return COGOType_FromGeom\r\n }\r\n else if(cogotypeValue == 3) { //Computed\r\n return COGOType_Computed\r\n }\r\n else if(cogotypeValue == 4) { //Scaled\r\n return COGOType_Scaled\r\n }\r\n else { //If not set or invalid value\r\n return ['', '']\r\n }\r\n \r\n }\r\n else{\r\n return(['', ''])\r\n }\r\n}\r\n\r\nCOGOValidity = IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2);\r\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\r\n return \"\" + fontNameSize + ErrorString + \"<\/FNT><\/CLR><\/BOL>\"; \r\n}\r\n\r\nelse if (COGOValidity == \"partial\") { //if a partial COGO change colors\r\n distanceColor = partialCOGOColor;\r\n directionColor = partialCOGOColor;\r\n radiusColor = partialCOGOColor;\r\n curveParamColor = partialCOGOColor;\r\n}\r\n\r\n// Direction string\r\nif (ShowDirection) {\r\n if (IsEmpty(cogo_direction)==false) {\r\n if (DirectionType == 1) { //using quadrant bearing format\r\n directionStr = NorthAzimuth2Quadbearing(cogo_direction);\r\n }\r\n else if (DirectionType == 2) { //using north azimuth format\r\n directionStr = DMS_North(cogo_direction);\r\n }\r\n else if (DirectionType == 3) { //using south azimuth format\r\n directionStr = DMS_South(cogo_direction);\r\n }\r\n }\r\n}\r\n\r\n// Distance string\r\nif (ShowDistance) {\r\n if (IsEmpty(cogo_distance)==false) {\r\n distanceStr = text(round(cogo_distance,DistUnitRounding), NumberFormat);\r\n }\r\n}\r\n\r\n//Radius String\r\nif (ShowRadius) {\r\n if (!IsEmpty(cogo_radius)) { //it can be a curve or a spiral\r\n if (IsEmpty(cogo_radius2)) { //if radius2 is empty this is a curve\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding), NumberFormat);\r\n }\r\n else { // it is a spiral\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding),NumberFormat);\r\n radius2Str = Radius2Abbr + \" \" + text(round(cogo_radius2, DistUnitRounding),NumberFormat);\r\n if (cogo_radius == 0) { //substitute to infinity sign\r\n radiusStr = RadiusAbbr + \" ∞ \";\r\n }\r\n if (cogo_radius2 == 0) { //substitute to infinity sign\r\n radius2Str = Radius2Abbr + \" ∞ \";\r\n }\r\n } \r\n \r\n }\r\n}\r\n\r\n// Curve Parameter\r\nif (ShowCurveParameter) {\r\n if (!IsEmpty(cogo_arclength)) {\r\n if (CurveParameter == 'ArcLength') {\r\n curveStr = text(round(cogo_arclength, DistUnitRounding), NumberFormat); //return Arc length\r\n }\r\n angleRad = cogo_arclength/(abs(cogo_radius)) //calculate angle in radians\r\n if (CurveParameter == 'Angle') {\r\n curveStr = DMS_North(angleRad * 180 / pi); // convert radian to degrees and show as DMS\r\n }\r\n if (CurveParameter == 'Chord') {\r\n curveStr = text(round((2 * abs(cogo_radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat); //calculate chord length\r\n } \r\n }\r\n}\r\n\r\n//Determine type of curve displayed\r\nvar CurveTypePrefix = \"\"\r\nif (!IsEmpty(curveStr)){\r\n if (CurveParameter == 'ArcLength'){\r\n CurveTypePrefix = ArclengthAbrr\r\n }\r\n else if (CurveParameter == 'Angle'){\r\n CurveTypePrefix = AngleAbbr\r\n }\r\n else if (CurveParameter == 'Chord'){\r\n CurveTypePrefix = ChordAbbr\r\n }\r\n}\r\n\r\nvar isStraightLine = IsEmpty(radiusStr) && IsEmpty(radius2Str) && IsEmpty(curveStr)\r\n\r\n// Assemble label string\r\n\r\n// Only labels for Entered and Scaled COGO Types\r\nif ($feature.COGOType == 1 || $feature.COGOType == 4) {\r\n\r\n //Get prefix and postfix if either distance or curve is not empty. NOTE If both aren't empty it's invalid COGO\r\n if (!IsEmpty(distanceStr) || !IsEmpty(curveStr)){\r\n prefixPostfix = COGOTypePrefixPostfix(cogotype)\r\n }\r\n\r\n var sharedLabelBuffer = \"\"\r\n if (labelPosition == 3) {\r\n sharedLabelBuffer = \" \\n\"\r\n }\r\n\r\n //Straight lines\r\n if (isStraightLine){\r\n if (!IsEmpty(directionStr) && !IsEmpty(distanceStr)){ //If Direction and Distance are both NOT Empty\r\n return fontNameSize + \"\" + directionStr + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else if (IsEmpty(directionStr)){ //If Direction is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" +\r\n prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else{ //If Distance is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" + directionStr + \"<\/CLR><\/FNT>\";\r\n }\r\n }\r\n\r\n //Curves\r\n //If one or both radii and the curve string are NOT empty show the full curve\r\n if ((!IsEmpty(radiusStr) || !IsEmpty(radius2Str)) && !IsEmpty(curveStr)){\r\n return fontNameSize + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n //If the curve is empty\r\n else if (IsEmpty(curveStr)){\r\n return fontNameSize + sharedLabelBuffer + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR><\/FNT>\"\r\n }\r\n //If both radius are empty\r\n else{\r\n return fontNameSize + sharedLabelBuffer + \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n}", "title": "Custom" }, "labelPlacement": "esriServerLinePlacementAboveAlong", "textLayout": "followFeature", "deconflictionStrategy": "dynamic", "allowOverrun": false, "repeatLabel": false, "removeDuplicates": "all", "removeDuplicatesDistance": 216, "lineConnection": "none", "multiPart": "labelPerFeature", "stackLabel": false, "where": "LabelPosition = 2", "useCodedValues": true, "maxScale": 0, "minScale": 2256.994353, "name": "COGO Left", "priority": -1, "symbol": { "type": "esriTS", "color": [ 0, 0, 0, 255 ], "backgroundColor": null, "borderLineColor": null, "borderLineSize": null, "verticalAlignment": "bottom", "horizontalAlignment": "left", "rightToLeft": false, "angle": 0, "xoffset": 0, "yoffset": 0, "kerning": true, "haloColor": null, "haloSize": null, "font": { "family": "Roboto", "size": 10, "style": "normal", "weight": "normal", "decoration": "none" } } }, { "labelExpressionInfo": { "expression": "// Change the settings portion to configure direction format, color, rounding and abbreviations\r\n// This is an Arcade expression\r\n\r\n// SETTINGS\r\nvar ShowDistance = true; //set as 'true' to show distance\r\nvar ShowDirection = false; //set as 'true' to show direction\r\nvar DirectionType = 1; // 1 = Quadrant Bearing; 2 = North Azimuth; 3 = South Azimuth\r\nvar ShowRadius = false; //set as 'true' to show radius\r\nvar ShowCurveParameter = true; //set as 'true' to show a curve parameter\r\nvar ShowCOGOType = true; //set as 'true' to show prefixes and postfixes defined below for each cogo line label\r\nvar COGOType_Entered = ['', ''] //Change prefix and postfix for Entered courses\r\nvar COGOType_Scaled = ['', '(s)'] //Change prefix and postfix for Scaled courses\r\nvar COGOType_Computed = ['±', ''] //Change prefix and postfix for Computed courses\r\nvar COGOType_FromGeom = ['<', '>'] //Change for prefix and postfix From Geometry courses. The < is a special character to represent the left angle bracket\r\nvar CurveParameter = \"Chord\"; //set as 'ArcLength' or 'Chord' or 'Angle' for central angle. Case sensitive!\r\nvar ErrorString = \"COGO ERROR\"; //set to display invalid COGO combinations\r\nvar RadiusAbbr = 'R='; //radius abbreviation\r\nvar Radius2Abbr = 'R2='; //radius2 abbreviation for spiral curves\r\nvar ArclengthAbrr = 'L='; //arclength abbreviation\r\nvar ChordAbbr = 'CH='; //chord abbreviation\r\nvar AngleAbbr = 'A='; //central Angle abbreviation\r\nvar DistUnitRounding = 2; //number of decimal places for distance units: distance, radius, arclength & chord\r\nvar NumberFormat = \"#,###.00\" //number format. In this example: thousands separator with padding of 2 zeros \r\nvar directionColor = \"blue='255'\"; //direction color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar distanceColor = \"magenta='255'\"; //distance color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar radiusColor = \"blue='255'\"; //radius color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar curveParamColor = \"magenta='255'\"; //curve parameter color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar partialCOGOColor = \"magenta='255'\"; //partial COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar invalidCOGOColor = \"red='255'\"; //invalid COGO color: red, green, blue, cyan, magenta, yellow, black. You can also use RGB or CYMK combinations.\r\nvar fontNameSize = \"\"; //font type and size\r\n\r\n// VARIABLES\r\nvar cogo_direction = $feature.Direction;\r\nvar cogo_distance = $feature.Distance;\r\nvar cogo_radius = $feature.Radius;\r\nvar cogo_arclength = $feature.Arclength;\r\nvar cogo_radius2 = $feature.Radius2\r\nvar cogotype = $feature.COGOType\r\nif (HasKey($feature, \"labelPosition\")){\r\n var labelPosition = $feature.labelPosition\r\n}\r\nelse {\r\n var labelPosition = 1\r\n}\r\nvar binaryDictionary; //binary dictionary to check COGO combinations\r\nvar checksum = 0; //initialize checksum\r\nvar validValuesArray; //array of valid values for COGO combinations\r\nvar partialValuesArray; //array of partial values for COGO\r\nvar directionStr = \"\"; //direction string using for label\r\nvar distanceStr = \"\"; //distance string using for label\r\nvar radiusStr = \"\"; //radius string using for label\r\nvar radius2Str = \"\"; //radius2 string using for labeling spiral curves\r\nvar curveStr = \"\"; //curve parameter string using for label\r\nvar prefixPostfix = ['', ''] //Used for prefix and postfix of COGO Type\r\nvar angleRad; //curve angle in radians\r\nvar COGOValidity; //COGO combinations validity. can be valid, partial or invalid.\r\n\r\nif (IsEmpty(cogo_direction) && IsEmpty(cogo_distance) && IsEmpty(cogo_radius) && IsEmpty(cogo_radius2) && IsEmpty(cogo_arclength)){\r\n return \"\"\r\n}\r\n\r\nfunction NorthAzimuth2Quadbearing(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'Quadrant', angleType: 'DMS', outputType: 'text', format: 'pd[°]mm[\\']ss[\"]b'})\r\n}\r\n\r\nfunction DMS_North(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'North', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction DMS_South(azimuth){\r\n return ConvertDirection(azimuth, {directionType:'North', angleType: 'Degrees'}, {directionType:'South', angleType: 'DMS', outputType: 'text', format: 'd[°]mm[\\']ss[\"]'})\r\n}\r\n\r\nfunction IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2) {\r\n binaryDictionary= Dictionary('dir', 1, 'dist',2, 'rad',4, 'arc',8, 'rad2',16)\r\n if (!IsEmpty(cogo_direction)) {checksum+=binaryDictionary.dir}\r\n if (!IsEmpty(cogo_distance)) {checksum+=binaryDictionary.dist}\r\n if (!IsEmpty(cogo_radius)) {checksum+=binaryDictionary.rad}\r\n if (!IsEmpty(cogo_arclength)) {checksum+=binaryDictionary.arc}\r\n if (!IsEmpty(cogo_radius2)) {checksum+=binaryDictionary.rad2}\r\n \r\n validValuesArray=[0,3,13,29]; //array of valid combinations: '0' for nothing, ... '13' for direction & radius & arclength ...\r\n partialValuesArray=[1,2,4,5,8,9,12,16,17,20,21,24,25,27,28]; //array of partial combinations: '1' for only direction, '2' for only distance, '4' for only radius...\r\n //Invalid Values = [6,7,10,11,14,15,18,19,22,23,26,30,31]\r\n\r\n\r\n if (IndexOf(validValuesArray,checksum)>-1) { // a negative value is returned if checksum value is not in the a valid combination array\r\n return \"valid\";\r\n }\r\n if (IndexOf(partialValuesArray,checksum)>-1){\r\n return \"partial\"; \r\n }\r\n return \"invalid\";\r\n}\r\n\r\nfunction COGOTypePrefixPostfix(cogotypeValue){\r\n if (ShowCOGOType){\r\n if (cogotypeValue == 1) { //Entered\r\n return COGOType_Entered\r\n }\r\n else if(cogotypeValue == 2) { //From Geometry\r\n return COGOType_FromGeom\r\n }\r\n else if(cogotypeValue == 3) { //Computed\r\n return COGOType_Computed\r\n }\r\n else if(cogotypeValue == 4) { //Scaled\r\n return COGOType_Scaled\r\n }\r\n else { //If not set or invalid value\r\n return ['', '']\r\n }\r\n \r\n }\r\n else{\r\n return(['', ''])\r\n }\r\n}\r\n\r\nCOGOValidity = IsValidCOGO(cogo_direction, cogo_distance, cogo_radius, cogo_arclength, cogo_radius2);\r\nif ( COGOValidity == \"invalid\") { //if invalid COGO return error string\r\n return \"\" + fontNameSize + ErrorString + \"<\/FNT><\/CLR><\/BOL>\"; \r\n}\r\n\r\nelse if (COGOValidity == \"partial\") { //if a partial COGO change colors\r\n distanceColor = partialCOGOColor;\r\n directionColor = partialCOGOColor;\r\n radiusColor = partialCOGOColor;\r\n curveParamColor = partialCOGOColor;\r\n}\r\n\r\n// Direction string\r\nif (ShowDirection) {\r\n if (IsEmpty(cogo_direction)==false) {\r\n if (DirectionType == 1) { //using quadrant bearing format\r\n directionStr = NorthAzimuth2Quadbearing(cogo_direction);\r\n }\r\n else if (DirectionType == 2) { //using north azimuth format\r\n directionStr = DMS_North(cogo_direction);\r\n }\r\n else if (DirectionType == 3) { //using south azimuth format\r\n directionStr = DMS_South(cogo_direction);\r\n }\r\n }\r\n}\r\n\r\n// Distance string\r\nif (ShowDistance) {\r\n if (IsEmpty(cogo_distance)==false) {\r\n distanceStr = text(round(cogo_distance,DistUnitRounding), NumberFormat);\r\n }\r\n}\r\n\r\n//Radius String\r\nif (ShowRadius) {\r\n if (!IsEmpty(cogo_radius)) { //it can be a curve or a spiral\r\n if (IsEmpty(cogo_radius2)) { //if radius2 is empty this is a curve\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding), NumberFormat);\r\n }\r\n else { // it is a spiral\r\n radiusStr = RadiusAbbr + \" \" + text(round(cogo_radius, DistUnitRounding),NumberFormat);\r\n radius2Str = Radius2Abbr + \" \" + text(round(cogo_radius2, DistUnitRounding),NumberFormat);\r\n if (cogo_radius == 0) { //substitute to infinity sign\r\n radiusStr = RadiusAbbr + \" ∞ \";\r\n }\r\n if (cogo_radius2 == 0) { //substitute to infinity sign\r\n radius2Str = Radius2Abbr + \" ∞ \";\r\n }\r\n } \r\n \r\n }\r\n}\r\n\r\n// Curve Parameter\r\nif (ShowCurveParameter) {\r\n if (!IsEmpty(cogo_arclength)) {\r\n if (CurveParameter == 'ArcLength') {\r\n curveStr = text(round(cogo_arclength, DistUnitRounding), NumberFormat); //return Arc length\r\n }\r\n angleRad = cogo_arclength/(abs(cogo_radius)) //calculate angle in radians\r\n if (CurveParameter == 'Angle') {\r\n curveStr = DMS_North(angleRad * 180 / pi); // convert radian to degrees and show as DMS\r\n }\r\n if (CurveParameter == 'Chord') {\r\n curveStr = text(round((2 * abs(cogo_radius) * Sin(angleRad/2)),DistUnitRounding), NumberFormat); //calculate chord length\r\n } \r\n }\r\n}\r\n\r\n//Determine type of curve displayed\r\nvar CurveTypePrefix = \"\"\r\nif (!IsEmpty(curveStr)){\r\n if (CurveParameter == 'ArcLength'){\r\n CurveTypePrefix = ArclengthAbrr\r\n }\r\n else if (CurveParameter == 'Angle'){\r\n CurveTypePrefix = AngleAbbr\r\n }\r\n else if (CurveParameter == 'Chord'){\r\n CurveTypePrefix = ChordAbbr\r\n }\r\n}\r\n\r\nvar isStraightLine = IsEmpty(radiusStr) && IsEmpty(radius2Str) && IsEmpty(curveStr)\r\n\r\n// Assemble label string\r\n\r\n// Only labels for Entered and Scaled COGO Types\r\nif ($feature.COGOType == 1 || $feature.COGOType == 4) {\r\n\r\n //Get prefix and postfix if either distance or curve is not empty. NOTE If both aren't empty it's invalid COGO\r\n if (!IsEmpty(distanceStr) || !IsEmpty(curveStr)){\r\n prefixPostfix = COGOTypePrefixPostfix(cogotype)\r\n }\r\n\r\n var sharedLabelBuffer = \"\"\r\n if (labelPosition == 3) {\r\n sharedLabelBuffer = \" \\n\"\r\n }\r\n\r\n //Straight lines\r\n if (isStraightLine){\r\n if (!IsEmpty(directionStr) && !IsEmpty(distanceStr)){ //If Direction and Distance are both NOT Empty\r\n return fontNameSize + \"\" + directionStr + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else if (IsEmpty(directionStr)){ //If Direction is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" +\r\n prefixPostfix[0] + distanceStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n else{ //If Distance is empty\r\n return fontNameSize + sharedLabelBuffer + \"\" + directionStr + \"<\/CLR><\/FNT>\";\r\n }\r\n }\r\n\r\n //Curves\r\n //If one or both radii and the curve string are NOT empty show the full curve\r\n if ((!IsEmpty(radiusStr) || !IsEmpty(radius2Str)) && !IsEmpty(curveStr)){\r\n return fontNameSize + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR>\" + \"\\n\" +\r\n \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n //If the curve is empty\r\n else if (IsEmpty(curveStr)){\r\n return fontNameSize + sharedLabelBuffer + \"\" + radiusStr + \"<\/CLR>\" + \" \" +\r\n \"\" + radius2Str + \"<\/CLR><\/FNT>\"\r\n }\r\n //If both radius are empty\r\n else{\r\n return fontNameSize + sharedLabelBuffer + \"\" + CurveTypePrefix + ' ' +\r\n prefixPostfix[0] + curveStr + prefixPostfix[1] + \"<\/CLR><\/FNT>\";\r\n }\r\n}", "title": "Custom" }, "labelPlacement": "esriServerLinePlacementAboveAlong", "textLayout": "followFeature", "deconflictionStrategy": "dynamic", "allowOverrun": false, "repeatLabel": false, "removeDuplicates": "all", "removeDuplicatesDistance": 216, "lineConnection": "none", "multiPart": "labelPerFeature", "stackLabel": false, "where": "LabelPosition = 3", "useCodedValues": true, "maxScale": 0, "minScale": 2256.994353, "name": "COGO Shared", "priority": -1, "symbol": { "type": "esriTS", "color": [ 0, 0, 0, 255 ], "backgroundColor": null, "borderLineColor": null, "borderLineSize": null, "verticalAlignment": "bottom", "horizontalAlignment": "left", "rightToLeft": false, "angle": 0, "xoffset": 0, "yoffset": 0, "kerning": true, "haloColor": [ 255, 255, 255, 255 ], "haloSize": 1, "font": { "family": "Roboto", "size": 8, "style": "normal", "weight": "normal", "decoration": "none" } } } ] }, "defaultVisibility": true, "extent": { "xmin": 1757671.7997616716, "ymin": 654035.3550198451, "xmax": 1894677.7905129194, "ymax": 779831.5670095906, "spatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.003280833333333333, "zTolerance": 0.001, "mTolerance": 0.001, "falseX": -119670700, "falseY": -95612900, "xyUnits": 3048.006096012192, "falseZ": -100000, "zUnits": 10000, "falseM": -100000, "mUnits": 10000 } }, "hasAttachments": false, "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText", "displayField": "Distance", "typeIdField": null, "subtypeFieldName": null, "subtypeField": null, "defaultSubtypeCode": null, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID", "domain": null }, { "name": "Shape", "type": "esriFieldTypeGeometry", "alias": "Shape", "domain": null }, { "name": "Distance", "type": "esriFieldTypeDouble", "alias": "Distance", "domain": null }, { "name": "Radius", "type": "esriFieldTypeDouble", "alias": "Radius", "domain": null }, { "name": "ArcLength", "type": "esriFieldTypeDouble", "alias": "Arc Length", "domain": null }, { "name": "Radius2", "type": "esriFieldTypeDouble", "alias": "Radius2", "domain": null }, { "name": "Shape.STLength()", "type": "esriFieldTypeDouble", "alias": "Shape_Length", "domain": null }, { "name": "Direction", "type": "esriFieldTypeDouble", "alias": "Direction", "domain": null }, { "name": "COGOType", "type": "esriFieldTypeInteger", "alias": "COGOType", "domain": null }, { "name": "GlobalID", "type": "esriFieldTypeGlobalID", "alias": "GlobalID", "length": 38, "domain": null }, { "name": "created_user", "type": "esriFieldTypeString", "alias": "created_user", "length": 255, "domain": null }, { "name": "created_date", "type": "esriFieldTypeDate", "alias": "created_date", "length": 8, "domain": null }, { "name": "last_edited_user", "type": "esriFieldTypeString", "alias": "last_edited_user", "length": 255, "domain": null }, { "name": "last_edited_date", "type": "esriFieldTypeDate", "alias": "last_edited_date", "length": 8, "domain": null }, { "name": "LabelPosition", "type": "esriFieldTypeInteger", "alias": "LabelPosition", "domain": null } ], "geometryField": { "name": "Shape", "type": "esriFieldTypeGeometry", "alias": "Shape" }, "indexes": [ { "name": "R362_pk", "fields": "OBJECTID", "isAscending": true, "isUnique": true, "description": "" }, { "name": "UUID_362", "fields": "GlobalID", "isAscending": true, "isUnique": true, "description": "" }, { "name": "S229_idx", "fields": "Shape", "isAscending": true, "isUnique": true, "description": "" } ], "subtypes": [], "relationships": [], "canModifyLayer": true, "canScaleSymbols": false, "hasLabels": true, "capabilities": "Query,Map,Data", "maxRecordCount": 2000, "supportsStatistics": true, "supportsExceedsLimitStatistics": true, "supportsAdvancedQueries": true, "hasZ": true, "supportedQueryFormats": "JSON, geoJSON, PBF", "isDataVersioned": false, "ownershipBasedAccessControlForFeatures": {"allowOthersToQuery": true}, "useStandardizedQueries": true, "supportedSpatialRelationships": [ "esriSpatialRelIntersects", "esriSpatialRelContains", "esriSpatialRelCrosses", "esriSpatialRelEnvelopeIntersects", "esriSpatialRelIndexIntersects", "esriSpatialRelOverlaps", "esriSpatialRelTouches", "esriSpatialRelWithin", "esriSpatialRelRelation" ], "advancedQueryCapabilities": { "useStandardizedQueries": true, "supportsStatistics": true, "supportsPercentileStatistics": true, "supportsHavingClause": true, "supportsOrderBy": true, "supportsDistinct": true, "supportsCountDistinct": true, "supportsPagination": true, "supportsLod": false, "supportsQueryWithLodSR": false, "supportsTrueCurve": true, "supportsQueryWithDatumTransformation": true, "supportsReturningQueryExtent": true, "supportsQueryWithDistance": true, "supportsSqlExpression": true, "supportsTimeRelation": true, "supportsSqlFormat": false, "supportsQueryAnalytic": true }, "supportsDatumTransformation": true, "advancedQueryAnalyticCapabilities": { "supportsLinearRegression": true, "supportsAsync": false, "supportsPercentileAnalytic": true }, "dateFieldsTimeReference": null, "preferredTimeReference": null, "datesInUnknownTimezone": false, "hasGeometryProperties": true, "geometryProperties": { "shapeLengthFieldName": "Shape.STLength()", "units": "esriFeet", "mapUnits": {"uwkid": 9003} }, "hasMetadata": true, "isDataArchived": false, "archivingInfo": { "supportsQueryWithHistoricMoment": false, "startArchivingMoment": -1 }, "supportsCoordinatesQuantization": true, "supportsDynamicLegends": true, "serviceItemId": "9084ed6fab5c425eb61ec0120ec0b2ae" }, { "currentVersion": 11.1, "cimVersion": "3.1.0", "id": 2, "name": "Parcel Lines", "type": "Feature Layer", "description": "", "geometryType": "esriGeometryPolygon", "sourceSpatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.003280833333333333, "zTolerance": 0.001, "mTolerance": 0.001, "falseX": -119670700, "falseY": -95612900, "xyUnits": 3048.0060960121928, "falseZ": -100000, "zUnits": 10000, "falseM": 0, "mUnits": 1 }, "copyrightText": "", "parentLayer": null, "subLayers": [], "minScale": 18055.954822, "maxScale": 0, "referenceScale": 0.0, "drawingInfo": { "renderer": { "type": "simple", "symbol": { "type": "esriSFS", "style": "esriSFSSolid", "color": [ 239, 252, 194, 0 ], "outline": { "type": "esriSLS", "style": "esriSLSSolid", "color": [ 52, 52, 52, 255 ], "width": 1 } } }, "scaleSymbols": true, "transparency": 0, "labelingInfo": [ { "labelExpressionInfo": { "expression": "$feature.PARCELID + \"\\n\" + $feature.OWNERNME1 + \"\\n\" + $feature.SITEADDRES", "title": "Custom" }, "labelPlacement": "esriServerPolygonPlacementAlwaysHorizontal", "removeDuplicates": "all", "removeDuplicatesDistance": 216, "multiPart": "labelLargest", "deconflictionStrategy": "static", "repeatLabel": false, "allowOverrun": false, "stackLabel": false, "allowOverlapOfLabel": "allow", "useCodedValues": true, "maxScale": 0, "minScale": 4513.988705, "name": "Class 1", "priority": -1, "symbol": { "type": "esriTS", "color": [ 0, 0, 0, 255 ], "backgroundColor": null, "borderLineColor": null, "borderLineSize": null, "verticalAlignment": "bottom", "horizontalAlignment": "left", "rightToLeft": false, "angle": 0, "xoffset": 0, "yoffset": 0, "kerning": true, "haloColor": [ 255, 255, 255, 153 ], "haloSize": 1, "font": { "family": "Roboto", "size": 8, "style": "normal", "weight": "normal", "decoration": "none" } } } ] }, "defaultVisibility": true, "extent": { "xmin": 1755401.100396052, "ymin": 653909.2593034804, "xmax": 1895285.0401158035, "ymax": 781169.6973673999, "spatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.003280833333333333, "zTolerance": 0.001, "mTolerance": 0.001, "falseX": -119670700, "falseY": -95612900, "xyUnits": 3048.006096012192, "falseZ": -100000, "zUnits": 10000, "falseM": -100000, "mUnits": 10000 } }, "hasAttachments": false, "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText", "displayField": "CNVYNAME", "typeIdField": null, "subtypeFieldName": null, "subtypeField": null, "defaultSubtypeCode": null, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID", "domain": null }, { "name": "PARCELID", "type": "esriFieldTypeString", "alias": "PARCELID", "length": 11, "domain": null }, { "name": "CVTTXCD", "type": "esriFieldTypeString", "alias": "CVTTXCD", "length": 3, "domain": null }, { "name": "CLASSCD", "type": "esriFieldTypeString", "alias": "CLASSCD", "length": 3, "domain": null }, { "name": "CLASSDSCRP", "type": "esriFieldTypeString", "alias": "CLASSDSCRP", "length": 100, "domain": null }, { "name": "SITEADDRES", "type": "esriFieldTypeString", "alias": "SITEADDRES", "length": 70, "domain": null }, { "name": "PRPRTYDSCR", "type": "esriFieldTypeString", "alias": "PRPRTYDSCR", "length": 100, "domain": null }, { "name": "PRPRTYDS_1", "type": "esriFieldTypeString", "alias": "PRPRTYDS_1", "length": 100, "domain": null }, { "name": "PRPRTYDS_2", "type": "esriFieldTypeString", "alias": "PRPRTYDS_2", "length": 100, "domain": null }, { "name": "OWNERNME1", "type": "esriFieldTypeString", "alias": "OWNERNME1", "length": 100, "domain": null }, { "name": "OWNERNME2", "type": "esriFieldTypeString", "alias": "OWNERNME2", "length": 254, "domain": null }, { "name": "OWNERNME3", "type": "esriFieldTypeString", "alias": "OWNERNME3", "length": 1, "domain": null }, { "name": "MAILNME1", "type": "esriFieldTypeString", "alias": "MAILNME1", "length": 200, "domain": null }, { "name": "MAILNME2", "type": "esriFieldTypeString", "alias": "MAILNME2", "length": 200, "domain": null }, { "name": "SALEDATE", "type": "esriFieldTypeDate", "alias": "SALEDATE", "length": 8, "domain": null }, { "name": "SALEPRICE", "type": "esriFieldTypeDouble", "alias": "SALEPRICE", "domain": null }, { "name": "USECD", "type": "esriFieldTypeString", "alias": "USECD", "length": 10, "domain": null }, { "name": "LASTUPDATE", "type": "esriFieldTypeDate", "alias": "LASTUPDATE", "length": 8, "domain": null }, { "name": "Shape.STArea()", "type": "esriFieldTypeDouble", "alias": "Shape.STArea()", "domain": null }, { "name": "LEASE", "type": "esriFieldTypeString", "alias": "Lease", "length": 254, "domain": null } ], "geometryField": {}, "indexes": [ { "name": "PARCELID", "fields": "PARCELID", "isAscending": true, "isUnique": false, "description": "" } ], "subtypes": [], "relationships": [], "canModifyLayer": true, "canScaleSymbols": false, "hasLabels": true, "capabilities": "Query,Map,Data", "maxRecordCount": 2000, "supportsStatistics": true, "supportsExceedsLimitStatistics": true, "supportsAdvancedQueries": true, "hasZ": true, "supportedQueryFormats": "JSON, geoJSON, PBF", "isDataVersioned": false, "ownershipBasedAccessControlForFeatures": {"allowOthersToQuery": true}, "useStandardizedQueries": true, "supportedSpatialRelationships": [ "esriSpatialRelIntersects", "esriSpatialRelContains", "esriSpatialRelCrosses", "esriSpatialRelEnvelopeIntersects", "esriSpatialRelIndexIntersects", "esriSpatialRelOverlaps", "esriSpatialRelTouches", "esriSpatialRelWithin", "esriSpatialRelRelation" ], "advancedQueryCapabilities": { "useStandardizedQueries": true, "supportsStatistics": true, "supportsPercentileStatistics": true, "supportsHavingClause": true, "supportsOrderBy": true, "supportsDistinct": true, "supportsCountDistinct": true, "supportsPagination": true, "supportsLod": false, "supportsQueryWithLodSR": false, "supportsTrueCurve": true, "supportsQueryWithDatumTransformation": true, "supportsReturningQueryExtent": true, "supportsQueryWithDistance": true, "supportsSqlExpression": true, "supportsTimeRelation": true, "supportsSqlFormat": false, "supportsQueryAnalytic": true }, "supportsDatumTransformation": true, "advancedQueryAnalyticCapabilities": { "supportsLinearRegression": true, "supportsAsync": false, "supportsPercentileAnalytic": true }, "dateFieldsTimeReference": null, "preferredTimeReference": null, "datesInUnknownTimezone": false, "hasGeometryProperties": true, "geometryProperties": { "shapeAreaFieldName": "Shape.STArea()", "shapeLengthFieldName": "Shape.STLength()", "units": "esriFeet", "mapUnits": {"uwkid": 9003} }, "hasMetadata": true, "isDataArchived": false, "archivingInfo": { "supportsQueryWithHistoricMoment": false, "startArchivingMoment": -1 }, "supportsCoordinatesQuantization": true, "supportsDynamicLegends": true, "serviceItemId": "9084ed6fab5c425eb61ec0120ec0b2ae" }, { "currentVersion": 11.1, "cimVersion": "3.1.0", "id": 0, "name": "Lots (labels)", "type": "Feature Layer", "description": "", "geometryType": "esriGeometryPolygon", "sourceSpatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.0032808333333333335, "zTolerance": 2.0E-5, "mTolerance": 2.0E-5, "falseX": -17463800, "falseY": -46132600, "xyUnits": 3048.0060960121914, "falseZ": 0, "zUnits": 400000, "falseM": 0, "mUnits": 1 }, "copyrightText": "", "parentLayer": null, "subLayers": [], "minScale": 9027.977411, "maxScale": 0, "referenceScale": 0.0, "drawingInfo": { "renderer": { "type": "simple", "symbol": { "type": "esriSFS", "style": "esriSFSSolid", "color": [ 0, 0, 0, 0 ], "outline": { "type": "esriSLS", "style": "esriSLSDash", "color": [ 52, 52, 52, 255 ], "width": 0.2 } } }, "scaleSymbols": true, "transparency": 0, "labelingInfo": [ { "labelExpressionInfo": { "expression": "$feature.Name", "title": "Custom" }, "labelPlacement": "esriServerPolygonPlacementAlwaysHorizontal", "removeDuplicates": "all", "removeDuplicatesDistance": 216, "multiPart": "labelLargest", "deconflictionStrategy": "none", "repeatLabel": false, "allowOverrun": true, "stackLabel": false, "allowOverlapOfLabel": "allow", "useCodedValues": true, "maxScale": 0, "minScale": 2256.994353, "name": "Class 1", "priority": -1, "symbol": { "type": "esriTS", "color": [ 0, 0, 0, 255 ], "backgroundColor": null, "borderLineColor": null, "borderLineSize": null, "verticalAlignment": "bottom", "horizontalAlignment": "left", "rightToLeft": false, "angle": 0, "xoffset": 0, "yoffset": 0, "kerning": true, "haloColor": [ 255, 255, 255, 255 ], "haloSize": 1, "font": { "family": "Roboto Medium", "size": 8, "style": "normal", "weight": "normal", "decoration": "none" } } } ] }, "defaultVisibility": true, "extent": { "xmin": 1757423.345534172, "ymin": 654713.8434922621, "xmax": 1893786.5997100025, "ymax": 781434.7445775121, "spatialReference": { "wkid": 102723, "latestWkid": 3735, "xyTolerance": 0.003280833333333333, "zTolerance": 0.001, "mTolerance": 0.001, "falseX": -119670700, "falseY": -95612900, "xyUnits": 3048.006096012192, "falseZ": -100000, "zUnits": 10000, "falseM": -100000, "mUnits": 10000 } }, "hasAttachments": false, "htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText", "displayField": "Name", "typeIdField": null, "subtypeFieldName": null, "subtypeField": null, "defaultSubtypeCode": null, "fields": [ { "name": "OBJECTID", "type": "esriFieldTypeOID", "alias": "OBJECTID", "domain": null }, { "name": "Name", "type": "esriFieldTypeString", "alias": "Name", "length": 255, "domain": null }, { "name": "Type", "type": "esriFieldTypeString", "alias": "Type", "length": 50, "domain": null }, { "name": "LegalStartDate", "type": "esriFieldTypeDate", "alias": "LegalStartDate", "length": 8, "domain": null }, { "name": "RECBOOKCD", "type": "esriFieldTypeString", "alias": "RECBOOKCD", "length": 4, "domain": null }, { "name": "RECBOOK", "type": "esriFieldTypeString", "alias": "RECBOOK", "length": 5, "domain": null }, { "name": "RECPAGE", "type": "esriFieldTypeString", "alias": "RECPAGE", "length": 5, "domain": null }, { "name": "Shape", "type": "esriFieldTypeGeometry", "alias": "Shape", "domain": null }, { "name": "GlobalID", "type": "esriFieldTypeGlobalID", "alias": "GlobalID", "length": 38, "domain": null }, { "name": "created_user", "type": "esriFieldTypeString", "alias": "created_user", "length": 255, "domain": null }, { "name": "created_date", "type": "esriFieldTypeDate", "alias": "created_date", "length": 8, "domain": null }, { "name": "last_edited_user", "type": "esriFieldTypeString", "alias": "last_edited_user", "length": 255, "domain": null }, { "name": "last_edited_date", "type": "esriFieldTypeDate", "alias": "last_edited_date", "length": 8, "domain": null }, { "name": "Shape.STArea()", "type": "esriFieldTypeDouble", "alias": "Shape.STArea()", "domain": null }, { "name": "Shape.STLength()", "type": "esriFieldTypeDouble", "alias": "Shape.STLength()", "domain": null } ], "geometryField": { "name": "Shape", "type": "esriFieldTypeGeometry", "alias": "Shape" }, "indexes": [ { "name": "R361_pk", "fields": "OBJECTID", "isAscending": true, "isUnique": true, "description": "" }, { "name": "UUID_361", "fields": "GlobalID", "isAscending": true, "isUnique": true, "description": "" }, { "name": "S228_idx", "fields": "Shape", "isAscending": true, "isUnique": true, "description": "" } ], "subtypes": [], "relationships": [], "canModifyLayer": true, "canScaleSymbols": false, "hasLabels": true, "capabilities": "Query,Map,Data", "maxRecordCount": 2000, "supportsStatistics": true, "supportsExceedsLimitStatistics": true, "supportsAdvancedQueries": true, "hasZ": true, "supportedQueryFormats": "JSON, geoJSON, PBF", "isDataVersioned": false, "ownershipBasedAccessControlForFeatures": {"allowOthersToQuery": true}, "useStandardizedQueries": true, "supportedSpatialRelationships": [ "esriSpatialRelIntersects", "esriSpatialRelContains", "esriSpatialRelCrosses", "esriSpatialRelEnvelopeIntersects", "esriSpatialRelIndexIntersects", "esriSpatialRelOverlaps", "esriSpatialRelTouches", "esriSpatialRelWithin", "esriSpatialRelRelation" ], "advancedQueryCapabilities": { "useStandardizedQueries": true, "supportsStatistics": true, "supportsPercentileStatistics": true, "supportsHavingClause": true, "supportsOrderBy": true, "supportsDistinct": true, "supportsCountDistinct": true, "supportsPagination": true, "supportsLod": false, "supportsQueryWithLodSR": false, "supportsTrueCurve": true, "supportsQueryWithDatumTransformation": true, "supportsReturningQueryExtent": true, "supportsQueryWithDistance": true, "supportsSqlExpression": true, "supportsTimeRelation": true, "supportsSqlFormat": false, "supportsQueryAnalytic": true }, "supportsDatumTransformation": true, "advancedQueryAnalyticCapabilities": { "supportsLinearRegression": true, "supportsAsync": false, "supportsPercentileAnalytic": true }, "dateFieldsTimeReference": null, "preferredTimeReference": null, "datesInUnknownTimezone": false, "hasGeometryProperties": true, "geometryProperties": { "shapeAreaFieldName": "Shape.STArea()", "shapeLengthFieldName": "Shape.STLength()", "units": "esriFeet", "mapUnits": {"uwkid": 9003} }, "hasMetadata": true, "isDataArchived": false, "archivingInfo": { "supportsQueryWithHistoricMoment": false, "startArchivingMoment": -1 }, "supportsCoordinatesQuantization": true, "supportsDynamicLegends": true, "serviceItemId": "9084ed6fab5c425eb61ec0120ec0b2ae" } ], "tables": [] }