/3.1 (Extension.1 Name: "MetaData Collection Tool v2.0" Dependencies: "$AVBIN/avdlog.dll\n" FirstRootClassName: "List" Roots: 2 Roots: 3 Roots: 4 Roots: 40 Roots: 41 Roots: 42 Roots: 43 Roots: 44 Roots: 45 Roots: 46 Roots: 47 Roots: 48 Roots: 49 Roots: 50 Roots: 51 Roots: 52 Roots: 53 Roots: 54 Roots: 55 Roots: 56 Roots: 57 Roots: 58 Roots: 59 Roots: 60 Roots: 61 Roots: 62 Roots: 63 Roots: 64 Roots: 65 Roots: 66 Roots: 67 Roots: 68 Roots: 69 Roots: 70 Roots: 71 Roots: 72 Roots: 73 Roots: 74 Roots: 75 Roots: 76 Roots: 77 Roots: 78 Roots: 79 Roots: 80 Roots: 81 Roots: 82 Roots: 83 Roots: 84 Roots: 85 Roots: 86 Roots: 87 Roots: 88 Roots: 89 Roots: 90 Roots: 91 Roots: 92 Roots: 93 Roots: 94 Roots: 95 Roots: 96 Roots: 97 Roots: 98 Roots: 99 Roots: 100 Roots: 101 Roots: 102 Roots: 103 Roots: 104 Roots: 105 Roots: 106 Roots: 107 Roots: 108 Roots: 109 Roots: 110 Roots: 111 Roots: 112 Roots: 113 Roots: 114 Roots: 115 Roots: 116 Roots: 117 Roots: 118 Roots: 119 Roots: 120 Roots: 121 Roots: 122 Roots: 123 Roots: 124 Roots: 125 Roots: 126 Roots: 127 Roots: 128 Roots: 129 Roots: 130 Roots: 131 Roots: 132 Roots: 133 Roots: 134 Roots: 135 Roots: 136 Roots: 137 Roots: 138 Roots: 139 Roots: 140 Roots: 141 Roots: 142 Roots: 143 Roots: 144 Roots: 145 Roots: 146 Roots: 147 Roots: 148 Roots: 149 Roots: 150 Roots: 151 Roots: 152 Roots: 153 Roots: 154 Roots: 155 Roots: 156 Roots: 157 Roots: 158 Roots: 159 Roots: 160 Roots: 161 Roots: 162 Roots: 163 Roots: 164 Roots: 165 Roots: 166 Roots: 167 Roots: 168 Roots: 169 Roots: 170 Roots: 171 Roots: 172 Roots: 173 Roots: 174 Roots: 175 Roots: 176 Roots: 177 Roots: 178 Roots: 179 Roots: 180 Roots: 181 Roots: 182 Roots: 183 Roots: 184 Roots: 185 Roots: 186 Roots: 187 Roots: 188 Roots: 189 Roots: 190 Roots: 191 Roots: 192 Roots: 193 Roots: 194 Roots: 195 Roots: 196 Roots: 197 Roots: 198 Roots: 199 Roots: 200 Roots: 201 Roots: 202 Roots: 203 Roots: 204 Roots: 205 Roots: 206 Roots: 207 Roots: 208 Roots: 209 Roots: 210 Roots: 211 Roots: 212 Roots: 213 Roots: 214 Roots: 215 Roots: 216 Roots: 217 Roots: 218 Roots: 219 Roots: 220 Roots: 221 Roots: 222 Roots: 223 Roots: 224 Roots: 225 Roots: 226 Roots: 227 Roots: 228 Roots: 229 Roots: 230 Roots: 231 Roots: 232 Roots: 233 Roots: 234 Roots: 235 Roots: 236 Roots: 237 Roots: 286 Roots: 372 Roots: 452 Roots: 549 Roots: 637 Roots: 728 Roots: 819 Roots: 896 Roots: 1013 Roots: 1045 Roots: 1074 Roots: 1130 Roots: 1195 Roots: 1250 Roots: 1285 Roots: 1316 Roots: 1373 Roots: 1399 Roots: 1511 Roots: 1554 Roots: 1589 Roots: 1636 Roots: 1680 Version: 31 About: "MetaData Collection Tool v2.0, produced by the NOAA Coastal Services Center 11/04/99" InstallScript: 1779 UninstallScript: 1780 ExtVersion: 3 ) (List.2 ) (List.3 ) (List.4 Child: 5 Child: 12 Child: 19 Child: 26 Child: 33 ) (List.5 Child: 6 Child: 10 Child: 11 ) (List.6 Child: 7 Child: 8 Child: 9 ) (AVStr.7 S: "View" ) (AVStr.8 S: "Metadata Tools" ) (AVStr.9 S: "DD.Main_Setup" ) (Choice.10 Help: "Collect Metadata//Starts dialog for collecting Metadata" Label: "Collect Metadata" Click: "DD.Main_Setup" Shortcut: "Keys.None" ) (Numb.11 ) (List.12 Child: 13 Child: 17 Child: 18 ) (List.13 Child: 14 Child: 15 Child: 16 ) (AVStr.14 S: "View" ) (AVStr.15 S: "Metadata Tools" ) (AVStr.16 S: "DD.Load_Text" ) (Choice.17 Help: "Displays a Metadata record as a text file" Label: "View Metadata" Click: "DD.Load_Text" Shortcut: "Keys.None" ) (Numb.18 N: 1.00000000000000 ) (List.19 Child: 20 Child: 24 Child: 25 ) (List.20 Child: 21 Child: 22 Child: 23 ) (AVStr.21 S: "View" ) (AVStr.22 S: "Metadata Tools" ) (AVStr.23 S: "DD.Write_Html" ) (Choice.24 Help: "Select a Metadata record to write in HTML format" Label: "Create HTML from Existing Metadata" Click: "DD.Write_Html" Shortcut: "Keys.None" ) (Numb.25 N: 2.00000000000000 ) (List.26 Child: 27 Child: 31 Child: 32 ) (List.27 Child: 28 Child: 29 Child: 30 ) (AVStr.28 S: "View" ) (AVStr.29 S: "Metadata Tools" ) (AVStr.30 S: "DD.Get_Help" ) (Choice.31 Help: "Display a Help file for the Metadata collector" Label: "Metadata Help" Click: "DD.Get_Help" Shortcut: "Keys.None" ) (Numb.32 N: 3.00000000000000 ) (List.33 Child: 34 Child: 38 Child: 39 ) (List.34 Child: 35 Child: 36 Child: 37 ) (AVStr.35 S: "View" ) (AVStr.36 S: "Metadata Tools" ) (AVStr.37 S: "DD.FGDC_Link" ) (Choice.38 Help: "Link to the FGDC website at www.fgdc.gov" Label: "Link to the FGDC website" Click: "DD.FGDC_Link" Shortcut: "Keys.None" ) (Numb.39 N: 4.00000000000000 ) (List.40 ) (Script.41 Name: "DD.All_Back" SourceCode: "'Called from all forms from \"Back\" button\n'Gets the Dialog and determines what the Dialog before it is.\n\n\ntheSec = Self.GetDialog.GetName\nmyDocs = av.GetProject.GetDocs\ntheDocs={}\nfor each d in myDocs\n if (d.GetClass.GetClassName = \"DialogEditor\") then\n theDocs.Add(d.GetName)\n end\nend\ntheTokes = theSec.AsTokens(\".\")\nif (theTokes.Count > 1) then ' we are at a subsection\n if (theTokes.Get(1).IsNumber) then\n theNum = theTokes.Get(1).AsNumber\n if (theNum > 1) then\n newSec = theTokes.Get(0)+\".\"+ (theNum - 1).AsString\n else\n newSec = theTokes.Get(0)\n end\n else\n newSec = theTokes.Get(0)\n if (newSec = \"Sec4\") then\n newSec = \"Sec3\"\n end\n end\nelse 'we are at a Main Section starting place go back to previous\n theNum = theTokes.Get(0).Right(1).AsNumber - 1\n if (theNum = 1) then\n newSec = \"Sec1.3\"\n elseif (theNum = 2) then\n newSec = \"Sec2.3\"\n elseif (theNum = 4) then\n newSec = \"Sec4\"\n elseif (theNum = 5) then\n newSec = \"Sec5\"\n elseif (theNum = 6) then\n newSec = \"Sec6\"\n else\n goon = False\n cnt = 0\n while (goon = False)\n newSec = theTokes.Get(0).Left(3)+(theNum).AsString\n secList = {}\n for each d in theDocs\n if (d.Contains(newSec)) then\n secList.Add(d)\n end\n end\n if (secList.Count > 1) then ' we got a \".\"\n hNum = 0\n for each s in secList\n if (s.AsString.right(1).IsNumber) then\n if (s.AsString.right(1).AsNumber > hNum) then\n hNum = s.AsString.right(1).AsNumber\n end\n end\n end\n newSec = theTokes.Get(0).Left(3)+(theNum).AsString+\".\"+(hNum).AsString\n end\n if (theDocs.FindByValue(newSec) > 0) then\n goon = true\n else\n theNum = theNum - 1\n end \n if (cnt > 10) then\n goon = true\n exit\n else\n cnt = cnt + 1\n end\n end\n end\nend\nSelf.GetDialog.Close\nav.finddialog(newSec).open\n_MetaDone = NIL" ) (Script.42 Name: "DD.All_Clear" SourceCode: "'Called by the \"Clear\" Button on all forms.\n'Clears the elements on the Dialog\n\ntheD = Self.GetDialog\nfor each atxl in theD.findbyclass(textline)\n atxl.settext(\"\")\nend\nfor each atxl in theD.findbyclass(textbox)\n atxl.settext(\"\")\nend\nfor each atxl in theD.findbyclass(listbox)\n atxl.DefineFromList({})\nend\nfor each atxl in theD.findbyclass(combobox)\n if ((atxl.GetName = \"Sec1.2_CBProg\") or (atxl.GetName = \"Sec1.2_CBMain\") or (atxl.GetName = \"Sec4.PC_CBMeth\") or (atxl.GetName = \"Sec4.PC_CBDatum\") or (atxl.G etName = \"Sec4.PC_BCEllipse\") or (atxl.GetName = \"Sec4.GC_CBDatum\") or (atxl.GetName = \"Sec4.GC_BCEllipse\") or (atxl.GetName = \"DD.Sec4VC_CBAldat\") or (atxl.GetName = \"DD.Sec4VC_CBAlencode\")) then\n else\n atxl.DefineFromList({})\n end\nend\nif (theD.GetName.Contains(\"Sec1\")) then\n _Sec1OrList = {}\nend\nif (theD.GetName.Contains(\"Sec2.2\")) then\n _Sec2OrList = {}\nend\nif (theD.GetName.Contains(\"Sec6\")) then\n _Sec6OrList = {}\nend\nif (theD.GetName.Contains(\"Sec7\")) then\n _Sec7OrList = {}\nend" ) (Script.43 Name: "DD.All_ConAppend" SourceCode: "'Allows append to existing file.\ntheD = Self.GetDialog\nSec = theD.GetName\n'Get the File name to write to.\npubFile = _workdir+_pathDel+\"contact.dbf\"\npubFile = FileDialog.Show(\"*.dbf\",\"dBase\",\"Save Citation Information\")\nif (pubFile = NIL) then\n exit\nelse\n av.Run(\"DD.All_ConSave\",{pubFile,theD,Sec})\nend" ) (Script.44 Name: "DD.All_ConMake" SourceCode: "'Creates the template for making the Contact dBase file\n'Called from DD.All_ConSave\n\nconFile = Self.Get(0)\nconVTab = VTab.MakeNew(confile,dBASE)\nconIdField = Field.Make(\"con_Id\",#FIELD_VCHAR,20,0)\nconOrgField = Field.Make(\"organ\",#FIELD_VCHAR,100,0)\nconPerField = Field.Make(\"person\",#FIELD_VCHAR,100,0)\nconPosField = Field.Make(\"position\",#FIELD_VCHAR,100,0)\nAddField = Field.Make(\"address\",#FIELD_VCHAR,100,0)\nCityField = Field.Make(\"city\",#FIELD_VCHAR,100,0)\nStateField = Field.Make(\"state\",#FIELD_VCHAR,100,0 )\nPcodeField = Field.Make(\"pcode\",#FIELD_VCHAR,20,0)\nCountryField = Field.Make(\"country\",#FIELD_VCHAR,75,0)\nVteleField = Field.Make(\"tele\",#FIELD_VCHAR,60,0)\nFteleField = Field.Make(\"fax\",#FIELD_VCHAR,60,0)\nEmailField = Field.Make(\"email\",#FIELD_VCHAR,100,0)\nHoursField = Field.Make(\"hours\",#FIELD_VCHAR,100,0)\nFieldList = {conIdField,conOrgField,conPerField,conPosField,AddField,cityField,StateField,PcodeField,CountryField,VteleField,FteleField,EmailField,HoursField}\nconVTab.AddFields(FieldList)" ) (Script.45 Name: "DD.All_ConNew" SourceCode: "theD = Self.GetDialog\nSec = theD.GetName\nconFile = _workdir+_pathDel+\"contact.dbf\"\nconFile = FileDialog.Put(conFile.AsFileName,\"*.dbf\",\"Save Contact Information\")\nif (conFile = NIL) then\n exit\nend\nif (File.Exists(conFile)) then\n File.Delete(conFile)\nend\nif (conFile = NIL) then\n exit\nelse\n av.Run(\"DD.All_ConSave\",{conFile,theD,Sec})\nend" ) (Script.46 Name: "DD.All_ConRet" SourceCode: "'Called from \"Retrieve Contact Information\" Button.\n'Allows user to select a file that has Contact Information\n'Reads file to populate Contact Information\n\ntheD = Self.GetDialog\nSec = theD.GetName\nconFileList = FileDialog.ReturnFiles({\"*.dbf\"},{\"dBase(*.dbf)\"},\"Retrieve Citation Information\",0)\nif (conFileList.Count = 0) then\n exit\nend\nconFile = conFileList.Get(0)\n\n\nconVTab = VTab.Make(conFile,false,false)\n\npubCnt = {}\nidSet = true\nif (conVTab.GetSelection = NIL) then\n Pubid = NIL\n PubEx = NIL\n MsgBox.I nfo(\"Could not find: \"+conFile.AsString+\". Move the file or change your Working Directory.\",\"Contact Information\")\n exit\nelse\n PubList = {}\n PubEx = true\n PubidField = convtab.FindField(\"Con_Id\")\n if (PubidField = NIL) then\n MsgBox.Error(\"The file that you have selected (\"+conFile.AsString+\") is not formatted correctly.\",\"Error in file\")\n exit\n end\n for each o in convtab\n Pubid = convtab.ReturnValue(PubidField,o)\n PubList.Add(Pubid)\n if (Pubid.Contains(\"Contact_Id\")) then\n pubCnt. Add(Pubid)\n end\n end\n Pubid = MsgBox.ListAsString(PubList,\"Select Contact_Information ID.\",\"Contact_Information (contact.dbf)\")\nend\n\nif (conVTab.FindField(\"Organ\").GetWidth < 100) then\n av.Run(\"DD.All_ConUpDate\",{conFile})\nend\n\nif (Pubid <> NIL) then\n Querystr = \"([Con_id] =\"++Pubid.Quote+\")\"\n convtab.GetSelection.SetAll\n PubBitMap = conVTab.GetSelection\n convtab.Query(Querystr,PubBitMap,#VTAB_SELTYPE_NEW)\n convtab.UpdateSelection\n QueryBitmap = convtab.GetSelection\n for each b in QueryBitmap\n org = conVTab.ReturnValue(conVTab.FindField(\"organ\"),b)\n theD.FindByName(Sec+\"_TxtOrg\").SetText(org)\n person = conVTab.ReturnValue(conVTab.FindField(\"person\"),b)\n theD.FindByName(Sec+\"_TxtPer\").SetText(person)\n pos = conVTab.ReturnValue(conVTab.FindField(\"position\"),b) \n theD.FindByName(Sec+\"_TxtPos\").SetText(pos)\n add = conVTab.ReturnValue(conVTab.FindField(\"address\"),b)\n theD.FindByName(Sec+\"_TxtAdd\").SetText(add)\n city = conVTab.ReturnValue(conVTab.FindField(\"city\"),b)\n theD .FindByName(Sec+\"_TxtCity\").SetText(city)\n state = conVTab.ReturnValue(conVTab.FindField(\"state\"),b)\n theD.FindByName(Sec+\"_TxtState\").SetText(state)\n pcode = conVTab.ReturnValue(conVTab.FindField(\"pcode\"),b)\n theD.FindByName(Sec+\"_TxtPCode\").SetText(pcode)\n country = conVTab.ReturnValue(conVTab.FindField(\"country\"),b)\n theD.FindByName(Sec+\"_TxtCountry\").SetText(country)\n tele = conVTab.ReturnValue(conVTab.FindField(\"tele\"),b)\n theD.FindByName(Sec+\"_TxtTele\").SetText(tele)\n fax = conVTab.ReturnValue(conVTab.FindField(\"fax\"),b)\n theD.FindByName(Sec+\"_TxtFax\").SetText(fax)\n email = conVTab.ReturnValue(conVTab.FindField(\"email\"),b)\n theD.FindByName(Sec+\"_TxtEmail\").SetText(email)\n hours = conVTab.ReturnValue(conVTab.FindField(\"hours\"),b)\n theD.FindByName(Sec+\"_TxtHours\").SetText(hours)\n end\nend" ) (Script.47 Name: "DD.All_ConSave" SourceCode: "'Called from DD.All_ConAppend and DD.All_ConNew\n'Stores Contact Information into a dBase file.\n\nconFile = Self.Get(0) 'The file that gets written\ntheD = Self.Get(1) 'The Dialog that called this script\nSec = Self.Get(2) 'The Section of the Dialog.\n\n\nconVTab = VTab.Make(conFile,false,false)\n\npubEx = True\nif (conVTab.GetSelection = NIL) then 'File does not exists\n 'Pubid = NIL\n PubEx = NIL\nend\nif (pubEx = NIL) then\n conVTab = NIL\n av.Run(\"DD.All_ConMake\",{conFile})\nelse\n conVTab = VTab.Make(conFile,false, false)\n if (conVTab.FindField(\"con_id\") = NIL) then\n msgBox.Error(\"The file that you have selected (\"+conFile.AsString+\") is not formatted correctly.\",\"Select a New File\")\n exit\n end\n if (conVTab.FindField(\"Organ\").GetWidth < 100) then\n conVTab = NIL\n av.Run(\"DD.All_ConUpDate\",{conFile})\n end\nend\nconId = MsgBox.Input(\"Enter Contact_Id (reference for future use)\",\"Contact ID\",\"\")\nif (conId = NIL) then\n System.Beep\n MsgBox.Warning(\"You must enter a Contact_Id for future access!\",\"Warning\")\n exit\nend\n\nconVTab = NIL\nconVTab = VTab.Make(conFile,false,false)\nconVTab.Seteditable(true)\nnewRec = conVTab.AddRecord\nconVTab.SetValue(conVTab.FindField(\"con_Id\"), newRec, conid)\nconOrg = theD.FindByName(Sec+\"_TxtOrg\").GetText\n\nconVTab.SetValue(conVTab.FindField(\"organ\"), newRec, conOrg)\nconPer = theD.FindByName(Sec+\"_TxtPer\").GetText\nconVTab.SetValue(conVTab.FindField(\"person\"),newRec, conPer)\nconPos = theD.FindByName(Sec+\"_TxtPos\").GetText\nconVTab.SetValue(conVTab.FindField(\"position\"),newRec, conPos)\nad d = theD.FindByName(Sec+\"_TxtAdd\").GetText \nconVTab.SetValue(conVTab.FindField(\"address\"), newRec, add)\ncity = theD.FindByName(Sec+\"_TxtCity\").GetText\nconVTab.SetValue(conVTab.FindField(\"city\"), newRec, city)\nstate = theD.FindByName(Sec+\"_TxtState\").GetText\nconVTab.SetValue(conVTab.FindField(\"state\"), newRec, state)\npcode = theD.FindByName(Sec+\"_TxtPCode\").GetText\nconVTab.SetValue(conVTab.FindField(\"pcode\"), newRec, pcode)\ncountry = theD.FindByName(Sec+\"_TxtCountry\").GetText\nconVTab.SetValue(conVTab.FindFi eld(\"country\"), newRec, country)\nvtele = theD.FindByName(Sec+\"_TxtTele\").GetText\nconVTab.SetValue(conVTab.FindField(\"tele\"), newRec, vtele)\nftele = theD.FindByName(Sec+\"_TxtFax\").GetText\nconVTab.SetValue(conVTab.FindField(\"fax\"), newRec, ftele)\nemail = theD.FindByName(Sec+\"_TxtEmail\").GetText\nconVTab.SetValue(conVTab.FindField(\"email\"), newRec, email)\nhours = theD.FindByName(Sec+\"_TxtHours\").GetText\nconVTab.SetValue(conVTab.FindField(\"hours\"), newRec, hours)\nconVTab.SetEditable(false)" ) (Script.48 Name: "DD.All_Cont" SourceCode: "'Open the next Dialog based on the current Dialog's name.\n'Last edited 4/08/99\n\ntheSec = Self.GetDialog.GetName\ntheTokes = theSec.AsTokens(\".\")\nif (theTokes.Count = 1) then\n newSec = theTokes.Get(0)+\".1\"\nelse\n num = theTokes.Get(1).AsNumber + 1\n newSec = theTokes.Get(0)+\".\"+num.AsString\nend\nSelf.GetDialog.Close\nav.FindDialog(newSec).Open\n" ) (Script.49 Name: "DD.All_ConUpdate" SourceCode: "'Updates a Contact_Information dBase that was created with the old tool\n'Called from DD.All_ConRet\n\npubFile = Self.Get(0)\nnewFile = pubFile.GetFullName.Substitute(\".dbf\",\"_bu.dbf\")\n\nMsgBox.Info(\"The file: Contact.dbf, was created using an older version of this tool and will be updated.\",\"Update Contact File\")\n\nFile.Copy(pubFile,newFile.AsFileName)\nmsgBox.Info(pubFile.AsString++\"has been renamed to \"+newFile,\"File Renamed\")\npubFile = Self.Get(0)\nav.Run(\"DD.All_ConMake\",{pubFile})\nPubVTab = VTab.Make(PubFile. AsFileName,false,false)\npubVTab.SetEditable(True)\nOldVTab = VTab.Make((_workdir+_pathDel+\"contact_old.dbf\").AsFileName,False,False)\nfor each o in OldVTab\n newRec = pubVTab.AddRecord\n val = OldVTab.ReturnValue(OldVTab.FindField(\"Con_id\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Con_id\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Organ\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Organ\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Person\"),o)\n pubVTab.SetValue(PubVTab.Fin dField(\"Person\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Position\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Position\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Address\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Address\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"City\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"City\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"State\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"State\"),newRec,val) \n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Pcode\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Pcode\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Country\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Country\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Tele\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Tele\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Fax\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Fax\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTa b.FindField(\"Email\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Email\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Hours\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Hours\"),newRec,val)\n \nend\nPubVTab.SetEditable(False)" ) (Script.50 Name: "DD.All_Exit" SourceCode: "'Called from \"Exit\" button on all forms.\n'Ask the user if they want to save before exiting.\n\ndName = Self.GetDialog.GetName.AsString\nn = dName.astokens(\".\")\nthisSec = n.Get(0)\nif (n.Count = 1) then\n ns = n.Get(0) + \".1\"\nelse\n if (n.Get(1).IsNumber) then\n ns = n.Get(0) + \".\" + (n.get(1).AsNumber + 1).AsString\n else\n ns = n.Get(0) + \".1\"\n end\nend\n\nif (av.FindDialog(ns) = NIL) then\n saveEm = msgbox.YesNoCancel(\"Section is complete. Do you want to save completed sections\",\"Save MetaData\",true)\n if ( saveEm = NIL) then\n exit\n end\n if (saveEm = True) then\n av.Run(\"DD.FindFile\",{})\n if (Self.GetClass.GetClassName = \"LabelButton\") then\n theSec = Self.GetDialog.GetName.AsTokens(\".\").Get(0)\n av.Run(\"DD.\"+theSec+\"_write\",{})\n Self.GetDialog.Close\n else\n theSec = Self.Get(0).AsString\n end\n av.Run(\"DD.All_Write\",{theSec})\n end\n if (saveEm = False) then\n if (Self.AsString.Count > 1) then\n Self.GetDialog.Close\n else\n av.Run(\"DD.Delete_Files\",{})\n exit \n end\n end\nelse\n thisSec = thisSec.Right(1)\n saveEm = MsgBox.YesNoCancel(\"Section \"+thisSec++\"may not be complete! Do you want to continue saving?\",\"Save\",true)\n if (saveEm = NIL) then\n exit\n end\n if (saveEm = True) then\n av.Run(\"DD.FindFile\",{})\n if (Self.GetClass.GetClassName = \"LabelButton\") then\n theSec = Self.GetDialog.GetName.AsTokens(\".\").Get(0)\n Self.GetDialog.Close\n else\n theSec = Self.Get(0).AsString\n end\n av.Run(\"DD.Sec\"+thisSec+\"_write\",{})\n av.Run(\"D D.All_Write\",{theSec})\n end\n if (saveEm = False) then\n if (Self.AsString.Count > 1) then\n Self.GetDialog.Close\n else\n av.Run(\"DD.Delete_Files\",{})\n exit\n end\n end \nend\n'Clean up temp files (xx)\nav.Run(\"DD.Delete_Files\",{})\nav.ClearGlobals" ) (Script.51 Name: "DD.All_GetTextFile" SourceCode: "theD = Self.Get(0)\ntheDTxt = Self.Get(1)\n\ntheFList = FileDialog.ReturnFiles({\"*.txt\",\"*.*\"},{\"Text Files\",\"All Files\"},\"Select File\",0)\nif (theFList.Count > 0) then\n tf = TextFile.Make(theFList.Get(0),#FILE_PERM_READ)\n source = tf.Read( tf.GetSize )\n tf.Close\n theD.FindByName(theDTxt).SetText(source)\nend" ) (Script.52 Name: "DD.All_Goto" SourceCode: "'Called when going to a major section\n'Write files on Goto next Section\ntheSec = Self.GetDialog.GetName.AsTokens(\".\").Get(0)\nav.Run(\"DD.\"+theSec+\"_write\",{})\nnum = theSec.Right(1).AsNumber\nnewSec = \"Sec\"+(num + 1).AsString\nSelf.GetDialog.Close\nav.FindDialog(newSec).Open\n_MetaDone = NIL" ) (Script.53 Name: "DD.All_Load" SourceCode: "'This script is called by Main if the user has an existing Metadata file.\n'It writes out the appropriate temp files (xxSecn).\n'Last edited 4/8/99\n\ntheFile = Self.Get(0)\nlf = LineFile.Make(theFile,#FILE_PERM_READ)\ne = lf.ReadElt\nsectList = {}\nwhile (lf.IsAtEnd.NOT)\n if (e.Contains(\"IDENTIFICATION_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec1.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon) \n if (e.Contains(\"DATA_QUALITY_INFORMATION\")) then \n keepon = False\n e = \"\"\n end\n if (lf.IsAtEnd) then\n keepon = False\n end\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n lf.SetPos(pos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n \n if (e.Contains(\"D ATA_QUALITY_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec2.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(\"\")\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon) \n if (e.Contains(\"SPATIAL_DATA_ORGANIZATION_INFORMATION\")) then \n keepon = False\n e = \"\"\n end\n if (lf.IsAtend) then\n k eepon = False\n end\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n lf.SetPos(pos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n \n if (e.Contains(\"SPATIAL_DATA_ORGANIZATION_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec3.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFi le.WriteElt(\"\")\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon) \n if (e.Contains(\"SPATIAL_REFERENCE_INFORMATION\")) then \n keepon = False\n e = \"\"\n end\n if (lf.IsAtend) then\n keepon = False\n end\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n lf.SetPos(pos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n if (e.Contains(\"SPATIAL_REFERENCE_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec4.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(\"\")\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n gotPlanar = False\n while (keepon) \n if (e.Contains(\"Planar:\")) then\n gotPlanar = True\n end\n if (e.Contains(\"Entity_and_At tribute_Information\")) then \n keepon = False\n e = \"\"\n end\n if (lf.IsAtEnd) then\n keepon = False\n end\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n if (gotPlanar = True) then\n pFile = LineFile.Make(fName,#FILE_PERM_READ)\n prjFile = LineFile.Make((_workdir+_pathDel+\"xxSec4_Prj.txt\").AsFileName,#FILE_PERM_WRITE)\n doPlanar = True\n l = pFile.ReadElt\n s = l\n While (doPlanar = True) \n if (l.Contains(\"Planar_Coordinate_Information:\")) then\n doPlanar = False\n l = \"\"\n end\n if (pFile.IsAtEnd) then\n doPlanar = False\n end\n if (l <> NIL) then\n if ((l.Count = 0) and (s = \"SPATIAL_REFERENCE_INFORMATION\")) then\n l = \" \"\n end\n prjFile.WriteElt(l)\n end\n 'pos = pFile.GetPos\n s = l\n l = pFile.ReadElt\n end\n prjFile.Close\n pFile.C lose\n end\n lf.SetPos(pos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n if (e.Contains(\"ENTITY_AND_ATTRIBUTE_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec5.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(\"\")\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon) \n if (e.Contains(\"DISTRIBUT ION_INFORMATION\")) then ' or (lf.IsAtEnd)) then \n keepon = False\n e = \"\"\n end\n if (lf.IsAtEnd) then\n keepon = False\n end\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n av.DelayedRun(\"DD.Sec5_WriteODDD\",{},0.5)\n lf.SetPos(lf.getPos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n if (e.Contains(\"DISTRIBUTION_INFORMATION\")) then\n sectList.Add(e)\n fName = (_ workdir+_pathDel+\"xxSec6.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(\"\")\n newFile.WriteElt(e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon) \n if (e.Contains(\"METADATA_REFERENCE_INFORMATION\")) then\n keepon = False\n e = \"\"\n end\n if (lf.IsAtEnd) then\n keepon = False\n end\n if (e.Count > 1) then\n newFile.WriteE lt(e)\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n av.DelayedRun(\"DD.Sec6_WriteOrder\",{},0.5)\n lf.SetPos(pos - 2)\n e = lf.ReadElt\n end 'For Identification_Information\n \n if (e.Contains(\"METADATA_REFERENCE_INFORMATION\")) then\n sectList.Add(e)\n fName = (_workdir+_pathDel+\"xxSec7.txt\").AsFileName\n if (File.Exists(fName)) then\n File.Delete(fName)\n end\n newFile = LineFile.Make(fName,#FILE_PERM_WRITE)\n newFile.WriteElt(\"\")\n newFile.WriteElt( e)\n newFile.WriteElt(\"\")\n e = lf.ReadElt\n keepon = true\n while (keepon)\n if (e.Count > 1) then\n newFile.WriteElt(e)\n end\n if (lf.IsAtEnd) then \n keepon = False\n end\n pos = lf.GetPos\n e = lf.ReadElt\n end\n newFile.Close\n lf.SetPos(pos - 2)\n end 'For Identification_Information \n e = lf.ReadElt\nend\nreturn sectList\n" ) (Script.54 Name: "DD.All_Open" SourceCode: "'Called from \"Open\" event for all Dialogs.\n'Sets the title and controls where it will appear.\n\nt = Self.GetTitle\nif (t.Contains(\"(\").NOT) then\n nt = t+\" (\"+_sName+\")\"\n Self.SetTitle(nt)\nelse\n nt = t.AsTokens(\"(\").get(0).Trim + \" (\"+_sName+\")\"\n Self.SetTitle(nt)\nend\nSelf.MoveTo(50,20)\n" ) (Script.55 Name: "DD.All_PubMake" SourceCode: "PubFile = Self.Get(0)\nPubVTab = VTab.MakeNew(Pubfile,dBASE)\nFieldList = {}\nPubIdField = Field.Make(\"Pub_Id\",#FIELD_VCHAR,50,0)\nFieldList.Add(PubIdField)\nTitleField = Field.Make(\"Title\",#FIELD_VCHAR,200,0)\nFieldList.Add(TitleField)\nEditionField = Field.Make(\"Edition\",#FIELD_VCHAR,100,0)\nFieldList.Add(EditionField)\nDateField = Field.Make(\"Date\",#FIELD_VCHAR,50,0)\nFieldList.Add(DateField)\nfor each x in 1 .. 10\n OrgField = Field.Make(\"Origin\"+x.AsString,#FIELD_VCHAR,100,0)\n FieldList.Add(OrgField)\nend\nPubPlac eField = Field.Make(\"Pubplace\",#FIELD_VCHAR,100,0)\nFieldList.Add(PubPlaceField)\nPublisherField = Field.Make(\"Publisher\",#FIELD_VCHAR,100,0)\nFieldList.Add(PublisherField)\nOnlineField = Field.Make(\"Online\",#FIELD_VCHAR,100,0)\nFieldList.Add(OnlineField)\nPubOrgField = Field.Make(\"LWOrg\",#FIELD_VCHAR,100,0)\nFieldList.Add(PubOrgField)\nPubDateField = Field.Make(\"LWDate\",#FIELD_VCHAR,50,0)\nFieldList.Add(PubDateField)\nPubTitleField = Field.Make(\"LWTitle\",#FIELD_VCHAR,200,0)\nFieldList.Add(PubTitleField)\nLWPlaceField = Field.Make(\"LWPlace\",#FIELD_VCHAR,100,0)\nFieldList.Add(LWPlaceField)\nLWPubField = Field.Make(\"LWPub\",#FIELD_VCHAR,100,0)\nFieldList.Add(LWPubField)\nLWOnlineField = Field.Make(\"LWOnline\",#FIELD_VCHAR,100,0)\nFieldList.Add(LWOnlineField)\nPubVTab.AddFields(FieldList)" ) (Script.56 Name: "DD.All_PubRet" SourceCode: "'Publication_Information and Larger_Work_Citation\nOrList = {}\ntheD = Self.GetDialog\nSec = theD.GetName\n\npubFileList = FileDialog.ReturnFiles({\"*.dbf\"},{\"dBase(*.dbf)\"},\"Retrieve Citation Information\",0)\nif (pubFileList.Count = 0) then\n exit\nend\nPubFile = pubFileList.Get(0)\n\nPubVTab = VTab.Make(PubFile,false,false)\npubCnt = {}\nidSet = true\nif (PubVTab.GetSelection = NIL) then\n Pubid = NIL\n PubEx = NIL\n MsgBox.Info(\"Could not find: \"+pubfile.AsString+\". Move the file or change your Working Directory.\",\"Pu blication Information\")\n exit\nelse\n PubList = {}\n PubEx = true\n PubidField = PubVTab.FindField(\"Pub_Id\")\n if (PubidField = NIL) then\n MsgBox.Error(\"The file that you have selected (\"+pubFile.AsString+\") is not formatted correctly.\",\"Error in file\")\n exit\n end\n for each o in PubVTab\n Pubid = PubVTab.ReturnValue(PubidField,o)\n PubList.Add(Pubid)\n if (Pubid.Contains(\"Publisher_Id\")) then\n pubCnt.Add(Pubid)\n end\n end\n Pubid = MsgBox.ListAsString(PubList,\"Select Publication_Inform ation and Larger_Work_Citation Id.\",\"Publication_Information (publicat.dbf)\")\nend\nif (pubVTab.FindField(\"Title\").GetWidth < 200) then\n av.Run(\"DD.All_ConUpDate\",{pubFile})\nend\nif (Pubid <> NIL) then\n if (PubVTab.GetFields.Count < 20) then\n pubVTab = NIL\n av.Run(\"DD.All_PubUpdate\",{})\n end\n PubVTab = VTab.Make(PubFile,false,false)\n Querystr = \"([Pub_id] =\"++Pubid.Quote+\")\"\n PubVTab.GetSelection.SetAll\n PubBitMap = PubVTab.GetSelection\n PubVTab.Query(Querystr,PubBitMap,#VTAB_SELTYPE_NEW)\n PubVT ab.UpdateSelection\n QueryBitmap = PubVTab.GetSelection\n for each b in QueryBitmap\n PubTitle = PubVTab.ReturnValue(PubVTab.FindField(\"Title\"),b)\n theD.FindByName(Sec+\"_TxtPubTitle\").SetText(PubTitle)\n Edition = PubVTab.ReturnValue(PubVTab.FindField(\"Edition\"),b)\n theD.FindByName(Sec+\"_TxtEd\").SetText(Edition)\n PubDate = PubVTab.ReturnValue(PubVTab.FindField(\"Date\"),b)\n theD.FindByName(Sec+\"_TxtPubDate\").SetText(PubDate)\n for each x in 1 .. 10\n PubOrg = PubVTab.ReturnValueString(Pu bVTab.FindField(\"Origin\"+x.AsString),b)\n if (PubOrg.Count > 0) then\n OrList.Add(PubOrg)\n end\n end\n if (orList.Count > 0) then\n orList = MsgBox.MultiListAsString(orList,\"Please select Originators:\",\"Originators\")\n end\n if (orList = NIL) then\n orList = {}\n end\n if (OrList.Count > 0) then\n orStr = \"\"\n for each o in OrList\n if (orStr.Count = 0) then\n orStr = o\n else\n orStr = orStr + \"; \" + o\n end\n end\n theD.F indByName(Sec+\"_TxtPubOrg\").SetText(orStr) 'OrList.Get(0))\n else\n theD.FindByName(Sec+\"_TxtPubOrg\").SetText(\"\")\n end\n Pubplace = PubVTab.ReturnValue(PubVTab.FindField(\"Pubplace\"),b)\n theD.FindByName(Sec+\"_TxtPubPlace\").SetText(PubPlace)\n Publisher = PubVTab.ReturnValue(PubVTab.FindField(\"Publisher\"),b)\n theD.FindByName(Sec+\"_TxtPublisher\").SetText(Publisher)\n Online = PubVTab.ReturnValue(PubVTab.FindField(\"Online\"),b)\n theD.FindByName(Sec+\"_TxtOnLine\").SetText(Online)\n Origi nator = PubVTab.ReturnValue(PubVTab.FindField(\"LWOrg\"),b)\n theD.FindByName(Sec+\"_TxtPubLWOrg\").SetText(Originator)\n Pubdate = PubVTab.ReturnValue(PubVTab.FindField(\"LWDate\"),b)\n theD.FindByName(Sec+\"_TxtPubLWDate\").SetText(Pubdate)\n Pubtitle = PubVTab.ReturnValue(PubVTab.FindField(\"LWTitle\"),b)\n theD.FindByName(Sec+\"_TxtPubLWTitle\").SetText(PubTitle)\n LWPlace = PubVTab.ReturnValue(PubVTab.FindField(\"LWPlace\"),b)\n theD.FindByName(Sec+\"_TxtPubLWPlace\").SetText(LWPlace)\n LWPub = PubVTab .ReturnValue(PubVTab.FindField(\"LWPub\"),b)\n theD.FindByName(Sec+\"_TxtPubLWPub\").SetText(LWPub)\n LWOnline = PubVTab.ReturnValue(PubVTab.FindField(\"LWOnline\"),b)\n theD.FindByName(Sec+\"_TxtLWOnline\").SetText(LWOnline)\n end\nend" ) (Script.57 Name: "DD.All_PubSave" SourceCode: "pubFile = Self.Get(0)\ntheD = Self.Get(1)\nSec = Self.Get(2)\nPubVTab = VTab.Make(PubFile,false,false)\n\npubCnt = {}\nOriginList = {}\nidSet = true\npubEx = True\nif (PubVTab.GetSelection = NIL) then\n PubEx = NIL\nend\nif (PubEx = NIL) then\n pubVTab = NIL\n av.Run(\"DD.All_PubMake\",{pubFile})\nelse\n PubVTab = VTab.Make(PubFile,false,false)\n if (PubVTab.FindField(\"Pub_id\") = NIL) then\n msgBox.Error(\"The file that you have selected (\"+pubFile.AsString+\") is not formatted correctly.\",\"Select a New File\")\n exit\n end\n if (PubVTab.GetFields.Count < 20) then 'Table created with old Version\n pubVTab = NIL\n av.Run(\"DD.All_PubUpdate\",{})\n end\nend\n\nPubId = MsgBox.Input(\"Enter Citation_Id (reference for future use)\",\"Citation ID\",\"\")\nif (PubId = NIL) then\n System.Beep\n MsgBox.Warning(\"You must enter a Citation_Id for future access!\",\"Warning\")\n exit\nend\n\n\nPubVTab = VTab.Make(PubFile,false,false)\nPubVTab.Seteditable(true)\nnewRec = PubVTab.AddRecord\nPubVTab.SetValue(PubVTab.FindField(\"Pub_Id\"), newRec, Pubid)\nPub Title = theD.FindByName(Sec+\"_TxtPubTitle\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Title\"), newRec, PubTitle)\nEdition = theD.FindByName(Sec+\"_TxtEd\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Edition\"), newRec, Edition)\nPubDate = theD.FindByName(Sec+\"_TxtPubDate\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Date\"), newRec, PubDate)\nPubOrg = theD.FindByName(Sec+\"_TxtPubOrg\").GetText\nOrgList = {}\ntheTokes = PubOrg.AsTokens(\";\")\nfor each t in theTokes\n OrgList.Add(t.Trim)\nend\n\n\ncnt = 1\nfor each o in Or gList\n PubVTab.SetValue(PubVTab.FindField(\"Origin\"+cnt.AsString), newRec, o)\n cnt = cnt + 1\nend\nPubPlace = theD.FindByName(Sec+\"_TxtPubPlace\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Pubplace\"), newRec, PubPlace)\nPublisher = theD.FindByName(Sec+\"_TxtPublisher\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Publisher\"),newRec, Publisher)\nonline = theD.FindByName(Sec+\"_TxtOnline\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"Online\"),newRec, online)\nLWOrg = theD.FindByName(Sec+\"_TxtPubLWOrg\").GetText\nPubVT ab.SetValue(PubVTab.FindField(\"LWOrg\"), newRec, LWOrg)\nLWDate = theD.FindByName(Sec+\"_TxtPubLWDate\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"LWDate\"), newRec, LWDate)\nLWTitle = theD.FindByName(Sec+\"_TxtPubLWTitle\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"LWTitle\"), newRec, LWTitle)\nLWPubPlace = theD.FindByName(Sec+\"_TxtPubLWPlace\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"LWPlace\"), newRec, LWPubPlace)\nLWPub = theD.FindByName(Sec+\"_TxtPubLWPub\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"LWPub\") , newRec, LWPub)\nLWOnline = theD.FindByName(Sec+\"_TxtLWOnline\").GetText\nPubVTab.SetValue(PubVTab.FindField(\"LWOnline\"),newRec, LWOnline)\nPubVTab.SetEditable(false)" ) (Script.58 Name: "DD.All_PubUpdate" SourceCode: "MsgBox.Info(\"The file: Publicat.dbf, was created using an older version of this tool and will be updated.\",\"Update Publicat.dbf\")\nFile.Copy((_workdir+_pathDel+\"publicat.dbf\").AsFileName,(_workdir+_pathDel+\"publicat_old.dbf\").AsFileName)\nmsgBox.Info(\"Publicat.dbf has been renamed to Publicat_old.dbf\",\"File Renamed\")\npubFile = _workdir+_pathDel+\"publicat.dbf\"\nav.Run(\"DD.All_PubMake\",{pubFile})\nPubVTab = VTab.Make(PubFile.AsFileName,false,false)\npubVTab.SetEditable(True)\nOldVTab = VTab.Make((_workdir+_pathDel+ \"publicat_old.dbf\").AsFileName,False,False)\nfor each o in OldVTab\n newRec = pubVTab.AddRecord\n val = OldVTab.ReturnValue(OldVTab.FindField(\"Pub_id\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Pub_id\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Pubplace\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Pubplace\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Publisher\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Publisher\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindFiel d(\"Lworg\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Lworg\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Lwdate\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Lwdate\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Lwtitle\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Lwtitle\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Lwplace\"),o)\n pubVTab.SetValue(PubVTab.FindField(\"Lwplace\"),newRec,val)\n \n val = OldVTab.ReturnValue(OldVTab.FindField(\"Lwpub\"),o)\n pubVTab.Se tValue(PubVTab.FindField(\"Lwpub\"),newRec,val)\nend\nPubVTab.SetEditable(false)\n" ) (Script.59 Name: "DD.All_Write" SourceCode: "theSec = Self.Get(0) 'Sec1 so that Sec1.1 gets sent as Sec1\nnum = theSec.Right(1).AsNumber\nnumber.SetDefFormat(\"d\")\nnum.SetFormat(\"d\")\n\nfor each x in 1..7 by 1 'changed num to 7 on 3/29\n theFile = _workdir+_pathdel+\"xxSec\"+x.AsString+\".txt\"\n if (File.Exists(theFile.AsFileName)) then\n opFile = LineFile.Make(theFile.AsFileName,#FILE_PERM_READ)\n While (NOT(opFile.IsAtEnd))\n theElt = opFile.ReadElt\n _metaFile.WriteElt(theElt)\n end\n opFile.Close\n if (num = 7) then\n File.Delete(the File.AsFileName)\n end\n end\nend \n_metaFile.Close\nmsgBox.Info(_metaFile.AsString+NL+\"was written successfully\",\"File Created\")\n_MetaDone = \"Complete\"\nav.DelayedRun(\"DD.Delete_Files\",{},0.5)\n" ) (Script.60 Name: "DD.AllPub_Append" SourceCode: "'Allows append to existing file.\ntheD = Self.GetDialog\nSec = theD.GetName\n'Get the File name to write to.\npubFile = _workdir+_pathDel+\"citation.dbf\"\npubFile = FileDialog.Show(\"*.dbf\",\"dBase\",\"Save Citation Information\")\nif (pubFile = NIL) then\n exit\nelse\n av.Run(\"DD.All_PubSave\",{pubFile,theD,Sec})\nend" ) (Script.61 Name: "DD.AllPub_New" SourceCode: "'Allows saving to new file\ntheD = Self.GetDialog\nSec = theD.GetName\n'Get the File name to write to.\npubFile = _workdir+_pathDel+\"citation.dbf\"\npubFile = FileDialog.Put(pubFile.AsFileName,\"*.dbf\",\"Save Citation Information\")\nif (pubFile = NIL) then\n Exit\nend\n\nif (File.Exists(PubFile)) then\n File.Delete(pubFile)\nend\nif (pubFile = NIL) then\n exit\nelse\n av.Run(\"DD.All_PubSave\",{pubFile,theD,Sec})\nend" ) (Script.62 Name: "DD.Clear_Forms" SourceCode: "'Clear Main Form\nav.FindDialog(\"DD.MainSetup\").FindByName(\"DD.Main_LBTheme\").DefineFromList({})\n\ndiaList = {\"DD.MainSetup\",\"Sec1\",\"Sec1.1\",\"Sec1.2\",\"Sec1.3\",\"Sec2\",\"Sec2.1\",\"Sec2.2\",\"Sec2.3\",\"Sec3\",\"Sec4\",\"Sec4.GC\",\"Sec4.PC\",\"Sec4.VC\",\"Sec5\",\"Sec5.DD\",\"Sec5.OD\",\"Sec5_DDE\",\"Sec6\",\"Sec6.1\",\"Sec6.1.CO\",\"Sec6.1.DF\",\"Sec6.1.NF\",\"Sec7\"}\nfor each d in diaList\n av.Run(\"DD.ClearEm\",{d})\nend\n" ) (Script.63 Name: "DD.ClearEm" SourceCode: "'Called by DD.Clear_Forms\n'Clears all text from forms, except ListBoxes\n\ntheDName = Self.Get(0)\ntheD = av.FindDialog(theDName)\nfor each atxl in theD.findbyclass(textline)\n atxl.settext(\"\")\nend\nfor each atxl in theD.findbyclass(textbox)\n atxl.settext(\"\")\nend\nfor each atxl in theD.findbyclass(combobox)\n atxl.DefineFromList({})\nend" ) (Script.64 Name: "DD.Delete_Files" SourceCode: "'Put in a pause to give AV time close files before deleting them\nfor each x in 1 .. 1000\n d = Date.Now\nend\n\n\nnukeList = {\"xxSec1.txt\",\"xxSec2.txt\",\"xxSec3.txt\",\"xxSec4.txt\",\"xxSec5.txt\",\"xxSec6.txt\",\"xxSec7.txt\",\"xxproc.txt\",\"xxSec4_Prj.txt\",\"xxSec5_OD.txt\",\"xxSec5_DD.txt\",\"xxSec6_CO.txt\",\"xxSec6_NF.txt\",\"xxSec6_DF.txt\",\"xxSec6_SO.txt\"}\nfor each n in nukeList\n metaName = (_workdir+_pathdel+n).AsFilename\n if (File.Exists(metaName)) then\n File.Delete(metaName)\n end\nend\n\nif (_procCnt > 0) then\n for eac h x in 1 .. _procCnt\n metaName = (_workdir+_pathdel+\"xxProc\"+x.AsString+\".txt\").AsFileName\n if (File.Exists(metaName)) then\n File.Delete(metaName)\n end\n end\nend\n\nif (_linCnt > 0) then\n for each x in 1 .. _linCnt\n metaName = (_workdir+_pathdel+\"xxLin\"+x.AsString+\".txt\").AsFileName\n if (File.Exists(metaName)) then\n File.Delete(metaName)\n end\n end\nelse\n metaName = (_workdir+_pathdel+\"xxLin1.txt\").AsFileName\n if (File.Exists(metaName)) then\n File.Delete(metaName)\n end\nend\n\n' av.ClearGlobals" ) (Script.65 Name: "DD.DoProjection" SourceCode: "Script.The.SetNumberFormat(\"d.dddddd\")\nsu = _theView.getdisplay.getunits\ngetPrj = True\n\n\nthePrj = ProjectionDialog.Show(_theView,su)\n_thePrj = thePrj\nif (thePrj = NIL) then \n getPrj = False\nelse\n getPrj = True\nend\n\nif (getPrj = True) then\n fName = _workdir+_pathDel+\"xxSec4_Prj.txt\"\n theFile = LineFile.Make(fName.AsFileName,#FILE_PERM_WRITE)\n theFile.WriteElt(\"SPATIAL_REFERENCE_INFORMATION\")\n theFile.WriteElt(\" \") \n des = thePrj.returndescription.asstring\n prjName = thePrj.AsString\n if (des.Contains (\"State Plane\")) then 'or prjName.Contains(\"UTM\"))) then\n theFile.WriteElt(\" Horizontal_Coordinate_System_Definition:\")\n theFile.WriteElt(\" Planar:\")\n theFile.WriteElt(\" Grid_Coordinate_System:\")\n d = \"\"\n if (des.Contains(\"1927\")) then\n d = \"1927\"\n _Sec4PCDat = \"North American Datum of 1927\" \n elseif (des.Contains(\"1983\")) then\n d = \"1983\"\n _Sec4PCDat = \"North American Datum of 1983\"\n end\n theFile.WriteElt(\" Grid_Coordinate_System_Name: State Plane Coordinate System\"++d)\n theFile.WriteElt(\" State_Plane_Coordinate_System:\")\n zone = des.AsTokens(\";\").get(1)\n theFile.WriteElt(\" SPCS_Zone_Identifier: \"+zone)\n if (prjName = \"Lambert Conformal Conic\") then\n theFile.WriteElt(\" Lambert_Conformal_Conic:\")\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnLowerStandardParallel.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnUpperStandardParallel.AsString)\n theFil e.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n if (prjName = \"Transverse Mercator\") then\n theFile.WriteElt(\" Transverse_Mercator:\")\n theFile.W riteElt(\" Scale_Factor_at_Central_Meridian: \"+thePrj.ReturnScale.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString) \n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n if (prjName .Contains(\"Oblique Mercator\")) then\n theFile.WriteElt(\" Oblique_Mercator:\")\n theFile.WriteElt(\" Scale_Factor_Along_Central_Line: \"+thePrj.ReturnScale.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Point: \"+thePrj.ReturnCentralLongitude.AsString)\n theFile.WriteElt(\" Latitude_of_Central_Point: \"+thePrj.ReturnCentralLatitude.AsString) \n theFile.WriteElt(\" Azimuth_Of_Central_Line: \"+thePrj.ReturnAzimuthOfCentralLine.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n elseif (des.Contains(\"UTM\")) then\n theFile.WriteElt(\" Horizontal_Coordinate_System_Definition:\")\n theFile.WriteElt(\" Planar:\")\n theFile.WriteElt(\" Grid_Coordinate_System:\")\n d = \"\"\n if (des.Contains(\"1927\")) then\n d = \"1927\"\n _Sec4PCDat = \"North American Datum of 1927\"\n elseif (des.Con tains(\"1983\")) then\n d = \"1983\"\n _Sec4PCDat = \"North American Datum of 1983\"\n end\n zone = des.AsTokens(\";\").Get(1).Substitute(\"Zone \",\"\")\n theFile.WriteElt(\" Grid_Coordinate_System_Name: Universal Transverse Mercator\")\n theFile.WriteElt(\" Universal_Transverse_Mercator:\")\n theFile.WriteElt(\" UTM_Zone_Number: \"+zone)\n theFile.WriteElt(\" Transverse_Mercator:\")\n theFile.WriteElt(\" Scale_Factor_at_Central_Meridian: \"+thePrj.ReturnScale.AsS tring)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n \n else\n cust = thePrj.AsString\n theFile.WriteElt(\" Horizontal_Coordinate_System_Definition:\")\n the File.WriteElt(\" Planar:\")\n theFile.WriteElt(\" Map_Projection:\")\n if (cust = \"Lambert Equal-Area Azimuthal\") then\n theFile.WriteElt(\" Map_Projection_Name: Lambert_Azimuthal_Equal_Area\")\n else\n theFile.WriteElt(\" Map_Projection_Name:\"++cust)\n end\n theFile.WriteElt(\" \"+cust.Substitute(\" \",\"_\")+\":\")\n if ((cust = \"Gnomonic\") or (cust = \"Vertical Near-Side Perspective\") or (cust = \"Orthographic\") or (cust = \"Stereographic\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Center: \"+thePrj.ReturnReferenceLatitude.AsString)\n end\n if (cust.Contains(\"Albers\")) then\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnLowerStandardParallel.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnUpperStandardParallel.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.Retur nCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end \n if (cust.Contains(\"Cassini\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_ Projection_Center: \"+thePrj.ReturnReferenceLatitude.AsString)\n end\n if (cust.Contains(\"Lambert Conformal Conic\")) then\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnLowerStandardParallel.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnUpperStandardParallel.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnR eferenceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n if (cust.Contains(\"Lambert Equal-Area Azimuthal\")) then\n theFile.WriteElt(\" Longitude_of_Projection_Center: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Center: \"+thePrj.ReturnReferenceLatitude.AsString)\n end\n if (cust.Conta ins(\"Equal-Area Cylindrical\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnStandardParallel.AsString)\n end\n if (cust.Contains(\"Equidistant Azimuthal\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Reference_Latitude: \"+thePrj.ReturnReferenceLatitude.AsString)\n end\n if (cust.Contains(\"Equidistant Conic\")) then\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnLowerStandardParallel.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnUpperStandardParallel.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n \n end\n if (cust.Contains(\"Equidistant Cy lindrical\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n end\n if (cust.Contains(\"Hammer-Aitoff\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n end\n if (cust.Contains(\"Lambert Conformal Conic\")) then\n theFile.WriteElt(\" Standard_Parallel: \"+the Prj.ReturnLowerStandardParallel.AsString)\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnUpperStandardParallel.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnReferenceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFals eNorthing.AsString)\n end\n if (cust = \"Mercator\") then\n theFile.WriteElt(\" Standard_Parallel: \"+thePrj.ReturnLatitudeOfTrueScale.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n if (cust.Contains(\"Miller Cylindrical\")) then\n theFile. WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n end\n if (cust.Contains(\"Mollweide\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n end\n if (cust.Contains(\"Hotine Oblique Mercator\")) then\n theFile.WriteElt(\" Longitude_of_Central_Point: \"+thePrj.ReturnCentralLongitude.AsString)\n theFile.WriteElt(\" Latitude_of_Central_Point: \"+thePrj.ReturnCentralLatitude.AsStri ng) \n theFile.WriteElt(\" Azimuth_Of_Central_Line: \"+thePrj.ReturnAzimuthOfCentralLine.AsString)\n theFile.WriteElt(\" Scale_Factor_Along_Central_Line: \"+thePrj.ReturnScale.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n if (cust.Contains(\"Robinson\")) then\n theFile.WriteElt(\" Central_Meridian: \"+thePrj.ReturnCentralMer idian.AsString)\n end\n if (cust.Contains(\"Sinusoidal\")) then\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n end\n if (cust = \"Transverse Mercator\") then\n theFile.WriteElt(\" Scale_Factor_at_Central_Meridian: \"+thePrj.ReturnScale.AsString)\n theFile.WriteElt(\" Longitude_of_Central_Meridian: \"+thePrj.ReturnCentralMeridian.AsString)\n theFile.WriteElt(\" Latitude_of_Projection_Origin: \"+thePrj.ReturnRefe renceLatitude.AsString)\n theFile.WriteElt(\" False_Easting: \"+thePrj.ReturnFalseEasting.AsString)\n theFile.WriteElt(\" False_Northing: \"+thePrj.ReturnFalseNorthing.AsString)\n end\n end\n \n theFile.Close\nend\nreturn thePrj" ) (Script.66 Name: "DD.Exam_Sec1" SourceCode: "'Identification_Information:\n' Citation:\n' Citation_Information:\n' Originator: NOAA Coastal Services Center\n' Publication_Date: 19990225\n' Title: Apalachicola Bay, Florida- National Estuarine Research\n' Reserve Digital Line Boundary\n' Edition: One\n' Geospatial_Data_Presentation_Form: Map\n' Publication_Information:\n' Publication_Place: Charleston, South Carolina\n' Publisher: NOAA Coastal Services Center\n' Online_Linkage: http://www.csc.noaa.gov \n' Larger_Work_Citation:\n' Citation_Information:\n' Originator: NOAA Coastal Services Center\n' Publication_Date: 19990225\n' Title: Protected Areas Geographic Information System\n' Publication_Information:\n' Publication_Place: Charleston, South Carolina\n' Publisher: NOAA Coastal Services Center\n' Online_Linkage: http://www.csc.noaa.gov/pagis\n' Description:\n' Abstract:\n' The Apalachicola Bay National Estuarine Research Reser ve\n' (NERR) digital boundary was created as part of the\n' Protected Areas Geographic Information System (PAGIS)\n' project. An updated digital version of Apalachicola Bay's\n' boundary was critical to the PAGIS project. The digital\n' boundary was delineated from management and research areas\n' within the Reserve. It was not based on legal definitions.\n' Purpose:\n' The PAGIS project provided each NERR with a fully\n' integrated geographic information system (GIS),\n' encompassing spatial data and Internet capabilities. One of\n' the essential GIS data layers being compiled for each\n' Reserve was a digital boundary. The Reserve boundary was\n' delineated based on management and research areas and is\n' not meant to be a legal description of the Reserve.\n' Supplemental_Information:\n' This boundary is not to be taken as a legal definition of\n' the NERR boundary. It was created based on management and research areas of\n' the Reserve.\n' Time_Period_of_Content:\n' Time_Period_Information:\n' Range_of_Dates/Times:\n' Beginning_Date: 19980819\n' Ending_Date: 19980831\n' Currentness_Reference: publication date\n' Status:\n' Progress: Complete\n' Maintenance_and_Update_Frequency: Unknown\n' Spatial_Domain:\n' Bounding_Coordinates:\n' West_Bounding_Coordinate: -85.2233\n' East_Bounding_Coordinate: -84.6941\n' North_Bounding_Coordinate: 30.2181\n' South_Bounding_Coordinate: 29.5863\n' Keywords:\n' Them e:\n' Theme_Keyword_Thesaurus: None\n' Theme_Keyword: Boundary\n' Theme_Keyword: Estuary\n' Theme_Keyword: GIS\n' Theme_Keyword: National Estuarine Research Reserves\n' Theme_Keyword: NERR\n' Place:\n' Place_Keyword_Thesaurus: None\n' Place_Keyword: United States\n' Place_Keyword: Southeast\n' Place_Keyword: Florida\n' Place_Keyword: Apalachicola Bay\n' Access_Constraints: None\n' Use_Constraints: NOT FOR LEGAL USE\n' Point_of_Contact:\n' Contact_Information:\n ' Contact_Organization_Primary:\n' Contact_Organization: NOAA Coastal Services Center\n' Contact_Person: PAGIS Specialist\n' Contact_Position: GIS Specialist\n' Contact_Address:\n' Address_Type: mailing and physical address\n' Address: 2234 South Hobson Ave\n' City: Charleston\n' State_or_Province: South Carolina\n' Postal_Code: 29405\n' Country: USA\n' Contact_Voice_Telephone: 800-789-2234\n' Contact_Facsimile_Telephone: 843-740-1224\n' Contact_Electronic_Mail_Address: gis@csc.noaa.gov\n' Hours_of_Service: Monday-Friday, 8am-5pm, Eastern Standard Time\n' Native_Data_Set_Environment:\n' Arc/Info\n' m:\\nep2\\pagis\\apa\\apanerrg" ) (Script.67 Name: "DD.Exam_Sec2" SourceCode: "'Data_Quality_Information:\n' Attribute_Accuracy:\n' Attribute_Accuracy_Report:\n' All attributes created during the creation process were\n' verified by displaying the lines in both the database and\n' the spatial coverage, but no formal tests were performed.\n' Logical_Consistency_Report:\n' These data are believed to be logically consistent, though\n' no tests were performed. Line geometry is topologically clean.\n' Completeness_Report:\n' The boundary of the Reserve is dependent on t he shoreline\n' and/or edges of rivers and bays as delineated on a USGS 7.5\n' minute Topographic Map. The edges or borders of the\n' boundary might change as the natural land changes or better\n' maps and aerial photography become available. The boundary\n' was not based on legal parcels or definitions; therefore,\n' the core boundary is a management/research boundary not a\n' legal boundary.\n' Positional_Accuracy:\n' Horizontal_Positional_Accuracy:\n' Horizontal_Positional_Accuracy_Re port:\n' The data were created by delineating the boundary off a\n' USGS 7.5 minute Topographic Map at 1:24000 scale.\n' Therefore, the horizontal accuracy is assumed to be within\n' National Map Accuracy Standards, with a horizontal accuracy\n' of 45.6 feet at the 95% confidence level.\n' Vertical_Positional_Accuracy:\n' Vertical_Positional_Accuracy_Report:\n' The data were delineated off a USGS 7.5 minute Topographic\n' Map at 1:24000 scale. Therefore, the ve rtical accuracy is\n' assumed to be within National Map Accuracy Standards, with\n' a vertical accuracy of 11.9 feet at the 95% confidence level.\n' Lineage:\n' Source_Information:\n' Source_Citation:\n' Citation_Information:\n' Originator: Apalachicola National Estuarine Research Reserve\n' Publication_Date: 19980801\n' Title: National Estuarine Research Reserve (NERR) Boundary\n' Edition:\n' Geospatial_Data_Presentation_Form: map\n' P ublication_Information:\n' Publication_Place: East Point, Florida\n' Publisher: Apalachicola National Estuarine Research Reserve\n' Other_Citation_Details:\n' Source_Scale_Denominator: unknown\n' Type_of_Source_Media: unknown\n' Source_Time_Period_of_Content:\n' Time_Period_Information:\n' Range_of_Dates/Times:\n' Beginning_Date: 19980801\n' Ending_Date: 19980801\n' Source_Currentness_Reference: unknown\n' Source_Citation_Ab breviation:\n' Source_Contribution: Vector data representing NERR boundaries\n' Process_Step:\n' Process_Description:\n' The original data from the Apalachicola Reserve was converted from an\n' ESRI ARCVIEW shapefile to an ESRI ARCINFO coverage. The\n' coverage was then projected into Universal Transverse\n' Mercator and displayed on a USGS 7.5 minute topographic\n' map. The printed map with the original boundary was sent\n' back to Apalachicola Bay National Est uarine Research\n' Reserve (NERR) for editing. The NERR edited the boundary by\n' drawing on the printed map using their management plan and\n' research areas for reference. The printed map was sent back\n' to the Coastal Services Center and the digital file was\n' edited to reflect the updates. The corrections were made by\n' on-screen digitizing with the USGS topographic map as the\n' backdrop. Each arc of the boundary file was coded to\n' reflect the change made and the source and confidence of\n' that change. The coverage was then projected to the final\n' projection used by the individual Reserve.\n' Process_Date: 19990215\n' Process_Contact:\n' Contact_Information:\n' Contact_Person_Primary:\n' Contact_Organization: NOAA Coastal Services Center\n' Contact_Person: PAGIS Specialist\n' Contact_Position: GIS Specialist\n' Contact_Address:\n' Address_Type: mailing and physical addre ss\n' Address: 2234 South Hobson Ave\n' City: Charleston\n' State_or_Province: South Carolina\n' Postal_Code: 29405\n' Country: USA\n' Contact_Voice_Telephone: 800-789-2234\n' Contact_Facsimile_Telephone: 843-740-1224\n' Contact_Electronic_Mail_Address: gis@csc.noaa.gov\n' Hours_of_Service: Monday-Friday, 8am-5pm, Eastern Standard Time" ) (Script.68 Name: "DD.Exam_Sec3" SourceCode: "'Spatial_Data_Organization_Information:\n' Direct_Spatial_Reference_Method: Vector\n' Point_and_Vector_Object_Information:\n' SDTS_Terms_Description:\n' SDTS_Point_and_Vector_Object_Type: Complete Chain\n' Point_and_Vector_Object_Count: 106" ) (Script.69 Name: "DD.Exam_Sec4" SourceCode: "'Spatial_Reference_Information:\n' Horizontal_Coordinate_System_Definition:\n' Geographic:\n' Latitude_Resolution: 0.00000083\n' Longitude_Resolution: 0.00000083\n' Geographic_Coordinate_Units: Decimal Degrees\n' Geodetic_Model:\n' Horizontal_Datum_Name: North American Datum of 1927\n' Ellipsoid_Name: Clarke 1866\n' Semi-major_Axis: 20925604.4720406\n' Denominator_of_Flattening_Ratio: 298.26" ) (Script.70 Name: "DD.Exam_Sec5" SourceCode: "'Entity_and_Attribute_Information:\n' Detailed_Description:\n' Entity_Type:\n' Entity_Type_Label: apanerrg.aat\n' Entity_Type_Definition: Arc Attribute Table\n' Entity_Type_Definition_Source: None\n' Attribute:\n' Attribute_Label: Fnode#\n' Attribute_Definition: From-node identifier of linear feature\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Tnode#\n' Attribute_Definition: To-node identifier of linear feature\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Lpoly#\n' Attribute_Definition: Internal number of polygon to left of arc\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Rpoly#\n' Attribute_Definition: Internal number of polygon to right of arc\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Length\n' Attribute_Definition: Length of line\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Apanerrg#\n' Attribute_Definition: Internal feature number\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: Software computed\n' Attribute:\n' Attribute_Label: Apanerrg-id\n' Attribute_Definition: Feature identification number\n' Attribute_Definition_Source: Software generated\n' Attribute_Domain_Values:\n' Unrepresentable_Domain: User Defined\n' Attribute:\n' Attribute_Label: Arc-id\n' Attribute_Definition: Unique ID for each arc\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Range_Domain:\n' Range_Domain_Minimum: 11\n' Range_Domain_Maximum: 115\n' Attribute:\n' Attribute_Label: Name\n' Attribute_Definition: Name of Estuarine Reserve\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: APA\n' Enumerated_Domain_Value_Definition: Apalachicola Bay National Estuarine Research Reserve\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Origin\n' Attribute_Definition: Creator of original or edited digital boundary coverage\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Value_Definition: National Estuarine Research Reserve\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 2\n' Enumerated_Domain_Value_Definition: Center for Marine Conservation\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 3\n' Enumerated_Domain_Value_Definition: NOAA Coastal Services Center\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 4\n' Enumerated_Domain_Value_Definition: Virginia Institute of Marine Science (VIMS)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Dom ain_Value: 6\n' Enumerated_Domain_Value_Definition: Rhode Island Department of Environmental Management\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Editor\n' Attribute_Definition: Editor of digital file\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 0\n' Enumerated_Domain_Value_Definition: No edits made\n' Enumerated_Domain_Value_Definit ion_Source: none\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Value_Definition: National Estuarine Research Reserve\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 2\n' Enumerated_Domain_Value_Definition: Coastal Services Center PAGIS GIS Specialist\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Status\n' Attribute_Definition: Editing status of arc\n' Attribute_Definition_ Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Value_Definition: Unchanged\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 2\n' Enumerated_Domain_Value_Definition: Added\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 3\n' Enumerated_Domain_Value_Definition: Changed/Moved\n' Enumerated_Domain_Value_D efinition_Source: none\n' Enumerated_Domain_Value: 4\n' Enumerated_Domain_Value_Definition: Digitized\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Source\n' Attribute_Definition: Physical ground source of new arc location\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 0\n' Enumerated_Domain_Value_Definition: Not Applicable\n' Enum erated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Value_Definition: None\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 10\n' Enumerated_Domain_Value_Definition: Road\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 100\n' Enumerated_Domain_Value_Definition: Buffer Areas\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 101\n' Enumerated_Domain_Value_Definition: None (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 11\n' Enumerated_Domain_Value_Definition: River/Bay Edge\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 110\n' Enumerated_Domain_Value_Definition: Road (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value : 12\n' Enumerated_Domain_Value_Definition: Marsh\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 133\n' Enumerated_Domain_Value_Definition: Railroad (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 136\n' Enumerated_Domain_Value_Definition: Contour Line (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 145\n' En umerated_Domain_Value_Definition: Tidal Flat (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 147\n' Enumerated_Domain_Value_Definition: Property Line (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 177\n' Enumerated_Domain_Value_Definition: Property Line and Section Line (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_ Value: 200\n' Enumerated_Domain_Value_Definition: Exclusion Areas\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 201\n' Enumerated_Domain_Value_Definition: None (Exclusion area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 212\n' Enumerated_Domain_Value_Definition: Marsh (Exclusion area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 240\n' Enumerated_Domain_Value_Definition: Stream (Exclusion area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 30\n' Enumerated_Domain_Value_Definition: Section Line\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 301\n' Enumerated_Domain_Value_Definition: Foundation Land (Buffer areas)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 310\n' Enumerated_Domain_Value_Definition: Foundation Land Road (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 311\n' Enumerated_Domain_Value_Definition: Foundation Land River/Bay Edge (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 33\n' Enumerated_Domain_Value_Definition: Railroad\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 330\n' Enumerated_Domain_Value_Definition: Foundation Land Section Line (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 34\n' Enumerated_Domain_Value_Definition: Other linear features\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 341\n' Enumerated_Domain_Value_Definition: Foundation Land Coordinate Graticule (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 347\n' Enumerated_Domain_Value_Definition: Foundation Land Property Line (Buffer area)\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 36\n' Enumerated_Domain_Value_Definition: Contour Line\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 38\n' Enumerated_Domain_Value_Definition: Beach\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 40\n' Enumerated_Domain_Value_Definition: Stream\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 41\n' Enumerated_Domain_Value_Definition: Coordinate Graticule\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 42\n' Enumerated_Domain_Value_Definition: Trail\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 43\n' Enumerated_Domain_Value_Definition: County Line\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 44\n' Enumerated_Domain_Value_Definition: Park Boundary\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 45\n' Enumerated_Domain_Value_Definition: Tidal Flat\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 48\n' Enumerated_Domain_Value_Definition: Cann el/Bayou\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Confidence\n' Attribute_Definition: Confidence level of move or edit\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 0\n' Enumerated_Domain_Value_Definition: Not Applicable\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Valu e_Definition:\n' Low: Not a good delineation by NERR or NERR was not\n' confident about boundary line\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 2\n' Enumerated_Domain_Value_Definition: Medium: Actual ground feature not clear on basemap\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 3\n' Enumerated_Domain_Value_Definition: High: Delineation good and ground source clearly vi sible\n' Enumerated_Domain_Value_Definition_Source: none\n' Attribute:\n' Attribute_Label: Scale\n' Attribute_Definition: Scale of basemap used for editing\n' Attribute_Definition_Source: none\n' Attribute_Domain_Values:\n' Enumerated_Domain:\n' Enumerated_Domain_Value: 0\n' Enumerated_Domain_Value_Definition: Unknown\n' Enumerated_Domain_Value_Definition_Source: none\n' Enumerated_Domain_Value: 1\n' Enumerated_Domain_Value_Definition: 1:24000\n' Enumerated_Domain_Value_Definition_Source: none" ) (Script.71 Name: "DD.Exam_Sec6" SourceCode: "'Distribution_Information:\n' Distributor:\n' Contact_Information:\n' Contact_Organization_Primary:\n' Contact_Organization: NOAA Coastal Services Center\n' Contact_Person: PAGIS Specialist\n' Contact_Position: GIS Specialist\n' Contact_Address:\n' Address_Type: mailing and physical address\n' Address: 2234 South Hobson Ave\n' City: Charleston\n' State_or_Province: South Carolina\n' Postal_Code: 29405\n' Country: USA\n' Contact_Voice_Telephon e: 800-789-2234\n' Contact_Facsimile_Telephone: 843-740-1224\n' Contact_Electronic_Mail_Address: gis@csc.noaa.gov\n' Hours_of_Service: Monday-Friday, 8am-5pm, Eastern Standard Time\n' Resource_Description:\n' The Estuarine Research Reserve boundary was compiled as\n' part of the PAGIS project.\n' Distribution_Liability:\n' Users must assume responsibility to determine the\n' appropriate use of these data.\n' The boundary is not to be used for a LEGAL definition.\n' Please contact the individual Estuarine Research Reserve\n' for more detailed information if required.\n' Custom_Order_Process:\n' Contact NOAA Coastal Services Center PAGIS Specialist for a\n' printed copy of the boundary map or for an ESRI coverage or\n' shapefile of the boundary." ) (Script.72 Name: "DD.Exam_Sec7" SourceCode: "'Metadata_Reference_Information:\n' Metadata_Date: 19990225\n' Metadata_Review_Date: 1990225\n' Metadata_Contact:\n' Contact_Information:\n' Contact_Organization_Primary:\n' Contact_Organization: NOAA Coastal Services Center\n' Contact_Person: Metadata Specialist\n' Contact_Position: Metadata Specialist\n' Contact_Address:\n' Address_Type: Mailing and physical address\n' Address: 2234 South Hobson Ave\n' City: Charleston\n' State_or_Province: South Carolina\n ' Postal_Code: 29405\n' Country: USA\n' Contact_Voice_Telephone: 800-789-2234\n' Contact_Facsimile_Telephone: 843-740-1224\n' Contact_Electronic_Mail_Address: metadata@csc.noaa.gov\n' Hours_of_Service: Monday-Friday, 8am-5pm, Eastern Standard Time\n' Metadata_Standard_Name: FGDC CSDGM\n' Metadata_Standard_Version: FGDC-STD-001-1998" ) (Script.73 Name: "DD.FGDC_Link" SourceCode: "'hotlink field should be coded: www.csc.noaa.gov/whatever\n\n'Setup DLL file objects\nif (System.GetOSVariant = #SYSTEM_OSVARIANT_MSWNT) then\n dllShell32 = DLL.Make(\"c:\\winnt\\system32\\shell32.dll\".AsFileName)\n dllUser32 = DLL.Make(\"c:\\winnt\\system32\\user32.dll\".AsFileName)\nElseif (System.GetOSVariant = #SYSTEM_OSVARIANT_MSW95) then\n dllShell32 = DLL.Make(\"c:\\windows\\system\\shell32.dll\".AsFileName)\n dllUser32 = DLL.Make(\"c:\\windows\\system\\user32.dll\".AsFileName)\nElse\n MsgBox.Warning(\"Required DLL files can not be found.\",\"Exiting\")\n return Nil\nEnd\n\n'Setup Win32API functions as Avenue DLLProc objects\ndpGetActiveWindow = DLLProc.Make(dllUser32, \"GetActiveWindow\",#DLLPROC_TYPE_INT32, {})\ndpShellExecute = DLLProc.Make(dllShell32, \"ShellExecuteA\",#DLLPROC_TYPE_INT32,\n {#DLLPROC_TYPE_INT32,#DLLPROC_TYPE_STR,#DLLPROC_TYPE_STR,#DLLPROC_TYPE_STR,#DLLPROC_TYPE_STR,#DLLPROC_TYPE_INT32})\n\n'Get the Window Handle (hWnd) of the ArcView window.\nhWnd_active = dpGetActiveWindow.Call({})\n\n'Get the WWW URL for Hotlinking from the active theme's hotlink field.\nhotlinkVal = \"http://www.fgdc.gov\"\n\n'Send the URL to the default browser\nretValue = dpShellExecute.Call({hWnd_active,\"Open\",hotlinkVal,\"\",FileName.GetCWD.AsString,1})\n\n'Let the user know if the link failed. The \"ShwllExecuteA function returns an integer\n'greater than 32 if the process succeeded.\nif (retValue <= 32) then\n MsgBox.Warning(\"Hotlink to Web failed.\",\"Sorry\")\nEnd" ) (Script.74 Name: "DD.FindFile" SourceCode: "'Create the new MetaData File\n'Edited on 5/12/99 to make default name the srcName not the theme name\nft = \"\"\nif (_theType = \"Coverage\") then\n if (_shpClass = \"Point\") then\n ft = \"pt\"\n elseif (_shpClass = \"Polygon\") then\n ft = \"p\"\n elseif (_shpClass = \"Polyline\") then\n ft = \"l\"\n end\nelse\n ft = \"\"\nend\n\n'Create default file name for output Metadata\nd = _theTheme.GetSrcName.GetDataSource.AsFileName\ntheE = d.GetExtension\ndSub = d.AsString.Substitute(\".\"+theE,\"\")\nFilestr = dSub+ft+\".met\"\nthemeExten = _theTheme.GetSrcName.GetDataSource.AsFileName.GetExtension\nthemeName = _theTheme.GetSrcName.AsString.Substitute(\".\"+themeExten,\"\")\nmetaName = themeName.AsString+ft+\".met\"\n\nthemePath = _theTheme.GetSrcName.GetFileName.GetFullName.AsFileName\ntheBase = themePath.GetBaseName.AsString\nthePath = themePath.AsString.substitute(theBase,\"\")\nthePath.AsFileName.SetCWD\noutFile = FileDialog.Put(metaName.AsFileName,\" \",\"Select Metadata file\")\nif(outFile = NIL) then\n system.beep\n exit\nend\n\n\n'create Metadata and HTML fi le, outFile\n_MetaFile = LineFile.Make(outFile, #FILE_PERM_WRITE)" ) (Script.75 Name: "DD.Get_Help" SourceCode: "s = av.FindScript(\"DD.Meta_Help\")\nsSource = s.AsString\nsTokes = sSource.AsTokens(NL)\n'Determine path delemiter for creating new files\nif (System.GetOS = #SYSTEM_OS_UNIX) then\n pathDel = \"/\"\nend\nif (System.GetOS = #SYSTEM_OS_MAC) then\n pathDel = \":\"\nend\nif (System.GetOS = #SYSTEM_OS_MSW) then\n pathDel = \"\\\"\nend\n\nhelpStr = \"\"\ntFile = av.GetProject.GetWorkDir.AsString+pathDel+\"xxtmp.text\"\ntmpFile = LineFile.Make(tFile.AsFileName,#FILE_PERM_WRITE)\nfor each s in sTokes\n tmpFile.WriteElt(s.Substitute(\"'\",\"\")) \nend\ntmpFile.Close\ntextWin.Make(tFile.AsFileName,\"Metadata Collector Help\").Open\nif (File.Exists(tFile.AsFileName)) then\n File.Delete(tFile.AsFileName)\nend" ) (Script.76 Name: "DD.GetCoords" SourceCode: "Script.The.SetNumberFormat(\"d.dddd\")\n'Retrieve the Spatial Domain in Decimal Degrees if the User wants them in Decimal Degrees\n\n'Get the current source units and make sure they are not unknown\n\nif (_sourceunits <> #UNITS_LINEAR_DEGREES) then 'the coordinates will have to be projected\n inputPrj = NIL\n 'Get the projection of the view\n myprj=av.getactivedoc.getprojection\n getprj = true\n While (getprj = true)\n if (inputPrj = NIL) then 'if projection info not determined from prj.adf, get the Projection \n Msgbox.Info(\"Please select the input projection\"++\n \"for Decimal Degree Conversion.\"+NL+\"This information will be used to complete Section 4.\",\"Projector!\")\n inputPrj = av.Run(\"DD.DoProjection\",{})\n if (inputPrj = NIL) then\n getprj = MsgBox.YesNo(\"You must select the input projection to output coordinates in Decimal Degrees. Do you want to enter input Projection?\",\"Input Projection\",true)\n if (getprj = false) then\n getprj = false\n end\n el se\n getprj = false\n end\n end 'Gathering input projection information\n end 'while loop checking for projection\nelse\n inputPrj = NIL\nend' end for checking if the input projection is NOT Geographic\n\nif ((_sourceunits <> #UNITS_LINEAR_DEGREES) and (inputPrj <> NIL)) then\n 'set the output projection to GEOGRAPIC\n outputunits = #UNITS_LINEAR_DEGREES\n outputPrj = prj.MakeNull\n outputPrj.SetDescription(\"Geographic\")\n outputgeographic = true\n if (outputPrj = nil) then\n return nil\n end\n ou tputgeographic = outputPrj.ReturnDescription.Contains(\"Geographic\")\n \n thm = _theTheme\n wd = av.GetProject.GetWorkDir\n wd.SetCWD\n tempshape = Filename.GetCWD.MakeTmp(\"zxyprj\",\"shp\")\n theExt = thm.ReturnExtent\n \n upy = theExt.GetTop\n lowY = theExt.GetBottom\n east = theExt.GetRight\n west = theExt.GetLeft \n myFTab = FTab.MakeNew(\"zxyfile.dbf\".AsFileName, POINT )\n shapeF = myFTab.FindField(\"shape\")\n idField = Field.Make(\"ID\",#FIELD_DECIMAL,5,0)\n myFTab.AddFields({idField})\n id = myFTab.FindFiel d(\"ID\")\n newRec = myFTab.Addrecord\n myFTab.SetValue(shapeF, newRec, east@upy)\n myFTab.SetValue(idField, newRec, 1)\n newRec = myFTab.Addrecord\n myFTab.SetValue(shapeF, newRec,west@upY)\n myFTab.SetValue(idField, newRec, 2)\n newRec = myFTab.Addrecord\n myFTab.SetValue(shapeF,newRec,east@lowY)\n myFTab.SetValue(idField, newRec, 3)\n newRec = myFTab.Addrecord\n myFTab.SetValue(shapeF,newRec,west@lowY)\n myFTab.SetValue(idField, newRec, 4) \n \n 'now export the ftab (selected records only), \n \n thmftab = myFTab\n shapetype = thmftab.FindField(\"Shape\").GetType\n \n if (outputgeographic) then\n tempFtab = thmFtab.ExportUnprojected(tempshape,inputPrj,\n thmFtab.GetSelection.Count >0)\n temptheme = FTheme.Make(tempFtab)\n newExt = tempTheme.ReturnExtent\n _north = newExt.Gettop.AsString\n _south = newExt.Getbottom.AsString\n _east = newExt.GetRight.AsString\n _west = newExt.GetLeft.AsString\n \n _bndCoords = _north.AsString+\",\"+_south.AsString+\",\"+_east.AsString+\",\"+_west.A sString\n 'av.FindDialog(\"Sec1.CoordRep\").FindByName(\"Sec1_TBoxCoordRep\").SetText(\"\")\n tokes = _bndCoords.AsTokens(\",\") \n theStr = \"North: \"+tokes.Get(0)+NL+\"South: \"+tokes.Get(1)+NL+\"East: \"+tokes.Get(2)+NL+\"West: \"+tokes.Get(3)\n 'av.FindDialog(\"Sec1.CoordRep\").FindByName(\"Sec1_TBoxCoordRep\").SetText(theStr)\n\n tempftab.DeActivate\n tempftab = nil\n myFTab.DeActivate\n av.PurgeObjects\n tempshpname = tempshape.GetBaseName.AsTokens(\".\").Get(0)\n tempshpdir = tempshape.GetFullName.Clon e.AsFilename\n tempshpdir.Stripfile\n filesToDelete = tempshpdir.Readfiles(tempshpname+\".*\")\n \n tempdir = av.getproject.getworkdir\n mofilesToDelete = tempdir.Readfiles(\"zxy\"+\"*\"+\".*\")\n \n for each f in filesToDelete\n File.Delete(f)\n end\n for each f in mofilesToDelete\n File.Delete(f)\n end\n end\n \nelse 'meaning the data is already in Decimal Degrees or you don't want to convert to DD\n\n thm = _theTheme\n theExt = thm.ReturnExtent\n\n _north = theExt.GetTop.AsString\n _south = theExt .GetBottom.AsString\n _east = theExt.GetRight.AsString\n _west = theExt.GetLeft.AsString\n _bndCoords = _north.AsString+\",\"+_south.AsString+\",\"+_east.AsString+\",\"+_west.AsString \n tokes = _bndCoords.AsTokens(\",\") \n theStr = \"North: \"+tokes.Get(0)+NL+\"South: \"+tokes.Get(1)+NL+\"East: \"+tokes.Get(2)+NL+\"West: \"+tokes.Get(3)\nend 'for checking for Decimal Degrees" ) (Script.77 Name: "DD.Help_Sec1" SourceCode: "'Publication Information \n'\n' Citation Information [You may save this information to be used in other sections or \n' other metadata files.]\n' \n' Title: A quality title includes the topic, time and place. [E.g., Vectorized Shoreline of \n' Alabama Derived from NOAA-NOS Topographic Sheets Developed from 1983 to 1988] \n' \n' Edition: Version of the title. \n' \n' Originators: Organization or individual that developed the data set. \n' [This field may be repeated unlimited times where applicable .]\n' \n' Publication_Date: Date when the data set was (or is to be) made available. [All dates must \n' be in the YYYYMMDD format.]\n' \n' Publication_Place: City where the data set was published or released. \n' [State or province and country should be used when necessary to distinguish the city.] \n' \n' Publisher: Individual or organization that published the data set. \n' \n' Online_Linkage: On-line computer resource that contains the data set. \n' Entries should f ollow the Uniform Resource Locator (URL) convention of the Internet. \n' [E.g., http://www.csc.noaa.gov/products/shorelines/alshrl.htm]\n' \n' Larger Work Citation \n'\n' Larger_Work_Title: The title of a larger work in which the data \n' set is included (if applicable). \n' \n' Larger_Work_Originator: Organization or individual that developed the larger work.\n' \n' Larger_Work_Publication_Date: Date when the larger work was (or is to be) made available.\n' [YYYYMMDD] \n' \n' Larger_Work_Publication_Place: City where the data set was published. [State or province\n' and country should be used when necessary to distinguish the city.]\n' \n' Larger_Work_Publisher: Individual or organization that published the \n' larger work. \n' \n' Larger_Work_Online_Linkage: On-line computer resource that contains the larger work.\n' \n' Other Citation Details \n'\n' Other_Citation_Details: Any other information that is required to complete the citation. \n'\n' Description \n'\n' Abstract: Brief narrative summary of the data set and, if applicable, larger project.\n' \n' Purpose: Summary of the reasons for which the data set was developed. \n' \n' Supplemental_Information: Other descriptive information about the data set. \n' \n' Time Period of Content \n' \n' Beginning_Date: First date of the event. [YYYYMMDD]\n' \n' Ending_Date: Last date of the event. [YYYYMMDD] \n' \n' Currentness_Reference: Basis on which the time period of con tent information is determined. \n' [Values may be \"ground condition,\" \"publication date,\" or, if necessary, free text.]\n' \n' Status of the Data Set \n'\n' Progress: State of the data set. [Values may be \"Complete,\" \"In work,\" or \"Planned.\"]\n' \n' Maintenance_and_Update_Frequency: Frequency with which changes and additions are made \n' to the data set after the initial data set is completed. \n' [Values may be \"Continually,\" \"Daily,\" \"Weekly,\" \"Monthly,\" \"Annually,\" \"Unknown,\" \n' \"As Ne eded,\" \"Irregular,\" or \"None Planned.\"] \n' \n' Keywords \n' \n' Theme_Keyword: Common-use word or phrase used to describe the subject of the data set. \n' [This field can be repeated. Please provide a variety of descriptive keywords, \n' acronyms, and their definitions.] \n'\n' Place_Keyword: Geographic name of a location covered by a data set. [This field \n' may be repeated as many times as necessary.]\n' \n' Constraints\n'\n' Access_Constraints: Restrictions and legal prerequisite s for accessing the data set. \n' \n' Use_Constraints: Restrictions and legal prerequisites for using the data set after \n' access is granted. \n' \n' Contact Information \n' \n' Contact_Organization: Organization to contact to gain information about the data set. \n'\n' Contact_Person: Individual associated with the data set. \n'\n' Contact_Position: Title of individual associated with the data set. \n'\n' Address: Street address or postal box for the contact organization or person.\n'\n' City : City of the address. \n' \n' State_or_Province: State or province of the address. \n' \n' Postal_Code: ZIP or other postal code of the address. \n' \n' Country: the Country of the address. \n' \n' Contact_Voice_Telephone: Telephone number for the contact organization or individual. \n' \n' Contact_Facsimile_Telephone: Number of facsimile machine of the organization or \n' individual. \n' \n' Contact_Electronic_Mail_Address: Electronic mail address for the organization or \n' individual. \n' \n' Hours_of_Service: Time period when individuals can speak to the organization or \n' individual. " ) (Script.78 Name: "DD.Help_Sec2" SourceCode: "'Data Quality Information [Quality and other information can be provided in the form of \n' browse graphics, or through on-line services. To provide non-textual information, \n' furnish the URL of the graphic or service at the appropriate place in the \n' quality report.]\n'\n' Attribute Accuracy\n' \n' Attribute_Accuracy_Report: Explanation of the accuracy of the \n' identification of the entities and assignments of values in the data set\n' and a description of the tests used. [E.g., Attribute accuracy is tested by \n' manually comparing hard copy plots of the digital data with the source\n' materials. When attributes cannot be visually verified on plots they are\n' interactively queried and verified on the screen. The attributes are also\n' compared against a master set of valid attributes.]\n' \n' Logical_Consistency_Report: Explanation of the fidelity of relationships in\n' the data set and tests used. Logical Consistency Report is a statement regarding\n' errors such as: duplicat e features, polygonal features beginning and ending at\n' the same point, no overshoots or undershoots, no dangling arcs (unless required)\n' and single labels. \n' \n' Completeness_Report: Information about omissions, selection criteria, generalization,\n' definitions used, and other rules used to derive the data set. A quality report\n' shall include information about selection criteria, definitions used and other\n' relevant mapping rules. [E.g., geometric thresholds such as minimum are a or\n' minimum width shall be reported.]\n' \n' Positional Accuracy\n' \n' Horizontal_Positional_Accuracy_Report: Estimate of accuracy of the horizontal\n' positions of the spatial objects; explanation of the accuracy of the horizontal\n' coordinate measurements and a description of the tests used. **Horizontal \n' Positional Accuracy is tested by visual comparison of hard copy check \n' plots against source materials and verifying the location of the data \n' on screen relative to other data layers in the geographic area.\n' \n' Vertical_Positional_Accuracy_Report: Explanation of the accuracy of the vertical \n' coordinate measurements and a description of the tests used. \n'\n'Lineage [Information about the events, parameters, and source data that constructed \n' the data set, and information about the responsible parties. This section may \n' be repeated as many times as applicable.]\n'\n' Source Citation\n'\n' Title: Name by which the source data set is known. \n' \n' Edition: Vers ion of the title. \n' \n' Originator: Organization or individual that developed the source data set.\n' \n' Publication_Date: Date when the source was (or is to be) made available. [YYYYMMDD]\n' \n' Publication_Place: City where the source data set was published. [State or province\n' and country should be used when necessary to distinguish the city.]\n' \n' Publisher: Individual or organization that published the source data set. \n' \n' Onlin e_Linkage: On-line computer resource that contains the data set. \n' \n'Lineage Larger Work Information\n' \n' Larger_Work_Originator: Organization or individual that developed the larger work.\n' \n' Larger_Work_Publication_Date: Date when the lineage's larger work was (or is to be) \n' made available. [YYYYMMDD]\n' \n' Larger_Work_Title: Information identifying the lineage's larger work. \n'\n' Larger_Work_Publication_Place: City where the data set was publish ed. [State or province\n' and country should be used when necessary to distinguish the city.]\n' \n' Larger_Work_Publisher: Individual or organization that published the larger work. \n' \n' Larger_Work_Online_Linkage: On-line computer resource that contains the lineage's \n' larger work. [URL]\n'\n' Lineage Citation\n'\n' Other_Citation_Details: Other information required to complete the source citation. \n' \n' Source_Scale_Denominator: Denominator of the representative fraction on a map. \n' [E.g., 1:24000]\n' \n' Type_of_Source_Media: Medium of the source data set. [Values may be \"paper,\" \n' \"stable-base material,\" \"microfiche,\" \"microfilm,\" audiocassette,\" \"chart,\" \n' \"filmstrip,\" \"transparency,\" \"videocassette,\" \"videodisc,\" \"videotape,\" \n' \"physical model,\" \"computer program,\" \"disc,\" \"cartridge tape,\" \"magnetic tape,\" \n' \"on-line,\" \"CD-ROM,\" \"electronic bulletin board,\" \"electronic mail system,\" \n' or, if necessary, free text.] \n' \n' Source's Time Period of Content\n' \n' Beginning_Date: Beginning date for which the source data corresponds to the \n' ground. [YYYYMMDD]\n' \n' Ending_Date: Ending date for which the source data corresponds to the ground. \n' [YYYYMMDD]\n' \n' Source_Currentness_Reference: Basis on which the source time period of content \n' information of the source data set is determined. [Values may be \"ground \n' condition,\" \"publication date,\" or, if necessary, free text.]\n' \n' Source_Citation_Abbreviation: Short-form alias for the source citation. \n' \n' Source_Contribution: Brief statement identifying the information contributed by the \n' source to the data set. \n' \n'Process Step [This section may be repeated as many times as necessary.] \n' \n' Process_Step_Description: Explanation of the event and related parameters or \n' tolerances. Each processing step taken in the creation of the database should be \n' documented (E.g., data manipula tion, statistical tests, etc.).\n' \n' Source_Used_Citation_Abbreviation: The Source_Citation_Abbreviation (2.5.1.5) of a\n' data set used in the processing step.\n' \n' Process_Date: Date the process step was performed. [YYYYMMDD]\n' \n' Source_Produced_Citation_Abbreviation: The Source_Citation_Abbreviation (2.5.1.5) of\n' a data set that\n \n' Contact_Organization: Organization associated with the process step. \n' \n' Contact_Person: Individual associated with the proc ess step.\n' \n' Contact_Position: Title of individual associated with the process step.\n' \n' Address: Street or postal box for the process contact. \n' \n' City: City of the address. \n' \n' State_or_Province: State or province of the address. \n' \n' Postal_Code: ZIP or other postal code of the address. \n' \n' Country: Country of the address. \n' \n' Contact_Voice_Telephone: Telephone number for the contact organi zation or individual.\n' \n' Contact_Facsimile_Telephone: Number of facsimile machine of the organization or \n' individual. \n' \n' Contact_Electronic_Mail_Address: Electronic mail address for the organization or \n' individual. \n' \n' Hours_of_Service: Time period when individuals can speak to the organization or \n' individual.\n" ) (Script.79 Name: "DD.Help_Sec3" SourceCode: "'Spatial Data Organization Information\n' \n' ****THE INFORMATION IN THIS SECTION WILL BE AUTOMATICALLY GENERATED.***\n'\n'Section Output:\n'\n' Direct_Spatial_Reference_Method: System of objects used to represent\n' space in the data set. [Values may be \"Point,\" \"Vector,\" or \"Raster.\"]\n' \n' SDTS_Point_and_Vector_Object_Type: Name of point and vector spatial objects \n' used to locate zero-, one-, and two-dimensional spatial locations \n' in the data set.\n' \n' Point_and_Vector_O bject_Count: Total number of the point or\n' vector object type occurring in the data set.\n' \n' Raster_Object_Information: Types and numbers of raster spatial objects\n' in the data set.\n' \n' Raster_Object_Type: Raster spatial objects used to loacate zero-, two-, or\n' three-dimensional locations in the data set.\n' \n' Row_Count: Maximum number of raster objects along the ordinate (y) axis.\n' \n' Column_Count: Maximum number of raster objects along the abscissa (x) axis.\n" ) (Script.80 Name: "DD.Help_Sec4" SourceCode: "'Spatial Reference Information\n' \n' **** Note: If map units are in decimal degrees, input questions will be different \n' than if map units are not in decimal degrees. ****\n'\n'Decimal Degree Projections\n'\n' Latitude_Resolution: Minimum difference between two adjacent latitude \n' values expressed in Geographic Coordinate Units of measure.\n'\n' Longitude_Resolution: Minimum difference between two adjacent longitude \n' values expressed in Geographic Coordinate Units of measure.\n'\n' Geogr aphic_Coordinate_Units: Units of measure used for the latitude and \n' longitude values. [This section will be automatically generated.]\n'\n'Non-Decimal Degree Projections\n'\n' Horizontal_Coordinate_Definition: Reference frame or system from\n' linear or angular quantities are measured and assigned to the position\n' that a point occupies. [This section is automatically populated based\n' on projection set at the end of Section 1.]\n' \n' Planar_Coordinate_Encoding_Method: Means use d to represent horizontal\n' positions. [Values may be \"coordinate pair\" or \"row and column.\"]\n' \n' Abscissa_Resolution: Minimum difference between two adjacent latitude values \n' expressed in Geographic Coordinate Units of measure. \n' \n' Ordinate_Resolution: Minimum difference between two adjacent longitude values \n' expressed in Geographic Coordinate Units of measure. \n' \n' Planar_Distance_Units: Units of measure used for distances.\n'\n' Geodetic M odel [Parameters for the shape of the earth.]\n' \n' Horizontal_Datum_Name: Identification given to the reference system\n' used for defining the coordinates of points. [If applicable datum is not \n' available, choose \"other\" and enter datum name when prompted.]\n' \n' Ellipsoid_Name: Identification given to established representations of\n' the earth's shape. [If a predefined datum is chosen, this information will be\n' automatically entered.]\n' \n' Semi-major_Axis: Radiu s of the equatorial axis of the ellipsoid. \n' [If a predefined datum is chosen, this information will be automatically entered.]\n' \n' Denominator_of_Flattening_Ratio: Denominator of the ratio of the \n' difference between the equatorial and polar radii of the ellipsoid\n' when the numerator is set to 1. [If a predefined datum is chosen, this \n' information will be automatically entered.]\n" ) (Script.81 Name: "DD.Help_Sec5" SourceCode: "'Entity and Attribute Information [In this section, a detailed description, \n' an overview description or both types of descriptions may be created. \n' It is highly recommended that you create a detailed description, if applicable.] \n'\n' Detailed Description\n'\n' Attribute_Label: Name of the attribute [The tool automatically pulls the attribute \n' label out of your data set.]\n'\n' Attribute_Definition: Description of the attribute. \n'\n' Attribute_Definition_Source: Authority of the definition.\n'\n' Attribute_Domain_Values: Valid values that can be assigned for an attribute.\n' [This value needs to be selected from the drop-down list. Once the domain type \n' has been selected, it will prompt you to fill in the value information (if needed).\n' Values from which to choose: \n' Enumerated_Domain: Members of an established set of valid values. \n' Range_Domain: the Minimum and maximum values of a continuum of valid values.\n' Codeset_Domain: Reference to a standard or list th at contains the members of\n' an established set of valid values.\n' Unrepresentable_Domain: Description of the values and reasons why they cannot\n' be represented. \n'\n' ***Special Note:\n' Enumerated_Domain values and definitions can be extracted from an existing \n' look-up table. The file needs to contain three fields, as follows:\n' Field1: Name = Source; this contains the source of the look-up table.\n' Field2: Name = Attr_val; this is the value in the attribute table.\n' Field3: Name = Val_def; this is the definition of the value.\n'\n' You can use this tool to create this look-up table.]\n'\n' Overview Description\n'\n' Entity_and_Attribute_Overview: Details about the information content of the \n' data set, including the entity types, their attributes, and the domains \n' from which attribute values may be assigned. [Detailed summary of the \n' information contained in a data set.] \n'\n' Entity_and_Attribute_Detail_Citation: Reference to the complete description \n' of the e ntity types, attributes, and attribute values for the data set.\n'\n'\n'\n' \n' \n' \n'\n" ) (Script.82 Name: "DD.Help_Sec6" SourceCode: "'Distribution Information: information about the distributor of and options\n' for obtaining the data set.\n'\n'Distributor: Party from whom the data set may be obtained.\n' \n' Contact Information \n' \n' Contact_Organization: Organization to contact to obtain the data set. \n'\n' Contact_Person: Individual associated with distributing the data set. \n'\n' Contact_Position: Title of individual associated with distributing the data set. \n'\n' Address: Street address or postal box for the contact orga nization or person.\n'\n' City: the City of the address. \n' \n' State_or_Province: State or province of the address. \n' \n' Postal_Code: ZIP or other postal code of the address. \n' \n' Country: Country of the address. \n' \n' Contact_Voice_Telephone: Telephone number for the contact organization or \n' individual. \n' \n' Contact_Facsimile_Telephone: Number of facsimile machine of the organization or \n' individual. \n' \n' Contact_Electronic_Mail_Add ress: Electronic mail address for the organization or \n' individual. \n' \n' Hours_of_Service: Time period when individuals can speak to the organization or \n' individual. \n'\n' \n' Resource_Description: Identifier by which the distributor knows the data set. \n' \n' Distribution_Liability: Statement of the liability assumed by the distributor. \n' \n' \n' Standard Order Process: Common ways in which the data set may be obtained\n' or received, and related instructions and fee info rmation.\n' \n' Non-digital_Form: Description of options for obtaining the data set on\n' non-computer-compatible media.\n' \n' Digital_Transfer_Information: Description of the form of the data to be\n' distributed.\n' Format_Name: Name of the data transfer format.\n' Offline_Media: Name of the media on which the data set can be received.\n' Recording_Format: Options available or method used to write the data\n' set to the medium.\n' Compatibility_Information: Description of other limitations or requirements\n' for using the medium.\n' \n' Fees: Fees and terms for retrieving the data set.\n' \n' Ordering_Instructions: General instructions and advice about, and special\n' terms and services provided for, the data set by the distributor. \n'\n' Custom_Order_Process: Description of custom distribution services available, \n' and the terms and conditions for obtaining these services. \n" ) (Script.83 Name: "DD.Help_Sec7" SourceCode: "'Metadata Reference Information\n' \n' Metadata_Date: Date that the metadata were created or last updated. [YYYYMMDD]\n' \n' Metadata_Review_Date: Date of the latest review of the metadata entry. \n' [YYYYMMDD]\n' \n' Metadata Contact Information \n' \n' Contact_Organization: Name of the organization to contact to gain information \n' about the metadata. \n'\n' Contact_Person: Name of the individual associated with the metadata. \n'\n' Contact_Position: Title of individual associated wit h the metadata. \n'\n' Address: Street address or postal box for the contact organization or person.\n'\n' City: City of the address. \n' \n' State_or_Province: State or province of the address. \n' \n' Postal_Code: ZIP or other postal code of the address. \n' \n' Country: Country of the address. \n' \n' Contact_Voice_Telephone: Telephone number for the contact organization or \n' individual. \n' \n' Contact_Facsimile_Telephone: Number of facsimile machine of the organization or \n' individual. \n' \n' Contact_Electronic_Mail_Address: Electronic mail address for the organization or \n' individual. \n' \n' Hours_of_Service: Time period when individuals can speak to the organization or \n' individual. \n'\n' Standard Information\n'\n' Metadata_Standard_Name: Name of the metadata standard used to \n' document the data set. [Automatically populated by collector.]\n' \n' Metadata_Standard_Version: Identification of the version of the metadata\n' standard used to document the data set. [Automatically populated by collector.]\n" ) (Script.84 Name: "DD.Load_String" SourceCode: "s1 = Self.Get(0).Trim\ns2 = Self.Get(1)\ns3 = NIL\ns4 = NIL\nif (Self.Count > 2) then\n if (Self.Get(2) <> NIL) then\n s3 = Self.Get(2)\n end\nend\nif (Self.Count > 3) then\n if (Self.Get(3) <> NIL) then\n s4 = Self.Get(3)\n end\nend\n\n's4 = Self.Get(3)\nif (s1.Contains(\":\")) then\n if (s1.AsTokens(\":\").Count > 1) then ' We got something\n s1 = s1.AsTokens(\":\").Get(1).Trim\n else\n s1 = \"\"\n end\nend\n\nif (s2.Contains(\":\").NOT) then 'we got something\n s = s1++s2.Trim\nelse\n s = s1\nend\n\nif (s3 <> NIL) then\n i f (s3.Contains(\":\").NOT) then 'we got something\n s = s + \" \" + s3.Trim\n end\nend\nif (s4 <> NIL) then\n if (s4.Contains(\":\").NOT) then 'we got something\n s = s + \" \" + s4.Trim\n end\nend\nreturn s" ) (Script.85 Name: "DD.Load_Text" SourceCode: "theTheme = av.GetActiveDoc.GetActiveThemes.Get(0)\n'sName = theTheme.GetSrcName.GetDataSource.AsString\n'if (sName.Contains(\".shp\")) then\n' metName = sName.Substitute(\".shp\",\".met\")\n'else\n' metName = sName + \".met\"\n'end\n\nif (theTheme.Is(FTHEME)) then\n theClass = theTheme.GetSrcName.GetSubName\n theFTab = theTheme.GetFTab\n numRec = theFTab.GetNumRecords\n if (theClass = \"Point\") then\n refMeth = \"Point\"\n else\n refMeth = \"Vector\"\n end\n theATab = theFTab.AsString\n if (theATab.Contains(\".dbf\")) then\n theType = \"Shapefile\"\n elseif ((theATab.Contains(\".dxf\")) or (theATab.Contains(\".dwg\"))) then\n theType = \"DXFfile\"\n else\n theType = \"Coverage\"\n end\nelseif (theTheme.Is(ITHEME)) then\n theClass = \"Image\"\n theType = \"Image\"\n refMeth = \"Raster\"\nelse\n if (theTheme.GetGrid.GetSrcName.AsString <> NIL) then ' theTheme is a GRID\n theClass = \"Grid\"\n theType = \"Grid\"\n refMeth = \"Raster\"\n end\nend\n\nif ((refMeth = \"Vector\") or (refMeth = \"Point\")) then\n theFTab = theTheme.GetFTab\n shpClass = theFTab.GetShapeClass.GetClassName\n tName = theTheme.GetSrcName.AsString\nelseif (theClass = \"Grid\") then\n tName = theTheme.GetSrcName.AsString\n if (theTheme.HasTable) then\n theFTab = theTheme.GetVTab\n else\n theFTab = NIL\n end\nelseif (theClass = \"Image\") then\n theFTab = NIL\nend\n\nft = \"\"\nif (theType = \"Coverage\") then\n if (shpClass = \"Point\") then\n ft = \"pt\"\n elseif (shpClass = \"Polygon\") then\n ft = \"p\"\n elseif (shpClass = \"Polyline\") then\n ft = \"l\"\n end\nelse\n ft = \"\"\nend\n\n'Create de fault file name for output Metadata\nd = theTheme.GetSrcName.GetDataSource.AsFileName\ntheE = d.GetExtension\ndSub = d.AsString.Substitute(\".\"+theE,\"\")\nFilestr = dSub+ft+\".met\"\nthemeExten = theTheme.GetSrcName.GetDataSource.AsFileName.GetExtension\nthemeName = theTheme.GetSrcName.AsString.Substitute(\".\"+themeExten,\"\")\nmetaName = themeName.AsString+ft+\".met\"\n\nthemePath = theTheme.GetSrcName.GetFileName.GetFullName.AsFileName\ntheBase = themePath.GetBaseName.AsString\nthePath = themePath.AsString.substitute(theBase ,\"\")\nmetaName = thePath+metaName\nif (File.Exists(metaName.AsFileName).Not) then\n thePats = {\"*.met\",\"*.*\"}\n theLabs = {\"Metadata Files(*.met)\",\"All Files(*.*)\"}\n metList = FileDialog.ReturnFiles(thePats,theLabs,\"Select Metadata File\",0)\n if (metList.Count = 0) then\n System.Beep\n exit\n else\n metaName = metList.Get(0).AsString\n end\nend\nif (not (metaName.IsNull)) then\n if (TextWin.Make(metaName.AsFileName, metaName) = Nil) then\n MsgBox.Warning(\"File \"+metaName+\" not found.\",\"Metadata File\")\n end\nend\n" ) (Script.86 Name: "DD.Main" SourceCode: "'This script is attached the \"Metadata\" button.\n'This sets up the user environment, allows user to set workdir,\n'select theme for metadata collection, allows user to read in \n'existing files, etc.\n'Last edited 4/8/99\n\n'MsgBox.report(\"Welcome to NOAA Coastal Services Center's ArcView Metadata Collector. This tool collects metadata, and compiles it into FGDC compliant format.\"+NL+\"\"+NL+\"Helpful Hints \"+NL+\"1. If an element is unclear, refer to the FGDC Content Standard for Digital Geospatial Workbook for it s definition. \"+NL+\"2. The numbering scheme used throughout this tool is the same numbering scheme used in the FGDC Content Standard for Geospatial Metadata Workbook. \"+NL+\"3. Remember to use the 'Save' buttons so that information can be retreived the next time you collect Metadata.\",\"Helpful Hints\")\n_theTheme = Self.Get(0)\n_workDir = Self.Get(1)\nmetFile = Self.Get(2)\nclearForms = Self.Get(3)\n\n\n'Get the current source units and make sure they are not unknown\n_theView = av.GetActiveDoc\n\n_bndCoords = NIL\n_w est = \"\"\n_east = \"\"\n_north = \"\"\n_south = \"\"\n_thePrj = NIL\n_theTitle = \"\"\n_theVer = NIL\n_plUnits = NIL\n'Position markers for reading in an existing file\nselSect = \"\"\nnextSect = 0\n\n\n'Globals for setting dropdown lists when reading in an existing file\n'_Sec12Progress = NIL\n'_Sec12MainUpdate = NIL\n\n'Set Global to check for Metadata being written\n_MetaDone = NIL\n\n'Set Global for Process step saved\n_ProDone = NIL\n_procLoad = False 'Was the Process step loaded\n_procCnt = 0\n_procEdit = NIL\n\n'Set Global for Lineage\n _linCnt = 0\n_doLin = True\n\n'Set up Global Lists for Originator\n_OrList = {}\n_Sec1OrList = {}\n_Sec2OrList = {}\n\n'Globals for Datum and Ellipse\n_Sec4PCDat = NIL\n_Sec4PCEll = NIL\n_Sec4VCDat = NIL\n_Sec4VCEnc = NIL\n_Sec4VCDoVert = NIL\n\n'Global Vars to store Process Step and Date\n_ProcStepList = {}\n_ProcDateList = {}\n\nif (clearForms = True) then\n av.Run(\"DD.Clear_Forms\",{})\nend\n\n'Set the Default state for Dialogs\nav.Run(\"DD.Set_Focus\",\"\")\nav.Run(\"DD.Set_Title\",\"\")\n'Initialize ListBoxes\nav.Run(\"DD.Set_ListBoxes\", {})\n\nsectList = {}\nselSect = \"IDENTIFICATION_INFORMATION\"\n\nif (metFile.Count > 0) then\n if(File.Exists(metFile.AsFileName) = True) then 'check if file user specified has any metadata elements\n _exFile = metFile.AsFileName\n sectList = av.Run(\"DD.ALL_Load\",{_exFile}) \n if (sectList.Count > 0) then 'show the user what sections they have created\n cnt = sectList.Count\n c = 0\n for each s in sectList\n x = c + 1\n av.Run(\"DD.Sec\"+(x).AsString+\"_Load\",{})\n c = c + 1\n end\n if (sectList.Count < 7) then\n sectList.Add(\"Next Section\")\n end\n selSect = msgBox.ListAsString(sectList,\"Select a Section to edit or 'Next Section' to create new section:\",\"Completed Sections\").AsString\n if (selSect = \"Nil\") then\n system.Beep\n av.DelayedRun(\"DD.Clear_Forms\",{},0.5)\n av.DelayedRun(\"DD.Delete_Files\",{},5)\n exit\n end\n if (selSect = \"Next Section\") then\n nextSect = sectList.Count\n end\n end\n end\nend\n\n'Set Current working directory back to _workDir (where the resource files are)\ncwd = _workdir.AsFileName.SetCWD\n\n'Set the Focus for each Dialog\n\n\nif (selSect.Contains(\"IDENTIFICATION_INFORMATION\")) Then\n av.finddialog(\"Sec1\").open\nend\n\nif ((selSect.Contains(\"DATA_QUALITY_INFORMATION\")) or (nextSect = 2))Then\n av.finddialog(\"Sec2\").open\nend\n\nif ((selSect.Contains(\"SPATIAL_DATA_ORGANIZATION_INFORMATION\")) or (nextSect = 3))Then\n av.finddialog(\"Sec3\").open\nend\n\nif ((selSect.Contains(\"SPATIAL_REFERENCE_INFORMATIO N\")) or (nextSect = 4))Then\n av.finddialog(\"Sec4\").open\nend\n\nif ((selSect.Contains(\"ENTITY_AND_ATTRIBUTE_INFORMATION\")) or (nextSect = 5))Then\n av.finddialog(\"Sec5\").open\nend\n\nif ((selSect.Contains(\"DISTRIBUTION_INFORMATION\")) or (nextSect = 6))Then\n av.finddialog(\"Sec6\").open\nend\n\nif ((selSect.Contains(\"METADATA_REFERENCE_INFORMATION\")) or (nextSect = 7))Then\n av.FindDialog(\"Sec7\").Open\nend\n" ) (Script.87 Name: "DD.Main_Setup" SourceCode: "'This script is called by the \"Meta/Data\" button.\n'Purpose is to setup information for collection tool.\n'Last edited 05/02/99\n\n'Initialize Global for the View\n_theView = av.GetActiveDoc\n\n_sourceunits = _theView.GetDisplay.GetUnits\nif (_sourceunits = #UNITS_LINEAR_UNKNOWN) then\n getInfo = MsgBox.YesNo(\"The View Properties have not been set. Do you want to set them?\",\"Set View Properties\",True)\n if (getInfo = True) then\n _theView.Edit\n end\nend\n\n\n'Determine path delemiter for creating new files\nif (Syste m.GetOS = #SYSTEM_OS_UNIX) then\n _pathDel = \"/\"\nend\nif (System.GetOS = #SYSTEM_OS_MAC) then\n _pathDel = \":\"\nend\nif (System.GetOS = #SYSTEM_OS_MSW) then\n _pathDel = \"\\\"\nend\n\n\n'Initialize globals for theme properties\n_theTheme = NIL\n_theClass = \"\"\n_theType = \"\"\n_refMeth = \"\"\n_shpClass = \"\"\n_numRec = Nil\n\ntheDia = av.FindDialog(\"DD.MainSetup\")\n'Part 1, select the theme\n\n'Create list to populate dropdown\n\ntheThemeList = _theView.GetThemes\ntheDia.FindByName(\"DD.Main_LBTheme\").DefineFromList(theThemeList)\n\n'Pa rt 2, set working directory.\ntheWD = av.GetProject.GetWorkDir.AsString\ntheDia.FindByName(\"DD.Main_TxtWorkDir\").SetText(theWD)\n\n'Part 3, existing Metadata file.\n'This has to be set when the theme is selected.\ntheDia.FindByName(\"DD.Main_RBFileNo\").Select\ntheDia.FindByName(\"DD.Main_TxtFile\").SetText(\"\")\n\n'Part 4, Clear forms?\ntheDia.FindByName(\"DD.Main_RBClearNo\").Select\n\ntheDia.Open\n" ) (Script.88 Name: "DD.Main_Setup_Cancel" SourceCode: "Self.GetDialog.Close\nav.ClearGlobals" ) (Script.89 Name: "DD.Main_Setup_FileBrowse" SourceCode: "if (_theTheme = NIL) then\n MsgBox.Info(\"Please select a theme first.\",\"Select Theme\")\n exit\nend\nthemePath = _theTheme.GetSrcName.GetFileName.GetFullName.AsFileName\ntheBase = themePath.GetBaseName.AsString\nthePath = themePath.AsString.substitute(theBase,\"\")\nthePath.AsFileName.SetCWD\n\nmetaList = FileDialog.ReturnFiles({\"*.met\"},{\"metadata files (*.met)\"},\"Select Metadata File\",0)\nif (metaList.Count = 0) then\n system.beep\n exit\nelse\n metFile = metaList.Get(0).AsString\n Self.GetDialog.FindByName(\"DD.Main_ TxtFile\").SetText(metFile) \n Self.GetDialog.FindByName(\"DD.Main_RBFileYes\").Select\nend\n" ) (Script.90 Name: "DD.Main_Setup_FileNo" SourceCode: "Self.GetDialog.FindByName(\"DD.Main_TxtFile\").SetText(\"\")" ) (Script.91 Name: "DD.Main_Setup_FileYes" SourceCode: "'Create the new MetaData File\n\nif (_theTheme = NIL) then\n MsgBox.Warning(\"Please select a theme first!\",\"Select Theme\")\n Self.GetDialog.FindByName(\"DD.Main_RBFileNo\").Select\n exit\nend\n\nft = \"\"\nif (_theType = \"\") then\n exit\nend\n 'MsgBox.Error(\"You must select a theme first.\",\"Select Theme\")\nif (_theType = \"Coverage\") then\n if (_shpClass = \"Point\") then\n ft = \"pt\"\n elseif (_shpClass = \"Polygon\") then\n ft = \"p\"\n elseif (_shpClass = \"Polyline\") then\n ft = \"l\"\n end\nelse\n ft = \"\"\nend\n\n'Create d efault file name for output Metadata\nd = _theTheme.GetSrcName.GetDataSource.AsFileName\ntheE = d.GetExtension\ndSub = d.AsString.Substitute(\".\"+theE,\"\")\nFilestr = dSub+ft+\".met\"\nthemeExten = _theTheme.GetSrcName.GetDataSource.AsFileName.GetExtension\nthemeName = _theTheme.GetSrcName.AsString.Substitute(\".\"+themeExten,\"\")\nmetaName = _theTheme.GetSrcName.GetDataSource.AsFileName.ReturnDir.AsString + _pathDel + themeName+ft+\".met\"\nif (File.Exists(metaName.AsFileName)) then\n av.FindDialog(\"DD.MainSetup\").FindByNa me(\"DD.Main_TxtFile\").SetText(metaName)\nelse\n av.FindDialog(\"DD.MainSetup\").FindByName(\"DD.Main_TxtFile\").SetText(\"\")\nend" ) (Script.92 Name: "DD.Main_Setup_Go" SourceCode: "theDia = Self.GetDialog\n\n'Check to see if all info is collected\n\nif (_theTheme = NIL) then\n MsgBox.Warning(\"You need to select a theme!\",\"Select a Theme\")\n exit\nend\n\n_workDir = theDia.FindByName(\"DD.Main_TxtWorkDir\").GetText\nif (File.Exists(_workDir.AsFileName).Not) then\n MsgBox.Warning(\"The working directory is not set to a valid directory!\",\"Set Working Directory\")\n exit\nend\n\nmetFile = theDia.FindByName(\"DD.Main_TxtFile\").GetText\nif (File.Exists(metFile.AsFileName).Not) then\n MsgBox.Error(\"The metada ta file (\" +metFile + \") is not valid!\",\"Set Metadata File\")\n theDia.FindByName(\"DD.Main_RBFileNo\").Select\n exit\nend\n\nif (theDia.FindByName(\"DD.Main_RBClearYes\").IsSelected) then\n clearForm = True\nelse\n clearForm = False\nend\n\ntheDia.Close\nav.Run(\"DD.Main\",{_theTheme,_workDir,metFile,clearForm})" ) (Script.93 Name: "DD.Main_SetUp_Help" SourceCode: "MsgBox.report(\"Welcome to NOAA Coastal Services Center's ArcView Metadata Collector. This tool collects metadata, and compiles it into FGDC compliant format.\"+NL+\"\"+NL+\"Helpful Hints \"+NL+\"1. If an element is unclear, refer to the FGDC Content Standard for Digital Geospatial Workbook for its definition. \"+NL+\"2. The numbering scheme used throughout this tool is the same numbering scheme used in the FGDC Content Standard for Geospatial Metadata Workbook. \"+NL+\"3. Remember to use the 'Save' buttons so tha t information can be retreived the next time you collect Metadata.\",\"Helpful Hints\")\n" ) (Script.94 Name: "DD.Main_Setup_Open" SourceCode: "Self.MoveTo(50,20)" ) (Script.95 Name: "DD.Main_Setup_ThemeChanged" SourceCode: "'Set Globals for theme properties\n_theTheme = Self.GetSelection.Get(0)\nsName = _theTheme.GetSrcName.GetFileName.ReturnDir.AsString\n_sName = _theTheme.GetSrcName.AsString\ntoke = sName.AsTokens(\".\")\nbName = toke.Get(0)\n\n'_theClass = \"\"\n'_theType = \"\"\n'_refMeth = \"\"\n'_shpClass = \"\"\n'_numRec = Nil\nif (_theTheme.Is(FTHEME)) then\n _theClass = _theTheme.GetSrcName.GetSubName\n _theFTab = _theTheme.GetFTab\n _numRec = _theFTab.GetNumRecords\n if (_theClass = \"Point\") then\n _refMeth = \"Point\"\n else\n _refMeth = \"Vector\"\n end\n theATab = _theFTab.AsString\n if (theATab.Contains(\".dbf\")) then\n _theType = \"Shapefile\"\n elseif ((theATab.Contains(\".dxf\")) or (theATab.Contains(\".dwg\"))) then\n _theType = \"DXFfile\"\n else\n _theType = \"Coverage\"\n end\nelseif (_theTheme.Is(ITHEME)) then\n _theClass = \"Image\"\n _theType = \"Image\"\n _refMeth = \"Raster\"\nelse\n if (_theTheme.GetGrid.GetSrcName.AsString <> NIL) then ' theTheme is a GRID\n _theClass = \"Grid\"\n _theType = \"Grid\"\n _refMeth = \"Raster\"\n end\nend\n\n \nif ((_refMeth = \"Vector\") or (_refMeth = \"Point\")) then\n _theFTab = _theTheme.GetFTab\n _shpClass = _theFTab.GetShapeClass.GetClassName\n _tName = _theTheme.GetSrcName.AsString\nelseif (_theClass = \"Grid\") then\n _tName = _theTheme.GetSrcName.AsString\n if (_theTheme.HasTable) then\n _theFTab = _theTheme.GetVTab\n else\n _theFTab = NIL\n end\nelseif (_theClass = \"Image\") then\n _theFTab = NIL\nend" ) (Script.96 Name: "DD.Main_Setup_WDFocus" SourceCode: "wdTxt = Self.GetText\nif (File.Exists(wdTxt.AsFileName).Not) then\n MsgBox.Error(\"The directory that you have specified (\"+wdTxt+\") is not valid!\",\"Set Working Directory\")\n Self.SetText(av.GetProject.GetWorkDir.AsString)\nend \n" ) (Script.97 Name: "DD.Meta_Help" SourceCode: "'HOW TO USE THE METADATA COLLECTION TOOL\n'\n'Before Running the Program\n'1) Add the data set that metadata will be collected for to a View.\n'2) This tool will work on any data set that can be added to an ArcView\n' View document, including: shapefiles, Arc/Info coverages, Grids, \n' supported image formats, etc.\n'3) Set the working directory for the Project to a directory where dBase\n' and text files can be created. The working directory for the Project\n' is set from the Project menu/properties option, on the Project \n' graphical user interface (GUI).\n' These files will be used to store information, that can be referenced\n' in the future. \n'\n'File Naming Convention\n'1) Two types of files can be created, an ASCII text file, and an Hyper \n' Text Markup Language (HTML) file. If any problems are found, these\n' files can be edited.\n'2) You will have the opportunity to name these files prior to creation.\n'3) All metadata records created with this tool should have a \".met\" file\n' extension. When editing existing files, the tool looks for a \".met\"\n' extension. By default, if the data source is a shapefile, the output\n' metadata file name will be the base name of the data set, with a \".met\"\n' extension. So if the data set is roads.shp, the metadata record will\n' be roads.met.\n'4) If the data source is an Arc/Info coverage, the output metadata record\n' will be the coverage name with \"p\" appended if the input is a polygon,\n' an \"l\" if the coverage is a line type, a nd a \"pt\" if the coverage is a\n' point type. This naming convention was chosen to handle metadata that\n' is written for a coverage that might include both lines and polygons.\n'\n'Basic Flow of the Tool\n'1) This tool was created using the ArcView Dialog Designer extension and\n' was created to provide a means for stepping through the Federal \n' Geographic Data Committee (FGDC) metadata standard. Please refer to\n' the FGDC \"Content Standards for Digital Geospatial Metadata Workbook\"\n' for h elp on any of the metadata fields.\n'2) When using this tool, several input forms are presented. Most of the\n' information that is entered can be saved as a text file or in a dBase\n' file (see \"Posible dBase Files\" below). Once the information has been\n' stored it can easily be retreived the next time it is needed. \n'3) Three options are available for saving and retreiving information from\n' dBase files (Retrieve, Save, and Append).\n'\n' Retrieve allows the user to select an existing dBase file. The user \n' will then be prompted to select a record from the file, based on the\n' \"ID\" that was used when the information was stored.\n'\n' Save allows the user to create a new dBase file for storing the current\n' information. The user will then be prompted for an \"ID\" which can be\n' used to retrieve the data in the future.\n'\n' Append allows the user to select an existing dBase file. The user can\n' then create a new record in the selected file for storing the current\n' infor mation. The user will then be prompted for an \"Id\" which can be\n' used to retrieve the data in the future.\n' \n'3) When saving information to a dBase file, the user will be asked to\n' provide an \"Id\". This \"Id\" can be used to retrieve information during \n' future iterations of the program. Once the information has been stored\n' in a dBase file, the file can be edited using the ArcView Table editing\n' tools.\n'4) When saving information to a text file, the user will be prompted to \n' name the text file. Text files can be created and read from anywhere\n' on the network. \n'5) After a form has been completed, move to the next form by selecting the\n' \"Continue\" button or select \"Back\" to go back to a previous form.\n'6) Use the \"Exit\" button to exit the program and save your work.\n' Please Note that any fields that are not filled in will be written out\n' as empty tags.\n'7) After all of the metadata information has been collected the user will\n' be asked if they want to s