[{"data":1,"prerenderedAt":1542},["ShallowReactive",2],{"page-\u002Fcore\u002Fguides\u002Fvocabularies-and-textures":3,"navigation":1165},{"collection":4,"page":5},"docs_en",{"id":6,"title":7,"body":8,"description":1157,"extension":1158,"meta":1159,"navigation":83,"path":1160,"rawbody":1161,"seo":1162,"stem":1163,"__hash__":1164},"docs_en\u002Fcore\u002F2.guides\u002F4.vocabularies-and-textures.md","Vocabularies and textures",{"type":9,"value":10,"toc":1150},"minimark",[11,26,31,34,107,138,142,298,320,323,407,552,556,567,674,678,924,960,970,974,987,1131,1146],[12,13,14,15,20,21,25],"p",{},"The spec recommends a list of values for most string fields and fixes the list for a few (",[16,17,19],"a",{"href":18},"\u002Fformat\u002Fconcepts\u002Fvocabularies","Vocabularies","). ",[22,23,24],"code",{},"@welldot\u002Fcore"," publishes every list as data, with labels keyed by language, so forms, tables and reports can show readable names without keeping their own translations.",[27,28,30],"h2",{"id":29},"vocabulary-entries","Vocabulary entries",[12,32,33],{},"Each vocabulary is an array of entries:",[35,36,41],"pre",{"className":37,"code":38,"language":39,"meta":40,"style":40},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import { WELL_TYPES } from '@welldot\u002Fcore';\n\nWELL_TYPES[0];\n\u002F\u002F { value: 'tubular', label: { en: 'Tubular', pt: 'Tubular' } }\n","ts","",[22,42,43,78,85,100],{"__ignoreMap":40},[44,45,48,52,56,60,63,66,69,72,75],"span",{"class":46,"line":47},"line",1,[44,49,51],{"class":50},"s7zQu","import",[44,53,55],{"class":54},"sMK4o"," {",[44,57,59],{"class":58},"sTEyZ"," WELL_TYPES",[44,61,62],{"class":54}," }",[44,64,65],{"class":50}," from",[44,67,68],{"class":54}," '",[44,70,24],{"class":71},"sfazB",[44,73,74],{"class":54},"'",[44,76,77],{"class":54},";\n",[44,79,81],{"class":46,"line":80},2,[44,82,84],{"emptyLinePlaceholder":83},true,"\n",[44,86,88,91,95,98],{"class":46,"line":87},3,[44,89,90],{"class":58},"WELL_TYPES[",[44,92,94],{"class":93},"sbssI","0",[44,96,97],{"class":58},"]",[44,99,77],{"class":54},[44,101,103],{"class":46,"line":102},4,[44,104,106],{"class":105},"sHwdD","\u002F\u002F { value: 'tubular', label: { en: 'Tubular', pt: 'Tubular' } }\n",[12,108,109,110,113,114,117,118,121,122,125,126,129,130,133,134,137],{},"An entry has a ",[22,111,112],{},"value"," (what the file stores), a ",[22,115,116],{},"label"," with at least ",[22,119,120],{},"en"," and ",[22,123,124],{},"pt",", and ",[22,127,128],{},"deprecated: true"," when the spec deprecates the value (",[22,131,132],{},"artesian"," in ",[22,135,136],{},"WELL_TYPES",").",[27,139,141],{"id":140},"labels","Labels",[35,143,145],{"className":37,"code":144,"language":39,"meta":40,"style":40},"import {\n  CONSTRUCTION_MATERIALS,\n  PERMIT_TYPES,\n  getVocabLabel,\n} from '@welldot\u002Fcore';\n\ngetVocabLabel(PERMIT_TYPES, 'abstraction_permit', 'pt'); \u002F\u002F 'Outorga de direito de uso'\ngetVocabLabel(CONSTRUCTION_MATERIALS, 'stainless_steel', 'pt-BR'); \u002F\u002F 'Aço inox'\ngetVocabLabel(CONSTRUCTION_MATERIALS, 'Aço galvanizado DIN 2440', 'pt'); \u002F\u002F returned as is\n",[22,146,147,154,162,169,176,192,197,234,267],{"__ignoreMap":40},[44,148,149,151],{"class":46,"line":47},[44,150,51],{"class":50},[44,152,153],{"class":54}," {\n",[44,155,156,159],{"class":46,"line":80},[44,157,158],{"class":58},"  CONSTRUCTION_MATERIALS",[44,160,161],{"class":54},",\n",[44,163,164,167],{"class":46,"line":87},[44,165,166],{"class":58},"  PERMIT_TYPES",[44,168,161],{"class":54},[44,170,171,174],{"class":46,"line":102},[44,172,173],{"class":58},"  getVocabLabel",[44,175,161],{"class":54},[44,177,179,182,184,186,188,190],{"class":46,"line":178},5,[44,180,181],{"class":54},"}",[44,183,65],{"class":50},[44,185,68],{"class":54},[44,187,24],{"class":71},[44,189,74],{"class":54},[44,191,77],{"class":54},[44,193,195],{"class":46,"line":194},6,[44,196,84],{"emptyLinePlaceholder":83},[44,198,200,204,207,210,212,215,217,219,221,223,225,228,231],{"class":46,"line":199},7,[44,201,203],{"class":202},"s2Zo4","getVocabLabel",[44,205,206],{"class":58},"(PERMIT_TYPES",[44,208,209],{"class":54},",",[44,211,68],{"class":54},[44,213,214],{"class":71},"abstraction_permit",[44,216,74],{"class":54},[44,218,209],{"class":54},[44,220,68],{"class":54},[44,222,124],{"class":71},[44,224,74],{"class":54},[44,226,227],{"class":58},")",[44,229,230],{"class":54},";",[44,232,233],{"class":105}," \u002F\u002F 'Outorga de direito de uso'\n",[44,235,237,239,242,244,246,249,251,253,255,258,260,262,264],{"class":46,"line":236},8,[44,238,203],{"class":202},[44,240,241],{"class":58},"(CONSTRUCTION_MATERIALS",[44,243,209],{"class":54},[44,245,68],{"class":54},[44,247,248],{"class":71},"stainless_steel",[44,250,74],{"class":54},[44,252,209],{"class":54},[44,254,68],{"class":54},[44,256,257],{"class":71},"pt-BR",[44,259,74],{"class":54},[44,261,227],{"class":58},[44,263,230],{"class":54},[44,265,266],{"class":105}," \u002F\u002F 'Aço inox'\n",[44,268,270,272,274,276,278,281,283,285,287,289,291,293,295],{"class":46,"line":269},9,[44,271,203],{"class":202},[44,273,241],{"class":58},[44,275,209],{"class":54},[44,277,68],{"class":54},[44,279,280],{"class":71},"Aço galvanizado DIN 2440",[44,282,74],{"class":54},[44,284,209],{"class":54},[44,286,68],{"class":54},[44,288,124],{"class":71},[44,290,74],{"class":54},[44,292,227],{"class":58},[44,294,230],{"class":54},[44,296,297],{"class":105}," \u002F\u002F returned as is\n",[12,299,300,303,304,306,307,306,309,311,312,315,316,137],{},[22,301,302],{},"getVocabLabel(vocab, value, locale)"," falls back from ",[22,305,257],{}," to ",[22,308,124],{},[22,310,120],{},". A value that is not in the list, such as free text or an ",[22,313,314],{},"x-"," value, is returned unchanged, which is exactly what the spec asks a tool to display (",[16,317,319],{"href":318},"\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference#recommended-vocabularies","recommended vocabularies",[12,321,322],{},"Other helpers:",[324,325,326,339],"table",{},[327,328,329],"thead",{},[330,331,332,336],"tr",{},[333,334,335],"th",{},"Helper",[333,337,338],{},"Use",[340,341,342,357,370,380,393],"tbody",{},[330,343,344,350],{},[345,346,347],"td",{},[22,348,349],{},"vocabValues(vocab)",[345,351,352,353,356],{},"The recommended values, for a select list. Deprecated values are left out unless you pass ",[22,354,355],{},"{ includeDeprecated: true }",".",[330,358,359,364],{},[345,360,361],{},[22,362,363],{},"getVocabEntry(vocab, value)",[345,365,366,367,356],{},"The entry of a value, or ",[22,368,369],{},"undefined",[330,371,372,377],{},[345,373,374],{},[22,375,376],{},"isVocabValue(vocab, value)",[345,378,379],{},"Whether a value is recommended (a type guard).",[330,381,382,387],{},[345,383,384],{},[22,385,386],{},"formatVocabList(vocab, values, locale)",[345,388,389,390,356],{},"Comma-separated labels of a multi-valued field, such as ",[22,391,392],{},"well_purpose",[330,394,395,400],{},[345,396,397],{},[22,398,399],{},"resolveLanguageText(text, locale)",[345,401,402,403,406],{},"Resolves any ",[22,404,405],{},"{ en, pt, … }"," label object with the same fallback.",[35,408,410],{"className":37,"code":409,"language":39,"meta":40,"style":40},"import {\n  WELL_PURPOSES,\n  formatVocabList,\n  vocabValues,\n  WELL_TYPES,\n} from '@welldot\u002Fcore';\n\nvocabValues(WELL_TYPES); \u002F\u002F ['tubular', 'hand_dug', 'horizontal', 'infiltration_gallery']\nformatVocabList(\n  WELL_PURPOSES,\n  ['production', 'monitoring', 'x-irrigation'],\n  'en',\n);\n\u002F\u002F 'Production, Monitoring well, x-irrigation'\n",[22,411,412,418,425,432,439,446,460,464,477,485,492,527,539,546],{"__ignoreMap":40},[44,413,414,416],{"class":46,"line":47},[44,415,51],{"class":50},[44,417,153],{"class":54},[44,419,420,423],{"class":46,"line":80},[44,421,422],{"class":58},"  WELL_PURPOSES",[44,424,161],{"class":54},[44,426,427,430],{"class":46,"line":87},[44,428,429],{"class":58},"  formatVocabList",[44,431,161],{"class":54},[44,433,434,437],{"class":46,"line":102},[44,435,436],{"class":58},"  vocabValues",[44,438,161],{"class":54},[44,440,441,444],{"class":46,"line":178},[44,442,443],{"class":58},"  WELL_TYPES",[44,445,161],{"class":54},[44,447,448,450,452,454,456,458],{"class":46,"line":194},[44,449,181],{"class":54},[44,451,65],{"class":50},[44,453,68],{"class":54},[44,455,24],{"class":71},[44,457,74],{"class":54},[44,459,77],{"class":54},[44,461,462],{"class":46,"line":199},[44,463,84],{"emptyLinePlaceholder":83},[44,465,466,469,472,474],{"class":46,"line":236},[44,467,468],{"class":202},"vocabValues",[44,470,471],{"class":58},"(WELL_TYPES)",[44,473,230],{"class":54},[44,475,476],{"class":105}," \u002F\u002F ['tubular', 'hand_dug', 'horizontal', 'infiltration_gallery']\n",[44,478,479,482],{"class":46,"line":269},[44,480,481],{"class":202},"formatVocabList",[44,483,484],{"class":58},"(\n",[44,486,488,490],{"class":46,"line":487},10,[44,489,422],{"class":58},[44,491,161],{"class":54},[44,493,495,498,500,503,505,507,509,512,514,516,518,521,523,525],{"class":46,"line":494},11,[44,496,497],{"class":58},"  [",[44,499,74],{"class":54},[44,501,502],{"class":71},"production",[44,504,74],{"class":54},[44,506,209],{"class":54},[44,508,68],{"class":54},[44,510,511],{"class":71},"monitoring",[44,513,74],{"class":54},[44,515,209],{"class":54},[44,517,68],{"class":54},[44,519,520],{"class":71},"x-irrigation",[44,522,74],{"class":54},[44,524,97],{"class":58},[44,526,161],{"class":54},[44,528,530,533,535,537],{"class":46,"line":529},12,[44,531,532],{"class":54},"  '",[44,534,120],{"class":71},[44,536,74],{"class":54},[44,538,161],{"class":54},[44,540,542,544],{"class":46,"line":541},13,[44,543,227],{"class":58},[44,545,77],{"class":54},[44,547,549],{"class":46,"line":548},14,[44,550,551],{"class":105},"\u002F\u002F 'Production, Monitoring well, x-irrigation'\n",[27,553,555],{"id":554},"typing-open-fields","Typing open fields",[12,557,558,559,562,563,566],{},"Open fields are typed with ",[22,560,561],{},"OpenVocab\u003CT>",", which is ",[22,564,565],{},"T | (string & {})",": editors autocomplete the recommended values while any string still type-checks.",[35,568,570],{"className":37,"code":569,"language":39,"meta":40,"style":40},"import type { OpenVocab, PermitType } from '@welldot\u002Fcore';\n\nconst a: OpenVocab\u003CPermitType> = 'abstraction_permit'; \u002F\u002F suggested\nconst b: OpenVocab\u003CPermitType> = 'x-special'; \u002F\u002F also fine\n",[22,571,572,601,605,643],{"__ignoreMap":40},[44,573,574,576,579,581,584,586,589,591,593,595,597,599],{"class":46,"line":47},[44,575,51],{"class":50},[44,577,578],{"class":50}," type",[44,580,55],{"class":54},[44,582,583],{"class":58}," OpenVocab",[44,585,209],{"class":54},[44,587,588],{"class":58}," PermitType",[44,590,62],{"class":54},[44,592,65],{"class":50},[44,594,68],{"class":54},[44,596,24],{"class":71},[44,598,74],{"class":54},[44,600,77],{"class":54},[44,602,603],{"class":46,"line":80},[44,604,84],{"emptyLinePlaceholder":83},[44,606,607,611,614,617,620,623,626,629,632,634,636,638,640],{"class":46,"line":87},[44,608,610],{"class":609},"spNyl","const",[44,612,613],{"class":58}," a",[44,615,616],{"class":54},":",[44,618,583],{"class":619},"sBMFI",[44,621,622],{"class":54},"\u003C",[44,624,625],{"class":619},"PermitType",[44,627,628],{"class":54},">",[44,630,631],{"class":54}," =",[44,633,68],{"class":54},[44,635,214],{"class":71},[44,637,74],{"class":54},[44,639,230],{"class":54},[44,641,642],{"class":105}," \u002F\u002F suggested\n",[44,644,645,647,650,652,654,656,658,660,662,664,667,669,671],{"class":46,"line":102},[44,646,610],{"class":609},[44,648,649],{"class":58}," b",[44,651,616],{"class":54},[44,653,583],{"class":619},[44,655,622],{"class":54},[44,657,625],{"class":619},[44,659,628],{"class":54},[44,661,631],{"class":54},[44,663,68],{"class":54},[44,665,666],{"class":71},"x-special",[44,668,74],{"class":54},[44,670,230],{"class":54},[44,672,673],{"class":105}," \u002F\u002F also fine\n",[27,675,677],{"id":676},"the-vocabularies","The vocabularies",[324,679,680,690],{},[327,681,682],{},[330,683,684,687],{},[333,685,686],{},"Vocabulary",[333,688,689],{},"Field",[340,691,692,703,715,727,749,761,773,785,803,815,834,849,870,891,903],{},[330,693,694,698],{},[345,695,696],{},[22,697,136],{},[345,699,700],{},[22,701,702],{},"well_type",[330,704,705,710],{},[345,706,707],{},[22,708,709],{},"WELL_PURPOSES",[345,711,712],{},[22,713,714],{},"well_purpose[]",[330,716,717,722],{},[345,718,719],{},[22,720,721],{},"DRILLING_METHODS",[345,723,724],{},[22,725,726],{},"bore_hole[].drilling_method",[330,728,729,734],{},[345,730,731],{},[22,732,733],{},"CONSTRUCTION_MATERIALS",[345,735,736,739,740,739,743,739,746],{},[22,737,738],{},"well_case[].type",", ",[22,741,742],{},"well_screen[].type",[22,744,745],{},"reduction[].type",[22,747,748],{},"pump_installations[].riser_material",[330,750,751,756],{},[345,752,753],{},[22,754,755],{},"SCREEN_SLOT_TYPES",[345,757,758],{},[22,759,760],{},"well_screen[].slot_type",[330,762,763,768],{},[345,764,765],{},[22,766,767],{},"CENTRALIZER_TYPES",[345,769,770],{},[22,771,772],{},"centralizers[].type",[330,774,775,780],{},[345,776,777],{},[22,778,779],{},"CEMENT_PAD_TYPES",[345,781,782],{},[22,783,784],{},"cement_pad.type",[330,786,787,795],{},[345,788,789,739,792],{},[22,790,791],{},"HYDRODYNAMIC_EVENT_TYPES",[22,793,794],{},"MEASUREMENT_METHODS",[345,796,797,739,800],{},[22,798,799],{},"hydrodynamic_events[].type",[22,801,802],{},".measurement_method",[330,804,805,810],{},[345,806,807],{},[22,808,809],{},"AQUIFER_ANALYSIS_METHODS",[345,811,812],{},[22,813,814],{},"aquifer_analysis[].method",[330,816,817,828],{},[345,818,819,739,822,739,825],{},[22,820,821],{},"HISTORY_LOG_CATEGORIES",[22,823,824],{},"HISTORY_LOG_SEVERITIES",[22,826,827],{},"MAINTENANCE_TYPES",[345,829,830,833],{},[22,831,832],{},"history_logs[]"," fields",[330,835,836,844],{},[345,837,838,739,841],{},[22,839,840],{},"PUMP_TYPES",[22,842,843],{},"POWER_SOURCES",[345,845,846,833],{},[22,847,848],{},"pump_installations[]",[330,850,851,865],{},[345,852,853,739,856,739,859,739,862],{},[22,854,855],{},"PERMIT_TYPES",[22,857,858],{},"WATER_USES",[22,860,861],{},"CONDITION_CATEGORIES",[22,863,864],{},"PERMIT_HISTORY_TYPES",[345,866,867,833],{},[22,868,869],{},"permits[]",[330,871,872,883],{},[345,873,874,739,877,739,880],{},[22,875,876],{},"METER_TYPES",[22,878,879],{},"READING_SOURCES",[22,881,882],{},"ESTIMATION_METHODS",[345,884,885,739,888,833],{},[22,886,887],{},"meters[]",[22,889,890],{},"production[]",[330,892,893,898],{},[345,894,895],{},[22,896,897],{},"DOCUMENT_TYPES",[345,899,900],{},[22,901,902],{},"attachments[].document_type",[330,904,905,919],{},[345,906,907,739,910,739,913,739,916],{},[22,908,909],{},"SAMPLE_TYPES",[22,911,912],{},"SAMPLING_METHODS",[22,914,915],{},"SAMPLING_POINT_TYPES",[22,917,918],{},"SAMPLING_DEVICES",[345,920,921,833],{},[22,922,923],{},"water_samples[]",[12,925,926,927,929,930,933,934,937,938,739,941,739,944,739,947,739,950,739,953,739,956,959],{},"Closed vocabularies ship in the same shape, so ",[22,928,203],{}," labels them too: ",[22,931,932],{},"WELL_STATUSES"," (",[22,935,936],{},"history_logs[].status","), ",[22,939,940],{},"PERMIT_ADMINISTRATIVE_STATUSES",[22,942,943],{},"VOLUME_LIMIT_PERIODS",[22,945,946],{},"PRODUCTION_ENTRY_TYPES",[22,948,949],{},"RESULT_QUALIFIERS",[22,951,952],{},"VALIDATION_STATUSES",[22,954,955],{},"BAROMETRIC_COMPENSATIONS",[22,957,958],{},"READING_AGGREGATIONS"," and others. Each one is checked against its TypeScript type at compile time, so it cannot drift from the schema.",[12,961,962,963,965,966,356],{},"The ",[22,964,24],{}," test suite compares every list with the tables in the spec. Each constant has a page in the ",[16,967,969],{"href":968},"\u002Fcore\u002Fapi","API reference",[27,971,973],{"id":972},"fgdc-textures","FGDC textures",[12,975,976,979,980,983,984,616],{},[22,977,978],{},"FGDC_TEXTURES_OPTIONS"," lists the FGDC lithology patterns (FGDC-STD-013-2006) as ",[22,981,982],{},"{ code, label }",". Use it to look up a code or build a picker for ",[22,985,986],{},"lithology[].texture",[35,988,990],{"className":37,"code":989,"language":39,"meta":40,"style":40},"import { FGDC_TEXTURES_OPTIONS } from '@welldot\u002Fcore';\n\nFGDC_TEXTURES_OPTIONS.find(t => t.code === 607);\n\u002F\u002F { code: 607, label: 'Massive sand or sandstone' }\n\nconst options = FGDC_TEXTURES_OPTIONS.map(t => ({\n  value: t.code,\n  label: t.label,\n}));\n",[22,991,992,1013,1017,1054,1059,1063,1091,1107,1122],{"__ignoreMap":40},[44,993,994,996,998,1001,1003,1005,1007,1009,1011],{"class":46,"line":47},[44,995,51],{"class":50},[44,997,55],{"class":54},[44,999,1000],{"class":58}," FGDC_TEXTURES_OPTIONS",[44,1002,62],{"class":54},[44,1004,65],{"class":50},[44,1006,68],{"class":54},[44,1008,24],{"class":71},[44,1010,74],{"class":54},[44,1012,77],{"class":54},[44,1014,1015],{"class":46,"line":80},[44,1016,84],{"emptyLinePlaceholder":83},[44,1018,1019,1021,1023,1026,1029,1033,1036,1039,1041,1044,1047,1050,1052],{"class":46,"line":87},[44,1020,978],{"class":58},[44,1022,356],{"class":54},[44,1024,1025],{"class":202},"find",[44,1027,1028],{"class":58},"(",[44,1030,1032],{"class":1031},"sHdIc","t",[44,1034,1035],{"class":609}," =>",[44,1037,1038],{"class":58}," t",[44,1040,356],{"class":54},[44,1042,1043],{"class":58},"code ",[44,1045,1046],{"class":54},"===",[44,1048,1049],{"class":93}," 607",[44,1051,227],{"class":58},[44,1053,77],{"class":54},[44,1055,1056],{"class":46,"line":102},[44,1057,1058],{"class":105},"\u002F\u002F { code: 607, label: 'Massive sand or sandstone' }\n",[44,1060,1061],{"class":46,"line":178},[44,1062,84],{"emptyLinePlaceholder":83},[44,1064,1065,1067,1070,1073,1075,1077,1080,1082,1084,1086,1088],{"class":46,"line":194},[44,1066,610],{"class":609},[44,1068,1069],{"class":58}," options ",[44,1071,1072],{"class":54},"=",[44,1074,1000],{"class":58},[44,1076,356],{"class":54},[44,1078,1079],{"class":202},"map",[44,1081,1028],{"class":58},[44,1083,1032],{"class":1031},[44,1085,1035],{"class":609},[44,1087,933],{"class":58},[44,1089,1090],{"class":54},"{\n",[44,1092,1093,1097,1099,1101,1103,1105],{"class":46,"line":199},[44,1094,1096],{"class":1095},"swJcz","  value",[44,1098,616],{"class":54},[44,1100,1038],{"class":58},[44,1102,356],{"class":54},[44,1104,22],{"class":58},[44,1106,161],{"class":54},[44,1108,1109,1112,1114,1116,1118,1120],{"class":46,"line":236},[44,1110,1111],{"class":1095},"  label",[44,1113,616],{"class":54},[44,1115,1038],{"class":58},[44,1117,356],{"class":54},[44,1119,116],{"class":58},[44,1121,161],{"class":54},[44,1123,1124,1126,1129],{"class":46,"line":269},[44,1125,181],{"class":54},[44,1127,1128],{"class":58},"))",[44,1130,77],{"class":54},[12,1132,1133,1134,1138,1139,1145],{},"Codes are grouped by series: 100 surficial, 200 sedimentary, 300 igneous, 400 miscellaneous and metamorphic, 500 glacial and periglacial, 600 sedimentary lithology, 700 metamorphic and igneous lithology. The 600 and 700 series are the ones with drawn patterns and the most useful for well logs; the ",[16,1135,1137],{"href":1136},"\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures","FGDC texture reference"," marks which codes are available. ",[16,1140,1142],{"href":1141},"\u002Frender",[22,1143,1144],{},"@welldot\u002Frender"," draws these patterns.",[1147,1148,1149],"style",{},"html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}",{"title":40,"searchDepth":80,"depth":80,"links":1151},[1152,1153,1154,1155,1156],{"id":29,"depth":80,"text":30},{"id":140,"depth":80,"text":141},{"id":554,"depth":80,"text":555},{"id":676,"depth":80,"text":677},{"id":972,"depth":80,"text":973},"Use the recommended and closed vocabularies that @welldot\u002Fcore publishes as data, show English and Portuguese labels, type open fields with OpenVocab, and look up FGDC textures.","md",{},"\u002Fcore\u002Fguides\u002Fvocabularies-and-textures","---\ntitle: Vocabularies and textures\ndescription: Use the recommended and closed vocabularies that @welldot\u002Fcore publishes as data, show English and Portuguese labels, type open fields with OpenVocab, and look up FGDC textures.\n---\n\nThe spec recommends a list of values for most string fields and fixes the list for a few ([Vocabularies](\u002Fformat\u002Fconcepts\u002Fvocabularies)). `@welldot\u002Fcore` publishes every list as data, with labels keyed by language, so forms, tables and reports can show readable names without keeping their own translations.\n\n## Vocabulary entries\n\nEach vocabulary is an array of entries:\n\n```ts\nimport { WELL_TYPES } from '@welldot\u002Fcore';\n\nWELL_TYPES[0];\n\u002F\u002F { value: 'tubular', label: { en: 'Tubular', pt: 'Tubular' } }\n```\n\nAn entry has a `value` (what the file stores), a `label` with at least `en` and `pt`, and `deprecated: true` when the spec deprecates the value (`artesian` in `WELL_TYPES`).\n\n## Labels\n\n```ts\nimport {\n  CONSTRUCTION_MATERIALS,\n  PERMIT_TYPES,\n  getVocabLabel,\n} from '@welldot\u002Fcore';\n\ngetVocabLabel(PERMIT_TYPES, 'abstraction_permit', 'pt'); \u002F\u002F 'Outorga de direito de uso'\ngetVocabLabel(CONSTRUCTION_MATERIALS, 'stainless_steel', 'pt-BR'); \u002F\u002F 'Aço inox'\ngetVocabLabel(CONSTRUCTION_MATERIALS, 'Aço galvanizado DIN 2440', 'pt'); \u002F\u002F returned as is\n```\n\n`getVocabLabel(vocab, value, locale)` falls back from `pt-BR` to `pt` to `en`. A value that is not in the list, such as free text or an `x-` value, is returned unchanged, which is exactly what the spec asks a tool to display ([recommended vocabularies](\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference#recommended-vocabularies)).\n\nOther helpers:\n\n| Helper                                   | Use                                                                                                                      |\n| ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------ |\n| `vocabValues(vocab)`                     | The recommended values, for a select list. Deprecated values are left out unless you pass `{ includeDeprecated: true }`. |\n| `getVocabEntry(vocab, value)`            | The entry of a value, or `undefined`.                                                                                    |\n| `isVocabValue(vocab, value)`             | Whether a value is recommended (a type guard).                                                                           |\n| `formatVocabList(vocab, values, locale)` | Comma-separated labels of a multi-valued field, such as `well_purpose`.                                                  |\n| `resolveLanguageText(text, locale)`      | Resolves any `{ en, pt, … }` label object with the same fallback.                                                        |\n\n```ts\nimport {\n  WELL_PURPOSES,\n  formatVocabList,\n  vocabValues,\n  WELL_TYPES,\n} from '@welldot\u002Fcore';\n\nvocabValues(WELL_TYPES); \u002F\u002F ['tubular', 'hand_dug', 'horizontal', 'infiltration_gallery']\nformatVocabList(\n  WELL_PURPOSES,\n  ['production', 'monitoring', 'x-irrigation'],\n  'en',\n);\n\u002F\u002F 'Production, Monitoring well, x-irrigation'\n```\n\n## Typing open fields\n\nOpen fields are typed with `OpenVocab\u003CT>`, which is `T | (string & {})`: editors autocomplete the recommended values while any string still type-checks.\n\n```ts\nimport type { OpenVocab, PermitType } from '@welldot\u002Fcore';\n\nconst a: OpenVocab\u003CPermitType> = 'abstraction_permit'; \u002F\u002F suggested\nconst b: OpenVocab\u003CPermitType> = 'x-special'; \u002F\u002F also fine\n```\n\n## The vocabularies\n\n| Vocabulary                                                                     | Field                                                                                               |\n| ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------- |\n| `WELL_TYPES`                                                                   | `well_type`                                                                                         |\n| `WELL_PURPOSES`                                                                | `well_purpose[]`                                                                                    |\n| `DRILLING_METHODS`                                                             | `bore_hole[].drilling_method`                                                                       |\n| `CONSTRUCTION_MATERIALS`                                                       | `well_case[].type`, `well_screen[].type`, `reduction[].type`, `pump_installations[].riser_material` |\n| `SCREEN_SLOT_TYPES`                                                            | `well_screen[].slot_type`                                                                           |\n| `CENTRALIZER_TYPES`                                                            | `centralizers[].type`                                                                               |\n| `CEMENT_PAD_TYPES`                                                             | `cement_pad.type`                                                                                   |\n| `HYDRODYNAMIC_EVENT_TYPES`, `MEASUREMENT_METHODS`                              | `hydrodynamic_events[].type`, `.measurement_method`                                                 |\n| `AQUIFER_ANALYSIS_METHODS`                                                     | `aquifer_analysis[].method`                                                                         |\n| `HISTORY_LOG_CATEGORIES`, `HISTORY_LOG_SEVERITIES`, `MAINTENANCE_TYPES`        | `history_logs[]` fields                                                                             |\n| `PUMP_TYPES`, `POWER_SOURCES`                                                  | `pump_installations[]` fields                                                                       |\n| `PERMIT_TYPES`, `WATER_USES`, `CONDITION_CATEGORIES`, `PERMIT_HISTORY_TYPES`   | `permits[]` fields                                                                                  |\n| `METER_TYPES`, `READING_SOURCES`, `ESTIMATION_METHODS`                         | `meters[]`, `production[]` fields                                                                   |\n| `DOCUMENT_TYPES`                                                               | `attachments[].document_type`                                                                       |\n| `SAMPLE_TYPES`, `SAMPLING_METHODS`, `SAMPLING_POINT_TYPES`, `SAMPLING_DEVICES` | `water_samples[]` fields                                                                            |\n\nClosed vocabularies ship in the same shape, so `getVocabLabel` labels them too: `WELL_STATUSES` (`history_logs[].status`), `PERMIT_ADMINISTRATIVE_STATUSES`, `VOLUME_LIMIT_PERIODS`, `PRODUCTION_ENTRY_TYPES`, `RESULT_QUALIFIERS`, `VALIDATION_STATUSES`, `BAROMETRIC_COMPENSATIONS`, `READING_AGGREGATIONS` and others. Each one is checked against its TypeScript type at compile time, so it cannot drift from the schema.\n\nThe `@welldot\u002Fcore` test suite compares every list with the tables in the spec. Each constant has a page in the [API reference](\u002Fcore\u002Fapi).\n\n## FGDC textures\n\n`FGDC_TEXTURES_OPTIONS` lists the FGDC lithology patterns (FGDC-STD-013-2006) as `{ code, label }`. Use it to look up a code or build a picker for `lithology[].texture`:\n\n```ts\nimport { FGDC_TEXTURES_OPTIONS } from '@welldot\u002Fcore';\n\nFGDC_TEXTURES_OPTIONS.find(t => t.code === 607);\n\u002F\u002F { code: 607, label: 'Massive sand or sandstone' }\n\nconst options = FGDC_TEXTURES_OPTIONS.map(t => ({\n  value: t.code,\n  label: t.label,\n}));\n```\n\nCodes are grouped by series: 100 surficial, 200 sedimentary, 300 igneous, 400 miscellaneous and metamorphic, 500 glacial and periglacial, 600 sedimentary lithology, 700 metamorphic and igneous lithology. The 600 and 700 series are the ones with drawn patterns and the most useful for well logs; the [FGDC texture reference](\u002Fformat\u002Fspec\u002Freference\u002Ffgdc-textures) marks which codes are available. [`@welldot\u002Frender`](\u002Frender) draws these patterns.\n",{"title":7,"description":1157},"core\u002F2.guides\u002F4.vocabularies-and-textures","_2y4TswttuaG4PQrccLU3wRmR383ZyaSs7AzjYGAayY",{"docs_en":1166,"spec":1476,"changelogs":1525},[1167,1187,1206,1257,1365,1418],{"title":1168,"path":1169,"stem":1170,"children":1171},"Ai","\u002Fai","ai",[1172,1175,1179,1183],{"title":1173,"path":1169,"stem":1174},"Introduction","ai\u002Findex",{"title":1176,"path":1177,"stem":1178},"Converting reports with an assistant","\u002Fai\u002Fconversion-skill","ai\u002Fconversion-skill",{"title":1180,"path":1181,"stem":1182},"llms.txt and Markdown pages","\u002Fai\u002Fllms","ai\u002Fllms",{"title":1184,"path":1185,"stem":1186},"MCP server","\u002Fai\u002Fmcp","ai\u002Fmcp",{"title":1188,"path":1189,"stem":1190,"children":1191},"Contributing","\u002Fcontributing","contributing",[1192,1194,1198,1202],{"title":1173,"path":1189,"stem":1193},"contributing\u002Findex",{"title":1195,"path":1196,"stem":1197},"Writing docs","\u002Fcontributing\u002Fwriting-docs","contributing\u002F1.writing-docs",{"title":1199,"path":1200,"stem":1201},"Update rules","\u002Fcontributing\u002Fupdate-rules","contributing\u002F2.update-rules",{"title":1203,"path":1204,"stem":1205},"Content components","\u002Fcontributing\u002Fcomponents","contributing\u002Fcomponents",{"title":1207,"path":1208,"stem":1209,"children":1210},"Core","\u002Fcore","core",[1211,1213,1227,1253],{"title":1173,"path":1208,"stem":1212},"core\u002Findex",{"title":1214,"path":1215,"stem":1216,"children":1217,"page":1226},"Getting Started","\u002Fcore\u002Fgetting-started","core\u002F1.getting-started",[1218,1222],{"title":1219,"path":1220,"stem":1221},"Installation","\u002Fcore\u002Fgetting-started\u002Finstallation","core\u002F1.getting-started\u002F1.installation",{"title":1223,"path":1224,"stem":1225},"First use","\u002Fcore\u002Fgetting-started\u002Ffirst-use","core\u002F1.getting-started\u002F2.first-use",false,{"title":1228,"path":1229,"stem":1230,"children":1231,"page":1226},"Guides","\u002Fcore\u002Fguides","core\u002F2.guides",[1232,1236,1240,1244,1245,1249],{"title":1233,"path":1234,"stem":1235},"Parsing and validating","\u002Fcore\u002Fguides\u002Fparsing-and-validating","core\u002F2.guides\u002F1.parsing-and-validating",{"title":1237,"path":1238,"stem":1239},"Serializing and sharing","\u002Fcore\u002Fguides\u002Fserializing-and-sharing","core\u002F2.guides\u002F2.serializing-and-sharing",{"title":1241,"path":1242,"stem":1243},"Unit conversion","\u002Fcore\u002Fguides\u002Funit-conversion","core\u002F2.guides\u002F3.unit-conversion",{"title":7,"path":1160,"stem":1163},{"title":1246,"path":1247,"stem":1248},"Water quality vocabulary","\u002Fcore\u002Fguides\u002Fwater-quality-vocabulary","core\u002F2.guides\u002F5.water-quality-vocabulary",{"title":1250,"path":1251,"stem":1252},"Versions and time zones","\u002Fcore\u002Fguides\u002Fversions-and-time-zones","core\u002F2.guides\u002F6.versions-and-time-zones",{"title":969,"path":968,"stem":1254,"children":1255},"core\u002Fapi\u002Findex",[1256],{"title":969,"path":968,"stem":1254},{"title":1258,"path":1259,"stem":1260,"children":1261},"Format","\u002Fformat","format",[1262,1264,1284,1311,1335,1355,1361],{"title":1173,"path":1259,"stem":1263},"format\u002Findex",{"title":1214,"path":1265,"stem":1266,"children":1267,"page":1226},"\u002Fformat\u002Fgetting-started","format\u002F1.getting-started",[1268,1272,1276,1280],{"title":1269,"path":1270,"stem":1271},"What is .well?","\u002Fformat\u002Fgetting-started\u002Fwhat-is-well","format\u002F1.getting-started\u002F1.what-is-well",{"title":1273,"path":1274,"stem":1275},"For geologists","\u002Fformat\u002Fgetting-started\u002Ffor-geologists","format\u002F1.getting-started\u002F2.for-geologists",{"title":1277,"path":1278,"stem":1279},"For developers","\u002Fformat\u002Fgetting-started\u002Ffor-developers","format\u002F1.getting-started\u002F3.for-developers",{"title":1281,"path":1282,"stem":1283},"Your first .well file","\u002Fformat\u002Fgetting-started\u002Ffirst-well-file","format\u002F1.getting-started\u002F4.first-well-file",{"title":1285,"path":1286,"stem":1287,"children":1288,"page":1226},"Concepts","\u002Fformat\u002Fconcepts","format\u002F2.concepts",[1289,1293,1297,1299,1303,1307],{"title":1290,"path":1291,"stem":1292},"Depths and intervals","\u002Fformat\u002Fconcepts\u002Fdepths-and-intervals","format\u002F2.concepts\u002F1.depths-and-intervals",{"title":1294,"path":1295,"stem":1296},"Units and precision","\u002Fformat\u002Fconcepts\u002Funits-and-precision","format\u002F2.concepts\u002F2.units-and-precision",{"title":19,"path":18,"stem":1298},"format\u002F2.concepts\u002F3.vocabularies",{"title":1300,"path":1301,"stem":1302},"Profiles","\u002Fformat\u002Fconcepts\u002Fprofiles","format\u002F2.concepts\u002F4.profiles",{"title":1304,"path":1305,"stem":1306},"Versions and deprecation","\u002Fformat\u002Fconcepts\u002Fversions-and-deprecation","format\u002F2.concepts\u002F5.versions-and-deprecation",{"title":1308,"path":1309,"stem":1310},"Extensibility","\u002Fformat\u002Fconcepts\u002Fextensibility","format\u002F2.concepts\u002F6.extensibility",{"title":1228,"path":1312,"stem":1313,"children":1314,"page":1226},"\u002Fformat\u002Fguides","format\u002F3.guides",[1315,1319,1323,1327,1331],{"title":1316,"path":1317,"stem":1318},"Writing a .well by hand","\u002Fformat\u002Fguides\u002Fwriting-by-hand","format\u002F3.guides\u002F1.writing-by-hand",{"title":1320,"path":1321,"stem":1322},"Converting a report","\u002Fformat\u002Fguides\u002Fconverting-a-report","format\u002F3.guides\u002F2.converting-a-report",{"title":1324,"path":1325,"stem":1326},"Validating","\u002Fformat\u002Fguides\u002Fvalidating","format\u002F3.guides\u002F3.validating",{"title":1328,"path":1329,"stem":1330},"Extending for your own needs","\u002Fformat\u002Fguides\u002Fextending","format\u002F3.guides\u002F4.extending",{"title":1332,"path":1333,"stem":1334},"Building an editor or database on .well","\u002Fformat\u002Fguides\u002Fbuilding-on-well","format\u002F3.guides\u002F5.building-on-well",{"title":1336,"path":1337,"stem":1338,"children":1339},"Overview","\u002Fformat\u002Freference","format\u002F4.reference\u002Findex",[1340,1341,1345,1349],{"title":1336,"path":1337,"stem":1338},{"title":1342,"path":1343,"stem":1344},"JSON Schema","\u002Fformat\u002Freference\u002Fjson-schema","format\u002F4.reference\u002F1.json-schema",{"title":1346,"path":1347,"stem":1348},"Example wells","\u002Fformat\u002Freference\u002Fexamples","format\u002F4.reference\u002F2.examples",{"title":1350,"path":1351,"stem":1352,"children":1353},"Object reference","\u002Fformat\u002Freference\u002Fobjects","format\u002Freference\u002Fobjects\u002Findex",[1354],{"title":1350,"path":1351,"stem":1352},{"title":1356,"path":1357,"stem":1358,"children":1359},"About the spec","\u002Fformat\u002Fspec","format\u002F5.spec\u002Findex",[1360],{"title":1356,"path":1357,"stem":1358},{"title":1362,"path":1363,"stem":1364},"Changelog","\u002Fformat\u002Fchangelog","format\u002F6.changelog",{"title":1366,"path":1141,"stem":1367,"children":1368},"Render","render",[1369,1371,1381,1413],{"title":1173,"path":1141,"stem":1370},"render\u002Findex",{"title":1214,"path":1372,"stem":1373,"children":1374,"page":1226},"\u002Frender\u002Fgetting-started","render\u002F1.getting-started",[1375,1378],{"title":1219,"path":1376,"stem":1377},"\u002Frender\u002Fgetting-started\u002Finstallation","render\u002F1.getting-started\u002F1.installation",{"title":1223,"path":1379,"stem":1380},"\u002Frender\u002Fgetting-started\u002Ffirst-use","render\u002F1.getting-started\u002F2.first-use",{"title":1228,"path":1382,"stem":1383,"children":1384,"page":1226},"\u002Frender\u002Fguides","render\u002F2.guides",[1385,1389,1393,1397,1401,1405,1409],{"title":1386,"path":1387,"stem":1388},"Panels and layout","\u002Frender\u002Fguides\u002Fpanels-and-layout","render\u002F2.guides\u002F1.panels-and-layout",{"title":1390,"path":1391,"stem":1392},"Layers and labels","\u002Frender\u002Fguides\u002Flayers-and-labels","render\u002F2.guides\u002F2.layers-and-labels",{"title":1394,"path":1395,"stem":1396},"Theming","\u002Frender\u002Fguides\u002Ftheming","render\u002F2.guides\u002F3.theming",{"title":1398,"path":1399,"stem":1400},"Locale and units","\u002Frender\u002Fguides\u002Flocale-and-units","render\u002F2.guides\u002F4.locale-and-units",{"title":1402,"path":1403,"stem":1404},"Legends","\u002Frender\u002Fguides\u002Flegends","render\u002F2.guides\u002F5.legends",{"title":1406,"path":1407,"stem":1408},"Zoom, pan and highlights","\u002Frender\u002Fguides\u002Finteraction","render\u002F2.guides\u002F6.interaction",{"title":1410,"path":1411,"stem":1412},"Using it in a framework","\u002Frender\u002Fguides\u002Fframeworks","render\u002F2.guides\u002F7.frameworks",{"title":969,"path":1414,"stem":1415,"children":1416},"\u002Frender\u002Fapi","render\u002Fapi\u002Findex",[1417],{"title":969,"path":1414,"stem":1415},{"title":1419,"path":1420,"stem":1421,"children":1422},"Utils","\u002Futils","utils",[1423,1425,1435,1471],{"title":1173,"path":1420,"stem":1424},"utils\u002Findex",{"title":1214,"path":1426,"stem":1427,"children":1428,"page":1226},"\u002Futils\u002Fgetting-started","utils\u002F1.getting-started",[1429,1432],{"title":1219,"path":1430,"stem":1431},"\u002Futils\u002Fgetting-started\u002Finstallation","utils\u002F1.getting-started\u002F1.installation",{"title":1223,"path":1433,"stem":1434},"\u002Futils\u002Fgetting-started\u002Ffirst-use","utils\u002F1.getting-started\u002F2.first-use",{"title":1228,"path":1436,"stem":1437,"children":1438,"page":1226},"\u002Futils\u002Fguides","utils\u002F2.guides",[1439,1443,1447,1451,1455,1459,1463,1467],{"title":1440,"path":1441,"stem":1442},"Geometry and volumes","\u002Futils\u002Fguides\u002Fgeometry-and-volumes","utils\u002F2.guides\u002F1.geometry-and-volumes",{"title":1444,"path":1445,"stem":1446},"Water levels and pumping tests","\u002Futils\u002Fguides\u002Fpumping-tests","utils\u002F2.guides\u002F2.pumping-tests",{"title":1448,"path":1449,"stem":1450},"Permits","\u002Futils\u002Fguides\u002Fpermits","utils\u002F2.guides\u002F3.permits",{"title":1452,"path":1453,"stem":1454},"Operation and production","\u002Futils\u002Fguides\u002Foperation","utils\u002F2.guides\u002F4.operation",{"title":1456,"path":1457,"stem":1458},"Water quality","\u002Futils\u002Fguides\u002Fwater-quality","utils\u002F2.guides\u002F5.water-quality",{"title":1460,"path":1461,"stem":1462},"Logger import","\u002Futils\u002Fguides\u002Flogger-import","utils\u002F2.guides\u002F6.logger-import",{"title":1464,"path":1465,"stem":1466},"SIAGAS import","\u002Futils\u002Fguides\u002Fsiagas-import","utils\u002F2.guides\u002F7.siagas-import",{"title":1468,"path":1469,"stem":1470},"Formatting","\u002Futils\u002Fguides\u002Fformatting","utils\u002F2.guides\u002F8.formatting",{"title":969,"path":1472,"stem":1473,"children":1474},"\u002Futils\u002Fapi","utils\u002Fapi\u002Findex",[1475],{"title":969,"path":1472,"stem":1473},[1477],{"title":1258,"path":1259,"stem":1260,"children":1478,"page":1226},[1479],{"title":1480,"path":1357,"stem":1481,"children":1482,"page":1226},"Spec","format\u002Fspec",[1483,1491,1500],{"title":1484,"path":1485,"stem":1486,"children":1487,"page":1226},"Reference","\u002Fformat\u002Fspec\u002Freference","format\u002Fspec\u002Freference",[1488],{"title":1489,"path":1136,"stem":1490},"FGDC Texture Patterns Reference","format\u002Fspec\u002Freference\u002Ffgdc-textures",{"title":1492,"path":1493,"stem":1494,"children":1495,"page":1226},"V1","\u002Fformat\u002Fspec\u002Fv1","format\u002Fspec\u002Fv1",[1496],{"title":1497,"path":1498,"stem":1499},".well File Format Specification","\u002Fformat\u002Fspec\u002Fv1\u002Fwell-format","format\u002Fspec\u002Fv1\u002Fwell-format",{"title":1501,"path":1502,"stem":1503,"children":1504,"page":1226},"V2","\u002Fformat\u002Fspec\u002Fv2","format\u002Fspec\u002Fv2",[1505,1509,1513,1517,1521],{"title":1506,"path":1507,"stem":1508},".well File Format Specification — Version 2.4: Format Reference","\u002Fformat\u002Fspec\u002Fv2\u002Fformat-reference","format\u002Fspec\u002Fv2\u002Fformat-reference",{"title":1510,"path":1511,"stem":1512},".well File Format Specification — Version 2.4: Interoperability","\u002Fformat\u002Fspec\u002Fv2\u002Finteroperability","format\u002Fspec\u002Fv2\u002Finteroperability",{"title":1514,"path":1515,"stem":1516},".well File Format Specification — Version 2.4: Object Schemas","\u002Fformat\u002Fspec\u002Fv2\u002Fobject-schemas","format\u002Fspec\u002Fv2\u002Fobject-schemas",{"title":1518,"path":1519,"stem":1520},".well File Format Specification — Version 2.4: Overview","\u002Fformat\u002Fspec\u002Fv2\u002Foverview","format\u002Fspec\u002Fv2\u002Foverview",{"title":1522,"path":1523,"stem":1524},".well File Format Specification — Version 2.4: Water Quality","\u002Fformat\u002Fspec\u002Fv2\u002Fwater-quality","format\u002Fspec\u002Fv2\u002Fwater-quality",[1526,1531,1536],{"title":1207,"path":1208,"stem":1209,"children":1527,"page":1226},[1528],{"title":24,"path":1529,"stem":1530},"\u002Fcore\u002Fchangelog","core\u002FCHANGELOG",{"title":1366,"path":1141,"stem":1367,"children":1532,"page":1226},[1533],{"title":1144,"path":1534,"stem":1535},"\u002Frender\u002Fchangelog","render\u002FCHANGELOG",{"title":1419,"path":1420,"stem":1421,"children":1537,"page":1226},[1538],{"title":1539,"path":1540,"stem":1541},"@welldot\u002Futils","\u002Futils\u002Fchangelog","utils\u002FCHANGELOG",1793050497242]