ࡱ>  "a_ ZRoot EntryklL NQ֢f!ContentsVersionDocument Info:\Q;#$%&'()*+,-./01?34m789=`F@GBCDXAEHIKW MR]^LVSFPUcefghijklmopqrstuvwxyz{|}~Root EntryklL NQpf!ContentsVersionDocument Info:\Q;#$%&'()*+,-./01?34m789=`F@GBCDXAEHIKW MR]^LVSFPUcefghijklmopqrstuvwxyz{|}~    O     @l$+#$% (*,-./0=234567>vADEwxyz2@Label68Dpointoutputfilebox(bDLabel589 , $@newdFlowToolsButtonnxy`>N{C49A60E1-CFBD-11D1-91A9-0080C718DF97}H,,5Tahoma88(%Points File (path and complete name):5) N&The VBA Project  .^0uaUIControls Metadata jTemplates PageLayout6View 5TableProperties 1BarStateoCompObjp__SRP_14XSurvey Analyst      !"#$%&'()*+,-./012345679:;<=>?@BCDEFGIJKLMOQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{}~StyleGalleryXOverposter Validation, ESRI Route Hatching Extension< TabletPC Support"dFlowToolsButtonnxy _N{C49A60E1-CFBD-11D1-91A9-0080C718DF97}  WrU $`$A`nPH;IrU  ) N&The VBA Project  .^fUIControlsMetadatajTemplates SMWindowLocator Database Extension6~DrawingDefaults a:Maps IPageLayout6View 5TableProperties 1BarState     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGKLMNPQRSTUVWXYZ[\]^_`abcdeghijklmnopqrstuvwxyz{|}~"56.? StyleGalleryXOverposter Validation, ESRI Route Hatching Extension< TabletPC Support"oCompObjp__SRP_14XSurvey Analyst   !*  &'()'+,-6/0A=>@1HGIaJ[cmy|ToolbarsAcceleratorsDataGraphsDataWindows IData Interoperability,Tracking Environment*Tracking Analyst" SurveyAnalyst_ArcMapExtension<ESRI Object Editor&B__SRP_15|__SRP_4__SRP_5D  !"#$%&'()*+,-./0234789:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnopqrstuvwxyz{|}     @l$+#$% (*,-./0=234567>vADEwxyza[ڂAP FlowTools FlowTools$ s|{ UIButtonControl1A!mq@_|hBM66(      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFHIKLMNOQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~A!mq@_|h] NQStandard_ToolbarStandardR A!mq@_|h IRz - aP< aTT<  a  < v~PWF_lOkȆ6 ~# 7Ls٬W@G5B`*#rZ| ?*pf?inputnodeMFID# Shape8v5M_|!deTR KQ8nהm s*) Ypהm s**v5M_|!B˥R`+@ ףp?@ ףp?Q@\($@@ ףp?@ ףp?@ ףp?\($@Q@\($@Q@@ ףp?@ ףp?@ ףp?kyO< ,Unknown@5.A5.A-C6*?>>Data FrameХbu -y NA.~# /? oהm s*0 !@&@(\?(\?)\ @)\%@~# 1Y@1lu 2?1lu 3??1lu 4 1lu 5 ?'xu 'xu 'xu 'xu 'xu v5M_|!:33333ۿῚ!@'@!@&@ %@~# Y@v5M_|!LayerskyO< Unknown+C6Z+C6Z@??MbP?@@F +!<Default>r9ξ2 +"kyO< D_jJb*5@33333QZL@ @/5)OOk#! ! ??@ a֊`Ok$GEOGTRAN["NAD_1927_To_NAD_1983_NADCON",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],METHOD["NADCON"],PARAMETER["Dataset_conus",0.0]]a֊`Ok$[uAV=lI|x`nh%~# &XFL@ hQ9S@ԞQ@@rp0R`'D_jJb*5@33333QZL@kyO< rp0R`(D_@@33333QfffffF@kyO< [uA'`y NAy NA~# Ũ$K@? ~# D=6X@$#@AK8@ y NA ~# ? y NA ~#  @ ?~# t>Z)C\~#  ~# Y@Y@v>Z)C\$@@R KQ|Arial טIWr9\t>Z)C\~#  ~# Y@Y@v>Z)C\ҞȻOr\@@@@y NAy NA~# Ũ$K@? ~# D=6X@$#@AK8@ .@$@@R KQArial טIWr9\~&f h`B˥R`@@@@?@@@@&f h`rp0R`P@8@@@8@@(@(@s\A\Application Data\ESRI\ArcMap@20-5560-4C23-BEA4-BF9948374FBB}{90507F51-6BBA-4E7C-8FE5-593B5B900208} dGlobalSpaco False CreblPre declaIdTru BExpose0TemplateDerivCustomizaDOption 0licit P"& Sub CommandBun1_Ck()( t$_to_flow__˃.Hidlcontrolpanelform.Show End;B2K!{33F7BCF}tP 8!C:\Documents and Settings\AlOBO['",,XXPP5{'"2FMOZ2Cre?TFm}7i8!Ȫb?SP0`ny NA~# XFL@ hQ9S@ԞQ@$@ ?~# y NA~# FMfU@$V^u}R@"@ ?~# y NA~# SOt15@D+cI@ԓnqR? 'hP` lN^# eIrZTӢr(E8 ,,cN BWx,,cN BW` lN^ME$Object Library*#5e48<@DHLPTX\`?ffffff"@ar_e?WindowrU~| + YTTT Ag9GTaOYUUKqKUrU $omType 9 qK8pFields KHpCLSIDpCLSEXT ConfigWord :BxeN@?>@]زJ&??nNעDA&@[M?olsButtonnx'ˑ s*C:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Alan.styleESRI.styleC:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Alan.styleY@v>Z)CC:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxtDisplaySourceSelectionSourceq[ s*~# 6 @iV@IlL0GO~T GO~T flowtoolsv069kAdministrator`Ľߗ$@@U+DBkArial טIWr9\~&f 9.28R`| "   ( "0-8HP-Xhp-x  * 0 ,  ( _VBA_Project!.^fVBA Project Data"Host Project Items&6Host Project Item Names0.^T~f ToolbarsAcceleratorsDataGraphsDataWindowsVBA Project Signature, Project_Data_CurVer( Host Project Item List Data8ThisDocumenti.^T~f  !"#$%&'()*+,-./0234789:;<=>?@ABCDEFGHJKLMNOPQRSTUVWXYZ[\]^_`bcdefghijklmnopqrstuvwxyz{|}{PThisDocument*{ 5{L{006B1AFE-C66C-11D0-B94C-080009EE4E51}7{, L{40499F24-596F-45D2-ACE1-A251E2990017}9{0>";{>$={?&&L{866AE5D3-530C-11D2-A2BD-0000F8774FB5}$HC:\temp\flow\flowtoolsv069m_v92a.mxdUmxdErRID="{94F6D330-D0EC-49A8-9F8C-65F7320BDC65}" Document=ThisDocument/&H00000000 Module=Module1 Package={AC9F2F90-E877-11CE-9F68-00AA00574A4F} BaseClass=flodialogfrm Module=Module2 Module=Module4 Module=Module5 Module=Module6 BaseClass=matriximportform BaseClass=pointmakerform Module=Module9 BaseClass=controlpanelform Module=Module10 Module=Module11 BaseClass=helpform BPROJECTwmcPROJECT(fo*-i23 n``^^CompObj,.aVBFramebfoo/2J i04 n``^^i4213 n``^^CompObj4aVBFramelfo57.CompObj8acontrolpanelform"#":^"`helpform '6^^importtodatamodel$0^^exportform(+^^VBA)n.^P_flodialogfrm%$L^09!`matriximportform"&F^0uapointmakerform@^0uaaseClass=importtodatamodel Module=Module3 BaseClass=exportform Module=Module7 Module=Module8 Name="Project" HelpContextID="0" VersionCompatible32="393222000" CMG="B0B24CAA50AA50AA50AA50" DPB="F8FA04F705F705F7" GC="4042BC3FBD3FBDC0" [Host Extender Info] &H00000001={3832D640-CF90-11CF-8E43-00A0C911005A};VBE;&H00000000 &H00000002={EAB38D5E-26DC-11D2-98C0-00104B24170B};APC\esriFramework;&H00000000 [Workspace] ThisDocument=88, 116, 761, 602, C Module1=172, 95, 845, 581, flodialogfrm=67, 33, 740, 519, C, 105, 116, 778, 602, C Module2=104, 112, 777, 598, Module4=44, 58, 717, 544, Module5=66, 87, 739, 573, Module6=109, 137, 968, 623, matriximportform=299, 48, 972, 534, C, 129, 50, 802, 536, C pointmakerform=141, 352, 814, 838, C, 72, 164, 745, 650, C Module9=204, 53, 984, 617, C controlpanelform=342, 181, 986, 667, C, 360, 33, 1033, 519, C Module10=49, 202, 693, 688, Module11=10, 8, 805, 649, helpform=44, 58, 565, 544, C, 314, 105, 835, 591, C importtodatamodel=22, 29, 543, 515, C, 338, 199, 859, 685, C Module3=29, 20, 896, 506, exportform=110, 145, 753, 631, C, 60, 35, 703, 521, C Module7=110, 145, 753, 631, Module8=0, 0, 411, 381, Z 0, 411, 381, C C C ThisDocumentThisDocumentModule1Module1flodialogfrmflodialogfrmModule2Module2Module4Module4Module5Module5Module6Module6matriximportformmatriximportformpointmakerformpointmakerformModule9Module9coData Interoperability,Tracking Environment*Tracking Analyst" SurveyAnalyst_ArcMapExtension<ntrolpanelformcontrolpanelformModule10Module10Module11Module11helpformhelpformimporttodatamodelimporttodatamodelModule3Module3exportformexportformModule7Module7Module8Module8rtformModule7Modu6@dule8,@rU~~~~~~~~~~~__SRP_1Q Project Item Data$jkH Control List Data$T~fT~fReqControl List Data*T~fT~fReqControl List Data* Control_Data_CurVer( 00000000T~fT~fControl List Data$(J8O__SRP_6D__SRP_7__SRP_1am.h__SRP_1b*ThisDocumentb]< __SRP_2oh__SRP_3SkR Module1fW99     !"#$%&'()*+,-./012345678:;<=>?@ABDEFGHIJKLMNOPQRSTUVWXZ[\]^_`abcdefghijklmnopqrstuvwyz{|}flodialogfrmYModule2aJzModule10[ZCModule4UXjModule8_VBA_PROJECTn{ndirbk__SRP_0hBO?matriximportform"P`tpointmakerforme_fModule9dgcontrolpanelform" Oimporttodatamodel$KModule3MexportformT0Module7Y^Y__SRP_18\|__SRP_19t__SRP_10Rl> __SRP_11VBFrameVf#o9;}'i11< n``^"`ESRI Object Editor&B__SRP_15__SRP_4__SRP_5gi08JMt n``^09!`i15Nq n``^09!`CompObjO~aVBFramexR__SRP_a __SRP_b__SRP_e__SRP_fV Module5c4Module6DModule11Hhelpform     !"#$%&'()+,-/123456789:;<=>?@ABCDEFGHIJLMNOPQRSTUVWXYZ[\]_`a cdefghijylmnfpqrstuvwxz{|}~M&0* pHdProjectQ(@= l H;I J< rstd ole>stdole h%^*\G{0002`0430-C 0046}#2.0#0#C:\WINDOWS\system32\e2.tlb#OLE Automation`ENorma lENCrmaFS*\C/Documents and Settings\Alan\@Applic- Data\ESRI\ArcMap\Templates\5.mxtbV+..\,:I !0esriB>sriDAcM9p5\@u\AA603763-259A-11D3 -9F4A\C04F6BC621}#1\gra`m Fil7GIS\com\G,.o@_C C" Ob LibraLryV BIDE>B.VBIDE' a E157€5.3'@Common+Microsoft Shared\(VBA6E6EXT.OLB#G Visual Basic for |s Extensibilixty +aSaSydtma5E1F7BC3-67C5-4AEE-8EC6-C4B73AAC42EDaC?aara7UIh>eF Uq3 a8a34ECCA6E2-B16BCA-BD17-E74CAE4C150AcGUIGeometryU G`,oze`r. *094C2-FF32-4FA1-ABCB-7820F8D6FB68% +tDis[.DusTpa`w`-59FCCD31-434C-40 -BDEF-DBDEDC9CE0t@D@bas]`-Dt`b`s 0 `0475BDB1-E5B.__SRP_16 __SRP_17__SRP_8b __SRP_9^CA2-9127-1683E70C2. /Aa/@Sou@rcesRarX>*A0aFaSuBbRաwrw`!8F0541A3-D5BE-4B3F-A8D9-062D5579E19B?$3Mh4M"OleDB>( =KO'epXB E2822F-C3A FA9P?9B-3512C98F97F/brbAr p P(i>&OGF60 1CE6AC6W3F@529-8FC0-D7ED298E4F1L A  XP G$Wq Gd0 4A}13-87}484D-AF82-0802947}7o    p p OB0JECT~ՉOuPtputkqO@ t%@Ou@7 ى7DB92CEC-C"B20A 37@-FCD07(D431߉߉ig _PQORtributed>4OO\tCibeP CA7C74158-1B-4664P04-8694D490`ϗ   PCarXto>3)CPPrՀoB}`s0&R548FhE@488 3PB7D88F bo ő LVoӸkL\c t1P?on 6B45C696-3C04268-A@58B-D9`D83Co[W  5LNetworkAnaly(sis;LN@ttwP rkPn jls s 9L9 D1302$C7 5F-41892A-692B073E1` L G  Pa0's ?13Asq3 X%$5C54042B-B#-$YC40-2D89C19 1$1Tw K/ ! 3D 2A 3V 1W{ 639FE29JCCrWAC1D>5FE50915B5* V P`StPstic,alAnalyst>2esriGHoStaU iTtTc4lPAnyT n*\G{0628CA67-C14B-4A0C-A5BE@-6265C858E8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatistic.olb#ESRI  Object LibraryRSpO$c1ySpksa5rr62922975-992A-4C4F-BD20-F7F7113A92|99%rHn kHDatabaseUI>" jDlabsUI 44A9C9ED71Dn614-B480@oDn961FC(n# lT4 #A4C3log> 2CD1lojg/w/ADC7DE29-DC0/48E-BBF6-27E4E34CF2E/G., ,A`R-C^A{A.C0FC1503-7E6F-11D2-AABF-00C04FA`375F1e^*UI.UI^\rtoa-.ro).D92377DC-FAB1-4DFB-A4C1-61BD8C400DBEBC}Cat+ ISourcesRaster.d/^S Fuc`_sR`t`r`!|18F0F4190-51B81D-B598-84945667024_Dg%LDispXlay)LD@s5ly$)L01 6DF9D!L81$L2D1 L00F8774FB5?5#5F 25@Output!D4OuLpLA!1AE064D40-D6CEA0-867AE51720_C'%Map AIM`.pd. 40499F24H-59z45zCE1-A25190017w%$.&> . Pa>ED18C8Q0E020Fn8745-B6A5D0C6952/>||   PUEdit`or>#ETd/t=r` u0 4C896230-7F1BA3/8509#B9C6G  RefeprencByCyRHfBHeIH;a 31996E-D0E736/87295B15Bo o a  o {o b PALoc on01ݔL0o :}0 0SForms3$*\G{0D452EE1-E08F-101A-8 -02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft u 2 /;1x- 0}#0x#30 0AA31D304-6867-4F2B-B338FC4B@4C7089mDOCUME~1\Alan\LOCALSTemp \VBE\.exd vA.E .@`M  S_Wi@ndows_( yte_Win*dw _ @ ;215D64D2-031C-33C7-96E3-61794CD1EE61}#1.aqFm.NET\Framework\v1.1.4322*\*.*.*.tlb#dll$ @UICONTROLS>ICONTRULL9bj*77E512AB-FD7D-1159F44@C04F6BC61A3Prog@. Files\ArcGIS\Bin\ont rols.&#EpSRI 80894983C94E-13 35@9AF6D-q02228244D1YAPC\esriG8g/V@w}D@Ok`" ThisDocumentHG!h 7sDDScuVeUt<2` H1`",A"+codule1Gdo eul`gn12Bb-!!flodialoghfrm#!fiDa"gfB"'#!o-!}#!!2!J2!2!2o2_!`!5M,0G`%MAdA00i2ro@k<4/4*4/40 W/%5555,9mT4ߵ66Z6E_6_6[@6a6911m: helpfP%h=lp55=%D5*matriximPport 0.mEp>t>ixPm;0  t 2 XV0 RNpointmaker p09Et0Zakpr [@_W_ V] 8!_ [9,*9,9,9$?F$cpanelcTno[pn&fp 7}1&'todatamodehlGir` t` d)aPahe` 2 =3r U3333=c exw:ae9e2m??97?7:7?7HE?b;0x8_8Z8_"8_ _Yq5Mam  -*\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{866AE5D3-530C-11D2-A2BD-0000F8774FB5}#1.0#0#C:\Program Files\ArcGIS\com\esriFramework.olb#ESRI Framework Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation*\CC:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxt*\C..\..\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxt:I*\G{AA603763-259A-11D3-9F4A-00C04F6BC621}#1.0#0#C:\Program Files\ArcGIS\com\esriArcMap.olb#ESRI ArcMap Object LibraryZ*\G{0002E157-0000-0000-C000-000000000046}#5.3#0#C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB#Microsoft Visual Basic for Applications Extensibility 5.3*\G{5E1F7BC3-67C5-4AEE-8EC6-C4B73AAC42ED}#1.0#0#C:\Program Files\ArcGIS\com\esriSystem.olb#ESRI System Object Library*\G{4ECCA6E2-B16B-4ACA-BD17-E74CAE4C150A}#1.0#0#C:\Program Files\ArcGIS\com\esriSystemUI.olb#ESRI SystemUI Object Library*\G{C4B094C2-FF32-4FA1-ABCB-7820F8D6FB68}#1.0#0#C:\Program Files\ArcGIS\com\esriGeometry.olb#ESRI Geometry Object Library*\G{59FCCD31-434C-4017-BDEF-DB4B7EDC9CE0}#1.0#0#C:\Program Files\ArcGIS\com\esriDisplay.olb#ESRI Display Object Library*\G{0475BDB1-E5B2-4CA2-9127-B4B1683E70C2}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabase.olb#ESRI GeoDatabase Object Library*\G{8F0541A3-D5BE-4B3F-A8D9-062D5579E19B}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesRaster.olb#ESRI DataSourcesRaster Object Library*\G{04E2822F-C3AE-4FA9-B19B-3512C98F97FB}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesOleDB.olb#ESRI DataSourcesOleDB Object Library*\G{1CE6AC65-43F5-4529-8FC0-D7ED298E4F1A}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesFile.olb#ESRI DataSourcesFile Object Library *\G{4A037613-879A-484D-AF82-0802947C627B}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesGDB.olb#ESRI DataSourcesGDB OBJECT Library*\G{7DB92CEC-CB65-420A-8737-FCD0722FD436}#1.0#0#C:\Program Files\ArcGIS\com\esriOutput.olb#ESRI Output Object Library**\G{A7C74158-1062-4664-B404-8694D490FCD1}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributed.olb#ESRI GeoDatabaseDistributed Object Library*\G{45AC68FF-DEFF-4884-B3A9-7D882EDCAEF1}#1.0#0#C:\Program Files\ArcGIS\com\esriCarto.olb#ESRI Carto Object Library*\G{6B45C696-3C30-4268-A58B-D9F32D80023C}#1.0#0#C:\Program Files\ArcGIS\com\esriLocation.olb#ESRI Location Object Library*\G{9D130258-C75F-41EF-892A-692B073E1AAC}#1.0#0#C:\Program Files\ArcGIS\com\esriNetworkAnalysis.olb#ESRI NetworkAnalysis Object Library*\G{5C54042B-B2ED-4889-8C40-2D89C19DB41D}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoAnalyst.olb#ESRI GeoAnalyst Object Library*\G{639FE90A-CC9A-48C6-AC1D-105FE50915B5}#1.0#0#C:\Program Files\ArcGIS\com\esri3DAnalyst.olb#ESRI 3DAnalyst Object Library&*\G{0628CA67-C14B-4A0C-A5BE-6265C06258E8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalyst.olb#ESRI GeoStatisticalAnalyst Object Library *\G{62922975-992A-4C4F-BD20-F7F7113A9299}#1.0#0#C:\Program Files\ArcGIS\com\esriSpatialAnalyst.olb#ESRI SpatialAnalyst Object Library*\G{4A9C9ED7-F7DB-4614-B480-A5D265C961FC}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseUI.olb#ESRI GeoDatabaseUI Object Library*\G{ADC7DE29-DC0B-448E-BBF6-27E4E34CF2EC}#1.0#0#C:\Program Files\ArcGIS\com\esriCatalog.olb#ESRI Catalog Object Library*\G{C0FC1503-7E6F-11D2-AABF-00C04FA375F1}#1.0#0#C:\Program Files\ArcGIS\com\esriCatalogUI.olb#ESRI CatalogUI Object Library*\G{D92377DC-FAB1-4DFB-A4C1-61BD8C40DBEB}#1.0#0#C:\Program Files\ArcGIS\com\esriCartoUI.olb#ESRI CartoUI Object Library*\G{8F0F4190-51B8-4D1D-B598-849456670248}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesRasterUI.olb#ESRI DataSourcesRasterUI Object Library*\G{016DF9D3-7E81-11D2-A2D1-0000F8774FB5}#1.0#0#C:\Program Files\ArcGIS\com\esriDisplayUI.olb#ESRI DisplayUI Object Library*\G{AE064D40-D6CE-11D0-867A-0000F8751720}#1.0#0#C:\Program Files\ArcGIS\com\esriOutputUI.olb#ESRI OutputUI Object Library*\G{40499F24-596F-45D2-ACE1-A251E2990017}#1.0#0#C:\Program Files\ArcGIS\com\esriArcMapUI.olb#ESRI ArcMapUI Object Library*\G{ED18C81D-E028-4F2A-8745-B6A5D0C6952B}#1.0#0#C:\Program Files\ArcGIS\com\esriArcCatalogUI.olb#ESRI ArcCatalogUI Object Library*\G{4C896230-7F1A-11D2-8509-0000F875B9C6}#1.0#0#C:\Program Files\ArcGIS\com\esriEditor.olb#ESRI Editor Object Library *\G{31FB596E-D0E8-4736-864F-87295B15B736}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoReferenceUI.olb#ESRI GeoReferenceUI Object Library*\G{E06BEA6B-FF83-11D3-9F79-00C04F8ED1C4}#1.0#0#C:\Program Files\ArcGIS\com\esriLocationUI.olb#ESRI Locati onUI Object Library2*\G{90F28035-50D8-41A8-9B1C-8D14EE115EA8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributedUI.olb#ESRI GeoDatabaseDistributedUI Object Library*\G{52AE85C8-0A79-490E-A5E0-EAE86D8ACA6B}#1.0#0#C:\Program Files\ArcGIS\com\esriEditorExt.olb#ESRI EditorExt Object Library*\G{85A385F8-E07F-43B8-8BC2-E3593B9FC3F3}#1.0#0#C:\Program Files\ArcGIS\com\esriArcScan.olb#ESRI ArcScan Object Library*\G{D5FB57C1-ACDB-11D2-9F3A-00C04F8ED1D7}#1.0#0#C:\Program Files\ArcGIS\com\esriSpatialAnalystUI.olb#ESRI SpatialAnalystUI Object Library.*\G{E3AB636F-179C-41AE-AD09-AE965A79CCC1}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalystUI.olb#ESRI GeoStatisticalAnalystUI Object Library*\G{C031A050-82C6-4F8F-8836-5692631CFFE6}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoprocessing.olb#ESRI Geoprocessing Object Library*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{AA31D304-6867-4F2B-B338-68FC4B4C7089}#2.0#0#C:\DOCUME~1\Alan\LOCALS~1\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M *\G{215D64D2-031C-33C7-96E3-61794CD1EE61}#1.a#0#C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.tlb#System.Windows.Forms.dll*\G{77E512AB-FD7D-11D2-9F44-00C04F6BC61A}#1.0#0#C:\Program Files\ArcGIS\Bin\UIControls.dll#ESRI UIControls*\G{4983C94E-1335-4FD2-AF6D-4D20222824D4}#1.0#0#C:\DOCUME~1\Alan\LOCALS~1\Temp\APC\esriFramework\UICONTROLSLib.exd#ESRI UIControlsw}DOk  H;I  ThisDocument0F49ef3d5ceThisDocumentA`Module10Q49ef3eb1pModule1B- flodialogfrm0M49ef3e71Mflodialogfrm} H80 Module20O49ef3e87dModule2`H_Module100G49ef3d8f|Module108`Module40J49ef3dac~Module4%x WModule50849ef3d5bModule54(Module60L49ef3e62Module66Module110P49ef3e87&Module11: mhelpform0;49ef3d5bGhelpformD matriximportform0U49ef4408 matriximportformx8Xpointmakerform0K49ef3db8 pointmakerform8!8V Module90N49ef3e87rModule9F0  controlpanelform0H49ef3d8fS controlpanelform08"importtodatamodel0@49ef3d5b"importtodatamodelrP=Module30A49ef3d5bModule3ch=exportform0B49ef3d5bexportform=Module70V49ef44f4Module7bEModule80W49ef48c4PModule8  Px0hH8(_ѾKCK'iaj]CG=qz+sʗsCDצv ?Hr:pաZFN&qAّJIxfZo]}W8D U)}I.|"^ AD``lY QNjMG;~k>ٔR'aL%uJ:DKTIsu71@FRgP cKGR@+=fCvCby1Gw~Ql˳϶N/26)LBK>z{`CAn0Y[Name esriFrameworkGVBAWin16~Win32MacVBA6#Project-stdole`Normal esriArcMap|%VBIDEA esriSystem esriSystemUI esriGeometry esriDisplayesriGeoDatabase5esriDataSourcesRasteresriDataSourcesOleDBesriDataSourcesFile`esriDataSourcesGDB-- esriOutputGLesriGeoDatabaseDistributed" esriCarto1 esriLocationesriNetworkAnalysisesriGeoAnalyst| esri3DAnalystesriGeoStatisticalAnalystCesriSpatialAnalyst esriGeoDatabaseUI` esriCatalog` esriCatalogUI, esriCartoUIeesriDataSourcesRasterUI esriDisplayUI esriOutputUIi esriArcMapUIesriArcCatalogUIj esriEditorOesriGeoReferenceUIesriLocationUIesriGeoDatabaseDistributedUI= esriEditorExt esriArcScan' esriSpatialAnalystUIyesriGeoStatisticalAnalystUIKesriGeoprocessingmMSFormsCSystem_Windows_Forms UICONTROLSLibR ThisDocument< _EvaluateFlowToolsButton_Click STARTHERE|qFlowToolsButton_ToolTipFlowToolsButton_Message2Module1bSTART_newflowgdbK pWorkspace IWorkspace~ geodatabasefilename1.InputBox CreateAccessGDBZ pFeatureWS[IFeatureWorkspace{ pFieldsEdit1z IFieldsEditpcreateflowtableȥpTable1ITableW CreateTableJTpRow1IRowq pFieldsEdit2{createimpliedlinktable5pTable2pRow2 pFieldsEdit3|createlinkinputtableHpTable3pRow3 pFieldsEdit4}createlinkoutputtablerpTable4pRow4thenodes IFeatureClass=createWorkspaceFeatureClass] esriFTSimple ParentFolder7@GDBName pAccessWSF]XIWorkspaceFactory pWorkNameDIWorkspaceNameOjpNameZINameAccessWorkspaceFactoryCreateM Application*hWnd/ pFieldsEditnpOIDFldr IFieldEditP- pMagnitudeFldField3Fields7esriFieldTypeOIDLengthYesriFieldTypeDoubleAddFieldU pFlowIDFldb pnodeIDFldf.pimpliedlinkIDFldq featWorkspacefeatTypedesriFeatureTypektgeomTypeesriGeometryTypeϊesriGeometryPointFpFieldsIFieldspCLSIDlUIDpCLSEXT ConfigWord[8EH] IsMissingValueKesriGeometryLineesriGeometryPolylineͶesriFTSimpleJunction.esriFTComplexJunctionMesriFTSimpleEdge#esriFTComplexEdgeSesriFTAnnotation4pGeomDefk IGeometryDef GeometryDef pGeomDefEditc6IGeometryDefEditypSRgISpatialReferenceDUnknownCoordinateSystem* SetDomainSetFalseOriginAndUnits GeometryType̡ GridCountGridSizev AvgNumPoints>HasMQHasZQSpatialReferenceD<pFieldIField) pFieldEditj AliasNameZesriFieldTypeGeometry@% strShapeFld^ja FieldCount>oCreateFeatureClass-MsgBoxRErro Description  vbInformationn flodialogfrm]cmdcancel_Click\Hide9zcontrolpanelform$HShow cmdOK_Click netflowbuttonwdraw_net_flows_from_modelKtwowayflowbuttonrdraw_two_way_flows_from_modelgrossflowbuttondraw_gross_flows_from_model)XModule2c sub_error5Bpmxdoc?V IMxDocument5pTableCollection(IStandaloneTableCollectionFocusMappTableIStandaloneTable layercounter)2 LayerCountpflayerIZ IFeatureLayer counterabcqqqq2Rlayercodeofinterest(Layer layernamebox( pfeatclass! FeatureClass% pFeatureTable intFldIndex FindField objectidboxo0 intShapeIndexshapefieldnameboxM thisisapoint*IPointʔthisistheobjectidnumbertablelengthcountRowCountupFeatureCursor-ICursor&Search pfeatureRow4numberotables1_StandaloneTableCountxsqqqqtablecodefortableofinterestcounterxStandaloneTableflowtablenameboxb^Table rowcounter1,magnitudenamecode; magnitudebox inputnamecode, inputpointbox.outputnamecode'noutputpointboxprowp pTableCursor counterxxx thebiginputpointthebigoutputpoint0anothercounterx`tmylittleinputnodeidmylittleoutputnodeidUmylittlemagnitudevalue&;NextRow58mylittlenodeidentifiers&mylittlepointsEthenodesxvalues0mthenodesyvalues=XoYlletsgetitstarted"mCreateShapefilehgoutputfilename1;pProgressDialogFactoryIProgressDialogFactory5-pProgressDialogRIProgressDialog2pStepProgressorDIStepProgressorz pTrackCancel" ITrackCancel shrtIndex  blnContinueLgquirky CancelTrackerProgressDialogFactoryp CancelEnabledtTitle~ AnimationesriProgressGlobeV$MinRangeMaxRangeYn StepValue{sosoftistheinputxi4sosoftistheinputyf4sosoftistheoutputxsosoftistheoutputy sosoftisthemagnitude3inputpointidentifiernoutputpointidentifier junkbudapestmakethepolylines MessageContinueTNumber-l_X1' l_Y1l_X2( l_Y2maggy inputidentifier\outputidentifier[_ pGeomCollIGeometryCollection_ pSegCollyISegmentCollection37pLineMILinemP pPolyliner IPolyline-kpFeatIFeature_%CreateLnRCreatePtPath2 AddSegmentoPolyline AddGeometry CreateFeature/XShapeStoreQdX]dY\Point PutCoordsB pPointFrom\pPointToSsPathsNamedpFWSDpWorkspaceFactoryqShapefileWorkspaceFactoryp OpenFromFileL,esriFieldTypeInteger8Module10UModule4em_sX1zm_sY1Bzm_sX2zm_sY2Cz m_sAttrib2>interaction_table_import_v073matriximportform6geodatabasebox~ inputnodeIDQpX1FldOpY1Fld outputnodeIDpX2FldMpY2FldD tablenameboxCinputfilenamequery1 pointsfilebox inputfilenameCfreefilenumber' howmanylinestextlineEOFeachlineoftext howmanylines2>howmanypointsarethere9inputinteractionfilenamequery1 matrixnameboxinteractionfilename5 freefilenumber2numberofinteractiontablelinesΙlinesfromtheinteractionfileeachlineofpmxtablemnumberofinteractiontablelines2qwerty-asdfg  heyheyheyZ{ superarraycounteri  subbstring  counterzzz Split)point1point2counter1counter2secretseparationfrommDsecretseparationto,2 CreateRow%Module5fSTART_preprocessing ErrorHandlerOinputfilename11&flowoutputfilename]outputfilename11%objectfs textwriterab CreateObjectCreateTextFile outstandingmoreoutstanding~ willthiswork}* errorcheck1hexternalcounter1externalcounter2 counteraaa countercccߘ counterbbb` writelineeModule6gcreate_point_layerR|pointmakerform# fieldnamecodeS xfieldnamebox}:fieldnamecode1= yfieldnameboxjLfieldnamecode2>pointfieldnameboxF>pointoutputfilebox${wellheregoesnuthinw oldfieldname makethepointspointidentifier  newpointidboxSModule11Vsorter7pleftmagYinputtwoutputtmagg7,inputt2outputt2z`magg2  netmagnitude%yhowmanynetflowshowmanynetflows2sorter2leftmag2 foundaflowcounter3helpform(CommandButton1_Clickfilenamejzowee%ShellV vbNormalFocusCommandButton2_ClickCommandButton3_ClickFA pgxdialogϷ IGxDialog3GxDialogn, ButtonCaptionStartingLocationAllowMultiSelect playerfilesr IEnumGxObjectA DoModalOpeny playerfileQ IGxObjecthFullNameОCommandButton4_ClickVypointoutputfilebox_ChangeModule9jCommandButton10_Clickb pgxfilterIGxObjectFilterZ]GxFilterLayers ObjectFilterpgxlayerIGxLayerAddLayer0CommandButton11_ClickimporttodatamodelXZCommandButton18_Click`CommandButton19_Click CommandButton20_ClickcCommandButton21_Click,CommandButton22_Click<CommandButton8_ClickYxCommandButton9_Clicki exportform Frame1_ClickF Image1_Clicktable_to_flow_model_import'Module3dmagnitudenamebox inputnamebox outputnameboxnewflowgdbnameR ocelotcounter# pAccessWSF11 Q pWorkName11pName11t pWorkspace11}PpOIDFld1q_pMagnitudeFld1pOIDFld2r_ pFlowIDFld26pOIDFld3s_ pnodeIDFld3хpimpliedlinkIDFld3pOIDFld4t_ pnodeIDFld4҅pimpliedlinkIDFld4model_export_to_single_table5Module7h pImpliedTablepLinkinputTablepLinkoutputTableVK pFlowTabletAqqqq1Qqqqq3Sqqqq4Ttablecodeforimpliedtablecodeforlinkinputtablecodeforlinkoutput#tablecodeforflow atestnumber impliedlinkname6 linkinputnamelinkoutputname$flownameeopimpliedfields)plinkinputfieldssplinkoutputfieldse pflowfields therowcounter4impliedcode_a1Eimpliedcode_a2Elinkinputcode_a3linkinputcode_a4linkinputcode_a5linkoutputcode_a6linkoutputcode_a7linkoutputcode_a8 flowcode_a9 flowcode_a10impliedlinkidnamegdimpliedlinkflowidnamel4linkinputidname7linkinputnodeidnamezlinkinputimpliedlinkidname>linkoutputidnamerlinkoutputnodeidnameVlinkoutputimpliedlinkidname/# flowidname5 magnitudenameVS pimpliedrow_3plinkinputrow_3plinkoutputrow_3}d pflowrow_3ZpImpliedCursor_3pLinkinputCursor_36pLinkoutputCursor_3 pFlowCursor_3impliedlinkcontentslinkinputcontentslinkoutputcontents \ flowcontentsml counterxxx_4counter_outsidecounter_inside1Hcounter_inside2Icounter_inside3J ouroutputPnewgeodatabasename'newflowtablenamecounter_writerpinputnodeFld1hpoutputnodeFld1`newinputnodefieldname'newoutputnodefieldnamenewmagnitudefieldnameModule8iFlowToolsButton MxDocument-ClickTooltip[EUserFormNLabel1,Label3,Label4,Label5,Frame1CommandButton1|Label7,Label11ALabel12BCommandButton8CommandButton9Label14DCommandButton114BCommandButton18;BCommandButton19@BDFHJ L!N"P#R$T%V&X'Z(\)^*`+b,e|M.'S 0e1G 4q2s 3}56Qh7 9>AEZ |  /8V@ subbstring  counterzzz Split)point1point2counter1counter2secretseparationfrommDsecretseparationto,2 CreateRow% Module5f(START_preprocessing ErrorHandlerOinputfilename11&flowoutputfilename]outputfilename11%objectfs textwriterab CreateObjectCreateTextFile outstandingmoreoutstand~~~~~~~~~~~S            !6i7 %7# xME P H P P  J Tp L LX P R RP RX R T X D R N D` RP T T RX V DhI* University of California, Santa Barbara, CA 93106. All Rights Reserved.*K* * Neither the name of Alan Glennon, University of California, nor thets Res*D* Redistribution and use in source and binary forms, with or withoutF* * Redistributions of source code must retain the above copyrightPE* notice, this list of conditions and the following disclaimer. thiI* * Redistributions in binary form must reproduce the above copyrightK* notice, this list of conditions and the following disclaimer in theIHL* documentation and/or other materials provided with the distribution. notiL* names of its contributors may be used to endorse or promote products68M* derived from this software without specific prior written permission.trib*>* DISCLAIMED. IN NO EVENT SHALL ALAN GLENNON BE LIABLE FOR ANYD ANK* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIEDVIDED H* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARENCL* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGESight hN* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;ONSEM* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED ANDS ORL* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORTEVER CO* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THISY,>* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OUT* Flow Data Model ToolsM* modification, are permitted provided that the following conditions are met:d thA* Copyright 2004-2008 J. Alan Glennon, Department of Geography,=* THIS SOFTWARE IS PROVIDED BY ALAN GLENNON ``AS IS'' AND ANYpect Attribute VB_Name = "Module8" '* Flow Data Xel ToolsdCopyright 2004-8 J. Alan Glennon, Department of Geography,Univ@ersityCaliforni@a, SansB arbarCA@ 93106]l Rvs Reserved.Kdision and use in sourcebinary mms, w@ith orout% modi ficat", are permitted providthat the$ling cond ismet:Ղ' * NszJcode must retaV+above)$ notice,>is lx%={ LclaimerG HF$  t%`x ~8% X % x$% %`D+|`8ii% X(% x,% 0% %+` ,, %   % @ 8% ` 8% F 8% H 8%8 D%   H;I*\Ra*#3*\Ra*#197$*\Rffff*0V49ef44f4 . 0 "8 @    &H &p &    $ ( &( P p x    6     *  P `  * H  4  X`hp x        H8Xp       ( 0@  HX p x       < 80hp Px (0 HP hp  : H08  P:`  Z  ( 0 *8 h 8x *        ( 0 8  :@ : : $ ( @ X p         ( 0 8 @ H P X p         6 0 8 @ H P p   *  B X *h   l6p0406@6x0602H 2 8       ,( .X *      & & &8 &` & &    $ $ @ $`        .   8 X x @ 8 H 2X , (  (,@ (p  , (  ( 0 6H n      (  $H p x    & & & & &8 &`    &          ( Hh p       0P Xh$p  8H P X ` h       & & & 0 8^@ B  (  " 0@ P ` Bh px             0  @ P  `  p         ! !( code by J. Alan Glennon, UCSB GeographyHf8''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' This part of the code will!'' look for specific tables, with '' specific fields and load themal'' into various arrays.''''''''''0''Get reference to this map and the tables in it]@ d.h]` h!p.l]]]]$'''''''''''''''''''''''''''''''''''''''''''''' find the tables'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents] l!'.'' MsgBox "number of tables " & numberotables1]]0]H]`]x]]]'''']]'B'' go through the tables in table of contents and find their codes     l%.  l%.  l%.  l%. !'  ! '  'k !'  ! '  'k !'  ! '  'kp !'  ! '  'k( 5'' if it can't find all the tables, the program quits  Found /4 of the required tables.A@D|kI'' using the found assignment codes, set the table targets appropriately.  l%.  l%.  l%.  l%.] !!.]( !!.]H !!.]h !!.4'' count the number of rows in the impliedlink tableB'' by the way, the number of rows should be the same in all tables] !%' .There are no implied links in the geodatabase.A@D|XdP  MSomething is terribly wrong with the number of rows in the impliedlink table.A@D|kk$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$'''''''''''''''''''''''''''''''''''']]]]]]]0]H]`]x4'' set up columns (fields), load their index numbers3'' these codes will be used in conjunction with the3'' individual rows that are called to get the exact'' fields/values that we want. ! %' !  %' !  %' ! %' ! %' ! %' ! %' ! %' ! %' ! %']]]]]]0]P]p !%.$ !%.& !%.( !%.* $G|j &G|j (G|j *G|j0'' load all the tables into these various arrays]]]]8  ,  .  0  2$'''''''''''''''''''''''''''''''''''''''''<''''' read the table and assign values to the above arrays'''''$'''''''''''''''''''''''''''''''''''']'4 4  $!. &!. (!.  *!."e''MsgBox ("Row " & counterxxx_4 & " " & "linkinputvalue: " & plinkinputrow_3.Value(linkinputcode_a4))  % 4 +,]'impliedlinkID  % 4 +,]'flowID  % 4 +.] 'linkinputIDoutp  % 4 +.]'nodeID  % 4 +.]'impliedlinkID  % 4 +0] 'linkoutputID<  % 4 +0]'nodeID  % 4 +0]'impliedlinkID  "% 4 +2]'flowID  "% 4 +2] 'magnitudex+For counterxxx_4 = 0 To (therowcounter - 1)commen1 MsgBox (impliedlinkcontents(counterxxx_4, 1))Nextion to''''''''&'' take the stuff from here and aboveows,''' if you want to get the node-to-node, #'' flow model components into someflows) '' arrays'''''''''''''''''''''''''''''''''''''''ny'''''''''''''''''''''''''''''''ue'''''''''''''''''''''''''''''''ut'''''''''''''''''''''''''''''''e '''''''''''''''''''''''''''''''e.'''''''''''''''''''''''''''''''ed'''''''' This part of the code willr do'' look at the contents of the've '' arrays and cull out the'' input,output,and magnitudeount''''''''''](]@]X]p] >( ouroutput rows will be individual flows* the columns are: 0 is inputnodeID 1 is outputnodeID 2 is magnitudeve a: this loop is based on the idea that the number of implied1 links is the number of output rows to be createdA it will search out the corresponding input,output,and magnitudes, from the model. It's basically doing a join2 6  8  6 $, 8 $2 6 8 $2 6 +>k : 2 : 6 $, : $. 0 : $. 6 +>k`X < anynet 6 $, < $0 < $0 6 +>k array contentst / For counter_outside = 0 To (therowcounter - 1)n g MsgBox (ouroutput(counter_outside, 0) & ouroutput(counter_outside, 1) & ouroutput(counter_outside, 2)) i Next''''''''!'' end inputnodeID,outputnodeID,'' and magnitude compilation''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>''''''''''''''''''''''''''''''':'''''''''''''''''''''''''''''''f ''''''''''''''''''''''''''''''''''''''' This part of the code writest '' the output to a tablegg''''''''''''''] Query geodatabase namein Query geodatabase named,] !@'xgnit x*Fo|hk` Create the geodatabase  Create the geodatabase) C:\ x$|.t]  t.~mag2(dcreate the flow tablecreate the flow tableflow]@$.ws)]` !B  ~%.anyn]] D  ) & so !.le D$> ,erim D$> ,'' D$> ,'' B@`'''''''''' end table writingof f'''''''''''''''''''''''''''''''''''''''''''ro'''''''''''''''''''''''''''''''it''''''''''''''''''''''''''''''', |f*Operation Canceled, as a result of Error: F!, (  F!H ) A@DoX"' Basic Geodatabase table creation]@]`]]4.   ! %. . !. .|i] ]( ]H ]h ] <..<.'<.F  <.H@.ObjectID (  (l ( !J F( z F(l F( !L H( z H(l H( !N (  (l (  B@ F B@ H B@  B@ .iAttribute VB_Name = "Module7" ' code by J. Alan Glennon, UCSB Geography Option Explicit$Sub ml_export_to_single_tab0le()84rror GoTo sub_e 'C!$ This part of thewill look faspecific ps, with field s andad'minto @variourrays. yGet reference ŀ"tXmap3XaH in Dim pmxdoc As esriArcMapUI.IMxDocumenr S] =BCTtC`ollecCAMo.IStExit SubgC ' us r fassign1CX, sdžtaHrgeapp pri@ ly`!WII$E W( :-.XõO ?I/Yչ* +ExptQwFRcr+ \ .EcMshoulLd be the same in all tab@les Dim|rowcounter As I gerz:= pImplPiedT. RowC|(Nothing) xIf ]= 0 ThenMsg@Box ("re ano id linksAgeodaapse."c>Exit SubTElse^@<@C!BSomea is ribly wrong withg numbof O?YY RTnd If\'!.fi(Mappropri atm fields/columnCV)>code_a1L@L$2MinputC3^4^5Sout*678flB910Kp set up h (l), lHoadir@dexĢpse@8des@}@usedhconjunctionYEividualZthatrcato gAJe0xact'Iva luwe want.C$)#.F`FR(exportform.DbCdn d~sCE2 3i O@ f9 4o! nhY 5_ d(F )kb߽n#47? t2 8 HG uJ@z.magn`itudeZIp@_Ih!nkB#%5  HD~CursordHLyoă ayF@ScSG?.Search, TrueCR pFsS S_ zR :PScPnIs  [/?5OMZ 0o?3 m0ihova riousjrayp'(?otents()Oy1B,O#D_W@nV p#SRe  9- 1,< 1 /  2 (2 _ &O'3-rec aassign 5o abovA7 s!xxx_2u\For= 1 T" {3 ?j_?,X.Next`VF ppZp^<7 oU1 V< " && A" ":in.V(3w4)]Q>s(j5|0))$|)30''tIDh&A;r_a:''itEO# bѵ.Value(linkinputcode_a3) ''ID  Lnten@ts(courxxx_4 - 1, 1) = pRrow_3B4knode-f2%&f5fimed moutej07 k 68 .6 676scoiP8ÂTPflowN 2 K9E''ANC 3CM 1!magn itudeùNext A'For = 0 To (the!) 'MsgBox (JFǁ '''@ take  stuff from e and abov@- if you want to gehe a-to-B  AH model!mpony i"nsom arraysb`W??D0 %z? " This part of/ will" look ac,%%=?2e(:5>IOIDFldc9a$4MagnitHude6in`no8ÑU$&:$K  D C@1!J#a(p$.8"ObjectID" fType`esri"(Length`8 E Ffҁ Ipk20""Sgi,{;mEPiQDou`@&K ~.Add _Tod* s),>#ɉq]B1]]]]0]H]`]x4'' set up columns (fields), load their index numbersL7xME(SPSSS0{2ACF6153-115B-47ED-B545-DBFE7219A24D}{31395BC6-215A-4075-8338-728333DA47B9} @ % %@@H;I  "  (8 "@ H XhxxA@ B@P RB@To@@ B@PR RB@TojAttribute VB_Name = "exportform"D Bas0{2ACF6153-115B-47ED-B545-DBFE7219A24D}{31395BC6-215A-4075-8338-72 3DA47B9} dGlobaBlSpacoFalse Cre atablPr@edeclaIdTru BE se0TemplateDerivCustomizD Option 1licit P#' Sub CommandButton18_C@k() m odel__to_single_v.Hidkcontro@lpanel.Show En6d9@9K ''''' RB@T''''''L7rxME  =cxMEH$(08<D @<<<<<<<<v< < <<<,<<4 < <<@(H `p   <(  (  @H  .`  . J *0 ` 8p  * :(0HPhp    N 08 @HP X`h p  *  8  *( Xp  0  P  p         8 X x  N  *  B ` h 2p       4    ( H h  p          0 P  X h $p  " "   ,@ H h *    (8*@p x  & V 8 H X h x  ,       L( (x  h x "   *  &Px    "(H ` p  "  0 8 H X h x          ^  x B  (  "  ( 8 B@ HPX  ` p            0 B8 @HP  X h  x          0 B8 @HPX  ` p           0 @ P`p    B          ( 8 P ` p       ( code by J. Alan Glennon, UCSB GeographyHf8L'' this code allows you to specify a standalone table and obtain information'' from a specified field0''Get reference to this map and the tables in it]@ d.h]` h!p.lP''Set the table into which the values will be saved to the only table in the map]$''''''''''''''''''''''''''''''''''''FB@T'''''8''''' find the table'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents] l!'.'' MsgBox "number of tables " & numberotables1]]']8'' specify the table you want to find in the if...qqqq =     l%.r r!'  ! 'kh`6'' if it can't find the right table, the program quits Hey, I can't find that tableA@D|k  l%.r] r!!.('' count the number of rows in the table]  r!%'''' debugging messagebox for rowcounter1D'' MsgBox ("There are this many rows in the table : " & rowcounter1)$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$''''''''''''''''''''''''''''''''''''4'' set up columns (fields), load their index numbers]8 ! %']P ! %']h ! %''' set up row cursor]] r!%.G'' the cursor starts on the first row... under the fieldnamecode column G|j]']]]]0]h]   0$'''''''''''''''''''''''''''''''''''''''''2''''' read the table and assign values to arrays'''''$''''''''''''''''''''''''''''''''''''   !.'' MsgBox ("Row " & counterxxx & " " & "input: " & prow.Value(inputnamecode) & ", output: " & prow.Value(outputnamecode) & ", mag: " & prow.Value(magnitudenamecode))  %  +  %  +  %  +h''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''G this takes a table in the table of contents with possesses the fields:# inputnodeID outputnodeID magnitude; and parses its various components into the Flow Data Model, you'll need to have your own nodes already!- this part creates the new geodatabase tables]8 Query geodatabase name Query geodatabase name]X !'x x|hk` Create the geodatabase Create the geodatabaseC:\ x$|.t]p t.~create the flow tablecreate the flow table]$.]flow  ~%.]create the impliedlink tablecreate the impliedlink table]$.] impliedlink  ~%.]0create the linkinput tablecreate the linkinput table]P$.]p linkinput  ~%.]create the linkinput tablecreate the linkinput table]$.] linkoutput  ~%.]create node featurescreate node features '''Dim thenodes As IFeatureClassO'''Set thenodes = createWorkspaceFeatureClass(pFeatureWS, "node", esriFTSimple)''''''''''''''''''&''' Write values to the various tables''''''''''''''''''F'''rowcounter1 is the number of rows; also the number of flows to draw!For counterxxx = 1 To rowcounter1 MsgBox ("row " & (counterxxx) & ", input: " & mylittleinputnodeid(counterxxx - 1) & " , output: " & mylittleoutputnodeid(counterxxx - 1) & " , mag: " & mylittlemagnitudevalue(counterxxx - 1))Next]  '' table 1 is the flow table'' value(1) is magnitude !.  $ , B@`$'' table 2 is the implied link table'' value 1 is the flow id value !.  , B@`'' table 3 is linkinput'' value(1) is nodeID'' value(2) is impliedlinkID !.  $ ,  , B@`'' table 4 is linkoutput'' value(1) is nodeID'' value(2) is impliedlinkID !.  $ ,  , B@` '''''''''''''''''''''''''''''''''''''''| f *Operation Canceled, as a result of Error: F!, (  F!H ) A@Do ("' Basic Geodatabase table creation]]]]8.   ! %. . !. .|i0]x]]@.@.D.flowID (  (l ( magnitude (  (l (  B@  B@ .i] ]@]`@.@.D. impliedlinkID (  (l (flowID (  (l (  B@  B@ .i]]]](@.@.@.D. linkinputID (  (l (nodeID (  (l ( impliedlinkID (  (l (  B@  B@  B@ .ihH]]]]@.@.@.D. linkoutputID (  (l (nodeID (  (l ( impliedlinkID (  (l (  B@  B@  B@ .iŶAttribute VB_Name = "Module3"   2 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklnopqrsuvwxyz{|}~ ' code by J. Alan Glennon, UCSB Geography Option Explicit$ Sub table_to_flow_ml_impoPrt()% O8rror GoTo sub_e '' thisalHs you t,pecify a standal(ones  obtain in`formaNfrom3ied@ field8 '''Get referencE*oBmap-tjh4s/ yWDim pmxdoc As esriArcMapUI.IMxDocumenS/q= Tp %TCollec*Carto.ISza0 =O.F#s&a@< 55@Xwhich@>e values will be savN@ only][AI!1ED/@  C@# @Wfind-B F Countsnumber ofN‚?BAcont@|.sC CCoBs1EIger{kLp.N}&3 MsgBox " C " & o !qSnghbo+tbstyP= -1 c*erxNacsD|ç*awant arnAxmanyN:E/> ?ap(priaS{s/column)c9e9^syup (bs), loadirPqdexT4Qmagniptude1toD l.7G $ cpursoDqw90.WDZChgBSF]4;Search2, True3' '~r0㐮Afirp `g und cv)S Is d:_YO1@xx_r?mSbic>poirI~P=Op$anDer"劧mylittleC$odeid()0e4 Du/Dou U;ReypD h;On.K m5 įGS3`reHas0signearrayoP mSy'= 1Hc 67.!v: ("bU%@&"2d?.Va(šU)", c8F? %(* q)Q? deD (L 1 X   Next SP ' 6 h' this takes able in eof contents with possefields:&inputnodeID outmag@nitudea@nd par$ i,variouBs4mpon5into0Flow Data M,l  you'll need !have r 0own Bhlready!| 0Dt c"t@Athew geod@basBsIDim pWorkspace As IFB@ QueryJnG4 sub_errorpMOperation CanAed, a׀result NEr2N.NcU&(FDescrLip) Ѡ > 3R'PrivaaFuncG#BParFXold^S",b кNam2#)L' Basic G] qQpWSF1srac Dy baq]1$X= New or kspaceFactory Set pWorkName11 = pAccessWSF11.Create(ParentFolde@r, GDBZ, Nothing, Application.hWnd)st).Open ?ypC2 End Fu ncuPriv cflowtable() As IFieldsEditDim p 1OIDFld Magnit8udev= New 7 W Ns^p,. "vID" B Type exsri$@ HLength8{J$mE9QD""""t@kA08filter8Obj}@ F :D :CL`ayers L.9 ClesB Enu8mGxCC GHDoModalOpen 0, @ 4Sl%G .Next If Is Noth@f ThenCEbkA)a) "#c!"gx#= GmxdocBMxDocume.nC=isOp.B"AT.!eIfe aãaShow kYkltXkimporzdWmodel.  78+xhelp_9K!2maxj2) pointmaker k 2K 5floCzxfrm,,4#new wgdbJcL5ert FrH,V?Image!qSnghbo+tbstyP= -1 c*erxNacsD|ç*awant arnAxmanyT (x&FxME<x@HPTX\l p h|`,4) ) ) ( |8 (  8 ( ( ( ( $( (( ( 08( >( B8 DF J( LNTXf( ( v( d 4( t ( > L   LL"  "<<<<<<<<< Hj,n I,tct Z `Dk hxX% ltx% rlmati%`vhifie z`refe %`~\bles`X`@T 8%  X%` `` %`~` x t% p %`n`h`f`d \$%`@Z``T`P`L H % xD8%`> 8p% 4%`2  , x( layer o $Pp%''''''''8X ( e field  *8` L! @h`,`.@''`0d Sh`2!`48`6 no `8`:A@D`<  >h]x @''''''''`X fi`P''`B ''''`DH'''' Hnts andalone xents@'% 0  XX@`%   % @ (%  ` ,% H 0% ( 4%`` ` ``%`|`t`(l` d` ``"\`$h Z +& `k &&)   %i.8 8i0X i28 x i4 i6  i8$ i:( <X t @% @x p0 on, D% D lP H% H hp llowL% Ld e taP%+R `tk  =ib  d thidd.%+P `pk` B)j y ta%)l ''''%H%+`4k 8OOHin ''''ip% r tXeatud% tpx'vh% hthis$% dter)p% 2`x% 6\ou w|% X2 =% T8h al% @ 0    < 8 (+H p x    !  .  . . J8 * 8 * :@  <  <  <     /  N( x         " " "   % @   BP   $-p$-$,$-$-"8  X ` h p x     (     6 (0 48px    % "  (0 8X`x   0 2   ,8 ,h ( * ,  8 ,@ Bp F H FH 2     *(   X h x   < 08 @ <P  @8Ph   .    J JX     : < @P 00h  00        0 *@  p      (   * \( 0 b  80 :h : "     ( 0 8 @   LH *       D  !!0!H!` x&6 ( :0 07p 07  \ P8! D! 4! " "    ^" ^@# ## # 0#&A$ ^8$ ^$  ^$ ^X% % "% % & && &(&0&8&@&  0H& x& & & )& .& ' ' 8' X'h' .p' ' ' ' ' ' ' ( ^( ^p(   ^( ^0) ) ^) * * *(*0*8*@*H*P*X*  4`*  ** .0**+8+ X+  .0`++++ +  +,  B,  H`, ,,*",  -  $-- .  . 0.@. (P.   x. . . ^. ^/  *`/ B/ >/ <0 DX0 B0 @0 B(1 Bp1 1 1^~1 (2  B 02 ^82 ^2 2 Z3 h3x33   43(;3 4#4  4#04@4 P4  >`4444 4 4 5  5 5 ^05 ^5   5B 5 66(6 B 06 86H6`6 B (h6  >666 6!6  (70787 @7 P7 `7h7  p7 D7 7 7 7 8  8(8 08 @8 P8X8 `8p8x88 &8 8 8 88 8999 ((9 P9 `9 p9x9 9999 $9 9 9 :: :(:0:8:  H: Vh::6A: + ;;  ;( code by J. Alan Glennon, UCSB GeographyTHf8L'' this code allows you to specify a standalone table and obtain information'' from a specified field0''Get reference to this map and the tables in it]@ d.h]` h!p.lP''Set the table into which the values will be saved to the only table in the map]$'''''''''''''''''''''''''''''''''''''''''''''' find the layer'''''$''''''''''''''''''''''''''''''''''''"'' let's look at the feature layer] h!p!x'v:'' MsgBox ("there are this many layers : " & layercounter)]]]]9'' specify the table you want to find in the if...qqqq2 =A'' This will go through all the layers and find its index number. ~ v  ~ h!p%.z z!'  L! ~' "'' MsgBox ("looks like it worked")k,'' now, set pflayer to the layer of interest  h!p%.z$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''']  z!.$'''''''''''''''''''''''''''''''''''' '' Find the field named OBJECTID]@]` . L! %' There must be a field named L! in the layerA@D|XkP'' Find the field named Shape]x L! %' There is no field named L! in the layerA@D|k]]] %'] %.]$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''''''''''''' find the table'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents]  l!'.'' MsgBox "number of tables " & numberotables1]8]P']h8'' specify the table you want to find in the if...qqqq =     l%.r r!'  L! 'k6'' if it can't find the right table, the program quits Hey, I can't find that tableA@D|k  l%.r] r!!.('' count the number of rows in the table] r!%'''' debugging messagebox for rowcounter1D'' MsgBox ("There are this many rows in the table : " & rowcounter1)$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$''''''''''''''''''''''''''''''''''''4'' set up columns (fields), load their index numbers] L! %'] L! %'] L! %''' set up row cursor]]  r!%.G'' the cursor starts on the first row... under the fieldnamecode column G|j]@']X]x]]]]  x  ]]  (` *<'' goes through the table...assigns values to various arrays   !.'' MsgBox ("Row " & counterxxx & " " & "input: " & prow.Value(inputnamecode) & ", output: " & prow.Value(outputnamecode) & ", mag: " & prow.Value(magnitudenamecode))  %  +  %  +  %  +  %  +(  %  +(  %  +*''''''''''''''''"'' Let's Calculate Net Flow!''''''''0 primary values (inputnodeID, outputnodeId, mag)]]]. similar values for comparison inside the loop]]]]]0':]H'<]`]  > @'' experiments with net flow]]0]H'B   'B $(', $('. $*'0 , .)' Uncomment the next lines if you want to+' include flows from a location to the same' location as a net flow.&' sorter2(howmanynetflows, 0) = inputt&'sorter2(howmanynetflows, 1) = outputt!'leftmag2(howmanynetflows) = magg$' add one to the number of net flows&'howmanynetflows = howmanynetflows + 1'foundaflow = Trued & if it goes here --- inputt <> outputt< it gets a little more complicated, but stay with me here...? you don't want to get redundant net flows, so you need to onlyA search farther down the array, not to areas where you've already@ found corresponding opposing flows... thus, you use counter1 as+ part of the next for loop instead of zero.     $('2 $('4 $*'6 #MsgBox (inputt2 & outputt2 & magg2) , 2 , 4 2 . we have a hit 0 65save the original input/output with a new mag of zero , :+> . :+> :+@'Bk 0 6 5save the original input/out with newmag of magg-magg2 , :+> . :+> 0 6 :+@'Bk 0 6 : save the new inputt2/outputt2 with new magg of magg2-magg 2 :+> 4 :+> 6 0 :+@'Bkp B : ':'howmanynetflows2 = howmanynetflows2 + 1kkkkD we need to look at times when both a return flow has not been foundD AND the row has not already been analyzed/written into the solution already]`3if either iteration of the proposed flow is already5in the solution, then do not write it to the solution B D : D$> , D$> .'BkX D$> . D$> ,'Bk B , :+> . :+> 0 :+@ # add one to the number of net flows : ':'BkpkhkX! MsgBox (inputt & outputt & magg)(Dim debugger1 As Integer# this debugger yields the net flowsU the first value is the inputnodeid, second: outputnodeid, and third is net magnitude*For debugger1 = 0 To (howmanynetflows - 1)\ MsgBox (sorter2(debugger1, 0) & " " & sorter2(debugger1, 1) & " " & leftmag2(debugger1))Next1MsgBox ("how many net flows: " & howmanynetflows)3MsgBox ("how many net flows2: " & howmanynetflows2)4MsgBox (sorter2(2, 0) & sorter2(2, 1) & leftmag2(2))'' experiments with netflow''''''''''''''F'' rowcounter1 is the number of rows; also the number of flows to draw$'' For counterxxx = 1 To rowcounter1'' MsgBox ("row " & (counterxxx) & ", input: " & mylittleinputnodeid(counterxxx - 1, 1) & " , output: " & mylittleoutputnodeid(counterxxx - 1, 1) & " , mag: " & mylittlemagnitudevalue(counterxxx - 1, 1))'' Next='' This part reads the coordinate values from the point layer]x]]](     '   !.  %'  %  2   +"''MsgBox (thisistheobjectidnumber)3''MsgBox mylittlepoints((anothercounterx - 1), 1).x  $!  +  $!  +(U'' Though I would have preferred to transfer the node coordinates in native format...I'' arcobjects didn't like my array of ipoints to have more than one value='' tablelengthcount is the number of points in the node table-''For anothercounterx = 1 To tablelengthcount''MsgBox ("node: " & mylittlenodeidentifiers(anothercounterx - 1, 1) & " x-value: " & thenodesxvalues((anothercounterx - 1), 1) & " y-value: " & thenodesyvalues((anothercounterx - 1), 1))''NextW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' create the shapefile] 3 July 2008 - RMG)changed path from "C:\" to "C:\temp\flow" C:\temp\flow L!$.W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' set up progress timer'''''']( ]H ]h ] ] ] ] * Use the Progress Dialog Factory to create a Progress Dialog.8.<.  %.( Enable the cancel button on the dialog. (Creating Flow Lines (  Use a built in animation.  ( '' Set up the progress bar on the dialog. . ( : ( ('''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''' the area right here accumulates the inputx, inputy, outputx, outputy, and magnitude''''''] ] ] ]8 ]P ]h ] ] . tablelengthcount is the number of total nodes  :    $  $>  $>'   $'  $'k  $  $>  $>'"  $'  $'k  $@';MsgBox (inputpointidentifier & " " & outputpointidentifier)A pass inputnodex, inputnodey, outputnodex, outputnodey, magnitude& pass these variables to a line drawer        "$&'$MsgBox ("inputx: " & sosoftistheinputx & " inputy: " & sosoftistheinputy & " outputx: " & sosoftistheoutputx & " outputy: " & sosoftistheoutputy & " mag: " & sosoftisthemagnitude)''' progress timer stuff ''''  :d' % (( !*' B@V Gyj!''' end progress timer stuff ''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''# Values from the form: flodialogfrm; output file name --- MsgBox (flodialogfrm.outputfilename1)7 layer of points --- MsgBox (flodialogfrm.layernamebox)5 point ID field --- MsgBox (flodialogfrm.objectidbox)= shape field name --- MsgBox (flodialogfrm.shapefieldnamebox); flow table name --- MsgBox (flodialogfrm.flowtablenamebox): input point field --- MsgBox (flodialogfrm.inputpointbox)< output point field --- MsgBox (flodialogfrm.outputpointbox)< magnitude field name --- MsgBox (flodialogfrm.magnitudebox)|@f8*Operation Canceled, as a result of Error: F!, (  F!H ) A@Do  W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''S''' with a little luck, this section will draw a line and store it in the shapefile''']  ]8 X x . For each row in the Table, create a PolyLine. . 0$R 2 4$R$P.DT.@ D @B@VX.< @ <B@Z !\.L <.H7 Set the Feature's Shape and the specified attributes. H L/^ 8 L, : L, 6 L, LB@`'&''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''i  \.R b d RB@hi  `.P j l PB@hi  S Dont include .shp extension8 Open the folder to contain the shapefile as a workspace]@]`l.t n t%x.r" Set up a simple fields collection]]t. .]] Make the shape field= it will need a geometry definition, with a spatial reference.2 2.6shape 6( : 6(l]] . .  9$=0q  6/ 2 B@ Add inputpoint field as integer.2 2.6 69 inputnode9 z9lq 2 B@! Add outputpoint field as integer.2 2.6 69 outputnode9 z9lqX 2 B@ Add magnitude field as double.2 2.6 69 magnitude9 9lq 2 B@ Create the shapefileO (some parameters apply to geodatabase options and can be defaulted as Nothing)]@ + p  Shape r%B. .iȶAttribute VB_Name = "Module9" ' code by J. Alan Glennon, UCSB Geography Option Explicit$ Sub draw_net_flows_from_ml()H O7rror GoTo sub_e '' tHhisalG you t,pecify a standalone table  obtain informaN3ied@ field8 '''Get referencE*oBmap-tjh4s/ yWDim pmxdoc As esriArcMapUI.IMxDocumenS/q= Tp %TeCollec*Carto.ISza0 =O.FFs&a@< 55@Xwhich@>e values will be savN@ only][AI!1ED/C I$ XfindB.layer   let's look atBfeature H<counterA>LongJc.LA+CGMsgBox l("Vamanys : " &@B`fB"IF,C s!dab"Waq2aStricDdeo-est+ stG`dDwwan'o@o4Fif...] =AcNgapr`ough g;s"r=itqdex number. F(= 0 `(4- 1$&&g&4(' t p.! If (%@di`gfrm.Bnbox)enDJ-=`b6.FU`Vike worked"%(E 0IfNexēAnow, s$!} ofas)$u&@@__fCUpauclassTaC>c`.dfH YF F >d OBJECTID""intFldInˡ]I@ge" %c.1 FQq(Z*obj=hdA*C-{-1+V(Th" mu{ Bca3wKtviq@M"p&>+Exit Pi,3CmkShape30 7Lnd.s5== w^nQRoC/>/?e`isapor'P\ V9(aУgth2SG=Rowq(dNo ng p+Curs^0#0$ @.Search, True0@~Rp%/_gC#C.oVu_ Bs6$ ^VA`coPntsS4os1"!Mw.`nF 4E"s!CS w²Uԏ<xͷ{ xc+ pp"%x$7q "5⍠\wboP/rAx?qoQ- it can'tSA+righpH,.pram qu0Z(?;-fnHey, IkJk$C2Kos1 +SS0pFjields As IF Set p = pTable. `''' count the number of rowsh in*t\Dim4ber1nteger<! RowCn(Nothing)1debugg messagebox for p-MsgB("There a(s many^ : " &$<&> !findappropriat$e  f/columns!= sup( (), loa!irmdexDrAmmagnitudenamecodenLongCn.F@8(flodialogfrm. iqinput pointKout \ curso9{w¿ BC BB 'Search, Tr|ueDV" starts oAtfirstA\... undyazbD1cQ If$(Is r jn Exit Subǣzxxxb)qH= 0Cbi`{6b-PA;m2aner B mylittleNodeid()^An^valueq# DouCRei Ih, 1 J EL0#[ter$le\ft ( ~-@ ! *_goes``roughbaB@^assigns 2@o rious`rayDFJU1 To ud.Nextf~ B͈ v&"@#ѡ.VVBHCa)", C?Ny0^)tD u"}/( FIo dUI 3 g_,R 3 ?G)^0)_"r8-Z A0.,? 7 ' 'O''?Let's Calcu lNFlow!?r mary4("ID)RxId,0q!DBtWV1Lga>P similarcomparis ninsiP!mloop 2utt\"'neM2 how@nboOsBI_2r C&2X#t bEWe/(`4P WLexperimenЅwith  s  / 3fPda1QBoolean h= False XZ11Z 0s( = C1, 0d=obt.1$R*= T6Va77Un0, jnc lin0lif you wao:incls from a cati5oscZloa o.732(\,s s}=  &Wq add`pӳ wn`J + 1 J"QE&Q ' B---0t <>?pt ge02 LmopAKlieQbutqy r4xme  r d0on't Q redP!F,,need to on ly ' search farther down $ array, notareas wBe you'vPe al&d found corresponding opposflows..".]us,E use-unterP1 as p ofnext for loop` instxzPero.5F"c#N2 =YTo (row1 0- 1)inputtsorE(#, 0 o ut +magg*left* )'MsgBox (C& 2& "XIf <>I) Then o-@EF . T ' we ha hit  "4"5 sorigPinal;/C& with a n|ewJW Cy2(howmanynetBA{@&Jt1)@&A!DN!m0[a,T(rue E@If2>M2 '2_1`1;A1<-2722 V:2a2a_332 <3 `๥eb'2Dee?!"44ernU*fh h x-+ 1',N f??Nzg Sane0|kD a@imen bo\retuhrn RMhІbeeaANDB}gs abyzed/writtin`csolutior'Dimu3 As LongY'if e`gi -aA Ċ8pror isY['iӕ, nPr  e i Z+Falk|(3@%0 L! -@(SD3J=) Ad?0nO6$  r  eArD#O  s ,@ o?OiLolq$IR+?QSq]`/4ddPeaA&numb,+ne`Q#P^Fv-˳Y'/ 3S' в '=debuggA =Iư79 yields9'first valu93&nodPeid,Pc: #*Ua3thi8rd p nihtud': = :qlA''EG%":& "&&'#")6'v" ny}:U ?s2O 2Y 24 wR 2q a 1''' exper0dntPd!2p'$ A=T%@Y 1s;\#Doubl:eyRe Sta,length\] g hU8KE9] =anor4 = 0For 1 To  ASet pfeatureRow@pFCCurpsor.G t @is objectidnumberA.VFldIndexD](aL5)l='Shape  Y3;@MsgBox ^( H1.zxI+e*d X' N le4.Y Òc Though I would have preferred t`Rranss in ifor@mat...g a#_Os dO't like array of i BmoreA an onğ ' d @\ d[  jfo&cAaE("a ¹!iddbd&`x-"@aF=AyQ~D^ C?_?.c ?1 c>safiletsgetitstv-eITlass3 July 2008RMGtchang`pathx"C: \"a+temp\flow"Zq.= C2 "Q (, ( dialogfrm.3name1)_<? 4syup@S ogres imՙ]pPrDFactorzy!I3g/g2Ste/+TrackCancelRWshrt}"gɨblnCo nueBooleanquirkc' URs_e   hc>agҒ =w r% 3gѕ. _C 3@D(p , 0= inputx, y, out "and magnitudegDim soso0ftisxW As Doubl8$y$"%%c&YpointidBefierL8ongqGjunkbudapest"Boole an#%' talengthc@ount inumb6 q-rx (-N8ext= left2MW''MsgBoxD (W& " &$.M passCLŲaFc%$n 2se vario a line drawer = Dkepoln gletsget itstard,O;nl'T*h 3"4x:1 !5By3y"#.hc &Bh` progre@Ctimastuff ~4qui,rk3JW/a) * 100'pStepPor.MpageN$%" blnCo qnu1pTrackCancel~.uPONot aK Ex8it k e`TS>? 4 V2m fromn form: dialogf rm' file name --- 1 .q_' lay3mR7s.b$oxd&' B IbDeldo0bjecsh@qPld wAt "oei $Z.VBshJW 5Sub sub_error:VSOperatPion >e@_asdHult ErrU.N C (FDescrip) "! { Priv Fun mahpfe0atclrIF!ureC, pl_X1CYX2@gHĿhW5h)!־=? 0with" luck,Gs;will…R1stoP]inOJ:e !pGeomCoaetryC,` pSegm LюqP$qIp$O2%Eu 'i each r,owR T1, jc t A.Set p1u"CrLn(Pt^(+3+0Y2R2)) Set pSegColl = New 0Pathp.ADddmenLine Geom olyl JpB etry{ MFeatpfclass.Cr eur {Pl1eP ' the $'s Shape and specified attributes. .= p >pValue(2)Jinputid-rb3out4AmaggyS tomakespDLs@'TruT 'QK_OAEyFunction PrivatD Pt(Byo dX As Double, Y)IPointE@UB.PutCoords@, dY $V%Ln@%RefFrom,DToC''Ln'esrip.Ln?\ $ic +)dfile,(sSjng, sNameAg|Ca~ '/include .shp extens8 .@' Openwfolder to contais|A as a workspacb^Dim pFWSIdW&Facjye@pê&!.>F(, 0'b;up@simple l LJc@ed] #ie!ZIFB(EditC!! pGh ' fa' M8C# wine g"definiA|, with"patial referenC?ia '"%A .W= "K"Ty`= al!mAa.DzlacM, )" {WQyU | .U %Ko.SC0J3TUnknownROinVSystemqO"  p t(R " <*  `C BwpXS#?Legex q.Leng&= 306!rnode2"Int yldst h"02' 0@>QaNdz!! @ A 1Vu3As!myPql' (s"osparPttermpplyoPdatabase8 opPca n be RaultQSs NothingdIZ?@xa'QWS;{(}R s,u, _aO% ,TTSn, "t"" 5 c&y V ύE ox)< output point field --- MsgBox (flodialogfrm.outputpointbox)< magnitude field name --- MsgBox (flodialogfrm.magnitudebox)|@f8*Operation Canceled, as a result of Error: F!, (  F!H ) A@DSPSSS>"" <(<,<0<4<8<<<0{331AB6E6-42FD-4415-A572-D011212677C5}{D3BBB954-72A2-4528-9B1A-F138A6F0F920}X H@`|k R`|J  p`| % %@h% %@  PRamlammPPRcgisaHp@ H;I$*\Rffff*0K49ef3db8$*\Rffff*0H49ef3d8f$*\Rffff*0L49ef3e6248<@DHLPTX\`dhlptx"  "  (8 " @ H Xh 6p 6 6  ( .8 ,h  $    ( ( 68 6p 6"  xA@  B@P'''''' RB@T''''''o@@ B@P'''''' RB@T''''''o/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Form for Drawing Points in ArcGIS%'''' Table Information ---> Points'''''''' A Tool for ArcGIS 9.x''''''''''''!'''' NCGIA 12/2004, Alan Glennon''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''o Attribute VB_Name = "pointmakerf@orm" Bas0{331AB6E6-42FD-4415-A572-D011212677C5}{D3BBB954-72A2-4528-9B1A-F138A6F0F920} dGlobalSpacoFalse CreatablPredeclaIdTru BExpo se0TemplateDerivCustomizD Option 1licit P#' Sub CommandBut@ton1_Ck() cle__layer .Hidhontrolpanel.Show End5-=2',  ] F@ J Drawing Ps in ArcGISK VTvInUaat--->D  A Toola 9.x NCGIA 12/2004, Alan Glennon K 8 Z"Goutputfilebox_C`hangeZhQ% P * Rb@;D ʷܞF xkr`N*J܂c:EyyKx&xEyyKx&b@;D ME<SPSSS( XZ( d( j>"" LL<0{45BE9B2C-9593-47D2-AAAF-4C6ECA67D580}{60E59372-A24E-4A2A-8BF2-B7DC82633A19} ( H@`|k R`|J T `Dk  Vx% bP% hH% n`Dk9 Vxx''% bP% hH%% %i ressp % % `8|+eR@  @t Y@d A!@T @N @D `x@t @d @T @N @D PRP`RxHH;I$*\Rffff*0U49ef4408*\R1a*#17*\R1a*#18*\R19*#3*\R19*#0$*\Rffff*0H49ef3d8f$*\Rffff*0J49ef3dac*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#..\..\WINDOWS\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#4448<@DHLPTX\`dhlptxU  6 6@ 6x 2 $ 0 @ P (`  6 6 6 "@H P `p " x   "      ,  2P * & ( , 8@X` p, "  &    ,0 2` * & ( , HPhp , " x/'''''''''''''''''''''''''''''''''''''''''''''''he/'''''''''''''''''''''''''''''''''''''''''''''''es/'''''''''''''''''''''''''''''''''''''''''''''''''''''''+'''' Form for Interaction Matrix --> Table!'''' A Tool for ArcGIS 9.x''''''''''''!'''' NCGIA 12/2004, Alan Glennon''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''A@ B@P RB@To@ B@P RB@ToX].VOK V(\Catalog V(^Locate Points File V(  V(`& you can put a filter here if you want, it's currently set for lyr files, but could# be modified to only find txt files Dim pgxfilter As IGxObjectFilter"Set pgxfilter = New GxFilterLayers&Set pgxdialog.ObjectFilter = pgxfilter] b VB@f] b! .h hdx h!l !(dkXoP ]`.VOK V(\Catalog V(^Locate Interaction Matrix V(  V(`& you can put a filter here if you want, it's currently set for lyr files, but could# be modified to only find txt files Dim pgxfilter As IGxObjectFilter"Set pgxfilter = New GxFilterLayers&Set pgxdialog.ObjectFilter = pgxfilter] b VB@f] b! .h hdh h!l !(dkHo@8o<Attribute VB_Name = "maximportf@orm" Bas0{45BE9B2C-9593-47D2-AAAF-4C6ECA67D58@0}{60E<7624E-4A2A-8BF2-B7DC82633A19} dGlobalSpacAoFalse CreatablPredeclaIdTru BExpose0Template DerivCu@stomizD Option 1licit x ',  F~ Interac2M --> T;F A ToolB ArcGIS 9.x NCGIA 12/2004, Alan GlennonK hM XAr P@@ Sub CommandButton1_C|k() UiGP_«_G_0v073M.H idAcontrolpanel.Show End!2!? @3 Dim pgxdialog As IGxFD#Set=` New +.)CaiOK "gStartingLocabTCnTitB"e Po@3s FilenAllowMultiSelectDc' you cVput a fil`e here ifwan A' it's current0ly s !llyBr!es, could be modifi to onfi@?txt$.$.Obj//CLayers 8.) !/o#"la`esB?EnumGx7DoModalOpen 0, B $II b.Nex .Ifh Is NothF TheA3Eb!adpDAbox.T .FulbsIft4gg')+gg.3 "3;.3oa/4/4/4?/4/4/4/4/4W' /4y/4'/4+/4gx /4/4P/4C#S/4 I/4/4/4OYA/4/4 1/4/4/4H.35n0/4W/4 /4vv8_Change(v87 with"patial referenC?ia '"%A .W= "K"Ty`= al!mAa.DzlacM, )" {WQyU | .U %Ko.SC0J3TUnknownROinVSystemqO"  p t(R " <*  `C BwpXS#?Legex q.Leng&= 306!rnode2"Int yldst h"02LDxME(SPSSS0{3DAE0DD6-F9D7-45CC-B977-D3B2C47A81EA}{827278D7-F3F9-4E58-81BD-7F96364FBC63}( Hp`J`L R% %ppH;I  "2PPX " x]@*www.alanglennon.com/flowtools/fdmthelp.htm'J0'']X/CrU $`P` iAYq ''''''''''''x @''able`lone` of `B !`DBox & nu]8 h%   XX@`%   % @ ''''(% ` '',%  ''0%  4%`` ``%````` `"`$ +& ` &&)  %i.8 8i0X i2x i4 i6 i8 i: < @% @0 on, D% DP H% Hp e toL% L itP%+R `  .ib saveidap%+P ` ` 3)j %)l ''''%H%+` 8QQ9inere ipayer% rXd% tx tabh% f...$% o thp% 2d itx% 6 v|% p%% 8 L% X"''% x&%P `H;I*\Ra*#af*\R8*#b*\R8*#26$*\Rffff*0P49ef3e87 . 0 " 8 @   6H  V   * @ P p *  ( @08@H @P H   8 (@hp 2x * * (0   *@ &p F(0  $8`hB    0 *8    *h    * HP X 4h    >( @P hpx  <(    (  .@ p x . J * @ 8P * :   ( 0 H P  h     N     ( 0 8 @ H P h        B  8 H $ $ $H$p$           6( :` 8 ,      6(`hp 4x      08 @H Ppx   *(Xhp x B F H  Fh 2    8 *H  x     <(@X` h <x  @ `x  .  (  J0 J     : <( hx 0  0    ( @ X *h       (  *  \P 0 b H 8X : :   L *`  h     Dx  ( @H`p& ( :080h \ P DP 4 !    ^! ^" h"" " 0"&" ^# ^`#     ^# ^ $ $ "$ $ $ $$$$$%%  0% @% `% p% % .% % % & &0& .8& h& x& & & & & & ^& ^8'    ^' ^' X( ^h( ( (((()))) )  4()  `)x) .)))*  *  .(*X*x** * **  B*  H(+ ,p+*+  +   $,,, , ,- (- @- H- X- ^h- ^-  *(. BX. >. <. D / Bh/ @/ B/ B80 0 0^0 0  B  0 ^1 ^`1 1 Z1 02@2P2   4h2(2 22 223 3  >(3h3x33 3 3 3  3 3 ^3 ^X4   4B  4 444 B  4 55(5 B ( 05  >X555 55  (556 6 6 (606  86 DX6 6 66 6 66 6 77 7 (787@7P7 &`7 7 7777777 (7 8 (888@8H8`8h8p8 $8 8 8888889  9 V09969 + 99 9( code by J. Alan Glennon, UCSB GeographyHf80''Get reference to this map and the tables in it]@ d.h'''']` h!p.lP''Set the table into which the values will be saved to the only table in the map]$'''''''''''''''''''''''''''''''''''''''''''''''' find the layer''''' in $''''''''''''''''''''''''''''''''''''"'' let's look at the feature layer] h!p!x'v:'' MsgBox ("there are this many layers : " & layercounter)]]]]9'' specify the table you want to find in the if...qqqq2 =A'' This will go through all the layers and find its index number. ~ v  ~ h!p%.z z!'  L! ~' "'' MsgBox ("looks like it worked")k,'' now, set pflayer to the layer of interest  h!p%.z$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''']  z!.$'''''''''''''''''''''''''''''''''''' '' Find the field named OBJECTID]@]` . L! %' There must be a field named L! in the layerA@D|k'' Find the field named Shape]x L! %' There is no field named L! in the layerA@D| k]]] %'] %.]$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''''''''''''' find the table'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents]  l!'.'' MsgBox "number of tables " & numberotables1]8]P']h8'' specify the table you want to find in the if...qqqq =     l%.r r!'  L! 'k6'' if it can't find the right table, the program quits Hey, I can't find that tableA@D|k  l%.r] r!!.('' count the number of rows in the table] r!%'''' debugging messagebox for rowcounter1D'' MsgBox ("There are this many rows in the table : " & rowcounter1)$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$''''''''''''''''''''''''''''''''''''4'' set up columns (fields), load their index numbers] L! %'] L! %'] L! %''' set up row cursor]]  r!%.G'' the cursor starts on the first row... under the fieldnamecode column G|j]@']X]x]]]]  x  ]]  (` *<'' goes through the table...assigns values to various arrays   !.'' MsgBox ("Row " & counterxxx & " " & "input: " & prow.Value(inputnamecode) & ", output: " & prow.Value(outputnamecode) & ", mag: " & prow.Value(magnitudenamecode))  %  +  %  +  %  +  %  +(  %  +(  %  +*''''''''''''''''0'' GOOD TIMES! Let's Calculate Gross Flow!3'' note that a lot of this code is taken from2'' the net flow module... thus the names may&'' imply a net flow calculation.''''''''0 primary values (inputnodeID, outputnodeId, mag)]]]. similar values for comparison inside the loop]]]]]0':]H'<]`]  > @]]0]H'B   'B $(', $('. $*'0 , . save inputt outputt magg , :+> . :+> 0 :+@# add one to the number of net flows : ':'Bd  inputt <> outputt< it gets a little more complicated, but stay with me here...? you don't want to get redundant net flows, so you need to onlyA search farther down the array, not to areas where you've already@ found corresponding opposing flows... thus, you use counter1 as+ part of the next for loop instead of zero.     $('2 $('4 $*'6 #MsgBox (inputt2 & outputt2 & magg2) , 2 , 4 2 . we have a hit 0 65save the original input/output with a new mag of zero , :+> . :+> 0 6 :+@'Bk 0 6 5save the original input/out with newmag of magg-magg2 , :+> . :+> 0 6 :+@'Bk 0 6 : save the new inputt2/outputt2 with new magg of magg2-magg 2 :+> 4 :+> 6 0 :+@'BkH B : ':'howmanynetflows2 = howmanynetflows2 + 1kkkkD we need to look at times when both a return flow has not been foundD AND the row has not already been analyzed/written into the solution already]`3if either iteration of the proposed flow is already5in the solution, then do not write it to the solution B D : D$> , D$> .'Bk0 D$> . D$> ,'Bk B , :+> . :+> 0 :+@ # add one to the number of net flows : ':'BkHk@k0! MsgBox (inputt & outputt & magg)Dim debugger1 As Integer# this debugger yields the net flowsU the first value is the inputnodeid, second: outputnodeid, and third is net magnitude*For debugger1 = 0 To (howmanynetflows - 1)\ MsgBox (sorter2(debugger1, 0) & " " & sorter2(debugger1, 1) & " " & leftmag2(debugger1))Next1MsgBox ("how many net flows: " & howmanynetflows)3MsgBox ("how many net flows2: " & howmanynetflows2)4MsgBox (sorter2(2, 0) & sorter2(2, 1) & leftmag2(2))F'' rowcounter1 is the number of rows; also the number of flows to draw$'' For counterxxx = 1 To rowcounter1'' MsgBox ("row " & (counterxxx) & ", input: " & mylittleinputnodeid(counterxxx - 1, 1) & " , output: " & mylittleoutputnodeid(counterxxx - 1, 1) & " , mag: " & mylittlemagnitudevalue(counterxxx - 1, 1))'' Next='' This part reads the coordinate values from the point layer]x]]](     '   !.  %'  %  2   +"''MsgBox (thisistheobjectidnumber)3''MsgBox mylittlepoints((anothercounterx - 1), 1).x  $!  +  $!  +`U'' Though I would have preferred to transfer the node coordinates in native format...I'' arcobjects didn't like my array of ipoints to have more than one value='' tablelengthcount is the number of points in the node table-''For anothercounterx = 1 To tablelengthcount''MsgBox ("node: " & mylittlenodeidentifiers(anothercounterx - 1, 1) & " x-value: " & thenodesxvalues((anothercounterx - 1), 1) & " y-value: " & thenodesyvalues((anothercounterx - 1), 1))''NextW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' create the shapefile] 3 July 2008 - RMG)changed path from "C:\" to "C:\temp\flow" C:\temp\flow L!$.W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' set up progress timer'''''']( ]H ]h ] ] ] ] * Use the Progress Dialog Factory to create a Progress Dialog.8.<.  %.( Enable the cancel button on the dialog. (Creating Flow Lines (  Use a built in animation.  ( '' Set up the progress bar on the dialog. . ( : ( ('''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''' the area right here accumulates the inputx, inputy, outputx, outputy, and magnitude''''''] ] ] ]8 ]P ]h ] ] . tablelengthcount is the number of total nodes  :    $  $>  $>'   $'  $'k  $  $>  $>'"  $'  $'k@8  $@';MsgBox (inputpointidentifier & " " & outputpointidentifier)A pass inputnodex, inputnodey, outputnodex, outputnodey, magnitude& pass these variables to a line drawer        "$&'$MsgBox ("inputx: " & sosoftistheinputx & " inputy: " & sosoftistheinputy & " outputx: " & sosoftistheoutputx & " outputy: " & sosoftistheoutputy & " mag: " & sosoftisthemagnitude)''' progress timer stuff ''''  :d' % (( !*' B@V Gyj!''' end progress timer stuff ''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''# Values from the form: flodialogfrm; output file name --- MsgBox (flodialogfrm.outputfilename1)7 layer of points --- MsgBox (flodialogfrm.layernamebox)5 point ID field --- MsgBox (flodialogfrm.objectidbox)= shape field name --- MsgBox (flodialogfrm.shapefieldnamebox); flow table name --- MsgBox (flodialogfrm.flowtablenamebox): input point field --- MsgBox (flodialogfrm.inputpointbox)< output point field --- MsgBox (flodialogfrm.outputpointbox)< magnitude field name --- MsgBox (flodialogfrm.magnitudebox)|xfp*Operation Canceled, as a result of Error: F!, (  F!H ) A@Do W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''S''' with a little luck, this section will draw a line and store it in the shapefile''']  ]8 X x . For each row in the Table, create a PolyLine. . 0$R 2 4$R$P.DT.@ D @B@VX.< @ <B@Z !\.L <.H7 Set the Feature's Shape and the specified attributes. H L/^ 8 L, : L, 6 L, LB@`'&''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''i@  \.R b d RB@hi  `.P j l PB@hi  S Dont include .shp extension8 Open the folder to contain the shapefile as a workspace]@]`l.t n t%x.r" Set up a simple fields collection]]t. .]] Make the shape field= it will need a geometry definition, with a spatial reference.2 2.6shape 6( : 6(l]] . .  9$=0q  6/ 2 B@ Add inputpoint field as integer.2 2.6 69 inputnode9 z9lq  2 B@! Add outputpoint field as integer.2 2.6 69 outputnode9 z9lq 2 B@ Add magnitude field as double.2 2.6 69 magnitude9 9lq 2 B@ Create the shapefileO (some parameters apply to geodatabase options and can be defaulted as Nothing)]@ + p  Shape r%B. .i Attribute VB_Name = "Module11" ' code by J. Alan Glennon, UCSB Geography Option Explicit$Sub draw_gross_flowA rom_mlT()$ O7rror GoTo@ sub_e   '''Get reference to this ma`p and ables in CDim pmxdoc As esriArcMapUI.IMxDocumenYS/= T- %T0Coll ecz*Cart o.IStDalxonea0 =O.FFsMx9thkkywhichvvaluvwill be` savee only tU!BcED/C I$ Xfiilayer   let's look atEfeature H<counterA>LonNgJc.LA+CGMsgBox ("Vanys : "| &B`fB"IF,A abBG+q2Stri112deo[:est G@W specifC&Kyou wan'o 4 h  if... =Ac NgMrough aP[A"s"r# tqdex numbe4r.F`~(= 40 (4- 1$&&g&4('  p.ᝃa If (%diwgfrm.BBn`box)enDJ-=b?6.FU`Vike worked"(EdIfNexēAnowx, s$!d] ofas)$u&@@__fC UpauclassTaC>c`.dfH' F Ffield >d OBJECTID?""intFldIn]I@ge" _%c.aFE(Tobj!dρTZ-1WPTh" mu Bca?Ktiq@M"Ue#+Exit i,3CmkShape30 7Lnd.s5== ^ nQRC/>/?eisapor'PW ?V9( gt~h2S=RDowq(No ng p+Curs^0#0$ @.Search, True0@~Rp%/_'c.oAp BsR$} ^sFVA`coPnts4or s1"!{Mw.`nw 4E"s!CS wQforUԏ<x nb xPc+ p%%x$7q "5⍠\wbP%/rAxqoQ.Фc0an'tSA+ri,ghpH,prm qui,0Z(?;-fnHey, I jJk$ 2Kos1 +SS0pBk߁~;R!.r0@hdC]'!9r@t{ table  Dim rowcounter@1 As IHger| = p T~. RowCx(Nothing)b''' d ebugg& messagebo`x for -MsgB("Th`ere aPs many1s @in the : " & IxL} find4appropriat:fields/colu8mns!= s@et up ( (0), loa Bir{dex number9magnitudenamecodeLong.eF_.F@8(flodialogfrm. iqinput pointKout \ curso9{w¿ BC BSoC' Search, Tr|ueDV" starts oAfirst... under ˆcCIfQD#Is D n Exit Sub~xxxb)H= 0Cqbi`{6b-PA;'m2aner B mylittleNodeid()^A n^valube# Dou&Rei Ih, 1 J EL0[$left ( -@ ! )C_goesZrpough[@^assigns 2@o rious`rayDFJUp1 To# u td.Nextf~ B &"@#ѡ.VBHCa)", C?Nyd3`)D#^(6g 3 & 6 3 ?G)^0)_"r8-Z !0.,? 7 ' 'O''?pGOOD TIMES! Let's C alculъGross Flow6! Vhat at of97isЃptaken fromY1nnw m oduleith/8.ayIimXply`c iXon.O m(ary?(,ID4\Id,PANBtw`1oLgaH sim0ilarco@mparis@xinsiAloo(p 2utt\"'0< how!@}syOsB_t2*| c029b-t lEa p092>pWK e3fdaa QBoolean h= Fals b11b. C9gs&= #5L1, 0Eo'/Ca!6@Vћ<' savep@<Q7%#q "Y?T&Wk' add`Go}cGn$Et|  x+ 1gJE1'u<>Dxtt ge Q¥N1@lic#TFbuty with Piyou don't want toQ red`+,# nejeolS s" fp@wtar0,!\aXs w' alread]rrespondoppTosing flows... thus, you use counter1 as ' pa rt ofe next for loop in stead8zehro.jFD2 =To (rowi- 1)5rinputt4(sor(F, b0 *out+ VmaggTleft* )'MsgBox (C& 2& "XIf <>I) Then o-, ],' we have a hitA "4"5sthe original;/C& with@ne>wJW Cy2(howmanyn|etBA{@&Jt1)@&A!DN!-H+~"fdaC/True E`nd Iff>ffe22A-2733 ;_3a33 `un3b3 <q3 ' gac'2f`f!a242"44erVg4 hkx-+ 1',NyumN@cSrbneed to|k at times wk bo\return"Pes not beeNqAND}VaTlryabyzed/writ2tin`dso lutior' GdSDim%3 As Long'if eher i -aA4AproposYis['in ,n do} e q Z+F\al}ؐ3@%0 `L!# .@(S3J=) Ad?4o?6֞$ j  |erP rD#O  s,x|OiQ!0~ IR+?Q%`/dpneE&numb,`ne#^Fv-eY'/ 3S' m3H '=debugg =Iǰ79 yiel\ds9ǖ'first valu93nodeid, secoXnd:$Ua3third p nitud':Y = :ͩ c'$E%":& "&v#")'&" ny:U ?s2O2Y 24 R 2q a '' ްSw-s;pXso/5q0drawHTxxx.1aT({y"R%))",myl`ile#,U,$o#& ,k'B, ' _yQTh"wC1coordte values from the point layer Dim mylittlenodeidentifiers() As LongTBmYpPD2 FactoryAIsg/g2Ste0+TrackCancelRWshrt2~!"ntegblnCo@nueBooleanquirkc' Us#=  i?a h = New r% E3wg.L _C SA(p , 0> EnRncsbuttoroBCd,$. #d1TruDTi "ing FL LinesTMa builDt vani ionAL.ApesriuGlobd!= `4q|4bar_- pk.MinR]@ axhowmanynet^dc 1>?O;? __&a{ right he0accumulB*inzx,`1py, {and magnitud/\sosoftistheinputx As Dou@ble Dim sosof(tisyout Jmagn`itudespointidefier'Longh&junkbudapest"BooleanC#%' talengthcou@nt is numb7?  4 V2m fromform: dialogfrm' file name --- 1 .q_' lay3R7s.8box&+Q IbDeldo0bjecsh@qPld wA O (:i $#d.VBO.W 5Sub sub_error:VSOperation =e@_ asdPHult ErrU.N B (FDescrip) "9! { Private 8Fun hpf`eatclrIBFureC, l_X1CrYX2@gHhW5h)!־=?` with" `luck,GsÁ;will…Ra[store \inJ:e !pGeomCoetryC, pSegm LюqP$qIp$2%Eu 'i each rowPR BT1, cr )eA.Set, p1uCrLn(Pt(+3+0Y2R2)t3!ӒU= New Path%.AddDRN= pfeatclass.CreF ure  Set pPolyline GeomColFl' ^the 's Shape and .specified attributes.A{n;.6p|$p Value(2)inputiPdentZr)3)out*4 maggyStomakespsNTru' 3. AEyFunction PrivatD Pt(Byo dX As Double, Y)IPointE@UNew .PutCoords@, dY $V%Ln@%RefFrom,DToC'&L@ 'Ln'esrietry. *Ln*@Ǐ-.Iic WDSfile(sP(ath'Sng, sName,C '/nt include .shp @extens8  A' Openwfolder to contais|A as a workspacb^Dim PpFWSIdW&Facjyˍ,p= A&!o.>Fa(, 0) a' bup@simple l Lced] #ie!9ZIFB(EditC!!BGh ' ?fa' ~M8C# w@ill ne gAY definiA|, wi@Na =tial referenC?ia '"%Apb.W= "K"Ty`= al"mAa.DzlacM, )" @kW$p .!A*E .Spa,`c,*UnknowninSystemAaaB+  sa .AdNd" <)  `CPCtpYS#?qLegextA#Q f !Aq.Leng&=8 306!no|de2"Int ylds@Ba  "`0h!!' 0@>QaNdz!!3R0 ?Vu3 ,'TtPql(sosparPtterm0pplyoPdatabase opPcan beRaultQSs NothingdIZxa'9@k(}2s,u, __ar$O ,TTSn, "t"" 5 s&y)ύES'''''''''''''''''''''''''''''''''''''''''''''''''''''''S''' with a little luck, this section will draw a line and store it in the shapefile'''] h6xMEPT<$04 ,@D ) ) ) ( 8 ( ( ( N( f( ( v( ( 4( 8 ( HL>    LL""<<<<<<<<<<<<<<<<<<<<<<<<<<<<<Hj,n,t0   (`(k hxX''''% ltx'% rl''''%`@j''''``''''`^'`\ s Fr %` A T`''`Just` in ,''% 8e of% ment%``` non`''+ 0` \kh !!) ''''%ibh''''id''''i"code Lty co% Rp(tabl %+` (kp::in d.ipl% rpt(% tp,% h % d0, M4% 2`Pnumb<% 6\p@% X8''H% Tto fL% 0%0(  X% Ph`x(d D @Hp @d @8Z P@X 8@`T @D @4 @$ 8@ @ @0 @ @ @x @ @ @ l@ l@ @ {Xx8 8   x%X @h l : z PP `L% 8 @ L H `@% &@8 @4 @ , @(  ` z  @l @\ 0H;I*\Ra*#af$*\Rffff*0L49ef3e62*\R1f*#5*\R11*#20b*\R11*#20a*\Ra*#28*\Ra*#26*\Ra*#35*\Ra*#bf*\R8*#b*\R8*#12f*\Ra*#ae*\Ra*#4*\Rd*#1f*\Ra*#197*\Ra*#232*\Ra*#29*\Ra*#192*\Ra*#22b*\Ra*#2f*\Ra*#198*\Ra*#236*\R8*#72*\Ra*#b5*\R8*#1*\Ra*#2a*\Ra*#27*\Ra*#30*\Ra*#31*\R0*#14*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#..\..\WINDOWS\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#44*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#..\..\WINDOWS\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#55$*\Rffff*0K49ef3db8$*\Rffff*0F49ef3d5c . 60 6h 6 , ( H 4X 2   (   60 6h 6 " d   4H  T    2( `h p  > 0 (0 8  :@ (+   !  ,0 .8 ,P H  2=   2(=` x 2=          ^ ^0   h  (0 XX J@ D   0 $A ^H ^    /  L0          # $ (  0 H d  8[8 p  Zx   B  ^ ^P  Z  J0 >     0 @  H X ^h ^   ( B (0  >X !  (   (0  8 DX          (8@P &`    3   V`  h L6A +  (( code by J. Alan Glennon, UCSB Geography/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''''''''''''%'''' Draw Some Points From a Table!H'''' A Tool for ArcGIS ''''-'''' Just make sure the table in question is,'''' loaded into ArcGIS' Table of Contents.''''ment''''!'''' NCGIA 12/2004, Alan Glennon''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''] this code takes an id, x and y coordinates from a standalone table and makes a feature layer.Get reference to this map and the tables in it]@ d.h]` h!p.lNSet the table into which the values will be saved to the only table in the map]] l!', MsgBox "number of tables " & numberotables1lename]]'output]8'' specify the table you want to find in the if...qqqq =z   !No o  l%.rt Pr r!'  !  'k4 if it can't find the right table, the program quits Hey, I can't find that tableA@D|@k8  l%.r] r!!.leSyst& count the number of rows in the table]  r!%'''''% debugging messagebox for rowcounter1''''B MsgBox ("There are this many rows in the table : " & rowcounter1)]8, specify the field you are looking for here. READ ! %'E ]P, specify the field you are looking for here.'''''' ! %''']h, specify the field you are looking for here.'''''' ! %'''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''tiW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' create the shapefilemb]b3 July 2008 - the path is now hardcoded. it was just "c:\". had to change it to actual path for itto work!need to get it back as a variableRon the dialog box, type just the name of the shp in the output files box under C:\on all functions (points, gross, net, and two way, change line Set letsgetitstarted = CreateShapefile ("c:\ ...) to the actual pathch linCin my case, set it to c:\temp\flow and it works <- this is a folderP>then only enter shapefile name (not whole path) into box on UI R3 July 2008 - RMG)changed path from "C:\" to "C:\temp\flow" C:\temp\flow !$.? RW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''V]] r!%.E the cursor starts on the first row... under the fieldnamecode columnl da G|j]']]'( T  ontent !.   %re  do nothing (aka, go to next) " ld  %'Di MsgBox ("input node: " & pRow.Value(fieldnamecode2) & " x= " & pRow.Value(fieldnamecode) & " y= " & pRow.Value(fieldnamecode1))& ]nodeID= pRow.Value(fieldnamecode2) x= pRow.Value(fieldnamecode) y= pRow.Value(fieldnamecode1)'   %  %  %$ 'kTMsgBox ("Row " & counterxxx & " , " & "has a value of " & pRow.Value(fieldnamecode)) SPLI o(W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''S''' with a little luck, this section will draw a line and store it in the shapefile'''DDim pGeomColl As IGeometryCollection, pSegColl As ISegmentCollection7Dim pLine As ILine, pPoint As IPoint, pfeat As IFeature]]$.R b d RB@h !\.L R L/^ " L, LB@`' ''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''i 0S Dont include .shp extension8 Open the folder to contain the shapefile as a workspace]]0.t n t%x.r" Set up a simple fields collection]]8. .]8]X Make the shape field= it will need a geometry definition, with a spatial referenceD.2 2.6shape 6( : 6(l]x]P. .  9$T=0q  6/ 2 B@ Add inputpoint field as integerD.2 2.6 69 !$9 z9lq( 2 B@ Create the shapefileO (some parameters apply to geodatabase options and can be defaulted as Nothing)] 3 July 2008Fso it failed here with automation error when it called CreateShapefile + p  Shape r%B. .i Attribute VB_Name = "Module6" ' code by J. Alan Glennon, UCSB Geography X'+hbj Draw SoPoints From a Table!A Tool for ArcGIS Just make sur0e th! in questi on isloadedto(': of CohnteF.  NCGIA 12/2004, ? XSub create_pA^_layer()OistTs id,D xd y@ordins fkstandale0&}C("dTh= a}im0any  :2Ex@ fqA-ۑCN>'= =1look 1 ?a snd(ug5xq5 e  xG re de1D ?y ? (52OOO@POmR2? ld]BT tR=shapefileA/letsget StqF30ClasT3 lJu08h!Apath now hard)d.AZwas jq"c:\".dpchangepactual B 3'work9dneC ba(ck aАriO`t@1 dig 04aypecǑ)AMshp outpuelesa underP C:\af$uns 3's, gros`net,wo~ct`line X= CSE ( 0) m@ase, s%iio temp\fl`ѵ`s <-Q :aPTlp n /"! R(not whole=)@00 UICk!RMGt3d"0" & 0gh( , Tsf/p f3$'' 0PDim prow As IRowlTableCuprsorLSPet p @=.(.Search(Nothing, True) a' the c]starts onfirst ... undereldna mecod9olHumnQIf Is x Then Exit Sub{count`erxxxlger = 0 wellheregoesnun BooleaFoldfiZC3 = -1 F F1 To .NextA@JA.Value(*X2)N%@' do nt (aka, go< tw ElseKf MsgBox ("inputde: `" & p5-&)x=Z )@" 2y 1)4?nodeIDY&6)1= makepoints(lets getitedV,E)1x2 3End If''9(4\6,"has a vR ofb*&A] B~Private Functi@(pfeatcl(ass"tFureC, dXDouY0identig"Long)a#'?0 7 A' with@3little luck,is se+will drawne aAstore i#shapefilac 'pGeomCo aӁetryc YSeg`m0 Li @Pg4I" a@?baCrGePt A= New e.PutCoordsOaN pbV.Vn.S!- = E 2DC@_-sSO:5~Us7???7qFE PBicFa!/(sPa04(StrsName7#DIH ' Dont inclu.shpb wensM' OpafvQo cpa]7 UworkspacB8.WS+WFac yM?c/ ]Fpp(. F0romFCc, 0_1'upGsimpIs0llsCaa_ќEdi3.U %8\.S4paR$Un known]inSystemAD E s1 .Add"\#%' `C@#?ed rC'@LengpM= 3D0!!brform.newidbox!ݱ.Iild2'o3AՆ' (soVparPW0pplyQ̠3database op3can be5aultQ6G,&y=x!0'3 Ju2008$sofaLd 1T:utom@$herr0w!@>ca`Ld FTCS q:WSC{lass(sName, pFields, Nothing, _ 'lesriFTSimpl"Shape",0 "")*,Set CreateEfile = pfc End Funct ion  2=          ^ ^0   h  (0 XX J@ D   0 $A ^H ^  (4xME ```x`''''@ /''@ ''''`'`@ cGIS H-'' 0`%''h  program ment` a n`whic` Flo`3''`It h`tabs`NCGI0H;I . "0 8 6@ 6x 6 . 4( ,`  : 8 6 :P   &  6 6  6X X (0 8 @`h^p .  D0x  4  * 60 6h 6   8 0 @ 6P 6 6   (8 .` " "   0 8 @ 4H 4       2 2H        F F@          Z p . . X @ 8` V 6 68 6p   * 2 0 6@ 6x 6   ( 0 TH  @ F @   P pB     8 P`h p   F  (0  8 bX b F( Bp 4 6 6( ` p    6 6 60 h  N  8 H PXh ( code by J. Alan Glennon, UCSB Geography@/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''''' FlowMapper to ArcGIS preprocessor-'''' v0.2%%'''' A Companion Tool for ArcGIS 9.x''''4'''' This program reads Flowmapper input documents,%1'''' strips blank spaces, and creates a new file0'''' which is readable by the FlowMapper/ArcGIS3'''' import program. It has trouble removing tabs.'''''''' '''' NCGIA 9/2004, Alan Glennon''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''' Query the input filename]@]XEnter input path and file name.Input File Name: C:\china_xy.dat$z' |k ' Query the output filename]p] Enter output path and file name.Output File Name: C:\testfilepoints.txt$z' !No output file read. Exit ProgramA@D|k  7Input and out[ڂAP FlowTools FlowTools$ s|{ UIButtonControl1A!mq@_|hBM66(put files must be different. Exit Program.A@D|kx '- flowoutputfilename = "c:\testfilepoints.txt"]Scripting.FileSystemObject$.  %./'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''1'''' READ A TEXT FILE AND REMOVE ANY BLANK LINES''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''' Name of interaction file Name of interactions file!Dim interactionfilename As String'interactionfilename = "c:\china_xy.dat" Finds next free file number Finds next free file number] ' Initialize line counter Initialize line counter]']. Check to see how many lines the text file has. Check to see how many lines the text file has   $b    ' V+ Redefine string array to read in each line+ Redefine string array to read in each line]]P '  Reset line counter Reset line counter'? Read in each line of the text file to eachlineofpmxtable array? Read in each line of the text file to eachlineofpmxtable array   $b      +  'k VS numberofinteractiontablelines is now equal to the number of lines in the file with actual data( Test stuff to see contents of each line( Test stuff to see contents of each lineQMsgBox ("There are " & numberofinteractiontablelines & " lines in the datafile.")Dim counterzz As Integer2For counterzz = 1 To numberofinteractiontablelinesP MsgBox ("Data in line " & counterzz & " : " & eachlineofpmxtable(counterzz))Next/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''#'''' SPLIT EACH LINE INTO AN ARRAY,'''' removing blank spaces and commas''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''']]]]](]@]X  ds nexM outstanding is an array of the various line elements (including some blanks)aliz $$': willthiswork provides the number of elements in the split@ its length includes zero -- thus 4 elements, willthiswork = 3 '$ quick error checker ' ' 5Error: Data and line cannot be parsed for some reasonA@Define | k end quick error checker ''']p   R $rmat  'ink ]   fil $arra @ moreoutstanding is now composed of the individual data elementsra $ +  'k  MsgBox (externalcounter1)[ Don't forget that will this work is the size of the split array compents but includes zerore are\ MsgBox ("Line " & counteraaa & " has been split into " & (willthiswork + 1) & " elements.")= 1 To@ external counter2 now equals the number of columns in the arrayhl; MsgBox ("Number of Columns in array: " & externalcounter2)r of i.''''''''''''''''''''''''''''''''''''''''''''''I C/'''''''''''''''''''''''''''''''''''''''''''''''r /'''''''''''''''''''''''''''''''''''''''''''''''ge''''`''''0nu'''' WRITE TO A FILEpoin'''' ^ 2''''''ox ("T/''''''''''''''''''''''''''''''''''''''''''''''' n/'''''''''''''''''''''''''''''''''''''''''''''''mb/'''''''''''''''''''''''''''''''''''''''''''''''''   /'' $  B@''P  $ B@'''' B@ G MsgBox ("Number of Lines to Write : " & numberofinteractiontablelines) B@B| F!,wManually check the output file for errors. In some files, this software has difficulty writing the last line of output.A@D''''ko7Attribute VB_Name = "Module5" ' code by J. Alan Glennon, UCSB Geography Sub START_preprocess ing()8On Error GoToHandler',e15 FlowMapper to ArcGIS -todI !v0.2,A Companion T`ool f09 .xThisQYLc=,S aSsok+ pTLoop Close _ !Rede e ng arraof ea0ofpmx2 ()"Io h -=$4?*1s ReO q(1o"\' Res`3_ 0dR0adzJ-ďC(O0PO08GO0O0ŸO0sKO0جC0(2 <> "")q7(2) {/:pE3_0 nQequalR#$ %awith/Q0aVTeAstuffWc0Q! line ' Test stuff to see contents of each MsgBox ("There a" & numberofijracti|ablejs>"~s in the dataf@ile.")~Dimou:zz As I gerFor= 1 Tol4 .Djv coui&: pofpmxt\()QNext }',G5 SPLIT EACH LINE INTO AN ARRAYAK removing blank spaces and_mmas h4 `outst-2(")Str !morewillthisworkLongerrorcheck1 xternalB 2 DaaaAȿ# td' H: isr ayvarious"s elem}(includ@& someAs``a ) = Split(wg gE+pr@NdLo#Es i@lengthzz --`%4, = &3UB@d(0a' quick "A BA0er 'C= BL5 If (I<> 0) `n &E!N: q"cannot be parsed f 5rea8son`Ex@it Sub# E@yIfc' e W1 = 0=22'^ZcccZ[ (3$1`A'H4) (""( No= N+ 1ω$CRe- J"bbb "!! ! ! ' Anow9Q^po$~8individual_z&5a (1)!?r1 p{.  @' u4}%' Don't3getCatBR_ppsize5SHdTcomp"SbutHy-"Lp^чhas &OOb}c Q   (8 .` " "   0 8 @ 4H 4       2 2H   W%xMEh(,$@0 v(  (  ( ( (  ( ( > LL LL"p   6 6 6@ x  T (  (  0 @ H P X ` h p x                   (  H  X  p                   (  @  P  `  p              ( 8 P ` p      "  $` ( 60 6h 6   ( 68 6p 6 " l (   , " "8`h p   4 48H X hx  2 2 0 Pp Bx B (8 P` h x  F  & L8  P P *8hp 6x P B 6H 6 6   " 8 H 6X 6 6 "( 0 (   8H "P "x    4 4@x    2 2@HPX p  F FHX hx     X @ 8` N  6 60 6h   6   6 6P 6 @ @ @  H X  ` p !x  !    \ `(! <! !5!! h" 6x" " " " " # J # @p# @# 0#   6 $ 6X$ 6$ $ $ $ % % 6(% 6`% 6%  &% ,%  (&  @H& J& &&&& &' '' &' @' &`' '' d'  X (5x(5(   `())0)P)p))).-) )  * * $* @* H*^~P* * 6* 6* 6(+ `+ p+ + + + 6+ 6+ 60, p,( code by J. Alan Glennon, UCSB GeographyH/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''ma''''tables''''@)'''' Flow Mapper to ArcGIS Import v0.73!'''' A Tool for ESRI ArcGIS 9.x''''4'''' This program reads Flowmapper input documents,''''0'''' and creates flowlines as ArcGIS polylines. l''''1'''' Input file format is single-space-delimited4'''' text. Data organization is defined in Tobler's'''' Flowmapper documention.''''''''!'''' NCGIA 12/2004, Alan Glennon''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''']DX1]DY1]DX2]DY2)Private Const m_sAttrib1 As String = "ID"]D Magnitude(x/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''%'''' Basic Geodatabase table creation''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''"' Basic Geodatabase table creation]] ]@]`.   ! %. . !.t t.|ihfX/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''''''''7'''' Sets up Geodatabase specifics (name, fields, etc.)''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''..] Query geodatabase name]Ngeodatabasefilename1 = InputBox("C:\", "Geodatabase Output Name", "eraseme25")6'' !'x finC:\ x$|.t] t.~]]8]X]x]]]]]Dim pIDFld As IFieldEdit! . .ount t .of row .able . r! . .ebuggi .box foSet pIDFld = New FieldBox $.e thisObjectID (ble  (lnter ($'' inputnodeID ( z (l (X1 (fi  (lpria (lds/Y1 (''  (l$'' ('''' outputnodeID ( z (l up (lds)X2 (nd  (l (!Y2 (  (l! ( Magnitude (  (l'' (curspIDFld.Name = "ID""pIDFld.Type = esriFieldTypeIntegerpIDFld.Length = 8  B@he  B@ c  B@  B@  B@  B@  B@  B@pFieldsEdit.AddField pIDFld]8 !  ~%.rh th]X/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''te/''''''''''''''''''''''''''''''''''''''''''''''', ''''& prow''''putnam'''' READ POINTS FILElue(''''amecod'''' /''''''''''''''''''''''''''''''''''''''''''''''' /'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''so Query input point file name$'']xfinputfilenamequery1 = InputBox("Enter path and filename:", "Points File Name", "c:\streampoints2.txt")id(c !'1, 1 Name of input point file Name of input point file]&inputfilename = "c:\streampoints2.txt" ' Finds next free file number Finds next free file number] ' Initialize line counter Initialize line counter]']. Check to see how many lines the text file has. Check to see how many lines the text file hasox (   $b''  ittlep  'co V+ Redefine string array to read in each line+ Redefine string array to read in each lineU'']]( ' X the n Reset line counterformat Reset line counters didn'; Read in each line of the text file to eachlineoftext arraythcoun; Read in each line of the text file to eachlineoftext arrayrcount   $b  gBox (   +odei  'th V & " x Test stuffesxval Test stuffrx - 1@MsgBox ("There are " & howmanylines & " lines in the datafile.")Dim counter As Integer''''For counter = 1 To howmanylines''E MsgBox ("Data in line " & counter & " : " & eachlineoftext(counter))''''Next''''''I Calculate the number of interactions based on the number of input pointsI Calculate the number of interactions based on the number of input points#Dim numberofinteractions As Integer'''''']` '0numberofinteractions = howmanypointsarethere ^ 2''IMsgBox ("There are " & howmanypointsarethere & " individual flow nodes.");MsgBox ("Number of Interactions : " & numberofinteractions)''''''/'''''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''''''''' progr'''''''' READ INTERACTION TABLE''''''''/''''''''''''''''''''''''''''''''''''''''''''''' t/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''' E Query input point file namelog.]x{inputinteractionfilenamequery1 = InputBox("Enter path and filename:", "Interaction File Name", "c:\streaminteraction2.txt")the di !'. Name of interaction file Name of interactions file]1interactionfilename = "c:\streaminteraction2.txt" ' Finds next free file number'''''' Finds next free file number''''''] ' Initialize line counter'' Initialize line counter]']. Check to see how many lines the text file has''''. Check to see how many lines the text file has''''   $b''  ''''''  '''@ Vthe ar+ Redefine string array to read in each lineutx, o+ Redefine string array to read in each line]]( ' X Reset line counter  Reset line counter'? Read in each line of the text file to eachlineofpmxtable array? Read in each line of the text file to eachlineofpmxtable array   $b     +'  'X V Test stuff' Test stuffQMsgBox ("There are " & numberofinteractiontablelines & " lines in the datafile.")Dim counterzz As Integerpu2For counterzz = 1 To numberofinteractiontablelinesHMsgBox ("Data in line " & counter & " : " & eachlineofpmxtable(counter))"Next/'''''''''''''''''''''''''''''''''''''''''''''''y:/'''''''''''''''''''''''''''''''''''''''''''''''pu/'''''''''''''''''''''''''''''''''''''''''''''''so''''nitude''''''/'''' SPLIT THE INTERACTION TABLE INTO AN ARRAY'''' ''''!*/'''''''''''''''''''''''''''''''''''''''''''''''pr/'''''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''''9 Splits the different components of the interaction table9 Splits the different components of the interaction table]`  ']x  ']  ]  H]P]h]U The following split command assumes only one space between different string elementsZ Thus, the implications affect the superarray and its addressing (things screw up if there6 are more than one blank space between string elements   $$'  b subbstring(0) is first number in a line - and - subbstring(qwerty) is the last number in the line0MsgBox (subbstring(counteri) & " " & counterzzz) $   +( MsgBox (superarray(0, 0))MsgBox (superarray(3, 3))C' The superarray is the interaction table addressed starting at 0,09' otherwise, the addressing is by superarray(row, column):' (asdfg,qwerty))' the whole affair is composed of strings/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' WRITE TO A FILE''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''' Dim flowoutputfilename As String&flowoutputfilename = "c:\testfile.txt"Dim objectfs, textwritera9Set objectfs = CreateObject("Scripting.FileSystemObject")CSet textwritera = objectfs.CreateTextFile(flowoutputfilename, True)]]]] ' ']]PDim manualflownumber As Integermanualflownumber = 0MsgBox ("start table creation")    ] This stuff --- eachlineoftext(counter) is equal to point(counter) --- point 1, point 2, etc.Q separates the points data(currently as string info) into two separate substrings $$' $$'Y writes the various information to the table -- the cdbl converts the numbers into double r!.  ,$X ,$X ,  ,$X ,$X ,    $X , B@`MsgBox ("end table creation")|f*Operation Canceled, as a result of Error: F!, (  F!H ) A@DoH/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' END OF PROGRAM''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''/'''''''''''''''''''''''''''''''''''''''''''''''Attribute VB_Name = "Module4" ' code by J. Alan Glennon, UCSB Geography Option Explicit$',qe1j Flow Mapper to ArcGIS Import v0.73A Tool for ESRI9.xThis prm rPeads4m3input documents, and ctes fLlinas4poly .I)filBeOmat @single-space-deli mitedtext. Data organizFar@defd inrow=Ro(w ',  READ POINTS FILED(' X Query point fiofUqA 1iS@}nFg@*= IBox("Enter path a ndBA:", D"Ps FAN@c:\st@#s2.txtN0s+ A of9x!bj = " +=ca )Finds nDex0ree0upmberAf BaI/gqL= F`a.#Iialize line couA6V!howmhanyas = 0 tCheck tol s@ "s` the  h|asa'AIOpen- ForS#"]o Wh"Qot EOF(  LA$[ ,,B! + 1 Loop Closem C$Redef b array A&cd` eachB&#1ofA-()"z 2J+=  Re 1 To2)sy ORe nJ' ReaK!!}G`Lk)'b &&lenT /S1Dm'P 8 dϩitϩ"ϩt/RZrgPPInteger numberofiractiontablelines = 0 Dim @fromthe!fileD' Check to see how manyl f@ text \ has .0Open yname For Input As #fXreee2o Wh Not EOF( !) t Lx#!,~+ 1 Loop C0losebRedmne string arraByread eachUxAyofpmx€()ATS12A #2@ Re%1 To "tC@setC couUE' RY of̶RCjLjl??2`0H+^)+Zk=A k@' Tesbt kuff5MsgBox (" There9e " &&`"!s!data!."MS'[Rzz*g'G= ?^C'~D@ B "\ :"5)Nb')'*? $ SPLIT THE INTERACTION TABL"O AN ARRAY ?&? /' S plitsdi$ff@Pnt mpponenh ? Ldqwerty)$=A~ 1~posare@.1-l-asd|fg:Kh|ey#ha, +jsupefrrm b,n S0i Q sxubbw{Dz =24 C follow{s1A"d sumonly P space betwePW elemThus,!$im@ca1s 2a"ctr an #addreDss(th`s screw up i"!r`'NmoPthan `blank ^ z :Lz@^OLݦCLs@/(J(J1bi0Q3s 1'p0) isr`_cjSaz--"A\laz" X e i)X1d )r 1),0#0= i,[U\a0, 0^w 33, 3`qh𦗶4B %ed0tart%at 0B,'' orpwise*'0bFy rowAlumn  ? (<1'/wholP{ffair coSs }Ssҭq'd WR ITE Tm FILEaSf0Qout܂71ݐu'="c:\t.tx t"objectfaQ`wrivt`S0CteO("Scrip+.FileSystemBq$.-sT(O , pTrue -iRs1ebԘed?  ?zq8]point2 = howmanysarethere Di m secDseparationfrom() As StringJto F 'ualflow@numberFInteger!= 0'MsgBox ("start tablLe ")#F@or couKr11 To 1 2< This stuff --- eachlineoftext(+) eq`< t. 7 1,< 2, etlc.?B'e s s data(currently aE info:n7two sub:ss+Split(f1)F= Y2EC' writ5various/rmiALAB0E73 R 4 @ZH5[Q 6 7 uperarray(E1 - 1)4, 2 StoC!N` qendqExi t Sub/ V_error:#zO Canceled,_a result of E " &A.N&(Descrifp !) a E`B'*??zd END OF PROGRAM ??&? B E MsgBox ("Data in line " & counter & " : " & eachlineoftext(counter))''''Next''''''I Calculate the number of interactions based on the number of input pointsI Calculate the number of interactions based on the number of input points#Dim numberofinteractions As Integer''''''](6 "<8@ j`|k0|x% R00F01FCP@H;I$*\Rffff*0G49ef3d8f$*\Rffff*0H49ef3d8f . 0 "8 @P`( code by J. Alan Glennon, UCSB GeographyH RB@To( Attribute VB_Name = "Module10" ' code by J. Alan Glennon, UCSB Geography Option Explicit$Sub STARTHERE() controlpanelform.Show End /  }0) YB:U%MkI ͪ ]C߲-alFaL,x-alFaL,0) YB:UME8SPSSS>"(_`xME<x@HPTX\l p h|`,4<<<<|8 <8 <<<<$<(<<0<<8<> <<<<<<<<<<<<<<<<<<<<<<<<<< Hj,nmp,teF   ^`JWW hxX$% ltx% rleome%`vh z` %`~\n th`X`@Th! 8the %  Xwill%` in t``$'' ''''%`~` xhe l t% p'''' %`n's l`hayer`f'v`dere \ : "$%`@Z``T9''`Pou w`Lf... Hs wi % xD8 and%`>~ 8p% 4!%`2  ,Box worked") x( $P8X   8@ % x` % 8 Xx% (% `,% 0% 4%`@` ` `h``H``` `"`$ +& `JH &&\) hpto f%i. i0i2 Li4i6p   fini8$0 am qi:(Hey, <th able@% @p  D% D l r!H% Hp h nt tL% Ld leP%+Rx `tJ0 p ib P ere idble %+P `pJ  )j  fi%)l mns%H%+`4JP OOin p  indip!% rP t !d% tp !h% h up $% d p% 2`0 G''x% 6\P rst |% Xp de c% p T @% < % x d % P`H80 `D&F(@p @d @P @!PL !pH D @4 @$  (  @ P @  @  @b e` e(k8(@ @" 1P  p  \`5Taho oweras  ( (( OKR@ @8 P hx  ') >@ @ @ "Qa2 x 8 X  x;0mI9PpXޟDhPl YzA5h PP`~h(v0L rH`'m](D`Ո1i @`f[<ў8 T@4 j P 0 z  94QjHݲ-)mJf~B-` 4K@\ sm@X ΣJ@H *'8 o@( l *xP xHx0h2[@`` (t :jh hhx ilm(t u>f@p 'P  H;I*\Ra*#af*\R8*#b*\R8*#26$*\Rffff*0O49ef3e87 . 0 " 8 @  RH  6  V(   *    *  ((P!X @h @ HP+p 0  (  2+( *@ *p    * & =0 HFUX  $<BUPX `h px '  *    *    @ *P H  4   (8  >@ 0    < 8 (+H p x    !  .  . . J8 * 8 * :@  <  <  <     /  N( x         " " "  B X p $-0$-X$,    L * 0   (0 !8!P!h! &6 (( :P0707  \ PX D 4 (     ^ ^`   0&A0 ^X ^    ^ ^x  "   08@HPX`  0h    ) . ( 8 X x .        ^0 ^     ^ ^P  ^  0@HPX`hpx  .0  @  .0Hx     B  HP ,*"    $   0 (@    h p  ^ ^  *P B > <! DH! B! @! B" B`" " "^~" #  B  # ^(# ^# # Z# X$h$x$   4$(;$ $#% %# %0% @%  >P%%%% % % %  & & ^ & ^&   &B  & &'' B  ' ('8'P' B ( X'  >''' '!'  (' ((( 0( @( P(X(  `( D( ( ( ( ) ))  ) 0) @)H) P)`)h)x) &) ) ) )) ))** (* @* P* `*h* p**** $* * * ** ++ +(+  8+ VX++6A+ + +, ,( code by J. Alan Glennon, UCSB Geography.Hf8L'' this code allows you to specify a standalone table and obtain information$ n'' from a specified field0''Get reference to this map and the tables in itre]@ d.h:]` h!p.lBP''Set the table into which the values will be saved to the only table in the map]$'''''''''''''''''''''''''''''''''''''''''''''' find the layer'''''$'''''''''''''''''''''''''''''''''''' ."'' let's look at the feature layer] h!p!x'v:'' MsgBox ("there are this many layers : " & layercounter)]]]]9'' specify the table you want to find in the if...qqqq2 =A'' This will go through all the layers and find its index number. ~ v  ~ h!p%.z z!'  L! ~' "'' MsgBox ("looks like it worked")k,'' now, set pflayer to the layer of interest  h!p%.z$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''']  z!.$'''''''''''''''''''''''''''''''''''' '' Find the field named OBJECTID]@]` . L! %' There must be a field named L! in the layerA@D|XkP'' Find the field named Shape]x L! %' There is no field named L! in the layerA@D|k]]] %'] %.]$''''''''''''''''''''''''''''''''''''$'''''''''''''''''''''''''''''''''''''''''''''' find the table'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents]  l!'.'' MsgBox "number of tables " & numberotables1]8]P']h8'' specify the table you want to find in the if...qqqq =     l%.r r!'  L! 'k6'' if it can't find the right table, the program quits Hey, I can't find that tableA@D|k  l%.r] r!!.('' count the number of rows in the table] r!%'''' debugging messagebox for rowcounter1D'' MsgBox ("There are this many rows in the table : " & rowcounter1)$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$''''''''''''''''''''''''''''''''''''4'' set up columns (fields), load their index numbers] L! %'] L! %'] L! %''' set up row cursor]]  r!%.G'' the cursor starts on the first row... under the fieldnamecode column G|j]@']X]x]]]]  x  <'' goes through the table...assigns values to various arrays   !.'' MsgBox ("Row " & counterxxx & " " & "input: " & prow.Value(inputnamecode) & ", output: " & prow.Value(outputnamecode) & ", mag: " & prow.Value(magnitudenamecode))  %  +  %  +  %  +PF'' rowcounter1 is the number of rows; also the number of flows to draw$'' For counterxxx = 1 To rowcounter1'' MsgBox ("row " & (counterxxx) & ", input: " & mylittleinputnodeid(counterxxx - 1, 1) & " , output: " & mylittleoutputnodeid(counterxxx - 1, 1) & " , mag: " & mylittlemagnitudevalue(counterxxx - 1, 1))'' Next]]]H]   0 X'   !.  %'  %  2   +"''MsgBox (thisistheobjectidnumber)3''MsgBox mylittlepoints((anothercounterx - 1), 1).x  $!  +  $!  +U'' Though I would have preferred to transfer the node coordinates in native format...I'' arcobjects didn't like my array of ipoints to have more than one value='' tablelengthcount is the number of points in the node table-''For anothercounterx = 1 To tablelengthcount''MsgBox ("node: " & mylittlenodeidentifiers(anothercounterx - 1, 1) & " x-value: " & thenodesxvalues((anothercounterx - 1), 1) & " y-value: " & thenodesyvalues((anothercounterx - 1), 1))''NextW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' create the shapefile]`3 July 2008 - RMG)changed path from "C:\" to "C:\temp\flow" C:\temp\flow L!$.W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' set up progress timer'''''']]]]]]]0* Use the Progress Dialog Factory to create a Progress Dialog.8.<.  %.( Enable the cancel button on the dialog. (Creating Flow Lines (  Use a built in animation.  ( '' Set up the progress bar on the dialog. . (  ( ('''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''' the area right here accumulates the inputx, inputy, outputx, outputy, and magnitude'''''']H]`]x]]]]]      $  $  $'   $'  $'k  $  $  $'"  $'  $'k   $';MsgBox (inputpointidentifier & " " & outputpointidentifier)A pass inputnodex, inputnodey, outputnodex, outputnodey, magnitude& pass these variables to a line drawer        "$&'$MsgBox ("inputx: " & sosoftistheinputx & " inputy: " & sosoftistheinputy & " outputx: " & sosoftistheoutputx & " outputy: " & sosoftistheoutputy & " mag: " & sosoftisthemagnitude)''' progress timer stuff ''''  d' % (( !*' B@V Gyj!''' end progress timer stuff ''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''# Values from the form: flodialogfrm; output file name --- MsgBox (flodialogfrm.outputfilename1)7 layer of points --- MsgBox (flodialogfrm.layernamebox)5 point ID field --- MsgBox (flodialogfrm.objectidbox)= shape field name --- MsgBox (flodialogfrm.shapefieldnamebox); flow table name --- MsgBox (flodialogfrm.flowtablenamebox): input point field --- MsgBox (flodialogfrm.inputpointbox)< output point field --- MsgBox (flodialogfrm.outputpointbox)< magnitude field name --- MsgBox (flodialogfrm.magnitudebox)|PfH*Operation Canceled, as a result of Error: F!, (  F!H ) A@DoW'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''S''' with a little luck, this section will draw a line and store it in the shapefile''']P p ]   . For each row in the Table, create a PolyLine. . 0$R 2 4$R$P.DT.@ D @B@VX.< @ <B@Z !\.L <.H7 Set the Feature's Shape and the specified attributes. H L/^ 8 L, : L, 6 L, LB@`'&''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''W'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''i \.R b d RB@hix `.P j l PB@hi S Dont include .shp extension8 Open the folder to contain the shapefile as a workspace] ] l.t n t%x.r" Set up a simple fields collection] ] t. .] ]8  Make the shape field= it will need a geometry definition, with a spatial reference.2 2.6shape 6( : 6(l]X ]x . .  9$=0q  6/ 2 B@ Add inputpoint field as integer.2 2.6 69 inputnode9 z9lq 2 B@! Add outputpoint field as integer.2 2.6 69 outputnode9 z9lqh 2 B@ Add magnitude field as double.2 2.6 69 magnitude9 9lq 2 B@ Create the shapefileO (some parameters apply to geodatabase options and can be defaulted as Nothing)]  + p  Shape r%B. .iƶAttribute VB_Name = "Module2" ' code by J. Alan Glennon, UCSB Geography Option Explicit$ Sub draw_two_way_flows_from_ml()( O;rror GoTo sub_e '' thisalG you t,pecify a standalone table  obtain informaNied field8 '''Get refePrenc*oBmap-th4s/ {WDim pmxdoc As esriArcMapUI.IMxDocumenS/= Tp %TeCollec*Carto.ISzaK0 =O.F#s&a@< 55@Xwhich@>e values will be savN@ only][AI!1ED/C I$ XfindB.laypLongJc.LA+CGMsgBox ("Vamanys : " &o@B`fB"I>F, C !dabW"Waq2aS8triDdeo-esty+ st`dDwwtan'o@o4Fif... =AcNgaprough6 g;s"r=itqdex number.F(= 0 `(4- 1$&&g&4N('  p. If (% @di`gfrm .Bn box)yenDJ-=`b6.FU`Vike worPked"(E 0IbfNexēAnow, s$!} ofas)$u&@@__/fCUpauclassTaC߃>c`.dfH F F >d OBJECTID""intFldIn]I@ge" %cW.1 FQq(Z*objhdA*C3-{-1+V(Th" mu Bca3wgKtiq@M"p&>+Exit i,3CmkShape3?0 7Lnd.s5=y= ^nQRoC/>/?eisapor'P\ ?V9(agt~h2S=RDowq(No ng p+Curs^0#0$ @.Search, True0@~Rp%/_'c.oVu Bs6$ ^OVA`coPn\ts4os~1"!Mw.`nw 4E"s!CS wAϠ²Uԏ<x{ x0c+ pp"%x$7q "5⍠\wbP/rAxqoQ. it can 'tSA+righKpH,.prm qu0Z(?;-fnHey, IkJk$C2Kos1 +SSDi۵m pField@s As I D Set= pTable. T`''' count the number of rowsh in*t\Dim41er1nteger<! RowCn(Nothing)1debugg messagebox for p-MsgB("There a(s many^ : " &$<&> !findappropriat$e  f/columns!= sup (), loa!irmdexDrAmmagnitudenamecodenLongCn.F@8(flodialogfrm. iqinput pointKout \ curso9{w¿ BC BB 'Search, Tr|ueDVc starts oAtfirstA\... undyazbD1cQ If$(Is r jn Exit Subǣzxxxb)qH= 0Cbi`{6b-PA;m2aner BG mylittleNodeid()a^cn&^value# Dou` Re h, 1 0CgoesJrpoughKHassigns @o riousrayF@?1 ToIC#a`  _#O.Nexth]&  v&"B,r.VV"3/a)", *Ncd )+fDsE0I(-@>>$ d S & + p) ?CYA d1 iQ%M; alsob&׆peto draw#%%A#@#/d &#E 6Cd%Q sEJenti]rsMmFAVIWsxD9B1[ByO S;+Li ElengthXT o*1 U   Iaho+Q+QfeatureRowARF oR P4isisobjectid$5@˟ K.x? % w /.Xe'nterx YiCPМ}I would have preferre`XranscYf ordin̂ԍi@mats's d''t likeGk3is ]moaneÅ 2d& BV 7x47p3%"1k[MO21BMbx-R$LCIa yes="5counterx@ - 1),0) '''Next`xRi_] create the sha@pefile>Dim letsgetitstarted As IFureClassS3 Jul@y 2008RMG changpath from "C:\" totemp@\flow"SDet9= CQSO(!, (!dialogfrm.outputcname1)n EO2SC]s}up progress timerGIL CpP D~Factory/RV 2StreF orKhTrackCancelshrtIndexBgblnCo@ntinueB@ooleanqpuirkF'X UsCy C# Oe#n~a L. #!qp= New #E"+1cr  = :X. _(, 0| Enab l c0button @L .Cd@Tru-Tit =Aing F `Lines1a built in animathionA esri%#Glob3C= "' !1hFibar/6 [./ p.MXinR04ax%row$1s Val`]= @;9_KS__„a`1 right here accumul]in@zx,`1py, S{and magnitud/!Ssosof8tis/sSDou@Out"TO m  _Zv m#poi0_de@fieRfpLong o kjunkbudstcF l Ůxx@<1 To ~:`y ano-PrtAVlengthA1If mylitA Rnodeif s(Ѷpc((u TheppR=fOH /%=q-q sxvKs( p  *y`^yp}E`1If;D%c& id ;Eo3>6*5/s5'/  xG@w)6B 'MsgB0ox (o/C& "&OE  pܓHYY variB@_o a l drawգa*KakeXpol DД(M,W x" (3 k3utisthemagnitude, inputpo@intide fier, oLXp)  'MsgBox ("x: " & sosof,&"yBy!tD#F#Gfba''' progress timer stPuff 'quirky = ((counterxxx / row1) * 100pStepP.or.M11age"'& "%"2blnConupTrackCance|l.  .5I@f Not (Then Exit0 ForG 9 end]AC INextJKAKG'OA  Values from form: flodialogfrmE C file name --- .C  1 ' layof: s boFxF ID@ eldXbjec}ishape g"`ld@w tab-B"D0#!? 'I愿!rm.GAlSub sub_e`rror:#Operation |ed, as a ult AE"@.NuLmbD (Descrip !) "C E {D Private FunA!@make[polylines(pfeatclaAAs IFureC, l_X1 Dou=YX2&Yk7 _ T =ByReFQMHTo # 1B Ln esriMe8.u Ln pgo ricwgb2q(sqE Sp5osN!@  á3ux ' DpQcl .shp extensЄ3a 1' `foldpto cpa]bSworkspac2/bbFWSrWFac`5}IMTQdLqE. Fpc,  Quprsimptbs0llnauipsEdua%Fb ## w{rV1' Mp~ BneeZ g~edefinition, with a spatial reference Set pField = New , dEdit:L4,.Name6"shape" 8TypesriVGeometry*Dim pDef As I   #'Gʌ$$v=< WD*  ."f Pol0ylin.SRUnknownCoordinateSystem;End =Q@= VsAdd '  inputp@oint fByasteger *B"@CJB   .Leng@= 30Ň!nodÈ TyIn&E;;o?:; q;";it".Zwmagudewdoubl߿o;v;D&_;BHa' CreA`f the fBiC' (s parters apply to geodatabase op!`mcan be defaulted bNot`hing) fA classBFureCAtG@sFWS.i(s_,ss, , _!% "TSimpl`e, "S"" $e#!*|  4FuncA'" Set up a simple fields collection] ] t. .] ]8  Make the shape field= it will need a geometry definition, with a spatial reference.2 2.6shape 6( : 6(l]8H X LB@PAlan G RB@TSB GeooP@ L!X QA@Zk( L!\ QA@^k L!`A@bkh$ note: two way was programmed first.* then net... then a few modifications were% made to make the gross flow function0 LB@P % RB@TPoAttribute VB_Name = "flodialogfrm" Bas0{46B52894-20E3-47CE-B6EC-7034BE1D3FAB}{0BAACDB 0-5DAJ399-87DF-B2B2CF1CCACA} dGlobalSpacAoFalse CreatablPredeclaIdTru BExpose0Template DerivCu@stomizD 0 P Sub cmdcancel_Click() a .HidP controlpanelform.Show En&d&-OK+If -netwton Then!draw_ _ s_from_modelIfMtwoway" _ 0grossB `A=4' note4: @' @'s programm~first. tM J... a few Jificatio@ns werr' made tokhe (hw funcA C9*rror GoTo sub_e '' t9qAc" LL<<<0{46B52894-20E3-47CE-B6EC-7034BE1D3FAB}{0BAACDB0-5DA3-4399-87DF-B2B2CF1CCACA} N@`  V`XHk% %@ %LP%(@pLXZ\^`bP@x @Xh @X @H R7x7&P@(H;I$*\Rffff*0M49ef3e71$*\Rffff*0H49ef3d8f$*\Rffff*0P49ef3e87$*\Rffff*0O49ef3e87$*\Rffff*0N49ef3e87*\G{AC2DE821-36A2-11CF-8053-00AA006009FA}#2.0#0#..\..\WINDOWS\system32\FM20.DLL\2#Microsoft Forms 2.0 Object Library*#47*\G{AC2DLabel59 , $@newpointidbox   Dtablena2DE821-36A2-11CF-8053-00AA006009 n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q0F0ITwo-Way5Tahoma,F0INet5Tahoma0F<: ;@: ;D: ;H')L')FA}#2.0#0#..\..\WINDOWS\system32\FM20.DLL\2#Microsoft Forms 2.0 1 )$*  Image1!( 2Label7 dhlptxFlowToolsButton !67( : :8 Y;:H Y;'X Y;#h Y;=x B : Y;IC 9 H ParentFolderGDBName   <-xMEdHTX $(08@@0 v0  0 <<0 <<<<  < <<,0040 0<<`@X 8eme20p`%p )xe  H;I*\Ra*#3*\Ra*#ae*\Ra*#197*\Ra*#af*\Ra*#b5*\R8*#1*\Ra*#28*\R6*#74*\R8*#1$*\Rffff*0Q49ef3eb14 . "0 8 @ `<   ( @ H X x $ " "8 @P,X   *  ( Hh p*   (B 0 (8 `hpx "    B      0 @ X h x       B      ( 8 X h x       B     0  @ P h x          0 @ BH PX`h  p             @  P ` p    BL4      0  8  RH   $    2 8 2@ x  .   .      $ @ X  `  p "x       $    & @  2X                  "  H Ph       0  $8`x   4  X`2h ( code by J. Alan Glennon, UCSB Geography]@ Query geodatabase name Query geodatabase name]`C:\Geodatabase Output Name eraseme25$z'x x| k Create the geodatabase Create the geodatabaseC:\ x$|.t]x t.~create the flow tablecreate the flow table]$.]flow  ~%.]create the impliedlink tablecreate the impliedlink table]$.] impliedlink  ~%.]8create the linkinput tablecreate the linkinput table]X$.]x linkinput  ~%.]create the linkinput tablecreate the linkinput table]$.] linkoutput  ~%.]create node featurescreate node features] ~node $.o8"' Basic Geodatabase table creation]]]] $.   ! %. . !.t t.|i@]]],.,.0.flowID (  (l ( magnitude (  (l (  B@  B@ .i]0]P]p,.,.0. impliedlinkID (  (l (flowID (  (l (  B@  B@ .i]]]]8,.,.,.0. linkinputID (  (l (nodeID (  (l ( impliedlinkID (  (l (  B@  B@  B@ .iX]]]],.,.,.0. linkoutputID (  (l (nodeID (  (l ( impliedlinkID (  (l (  B@  B@  B@ .iX , ,,,,!,&,,,  . Gzj Gzj  $.@.L' determine the appropriate geometry type corresponding the the feature type  KTesriGeoDatabase.Feature (  G 'j KT '%esriGeoDatabase.SimpleJunctionFeature ( KT&esriGeoDatabase.ComplexJunctionFeature ( KT '!esriGeoDatabase.SimpleEdgeFeature ( KT '"esriGeoDatabase.ComplexEdgeFeature ( KTznk establish a fields collection  $]0.'' create the geometry field']H.] . assign the spatial reference]T.e@e@ B@  B@"+' assign the geometry definiton properties.  9$9& ;(9*9,9. =0q](]H,.2 2.6'' create the object id field'shape 6(shape 6(8 : 6(l  6/ 2 B@,.2 2.6nodeID 6(nodeID 6(8  6(l 2 B@ .k establish the class extension  $.kx locate the shape field]h] > !@ > %!l : > %!'<k       <  %B.z F!H JcreateWorkspaceFeatureClassA@DiXP4Attribute VB_Name = "Module1" ' code by J. Alan Glennon, UCSB Geography Sub START_newflowgdb()2Dim pWorkspace As I' Query geodatabase nS/fi21]BSng = InputBox("C:\", "c;Out&  erFme25"dIf Q9" Then  Exit  End IBfqCreathe "q Set = AccessGDB_sF;ureWS߅ƀmA =.c-u gle-zFieldsEditcI= ATab-@*-.FB("Aop!, Nothing"t8Row* =impliedlink>2^F<@2݃@PB8IBpTB D2D "!!iAh!!3!3!F P!N!U! !3!c !kb $ !4!4 !o’0!.!9! ]K!4^! L!nAf}s `sC#Clasa%Ĥ[b(@ esriFT:S]eBcPriv!FunctionΨParentFolderAS, @B C)K' BasicAf4 G?WSFFactor@ ! hF B= New EU;U(X#Ap RcaQ.hWndB2 K#1.OpAt1n0u^NegYA'OIDFldamMagnitudeux 2 4 pS.toIDTypb1g0LengtjhP8qpVm peDouzv20G .Add D d 1!!A!L@qU> _"ЏX"F?$t 0 9r ! ؍!Щho"= o"4 .l" 'p!!g!E! _!!!0cF|!!ͷ":#!l!!R%OFOF]$$!4pO&O& 15"EH/&/&>C-& &&1H/&(&g-&-6--oO[ pV M1Q+00յnction Private Fu crexlinkoutputtable() As IFieldsEdittDim p$B>OIDFld6x4nodeimplied$ Set p_= New ][  l s|:.Nam e = "ID" Typesri&W@Length 8*Y,) *Dr PmDef>Yᬝ# q= pS'b pign tiwrefereLnc,BSRSpalR S Unknown0CoorMOSystempSR.Domain 0, 21474.83645,FalseOriginAnd`Units1~0SXh fdefipon Yerties.WiW .Aqt4cridCount`m1ZSize(0)qpAAvgNumNs2pHasMbIZM.}@s5 S2-bb"pS1G7Pf&@&S3!oobjnid>fsha pekAlias?"TM a;-4BaMi!$3be ɿOdBpeB eldq +_(\\c extension If (pCLSEXT Is Nothin g) Or8Mi ss4) The Set n=lEnd' locate the shape fieldDim strSFld As StrojIntegerFor j = 0 To pFGs.Count - 1&ԁ (j).Ty{= esri2Geometry5k I= 3#Na me2tNextG creyWorkspaceFureCla4ss_f .C (1,<ϠID, _/ Y, 0o,e, Config< d)AExit@ FunctEH:A MsgBox Err.Descrip, vbInfo(rma":" & H C  D(S^aJ 3klL NQZ"ՙE(%!nx5FlowToolsButton, 1, 0, UICONTROLSLib, UIButtonControlZ"ՙE(%!n(S^aJ 3MEPSLS Ss6" <<N0{006B1AFE-C66C-11D0-B94C-080009EE4E51} h@`|kD,l` Hi ,,n`x L i (% %*S480@@8ftwa%d%j 0x(xodatabase tae 88HP8`H;I*\R802c*#c$*\Rffff*0F49ef3d5c$*\Rffff*0G49ef3d8f88< " B (H B P&XxA@jo`@Flow Data Model Tools'lS\i0Show the Flow Data Model Tools'nsixpAttribute VB_Name = "ThisDocument" Bas0{006B1AFE-C66C-11D0-B94C-080009EE4E51} |GlobalSpacFalse dCreatablPredeclaIdTru BExposeTemplateDerivBustomizD2ControlFlowToolsButton, 1, 0, UICONTROLSLibOption Wlicit4 PKO SHub ,_Ck () STARTHERE 0 End Func.!TTip() As S@>Data FrameХbu -y NA.~# /? oהm s*0 !@&@(\?(\?)\ @)\%@~# 1Y@1lu 2?1lu 3??1lu 4 1lu 5 ?'xu 'xu 'xu 'xu 'xu v5M_|!:33333ۿῚ!@'@!@&@ %@~# Y@v5M_|!LayerskyO< Unknown+C6Z+C6Z@??MbP?@@F +!<Default>r9ξ2 +"kyO< D_jJb*5@33333QZL@ @/5)OOk#! ! ??@ a֊`Ok$GEOGTRAN["NAD_1927_To_NAD_1983_NADCON",GEOGCS["GCS_North_American_1927",DATUM["D_North_American_1927",SPHEROID["Clarke_1866",6378206.4,294.9786982]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],METHOD["NADCON"],PARAMETER["Dataset_conus",0.0]]a֊`Ok$[uAV=lI|x`nh%~# &XFL@ hQ9S@ԞQ@@rp0R`'D_jJb*5@33333QZL@kyO< rp0R`(D_@@33333QfffffF@kyO< [uA'`y NAy NA~# Ũ$K@? ~# D=6X@$#@AK8@ y NA ~# ? y NA ~#  @ ?~# t>Z)C\~#  ~# Y@Y@v>Z)C\$@@R KQ|Arial טIWr9\t>Z)C\~#  ~# Y@Y@v>Z)C\ҞȻOr\@@@@y NAy NA~# Ũ$K@? ~# D=6X@$#@AK8@ .@$@@R KQArial טIWr9\~&f h`B˥R`@@@@?@@@@&f h`rp0R`P@8@@@8@@(@(@s\A\Application Data\ESRI\ArcMap@2ME(SPSSS0{B172C659-2201-43E9-8EF2-2EF1533F7BCF}{827278D7-F3F9-4E58-81BD-7F96364C:\Documents and Settings\AlOBO['",,XXPP5{'"2FMOZ2Cre?TFm}7i8!Ȫb?SP0`ny NA~# XFL@ hQ9S@ԞQ@$@ ?~# y NA~# FMfU@$V^u}R@"@ ?~# y NA~# SOt15@D+cI@ԓnqR? 'hPFBC63}( Hp`J`L R% %p?ffffff"@ar_e?Window:BxeN@?>@]زJ&??nNעDA&@[M?eature ClassFB|O'ˑ s*C:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Alan.styleESRI.sty   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ETMQK;/   a A83 8 !9YdHddd!eYe a \a\\!a !9]1]a]]1TIa !99aa !9hHHa !9SS1Ta !9^1]a]]1Ta yEI?D EAE g a yEI?DYS9a !9\1]a]]1Taa A I??? @A@y@@@!AYAAAy !9(igHd)-  U$)yM"=wX   ) ) 9 iIIYy ))9 !" $%9&9'() + , -9.y/01 45Project ThisDocumentModule1 flodialogfrmModule2Module10Module4Module5Module6Module11helpformmatriximportformpointmakerformModule9controlpanelformimporttodatamodelModule3 exportformModule7Module8F /C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLLVBAVBIDE A i`j SwO -C:\Program Files\ArcGIS\com\esriFramework.olb esriFramework ap0FC:\WINDOWS\system32\stdole2.tlbstdole qc7`%JOk! *C:\Program Files\ArcGIS\com\esriArcMap.olb esriArcMap QyWFCC:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB Qy{^gJķ:B *C:\Program Files\ArcGIS\com\esriSystem.olb esriSystem aNkJLL ,C:\Program Files\ArcGIS\com\esriSystemUI.olb esriSystemUI a  ”2Ox h ,C:\Program Files\ArcGIS\com\esriGeometry.olb esriGeometry q   1YLC@K~ܜ +C:\Program Files\ArcGIS\com\esriDisplay.olb esriDisplay  uL'h>p /C:\Program Files\ArcGIS\com\esriGeoDatabase.olbesriGeoDatabase   A?K-Uy5C:\Program Files\ArcGIS\com\esriDataSourcesRaster.olbesriDataSourcesRaster  1/éO5ɏ4C:\Program Files\ArcGIS\com\esriDataSourcesOleDB.olbesriDataSourcesOleDB aeC)E)O 3C:\Program Files\ArcGIS\com\esriDataSourcesFile.olbesriDataSourcesFile 1 vJMH|b{ 2C:\Program Files\ArcGIS\com\esriDataSourcesGDB.olbesriDataSourcesGDB )Q0,}e B7r/6 *C:\Program Files\ArcGIS\com\esriOutput.olb esriOutput Iq@XAǧbdFԐ:C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributed.olbesriGeoDatabaseDistributed Iq PhEބH}.ܮ )C:\Program Files\ArcGIS\com\esriCarto.olb esriCarto )`Ek0 3C:\Program Files\ArcGIS\com\esriNetworkAnalysis.olbesriNetworkAnalysis I+T\H@- .C:\Program Files\ArcGIS\com\esriGeoAnalyst.olbesriGeoAnalyst  q cH_  -C:\Program Files\ArcGIS\com\esri3DAnalyst.olb esri3DAnalyst g(VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} flodialogfrm Caption = "Create Flow Lines" ClientHeight = 8730 ClientLeft = 45 ClientTop = 435 ClientWidth = 3945 ShowModal = 0 'False StartUpPosition = 1 'CenterOwner TypeInfoVer = 66 End P@ L!X QA@Zk(  Microsoft Forms 2.0 FormEmbedded Object9qd first.* then net..@(/Enter name of output file (do not include .shp)#5Tahoma8) {R KQlt JFIFddDucky<&Adobed         '\! #!1A"Qa2B qR#3 !1a"0A!1AQaq c73#XN5ّk XѦ%oMypS3m:@^mp OUFF`~xXzg%&3;zÎN]3$VmI9PpViIN춥ޟDrb[`Y.aV%AU5,By>M*UgEu>#~ۢ-8x?GGfW/(v}~]oODlawr9*~/`YEeB$1hm]( .VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} helpform Caption = "Flow Data Model Tools Help" ClK JbebX9C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalyst.olbesriGeoStatisticalAnalyst )u)b*OL : 2C:\Program Files\ArcGIS\com\esriSpatialAnalyst.olbesriSpatialAnalyst AiמJFea 1C:\Program Files\ArcGIS\com\esriGeoDatabaseUI.olbesriGeoDatabaseUI a)ǭ ܎D'L +C:\PrΣJa.wѰ \gzI'ᗒ*'bh'֒Fo B/%IV=jlX ?ᄧ#Ov@u֧* `X,1=v/ګ O:|6\=Rnڌ1'}FZcɅT^ֽH?!D~/V[7j&Fn9O_VLzWBPŪHIP]Az恙h2[ˏAn7{q@``e1SlRF! (^C}[V]M:j;E?!HcV %Q4-SKZ4PTWjBj5ŤaO6J4%Vսlz{;SG-.iQi9isV+  ,iB3“"%?~k('[pei!B 'ogram Files\ArcGIS\com\esriCatalog.olb esriCatalog  o~Ou -C:\Program Files\ArcGIS\com\esriCatalogUI.olb esriCatalogUI w#ٱMa@FlowToolsButton_ToolTipFrame1 +C:\Program Files\ArcGIS\com\esriCartoUI.olb esriCartoUI  i AQMVgH7C:\Program Files\ArcGIS\com\esriDataN.f. x?b@P'LFK& ˵"9U{GPax$viy{uJuZǐF*O۽_:D?:nDZ$TPS'jMݿlI;b=Bls"Yg쌩P, I׃;!ǚ2LFKqZ)6ޜgkħzyc^q:kz 6(gk2WΝjAtJv?.m8k _*6 5o\?n$7 "??T٪ i7<(8clS1=3 3\ wR*wk o"q2@jank{VQE忧R Qestf)G ÀCkmu:bO6賭GF18E7IPܼ;`k^\s=?Coieul^h?!Θ$#@i]s^HH~I.GxҲip9+mmOX E)X },?Z$=_h+L[k \(#D`@=1JZ^'?MyPC,?!9!\L zՊ+1O_ .q)DOξ6sѳ8Qo?!&1N4ˤ$ȴMO hCӏ?`I4 R( N rL{y"acr.D녆k5ƆnLvGsMx_Qq@Tan/n7hY x!$ $ 9Dժs^7gLAewm8y D_( aݠ;OU8,pv7;?& hTz4ӏ) BԀB6˵i1;~z ̔=f3c?рrxNħkSotuw?  ‹`oʇ$ϘL袉:(ixV&EM?(INPUTS: - a text file with point coordinates - a text file interaction matrix5Tahoma2(OUTPUT: - a new geodatabase table with from/to coordinates and magnitude5Tahoma2h(WOUTPUT: - a point shapefile 5Tahoma2(OUTPUT: - polyline shapefile with gross, net, or two-way flow magnitudedw5Tahoma2((Import Interaction Table uTahoma2R KQltzJFIFddDucky<&Adobed x       ,, "0!21 1Q!AaqBR#3C$"2bc !0PAb!1AaQq ;*+}j29.-j~ ReQ~ ޺\t*y)"$PXvzA78nq6/}WMܴBsȻ1ȸv!y8G;yaJ?uEm=0\v2NWViC@Ջbd;>Ml2ztȩ m݇{O3쳞5GfNЂB-n؍3zlEww>[?!%YH+4S^\I E=3A51\_Xn?OCTNo??!ittVz<8t *4Q j hCӏ?D!OXwSJ`HF2fVH-7HI'4ȭsm`˹&- nC,5 6cuU@R3 ?e W9Ux}Vkh=՛_||HwsA7jx=A .#ݘl eOPb_nɴtϋw??eE2xBj?4?]t- +t˰U|g 9*$qs>cR1#uZTB$+տe3ΝKVjs?X1AҘkΒ(+OVh? YU;6B-(INPUT: - ArcGIS table with a point identifier and from/to coordinates15Tahoma2((Create Points from Table uTahoma2{R KQltyJFIFddDucky<&Adobed w       ,, "! !1AQa#3qBRC"2bSc$ 0!P1Q!1AaQq ;*e##%żFFkjX`JKuNWwM FWHCfT"7:MbpaXwr:A70doq6S}SYc'[goM?\]⏄;V?!%YDYMެni.ﯡTXsJɴ\+_Xn?OCTNo??!ittJ~vΕ-S~Ti O i U%hCӏ?D!4pב|ɚY"vddgm!'Ȝ"ʹ[4@%% _7;t2}A(.#\f8R^-Wzq2s +6x}V⅀IՐ44xsM :wsA7jx=A .#ݘl eOPb_nɴtϋw?? 4"R KQlt-JFIFddDucky<&Adobed !-       =+@ 0P2!1`p%" !1AQ"a2t 0@qBR#Pb3`rSC$4DT!@Pp!1AQaq0@P `p @#iUF ":w5][K_5}x=B@5Y|:M%'[vc!KsO|lk͠.Ɔq޷qW+:>}sy}sӹQZ[s`m>/td}̌!Ku3MN7Ӡ)t1ys0fqq63DmI83URRRR M/:yo}:܂BϟK^OU,!KO<މ J58u>ۛ;j{[4s~hkz^ͣ&,5!Kܕt+JX$7Ydf܀Y%iuj5NU?7*%PO|ʲ6 =GgUЯcuY9)t 7|Cz!>OWې~zzB@Iy3dR &!nT}2 ba؀Rjm 3fRRR羟=E:)t _|esy6qGlh<u>(ƾ6ۛ@R5s/iGZ61 ]Z6P-ɠB@HZ;;_4!K`uς}ӐB@Ÿh8\l@Нf!H`dWXmiFx]2L 4(J Wm'#F>av;FC ,HV~kʃl e:: <9Q\4 meCaq^1mOYxP΢Zm*8U6!p AZmЪE{,Fw:⶧ CI, q9cƏSbek91Ĺ@.(NΗH@ܢ`kPq0UX=mI8m0\6-g4)ėgYobpc)-|6SòO˵<:٦x"ˊ'qڞYpb>L(m3`N32Q_! 6A¥c 5IckDڐ\`aIW95xfV'6U$>SÞrF)D&y/ H-O 2#e-|xvNXjxsz|R8V"Ϊ"ID骉et{kZSÕkZ{=ɔ!gZ0B˕F6y/P#] rX"K,dVMp#;:yk ,o+beLy ڲ&LqI6{Ʊuv,[J3f80V# 1ڞlZC"1$D[6l95q#$H3J֥Tta9GDKɵ<1 ސڌGK@B"-`96eڞjxuf<.UDBNj1̧9I jrtkԗ&.?@7g}HZ8`ۇڞ#+gn@LcN{61Y^/ ƱUm4Dmx؊kZv y8Ea, cZ֦?jxqE(0L׃1Br\ǒIR@+ ~{d,I-)Y{\Q8;:U=k+5ZZ6s5&T5]Y=KeNL/eɧWҦT^qZZkU}֜_ZՕ}֚Z%}֚YRڙҲejVZFV(FT?ˑNL+)_RHJW_ JĜYg]MΗ{yWj*_+YeZO`ULUe3Α+UiFM?x%,gɫ_TZzUigZk곭=}UZzNVξUi:nZG֜gIJSZ0z?"aW3+iؕ:kiؗ?gHpC8Bp Ä?cHi]#6"&#X_?e2 Fq# m^{˘lz9 a`Bf_Za,qQ0@&ܢVp ^6nѡe!w4潰kCyG1>}xCidOx iF>&5^mrG?WGO!!JO.QElrP9l&ʌ_/}who $jAGtr-L}0\&f3\1K{Bآ:5$zߵt f]uou;u"[]Y~-nwho N`dwm`ӚQXsȽy+dw|GU7idҠBewZ%5Xg?99N8ZwX"|&0Py޻7D}FjJG #EF qhS:msecp EKp\yZ.j{RE9\#vjEn+HY_R1jSa+4`y_ [)51G:<| w`ޛO%qE4n Ii2ƭ+XSE\C[xji^6JpG BPC} 67^*xZYTUI٭#6Io{Էo򘞷*䓸[z7F<`6I5zml/ 8Hχ]рc\mLo6;aRzsúlF0 (gM%R-zhK}o=%Oqc+ Knۡ[},&|\)wHM[5㣞Jl#p"î TiWe](C9#F![^VkaL|rMS rSuxye"AvzX.ҙGXKޓKZ0D7}اvC7dvή~/Zg ?WgOp縻(n H" .76!_m7&4{=v`}v1w\8CECaQ@6CxŘQdwtGU7 {b KXGAypӻ*Ǧ\iN{)3\le=g& )JiI'S6߾kCxqpvzlg͋Z MtaOM7.4{@yw_bM~m{6Z)L KY)#n H" .WiXT"4vZ̧7kCxrہQ ZQTqCnmEaNkQEt[kW]ƃ1^Ip? 襱nI(qH6VR7U}/,O 3$@nux]i4SfˁOoz6? 7SrS*ʰCBk~&GjE;aPgiDÅMN -,F HEyRx[OyjBL@M1Tbhh( IpB4rznb# Y$DeNjw 'js:F?+նk|M"QE5ݡAQR_]i9?{{ξ}Sg?._*(Uyֻ7]*n)\{ξ}Qb~ *lwho N`L.tļ)j:7F?+Ԝv'`(`} (ԅ[!lG7ZWwZ(>v1Pbc$S!}Y 8gcEQV=F<*TGGH f7R.HhUj`15e~h+qm"*IbdG El͆-[%_{,'-RM( I$DnR6QIRqQ`³ ;N vZ# | Dgn?!+P-j#_ 菦Zwn& #T UZ5K14aɲo9QTbCzj,G*k&* j齫Mk@8Gw00l%Xrj8lb IBsZY= )`5r;5dw?zԙ' 8q'ENߊ&>N;[(izf[w~J>1:~h-BBКRЬ%b_pxJV4ԢLt%ꫨ+|.5xF{:g`%V\^E"p״ _>ڸ,?cU{(j[jMYMI L_CнC9&0VD7XBt*6%ŭ]) F(]e[WU`/[]EEM_ VAFT;%)se}͠{h"amB0˱B`ZbaTaܧˮ T ;0@5,gl% ` j/E=ru'=?p}ڸ>\F?l[CG?x"W]|ˣ< %hSDW5X 49Y>"htjrpT%bi<^1傹ކ% HG mUYǖAUB=sĬ+ !Yrkf}Ֆ^ Dg(_v0 r<)5s](vE1\B;.+zїgYZ% %97sU~axu;0:GI ꡃO:Y[- ^)bxu e\̳Sӆ-_PzK~9r 4>~؍ķwQ+_3J8ʰ:_uĵqa_V HP\*걏.,e}ܻRy?0f]}?ohr& ي{3dYڎư@qwYIu7Z{W!U: ZKPUbceU.%]ްνWU|*{@/Gjo,̩"BQTg|0@|xȆ7Q«O#ڸ.S*XൿV« E05ih]+42I@0ʨxp`8ɲLxJ7u Ae.˿8c엍"238 -PS9Bj.TB8|F_iF-!p<[X[Ŷ*LĎTn2YcdԘP Ra|^Fj7p}ڸ<dfƠ+GT؎!ӂ]EcJt8ߺ,DG3@uYcxs 9Fc2&H;1)@9꾛ڸΐu?3>1EP: C*oO!fZ▌Թi?ᙆG;~_h(@t]\65S !ˊE6;C /A@H tO7-~~tn9Z@0 ,75waT$ƳɀO'Rt(۠tuEVAz '~ [*.SՇP?!-ΨJ2\Z* - (C/׻ 3bڜ"uÞ%Hsk@!OD-J0.%x[C<Y[.R f ư|P6C^+m^gU^YztE"+Ri]+o2S໧Е2s?!,YePQr+`|63  mBC,YB I$I$I$I$I$I$I$I$I$I$I$I$I$ I$I$ $ 9$I$I$I$rI$I$I I#'$I$I$H$nTrI$I$I$ %I$I$I$CR $I$I$I $I$I$I$H$ $I$I$ $I$I$I$I$I$I$I$I I$I$I$I$H$I$I$I$I$ $I$I$I$IĂI$I#&I$H! I$RI$u$IQI$I$/$ $II$HI$I#I$I$ҒI I$IĤH$I$I$,I$ $H$I$I$I$I$ $I$HI I$I$I$ H$I$I$I$I$ $I$I$I$I$I$I$*I$I$I I$iI$I$H$Hb9$I$I$ $@ǒI$I$I$I#$I$I$I 2I$I$I$H$$I$I$I$ '@$I$I$I$I$A$I$I$I$I$I$I$I$I$I$I$I$I$I$I$I$?+@-0d:%09#4F,k9CVG&|Id y#XsV au1DRE3>ImCU G@k0DG"Vs3פHiך*,* ; X(4+lS5'%@ n#7AL,2PjQpҙn/!a,S5oCny\sUK΂*e7ϚRC:PygIC-E.u&6/[$FN:9kiM*V z<V]ZP-aΖl7Ekc2ؠ$ML5j~EAFXXX(3g24V⷏(%eK~\HF8 Jc]TQ/oKsS1[i0UBŨO!mWO(o0E[dұ x(vlEPgఢ}Ŗ{%-}A^fЋ0&xB^4p+ek򻯖tωU:ZE["iv=-v"pkZ g8l2F9nٳf},f=)%L5)V3T*e?L{ZʵRi@"ҍƠp5Jt أ/!!YteUF,t$>ޅbʬbտF0BQ6fPkMt@x8uA\dw-j_<4MЀ'=hc9* [-^"KZ [8,e <,he70<3P&4݇q|LKb4nJ]Ad~Rsd nZut'b.P neQuYt-FzTһǖ2& PE I7t!WuVepMPTG lz'K@дXvq6ж Spؑ:rje!ŹdBtv^*1M-Ү]%>ո,ⷩ(o+aںXup)IJD(~h2-ip[U3HS(Sm`l־^SHc@ *Ac\6L-4\QaQsL+dy$ JQ!z /ºݰA*s w=$qlb0 ZFY3omuPp٥9|`Q/M3 ꒨\oqVؙ))0&TT.`jUQ)ad=k}flK.F.0-5JTFGdL})4<,YçN`48@x$: cY}}:iAžBGl};zWbY[I 7a!iP>TDQ ˲lBh8YꕷA9ԍ|s!@(<L](7Lmh!D\^% ӝOYJ #a?T<sc:6QSR&`x PfaSwxh1R ;U?w< 8H??,OEDj3Q> ꀨeK!zpe`b#Z5|F[ZKUzhl3_t)[}~b{EJKTa'/^%|&/n Yn R8P.2PvZߍz _}z"D[|sDW-,9z'VG+7K\WEOCIL*H ]Pʍ} E㱄UmT39;E\@hˏv0r:Ha0"H/h(o?,E"Y-^ g0g4"(j0oGFO%&=+W)rk@T.X۶`efy.b(j2.h+h"֪yXsLcG`[P.z Lj~[fc5ͣ.c\x&5p-VTXѶ*sTayv0"0صBvyԵR+)pG»VWyubvթcF_{ 5N Bvƚ`b*=.rD,.+D \aU <VQ:z#^EJqA׺u\9ֵ$Snʭrצ@62+S'PO(ec)I @Ou }cQD`W(T( Online Helpo uTahoma4s(Closea4s uTahoma4s,<CommandButton1 !,8CommandButton2X!VERSION 5.00 Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} importtodatamodel Caption = "Table -- import to --> Flow Data Model" ClientHeight = 5790 ClientLeft = 45 ClientTop = 435 ClientWidth = 4905 ShowModal = 0 'False StartUpPosition = 1 'CenterOwner TypeInfoVer = 23 End  Microsoft Forms 2.0 FormEmbedded Object9q(Cancel4suTahoma4s(OKouTahoma4s2 iR KQlt JFIFddDucky<&Adobed         '\fo CompObjpfI! "# !1A" Qaq2B#R3 !1Aa0"b!1AQaq `fYdK# +&4čG<;A$snCv#JPڱni$ T-[UTQ.]Kǽwg7lɅ@Vw՘ٹ=M]f:}ӽ܈\ZI.rAdҬzddbr՟ 0eauvPmo>FkMtH WYhىƧC/9Mz=$]5toН04 CbhX-'Iq^$Pی[JVP )6 y^7^RjVNM*e'8f؀ [4A}krEA,۲qb&g# \ў׊2xCqlmN)}VȻײZz܋+՞Z9Z𑀠pvS6||/?j2_kb$HȁI8>(t7|d?x"5te.5=%P2?)  ت W8nhƒwɞ4S߃K^9x5ҟ"҆nj߱8(?VJyk}IT1%hMD~"cʎ|IX$k˗kyX:R6jdL}TJi^0w&.<ۖC >Xw]" ֵP!cԼ"-a+?!$] uѤЭ2CAAM`؏e;D:9:Įi,V9 gzΟ`n,JAǙuw \ i -|c\)۔@4UF+5=8܇ڥ=,éR2liؿ}@X| fc/ov߱9'Z (LE2`VO]K+bgRdp8R[S-Ÿ?!" q i8J(,TBJhdL̀x8kETOB򂴣I(%r+Z&M`:\QxwK#YRaO  II#Tڭ^O??5hfb4 ')BɄj@EwUa Z/Qox#yK&d(nvw?v4(_w[Ǒ$\2^M@wpv-w a 3<8G"| @ɏe6 (y b+^RKhF7oY 8d(@ Y9(\"[ť%9:` Q9=30&)@m 1DR +^AUI_]@MUt?)CQ4F{0',Ѐ;F-eGjCN7IHj" 玳@#d y Gvb'D/2sA,@ 0{8JUaz?U_s;y(}/pbwIE`Q:/4+M۱u#RђF I~o$6rmyoQ!g%`)o9+|P/hh>y! "Ss`Y0ӭ5E[O!s?0( f9@FfvcF 3Yƽrp6z_hHgӀZwrc$|g hv= @`fDh(.spX"XDL/'j1038R#7y&H&L*c$.CXd\v`)dihNe.U>xa#1=6E-q7^yZl2&ߟn!蠳\v{VţW~rizZ"[j)lRO++"Ek#7Lz*:"nI;,6P($+ݲm!2Cl{֑k Ϧ2Jkn .Jfpw/.LmÐ7Dm3U@_y|[ǎ|g2ϲ ;F3ˊͻblʨM(@FӁhJ4"504[W?(m=ԙ RH>_[nǁd૷|Uwa#݊9Nkuuߎ'iJA^kv(AKvԤc~z-H۱ocn;ӵ`w/NÓQZNPo\}ӧš[.]!$ ~Du_H=m]q_n$#9sNIs?oZV'oŠTRWOHP PD %pPWr;t0a71wSfXC

-H40LմR$Ģ `艔w gfe"Aʗ",E53ri%DӧC3@*nՃ*Xw>bt*VUCY"V5SZ)9+fZ0 b',MaXiPgtW᪕b슄LnmRfY⊵GFKTZ $ma)F 0$FBx[٪Ar^R LKޙ*힒;KQ R|Kzcv5[$$cCSq͔[%Q@.&ƮH87{ GLڱxCfL8αw5F๯Lh\I?b6`̳BYr3._yݛ2/{UlfF5[T6[d ~KF,!AjmO2 F-9Edc=W|_o<#%|^8g^<ꫠz4 !MKҞO} s{n538ϥ_ '~!=qG?آy>{ 2JVxϧ{yQ}Pu(i7|}w.AUtrE`WdMPr(3 H~G@cNC__ 26.gC#&?X!f\H1Jo=6x+PXfP0?;[+8(mjUH2r8pcqD脷^g8t(vXuz>6x,#c2:gg*؈DxFg4r @1(c'3VWx8k85wixIlxW%52X(P7F>BsdҸh4g*¨؍aNj(cg8At抌3E4c!P,(anG7]8"9Xvh4g&ǐ58Cgy|2ב1~%z$ |h4Έ9)h(hmE3 >46Ixe}}O)3 dT JmҕѓrKf[ɕ;rX)h9CbdyeO)|i;~y'vٖ~zWs;bwsYz!E(uqC"Z4t.{0-!! t!X˖7QUG@jIBo2I-=[l2(b Bؘ)1ahL "yZ`9Ӝ.(y .)MÍ}.wTiiyqyß M@bCÞ#}ԟY= 4", RbSG j #0ꘝӣ:- BF mբ#?OmoL%9AYu/WCU :?x3hb\:@}Ӿ\C͒J TL݊X,R^V?= p)hM`zS,?Frmuy-v9xץ؂]-;}ؾ،M}>;TٖA٢F٠͸-G]xڪ}mIڞ5۴͂Xې۔۾-h=tVumfʽ]Wܚҝd a}ZjanMޝ-4c=|ޗߡ=m}߫ ߵ>]NܨW;4@H, magnitudee.5Tahoma4s0@H,flowID4s5Tahoma4s,@H,flow5Tahoma4s8@H, UimpliedlinkIDe:5Tahoma4s0@H,nodeID4s5Tahoma4s4@H, linkoutputID5Tahoma4s4@H, linkoutputID5Tahoma4s4@H, linkinputtID5Tahoma4s4@H, linkinputIDD5Tahoma4s0@H,nodeID4s5Tahoma4s8@H, UimpliedlinkIDe:5Tahoma4s4@H, impliedlinkI5Tahoma4s8@H, impliedlinkIDe:5Tahoma4s0@H,flowID4s5Tahoma4s(OKbe`uTahoma4s(Cancel4s`uTahoma4s, Tmagnitudenameme ( PflowidnameamX$Lflowname8Xlinkoutputimpliedlinkidname(%0 P linkoutputnodeidname6%, T linkoutputidname$, T linkoutputnameme4%, Tlinkinputnameeme%, Tlinkinputidnamee$0P linkinputnodeidnamee%8X leC:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Alan.style+FID C:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxtDisplaySourceSelectionSourceq[ s*~# 6 @iV@IlL0GO~T GO~T flowtoolsv069kAdministrator@`Ľߗ8Arial טIWr9\RU+DBkB$AOkƥ69.28wC&̟ Z7H, ,inputnodeIDI5Tahoma4s$@H, ,outputnodeID5Tahoma4s(C:\o 5Tahoma4s4@H,d,testarea\erase\flowmodel15Tahoma4s<(+New Geodatabase Name (do not include .mdb):5Tahoma4sDH  8}ROutput InformationuR KQDBTahoma ,_VBA_Project!.^0uaVBA Project Data"Host Project Items&6Host Project Item Names0.^@pa*DnewflowtablenameX (+2DLabel24sa0,2htextofsomesortme4-Dnewmagnitudefieldnamee$F4.Dnewinputnodefieldnamee`4/DnewoutputnodefieldnameeR `(724Label84s08Tnewgeodatabasenamenarr(62\Label74s  n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q$@H, d,flowtabletto5Tahoma4s (Flow Table Name:5Tahoma4sH(8Input Node Field Output Node Field Magnitude Fieldj5Tahoma4s$@H, ,Magnitudee N5Tahoma4s$@H, ,inputnodeIDN5Tahoma4s$@H, ,outputnodeID5Tahoma4sDH  )}RInput InformationR KQDBTahomap( $Dtablenamebox(%2@Label24s(&2hLabel34s,'Dmagnitudenamebox$ ( (Dinputnamebox , )DoutputnameboxboxR   n``Microsoft Forms 2.0 FrameEmbedded ObjectForms.Frame.19q<(+New Geodatabase Name (do not include .mdb):5Tahoma4s(C:\o 5Tahoma4s4@H,d,testarea\erase\flowmodel15Tahoma4s<H  / }7 Output FilesR KQDBTahomao(+25Tahoma2$(for ESRI ArcGIS 9.xl1 5Tahoma20(v0.7, 3 July 2008 X5Tahoma24R KQlt JFIFddDuckyd&Adobed N : !A#!1Q"2BAaqR34b#Sc$ !1AQq2aB"b#Rr񂒢S$&!1AQaq g}M%u%"06pv2olrkejS?)݊tے:=*kX2%wZki.n*>,9{yPFocm 0>nQp E;s֣7{K3:n1U;飞q u%Ո/q| hi#oެ! }& 6WU>)NG?_R\DQP?nf&Oɇ8[ih*biqCGʚm  asιrP=s|jJ_?6 F33hz+ zaJ-1-dnPJj `}Nv6`~#X*aV Z:Y%%U!32[̻sJoYW.&S wÎ(K޸3fC8)[$ajP۬ "RY$?9ɻͿG?o]nSkA*J’PΤ5rB+?P[@˿n3' <8j}A3qu W}@´&'dz-t$0)(p8c0֥enҏm P|I[^l|A)R*p.T乕xղj@eThgj1ɺi\6;HYE;# /bI3nvG?ӷj@ypbCRbFt#Y+1Ɏ0$LJnYbh!V 4c 5^Z{0YF6VV[3˟b9,7>t _OJ5y[ڒhuI H)U JVpil$P$ ft0f2Tˍ˺Vm-,Z\ٸOnZ7,-{^Nt=θ躄0sJ}܋ tvbRb#Ǫ2c+j=QQ1q[M( TI (*g<]cie a ]N:᪮먝!Ҫ>*=֝rVάl (y(pkkyO .C:\Program Files\ArcGIS\com\esriLocationUI.olbesriLocationUI ))))5PA^<C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributedUI.olbesriGeoDatabaseDistributedUI *9**ȅRy Imk -C:\Program Files\ArcGIS\com\esriEditorExt.olb a++'CY; +C:\Program Files\ArcGIS\com\esriArcScan.olb esriArcScan a,,,W۬:O4C:\Program Files\ArcGIS\com\esriSpatialAnalystUI.olbesriSpatialAnalystUI a--.ocA Zy;C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalystUI.olbesriGeoStatisticalAnalystUI ..9/P1ƂO6Vc 1C:\Program Files\ArcGIS\com\esriGeoprocessing.olbesriGeoprocessing / 0y0.E .`M C:\WINDOWS\system32\FM20.DLLMSForms 11)1q11gh+O8hKLp .C:\DOCUME~1\Alan\LOCALS~1\Temp\VBE\MSForms.exd 11 2q1d]!3ayLaEC:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.tlbSystem_Windows_FormsFlowToVBA Project Signature, Project_Data_CurVer( Host Project Item List Data8ThisDocumenti.^@pa{`SThisDocument*{T5{TL{006B1AFE-C66C-11D0-B94C-080009EE4E51}7{pU L{40499F24-596F-45D2-ACE1-A251E2990017}9{@X";{[$={p\&&L{866AE5D3-530C-11D2-A2BD-0000F8774FB5}$HC:\temp\flow\flowtoolsv069m_v92a.mxdUmxdErRID="{94F6D330-D0EC-49A8-9F8C-65F7320BDC65}" Document=ThisDocument/&H00000000 Module=Module1 Package={AC9F2F90-E877-11CE-9F68-00AA00574A4F} BaseClass=flodialogfrm Module=Module2 Module=Module4 Module=Module5 Module=Module6 BaseClass=matriximportform BaseClass=pointmakerform Module=Module9 BaseClass=controlpanelform Module=Module10 Module=Module11 BaseClass=helpform BPROJECTwmcPROJECT9fo*-g'+X/\ԧ,7HPR(VHv([n8#\Dr9i2*#cFӳutv ص 8ӢZ@[Vgۏ?eO_s/q?!5K^tC蘖} GPLK 4q@~y>v;2grf˯X'}P.^{FlT},Q{"7>ň4 R#WmG=˺/7ݏS C?JojW6KP CyTD,oGI:S=!I[7v=);.|C'y?!8@(4xv9q"@ h AEUA>ggKN1V\^\OXdro12whp:fh*#jq^FtIy!N%>'A.0ڒhTujS>XZ&F'2-V+a{s`K2Ѓ h z3IP~ N3oj@i>YiA&p0s5@L+xr]}ȔEI<1-FqQ-HE6i?li/8 8|Q*{r?N_BۃcU&pdX`Uy裀UD".1qWdpBgay#;ߟMEؑT5w~4#mǢl銲]M٠wp, 1ĺ*0)Sc afHbE[ dyZZͱi݁3[7cjlJψY?i?(Aj¶8r8wRE"A0$ jjN 89lDzh_4zA t_ohBJA AtޖV$ 7 &}0(91g&tg Bͼ ,RI-H:?O?/xYIoPXihir6Pn4p:| :4\cC*&r/֓jPA0vRO_Y need a geometry definition, with a spatial reference.2 2.6shape 6( : 6(l]DBTahoma$ #Frame12(2DLabel42k&_!(2dLabel32A 0*4CommandButton18&0+8 CommandButton19E'&(2B Image12W,,2Label154K,-2Label16 (/2 Label18(12 Label20%03HCommandButton20b$4 Image20H(.2 Label17 ,5HCommandButton21d $6 Image37s,7DCommandButton22c=(02 Label19 (92HLabel214(<2DLabel23>#3(=2PLabel24#$?  Image548 ageO) Show the(_!olsButton_Click 2 23w}DOk *C:\Program Files\ArcGIS\Bin\UIControls.dll UICONTROLSLib a4a444 NɃI5OmM "($BC:\DOCUME~1\Alan\LOCALS~1\Temp\APC\esriFramework\UICONTROLSLib.exd i5a4540wq>z0 (S^aJ 3klL NQZ"ՙE(%!nXBcwOFlowToolsButton`Ľ__SRP_1QProject Item Data$jk Control List Data$@pa@paReqControl List Data*@pa@pa00000000@pa@paControl List Data$(Control Data__SRP_6dD__SRP_7ReqControl List Data* Control_Data_CurVer( )CompObj=aVBFrame`f?ooN i04>A n``^iai20B} n``^iaCompObjCaVBFramebߗ^  MxDocument/ FlowToolsButton_Message H44 <Show the Flow Data Model Tools STARTHERE yeLMMMStAcv5!JP Ev<\FMǦAJctk@gLnȏ[qJ eUserFormQӿJ(OUci2 F3Dynamic Q: y:"-?@Label1!-6S` 1;fEooP i10DGz n``^@JLai17Hw n``^@JLaCompObjINaVBFrameHnfKAo ThisDocumenteO< __SRP_2oh__SRP_3SkModule1fW99     !"#$%&'()*+,-./012345678:;<=>?@ABCDEFGHIJKLMNPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwyz{|}matriximportform"`|pointmakerformT_ fModule9dg controlpanelform"\LModule8(_VBA_PROJECTdndirWl__SRP_0h;@importtodatamodel$Module3MexportformModule7Y^X__SRP_18]|__SRP_19bt__SRP_10Rl> __SRP_11flodialogfrmmPModule2aQModule10[ZModule4UXj__SRP_a __SRP_b__SRP_e__SRP_fVModule5c4Module6DModule11Hhelpform     !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]_`acdefghijylmnpqrstuvwxz{|}~&0* pHdProjectQ(@= l H;I J< rstd ole>stdole h%^*\G{0002`0430-C 0046}#2.0#0#C:\WINDOWS\system32\e2.tlb#OLE Automation`ENorma lENCrmaFS*\C/Documents and Settings\Alan\@Applic- Data\ESRI\ArcMap\Templates\5.mxtbV+..\,:I !0esriB>sriDAcM9p5\@u\AA603763-259A-11D3 -9F4A\C04F6BC621}#1\gra`m Fil7GIS\com\G,.o@_C C" Ob LibraLryV BIDE>B.VBIDE' a E157€5.3'@Common+Microsoft Shared\(VBA6E6EXT.OLB#G Visual Basic for |s Extensibilixty +aSaSydtma5E1F7BC3-67C5-4AEE-8EC6-C4B73AAC42EDaC?aara7UIh>eF Uq3 a8a34ECCA6E2-B16BCA-BD17-E74CAE4C150AcGUIGeometryU G`,oze`r. *094C2-FF32-4FA1-ABCB-7820F8D6FB68% +tDis[.DusTpa`w`-59FCCD31-434C-40 -BDEF-DBDEDC9CE0t@D@bas]`-Dt`b`s 0 `0475BDB1-E5B.CA2-9127-1683E70C2. /Aa/@Sou@rcesRarX>*A0aFaSuBbRաwrw`!8F0541A3-D5BE-4B3F-A8D9-062D5579E19B?$3Mh4M"OleDB>( =KO'epXB E2822F-C3A FA9P?9B-3512C98F97F/brbAr p P(i>&OGF60 1CE6AC6W3F@529-8FC0-D7ED298E4F1L A  XP G$Wq Gd0 4A}13-87}484D-AF82-0802947}7o    p p OB0JECT~ՉOuPtputkqO@ t%@Ou@7 ى7DB92CEC-C"B20A 37@-FCD07(D431߉߉ig _PQORtributed>4OO\tCibeP CA7C74158-1B-4664P04-8694D490`ϗ   PCarXto>3)CPPrՀoB}`s0&R548FhE@488 3PB7D88F bo ő LVoӸkL\c t1P?on 6B45C696-3C04268-A@58B-D9`D83Co[W  5LNetworkAnaly(sis;LN@ttwP rkPn jls s 9L9 D1302$C7 5F-41892A-692B073E1` L G  Pa0's ?13Asq3 X%$5C54042B-B#-$YC40-2D89C19 1$1Tw K/ ! 3D 2A 3V 1W{ 639FE29JCCrWAC1D>5FE50915B5* V P`StPstic,alAnalyst>2esriGHoStaU iTtTc4lPAnyT n*\G{0628CA67-C14B-4A0C-A5BE@-6265C858E8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatistic.olb#ESRI  Object LibraryRSpO$c1ySpksa5rr62922975-992A-4C4F-BD20-F7F7113A92|99%rHn kHDatabaseUI>" jDlabsUI 44A9C9ED71Dn614-B480@oDn961FC(n# lT4 #A4C3log> 2CD1lojg/w/ADC7DE29-DC0/48E-BBF6-27E4E34CF2E/G., ,A`R-C^A{A.C0FC1503-7E6F-11D2-AABF-00C04FA`375F1e^*UI.UI^\rtoa-.ro).D92377DC-FAB1-4DFB-A4C1-61BD8C400DBEBC}Cat+ ISourcesRaster.d/^S Fuc`_sR`t`r`!|18F0F4190-51B81D-B598-84945667024_Dg%LDispXlay)LD@s5ly$)L01 6DF9D!L81$L2D1 L00F8774FB5?5#5F 25@Output!D4OuLpLA!1AE064D40-D6CEA0-867AE51720_C'%Map AIM`.pd. 40499F24H-59z45zCE1-A25190017w%$.&> . Pa>ED18C8Q0E020Fn8745-B6A5D0C6952/>||   PUEdit`or>#ETd/t=r` u0 4C896230-7F1BA3/8509#B9C6G  RefeprencByCyRHfBHeIH;a 31996E-D0E736/87295B15Bo o a  o {o b PALoc on01ݔL0o :}0 0SForms3$*\G{0D452EE1-E08F-101A-8 -02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft u 2 /;1x- 0}#0x#30 0AA31D304-6867-4F2B-B338FC4B@4C7089mDOCUME~1\Alan\LOCALSTemp \VBE\.exd vA.E .@`M  S_Wi@ndows_( yte_Win*dw _ @ ;215D64D2-031C-33C7-96E3-61794CD1EE61}#1.aqFm.NET\Framework\v1.1.4322*\*.*.*.tlb#dll$ @UICONTROLS>ICONTRULL9bj*77E512AB-FD7D-1159F44@C04F6BC61A3Prog@. Files\ArcGIS\Bin\ont rols.&#EpSRI 80894983C94E-13 35@9AF6D-q02228244D1YAPC\esriG8g/V@w}D@Ok`" ThisDocumentHG!h 7sDDScuVeUt<2` H1`",A"+codule1Gdo eul`gn12Bb-!!flodialoghfrm#!fiDa"gfB"'#!o-!}#!!2!J2!2!2oj2e!`!5M,0G`%MAdA00i2ro@k<4/4*4/40 W/%55559m4ߵ66Z6_6_6[@6a6911m : helpfP%h=lp55=I%D5*matriximport 0.mp>t>ixPvmq1Label3Label4Label5CommandButton1Label7Label11Label12CommandButton8CommandButton9Label14CommandButton11CommandButton18CommandButton19Label15Label16Label17Label18Label19Label20YL&i eImage1CommandButton20Image2CommandButton21Image3CommandButton22Label0  t 2N h  RNpointmaker p09t0Zakpr [@_W_ V],8!_ [9,9,9,9$F$cpanelRcno[pn&fp ߽}&'todatamodelGiUr` t` d)akPahe` 2/ =3rV 333E3=c exw:ae9e2 m??97?7:7?"7D?b;0x8_8Z8_8__ Yq5\]^_`abcdefghijklmnopqrstuvwxyz{|}~21Label22Label23Label24Image5CommandButton1_ClickCommandButton10_ClickCommandButton11_ClickCommandButton18_ClickCommandButton19_ClickCommandButton20_ClickCommandButton21_ClickCommandButton22_ClickCommandButton8_ClickCommandButton9_Click Frame1_Click Image1_Click /TMDS?]IwFoI|Fr`N*J܂c:mJ N4OPam  -*\G{000204EF-0000-0000-C000-000000000046}#4.0#9#C:\PROGRA~1\COMMON~1\MICROS~1\VBA\VBA6\VBE6.DLL#Visual Basic For Applications*\G{866AE5D3-530C-11D2-A2BD-0000F8774FB5}#1.0#0#C:\Program Files\ArcGIS\com\esriFramework.olb#ESRI Framework Object Library*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\WINDOWS\system32\stdole2.tlb#OLE Automation*\CC:\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxt*\C..\..\Documents and Settings\Alan\Application Data\ESRI\ArcMap\Templates\Normal.mxt:I*\G{AA603763-259A-11D3-9F4A-00C04F6BC621}#1.0#0#C:\Program Files\ArcGIS\com\esriArcMap.olb#ESRI ArcMap Object LibraryZ*\G{0002E157-0000-0000-C000-000000000046}#5.3#0#C:\Program Files\Common Files\Microsoft Shared\VBA\VBA6\VBE6EXT.OLB#Microsoft Visual Basic for Applications Extensibility 5.3*\G{5E1F7BC3-67C5-4AEE-8EC6-C4B73AAC42ED}#1.0#0#C:\Program Files\ArcGIS\com\esriSystem.olb#ESRI System Object Library*\G{4ECCA6E2-B16B-4ACA-BD17-E74CAE4C150A}#1.0#0#C:\Program Files\ArcGIS\com\esriSystemUI.olb#ESRI SystemUI Object Library*\G{C4B094C2-FF32-4FA1-ABCB-7820F8D6FB68}#1.0#0#C:\Program Files\ArcGIS\com\esriGeometry.olb#ESRI Geometry Object Library*\G{59FCCD31-434C-4017-BDEF-DB4B7EDC9CE0}#1.0#0#C:\Program Files\ArcGIS\com\esriDisplay.olb#ESRI Display Object Library*\G{0475BDB1-E5B2-4CA2-9127-B4B1683E70C2}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabase.olb#ESRI GeoDatabase Object Library*\G{8F0541A3-D5BE-4B3F-A8D9-062D5579E19B}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesRaster.olb#ESRI DataSourcesRaster Object Library*\G{04E2822F-C3AE-4FA9-B19B-3512C98F97FB}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesOleDB.olb#ESRI DataSourcesOleDB Object Library*\G{1CE6AC65-43F5-4529-8FC0-D7ED298E4F1A}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesFile.olb#ESRI DataSourcesFile Object Library *\G{4A037613-879A-484D-AF82-0802947C627B}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesGDB.olb#ESRI DataSourcesGDB OBJECT Library*\G{7DB92CEC-CB65-420A-8737-FCD0722FD436}#1.0#0#C:\Program Files\ArcGIS\com\esriOutput.olb#ESRI Output Object Library**\G{A7C74158-1062-4664-B404-8694D490FCD1}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributed.olbFA7It B y:ҋB ` tablenamebox pointsfileboxLabel2Frame2Label6CommandButton2CommandButton3 matrixnameboxCommandButton4geodatabaseboxCommandButton2_ClickCommandButton3_ClickCommandButton4_Click *ιw sKFEE)ιw sK OK Catalog $L#ESRI GeoDatabaseDistributed Object Library*\G{45AC68FF-DEFF-4884-B3A9-7D882EDCAEF1}#1.0#0#C:\Program Files\ArcGIS\com\esriCarto.olb#ESRI Carto Object Library*\G{6B45C696-3C30-4268-A58B-D9F32D80023C}#1.0#0#C:\Program Files\ArcGIS\com\esriLocation.olb#ESRI Location Object Library*\G{9D130258-C75F-41EF-892A-692B073E1AAC}#1.0#0#C:\Program Files\ArcGIS\com\esriNetworkAnalysis.olb#ESRI NetworkAnalysis Object Library*\G{5C54042B-B2ED-4889-8C40-2D89C19DB41D}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoAnalyst.olb#ESRI GeoAnalyst Object Library*\G{639FE90A-CC9A-48C6-AC1D-105FE50915B5}#1.0#0#C:\Program Files\ArcGIS\com\esri3DAnalyst.olb#ESRI 3DAnalyst Object Library&*\G{0628CA67-C14B-4A0C-A5BE-6265C06258E8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalyst.olb#ESRI GeoStatisticalAnalyst Object Library *\G{62922975-992A-4C4F-BD20-F7F7113A9299}#1.0#0#C:\Program Files\ArcGIS\com\esriSpatialAnalyst.olb#ESRI SpatialAnalyst Object Library*\G{4A9C9ED7-F7DB-4614-B480-A5D265C961FC}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseUI.olb#ESRI GeoDatabaseUI Object Library*\G{ADC7DE29-DC0B-448E-BBF6-27E4E34CF2EC}#1.0#0#C:\Program Files\ArcGIS\com\esriCatalog.olb#ESRI Catalog Object Library*\G{C0FC1503-7E6F-11D2-AABF-00C04FA375F1}#1.0#0#C:\Program Files\ArcGIS\com\esriCatalogUI.olb#ESRI CatalogUI Object Library*\G{D92377DC-FAB1-4DFB-A4C1-61BD8C40DBEB}#1.0#0#C:\Program Files\ArcGIS\com\esriCartoUI.olb#ESRI CartoUI Object Library*\G{8F0F4190-51B8-4D1D-B598-849456670248}#1.0#0#C:\Program Files\ArcGIS\com\esriDataSourcesRasterUI.olb#ESRI DataSourcesRasterUI Object Library*\G{016DF9D3-7E81-11D2-A2D1-0000F8774FB5}#1.0#0#C:\Program Files\ArcGIS\com\esriDisplayUI.olb#ESRI DisplayUI Object Library*\G{AE064D40-D6CE-11D0-867A-0000F8751720}#1.0#0#C:\Program Files\ArcGIS\com\esriOutputUI.olb#ESRI OutputUI Object Library*\G{40499F24-596F-45D2-ACE1-A251E2990017}#1.0#0#C:\Program Files\ArcGIS\com\esriArcMapUI.olb#ESRI ArcMapUI Object Library*\G{ED18C81D-E028-4F2A-8745-B6A5D0C6952B}#1.0#0#C:\Program Files\ArcGIS\com\esriArcCatalogUI.olb#ESRI ArcCatalogUI Object Library*\G{4C896230-7F1A-11D2-8509-0000F875B9C6}#1.0#0#C:\Program Files\ArcGIS\com\esriEditor.olb#ESRI Editor Object Library *\G{31FB596E-D0E8-4736-864F-87295B15B736}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoReferenceUI.olb#ESRI GeoReferenceUI Object Library*\G{E06BEA6B-FF83-11D3-9F79-00C04F8ED1C4}#1.0#0#C:\Program Files\ArcGIS\com\esriLocationUI.olb#ESRI LocationUI Object Library2*\G{90F28035-50D8-41A8-9B1C-8D14EE115EA8}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoDatabaseDistributedUI.olb#ESRI GeoDatabaseDistributedUI Object Library*\G{52AE85C8-0A79-490E-A5E0-EAE86D8ACA6B}#1.0#0#C:\Program Files\ArcGIocate Points File쳻 sK볻 sKҋB ` 2Locate Interaction Matrix X1 Y1 X2 Y2 MagnitudeCreateAccessGDB>yinteraction_table_import_v073 C:\i?x 4uOߟ_|BhIE1 0_|Bh5uOߟ_|BhIEr k#`N ObjectID inS\com\esriEditorExt.olb#ESRI EditorExt Object Library*\G{85A385F8-E07F-43B8-8BC2-E3593B9FC3F3}#1.0#0#C:\Program Files\ArcGIS\com\esriArcScan.olb#ESRI ArcScan Object Library*\G{D5FB57C1-ACDB-11D2-9F3A-00C04F8ED1D7}#1.0#0#C:\Program Files\ArcGIS\com\esriSpatialAnalystUI.olb#ESRI SpatialAnalystUI Object Library.*\G{E3AB636F-179C-41AE-AD09-AE965A79CCC1}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoStatisticalAnalystUI.olb#ESRI GeoStatisticalAnalystUI Object Library*\G{C031A050-82C6-4F8F-8putnodeID outputnodeID _|Bh r k#`N"  _|BhQFhwv- _|Bh TOperation Canceled, as a result of Error: fĤIx8<  (   ) VBE6.DLL M  M; ( M H M h MS jH*O:O836-5692631CFFE6}#1.0#0#C:\Program Files\ArcGIS\com\esriGeoprocessing.olb#ESRI Geoprocessing Object Library*\G{0D452EE1-E08F-101A-852E-02608C4D0BB4}#2.0#0#C:\WINDOWS\system32\FM20.DLL#Microsoft Forms 2.0 Object Library*\G{AA31D304-6867-4F2B-B338-68FC4B4C7089}#2.0#0#C:\DOCUME~1\Alan\LOCALS~1\Temp\VBE\MSForms.exd#Microsoft Forms 2.0 Object Library.E .`M *\G{215D64D2-031C-33C7-96E3-61794CD1EE61}#1.a#0#C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.tlb#System.Windows.Forms.dll*\G{77E512AB-FD7D-11D2-9F44-00C04F6BC61A}#1.0#0#C:\Program Files\ArcGIS\Bin\UIControls.dll#ESRI UIControls*\G{4983C94E-1335-4FD2-AF6D-4D20222824D4}#1.0#0#C:\DOCUME~1\Alan\LOCALS~1\Temp\APC\esriFramework\UICONTROLSLib.exd#ESRI UIControlsw}DOk  H;I   ThisDocument0F49ef3d5ceThisDocumentA`Module10Q49ef3eb1pModule1B- flodialogfrm0M49ef3e71Mflodialogfrm} H80 Module20O49ef3e87dModule2`0HjeModule100G49ef3d8f|Module108`Module40J49ef3dac~Module4%x WModule50849ef3d5bModule54(Module60L49ef3e62Module66Module110P49ef3e87&Module11: mhelpform0;49ef3d5bGhelpformD matriximportform0I49ef3d94 matriximportformx8hpointmakerform0K49ef3db8 pointmakerform8!8V Module90N49ef3e87rModule9F0  controlpanelform0H49ef3d8fS controlpanelform08"importtodatamodel0@49ef3d5b"importtodatamodelrP=Module30A49ef3d5bModule3ch=exportform0B49ef3d5bexportform=Module70C49ef3d5bModule7bDModule80D49ef3d5bPModule8 Px0hH8(_ѾKCK'iaj]CG=qz+sʗsCDצv ?Hr:pաZFN&qAّJIxfZo]}W8D U)}I.|"^ AD``lY QNjMG;~k>ٔR'aL%uJ:DKTIsu71@FRgP cKGR@+=fCvCby1Gw~Ql˳϶N/26)LBK>z{`CAn0XZLName esriFrameworkG VBAWin16~Win32MacVBA6# Project-stdole` Normal esriArcMap|% VBIDEA esriSystem esriSystemUI esriGeometry esriDisplay esriGeoDatabase5 esriDataSourcesRaster esriDataSourcesOleDB esriDataSourcesFile` esriDataSourcesGDB-- esriOutputGL esriGeoDatabaseDistributed" esriCarto1 esriLocation esriNetworkAnalysis esriGeoAnalyst| esri3DAnalyst esriGeoStatisticalAnalystC esriSpatialAnalyst  esriGeoDatabaseUI` esriCatalog` esriCatalogUI, esriCartoUIe esriDataSourcesRasterUI esriDisplayUI esriOutputUIi esriArcMapUI esriArcCatalogUIj esriEditorO esriGeoReferenceUI esriLocationUI esriGeoDatabaseDistributedUI= esriEditorExt esriArcScan'  esriSpatialAnalystUIy esriGeoStatisticalAnalystUIK esriGeoprocessingm MSFormsC System_Windows_Forms UICONTROLSLibR ThisDocument< _EvaluateFlowToolsButton_Click (STARTHERE|qFlowToolsButton_ToolTipFlowToolsButton_Message2 Module1b(START_newflowgdbK pWorkspace IWorkspace~ geodatabasefilename1.InputBox (CreateAccessGDBZ pFeatureWS[IFeatureWorkspace{ pFieldsEdit1z IFieldsEditpcreateflowtableȥpTable1ITableW CreateTableJTpRow1IRowq pFieldsEdit2{createimpliedlinktable5pTable2pRow2 pFieldsEdit3|createlinkinputtableHpTable3pRow3 pFieldsEdit4}createlinkoutputtablerpTable4pRow4thenodes IFeatureClass=createWorkspaceFeatureClass] esriFTSimple ParentFolder7@GDBName pAccessWSF]XIWorkspaceFactory pWorkNameDIWorkspaceNameOjpNameZINameAccessWorkspaceFactoryCreateM Application*hWnd/ pFieldsEditnpOIDFldr IFieldEditP- pMagnitudeFldField3Fields7esriFieldTypeOIDLengthYesriFieldTypeDoubleAddFieldU pFlowIDFldb pnodeIDFldf.pimpliedlinkIDFldq featWorkspacefeatTypedesriFeatureTypektgeomTypeesriGeometryTypeϊesriGeometryPointFpFieldsIFieldspCLSIDlUIDpCLSEXT ConfigWord[8EH] IsMissingValueKesriGeometryLineesriGeometryPolylineͶesriFTSimpleJunction.esriFTComplexJunctionMesriFTSimpleEdge#esriFTComplexEdgeSesriFTAnnotation4pGeomDefk IGeometryDef GeometryDef pGeomDefEditc6IGeometryDefEditypSRgISpatialReferenceDUnknownCoordinateSystem* SetDomainSetFalseOriginAndUnits GeometryType̡ GridCountGridSizev AvgNumPoints>HasMQHasZQSpatialReferenceD<pFieldIField) pFieldEditj AliasNameZesriFieldTypeGeometry@% strShapeFld^ja FieldCount>oCreateFeatureClass-MsgBoxRErro Description  vbInformationn flodialogfrm]cmdcancel_Click\Hide9z controlpanelform$HShow cmdOK_Click netflowbuttonw( draw_net_flows_from_modelKtwowayflowbuttonr(draw_two_way_flows_from_modelgrossflowbutton(draw_gross_flows_from_model)X Module2c sub_error5Bpmxdoc?V IMxDocument5pTableCollection(IStandaloneTableCollectionFocusMappTableIStandaloneTable layercounter)2 LayerCountpflayerIZ IFeatureLayer counterabcqqqq2Rlayercodeofinterest(Layer layernamebox( pfeatclass! FeatureClass% pFeatureTable intFldIndex FindField objectidboxo0 intShapeIndexshapefieldnameboxM thisisapoint*IPointʔthisistheobjectidnumbertablelengthcountRowCountupFeatureCursor-ICursor&Search pfeatureRow4numberotables1_StandaloneTableCountxsqqqqtablecodefortableofinterestcounterxStandaloneTableflowtablenameboxb^Table rowcounter1,magnitudenamecode; magnitudebox inputnamecode, inputpointbox.outputnamecode'noutputpointboxprowp pTableCursor counterxxx thebiginputpointthebigoutputpoint0anothercounterx`tmylittleinputnodeidmylittleoutputnodeidUmylittlemagnitudevalue&;NextRow58mylittlenodeidentifiers&mylittlepointsEthenodesxvalues0mthenodesyvalues=XoYlletsgetitstarted"mhCreateShapefilehgoutputfilename1;pProgressDialogFactoryIProgressDialogFactory5-pProgressDialogRIProgressDialog2pStepProgressorDIStepProgressorz pTrackCancel" ITrackCancel shrtIndex  blnContinueLgquirky CancelTrackerProgressDialogFactoryp CancelEnabledtTitle~ AnimationesriProgressGlobeV$MinRangeMaxRangeYn StepValue{sosoftistheinputxi4sosoftistheinputyf4sosoftistheoutputxsosoftistheoutputy sosoftisthemagnitude3inputpointidentifiernoutputpointidentifier junkbudapestmakethepolylines MessageContinueTNumber-l_X1' l_Y1l_X2( l_Y2maggy inputidentifier\outputidentifier[_ pGeomCollIGeometryCollection_ pSegCollyISegmentCollection37pLineMILinemP pPolyliner IPolyline-kpFeatIFeature_%CreateLnRCreatePtPath2 AddSegmentoPolyline AddGeometry CreateFeature/XShapeStoreQdX]dY\Point PutCoordsB pPointFrom\pPointToSsPathsNamedpFWSDpWorkspaceFactoryqShapefileWorkspaceFactoryp OpenFromFileL,esriFieldTypeInteger8 Module10U Module4em_sX1zm_sY1Bzm_sX2zm_sY2Cz m_sAttrib2>(interaction_table_import_v073 matriximportform6geodatabasebox~ inputnodeIDQpX1FldOpY1Fld outputnodeIDpX2FldMpY2FldD tablenameboxCinputfilenamequery1 pointsfilebox inputfilenameCfreefilenumber' howmanylinestextlineEOFeachlineoftext howmanylines2>howmanypointsarethere9inputinteractionfilenamequery1 matrixnameboxinteractionfilename5 freefilenumber2numberofinteractiontablelinesΙlinesfromtheinteractionfileeachlineofpmxtablemnumberofinteractiontablelines2qwerty-asdfg  heyheyheyZ{ superarraycounteri  subbstring  counterzzz Split)point1point2counter1counter2secretseparationfrommDsecretseparationto,2 CreateRow% Module5f(START_preprocessing ErrorHandlerOinputfilename11&flowoutputfilename]outputfilename11%objectfs textwriterab CreateObjectCreateTextFile outstandingmoreoutstanding~ willthiswork}* errorcheck1hexternalcounter1externalcounter2 counteraaa countercccߘ counterbbb` writelinee Module6g(create_point_layerR| pointmakerform# fieldnamecodeS xfieldnamebox}:fieldnamecode1= yfieldnameboxjLfieldnamecode2>pointfieldnameboxF>pointoutputfilebox${wellheregoesnuthinw oldfieldname makethepointspointidentifier  newpointidboxS Module11Vsorter7pleftmagYinputtwoutputtmagg7,inputt2outputt2z`magg2  netmagnitude%yhowmanynetflowshowmanynetflows2sorter2leftmag2 foundaflowcounter3 helpform(CommandButton1_Clickfilenamejzowee%ShellV vbNormalFocusCommandButton2_ClickCommandButton3_ClickFA pgxdialogϷ IGxDialog3GxDialogn, ButtonCaptionStartingLocationAllowMultiSelect playerfilesr IEnumGxObjectA DoModalOpeny playerfileQ IGxObjecthFullNameОCommandButton4_ClickVypointoutputfilebox_Change Module9jCommandButton10_Clickb pgxfilterIGxObjectFilterZ]GxFilterLayers ObjectFilterpgxlayerIGxLayerAddLayer0CommandButton11_Click importtodatamodelXZCommandButton18_Click`CommandButton19_Click CommandButton20_ClickcCommandButton21_Click,CommandButton22_Click<CommandButton8_ClickYxCommandButton9_Clicki exportform Frame1_ClickF Image1_Click(table_to_flow_model_import' Module3dmagnitudenamebox inputnamebox outputnameboxnewflowgdbnameR ocelotcounter# pAccessWSF11 Q pWorkName11pName11t pWorkspace11}PpOIDFld1q_pMagnitudeFld1pOIDFld2r_ pFlowIDFld26pOIDFld3s_ pnodeIDFld3хpimpliedlinkIDFld3pOIDFld4t_ pnodeIDFld4҅pimpliedlinkIDFld4(model_export_to_single_table5 Module7h pImpliedTablepLinkinputTablepLinkoutputTableVK pFlowTabletAqqqq1Qqqqq3Sqqqq4Ttablecodeforimpliedtablecodeforlinkinputtablecodeforlinkoutput#tablecodeforflow atestnumber impliedlinkname6 linkinputnamelinkoutputname$flownameeopimpliedfields)plinkinputfieldssplinkoutputfieldse pflowfields therowcounter4impliedcode_a1Eimpliedcode_a2Elinkinputcode_a3linkinputcode_a4linkinputcode_a5linkoutputcode_a6linkoutputcode_a7linkoutputcode_a8 flowcode_a9 flowcode_a10impliedlinkidnamegdimpliedlinkflowidnamel4linkinputidname7linkinputnodeidnamezlinkinputimpliedlinkidname>linkoutputidnamerlinkoutputnodeidnameVlinkoutputimpliedlinkidname/# flowidname5 magnitudenameVS pimpliedrow_3plinkinputrow_3plinkoutputrow_3}d pflowrow_3ZpImpliedCursor_3pLinkinputCursor_36pLinkoutputCursor_3 pFlowCursor_3impliedlinkcontentslinkinputcontentslinkoutputcontents \ flowcontentsml counterxxx_4counter_outsidecounter_inside1Hcounter_inside2Icounter_inside3J ouroutputPnewgeodatabasename'newflowtablenamecounter_writerpinputnodeFld1hpoutputnodeFld1`newinputnodefieldname'newoutputnodefieldnamenewmagnitudefieldname Module8iFlowToolsButton MxDocument-ClickTooltip[EUserFormNLabel1,Label3,Label4,Label5,Frame1CommandButton1|Label7,Label11ALabel12BCommandButton8CommandButton9Label14DCommandButton114BCommandButton18;BCommandButton19@BDFHJ L!N"P#R$T%V&X'Z(\)^*`+b,e|M.'S 0e1G 4q2s 3}56Qh7 9>AEZ |  /8V@U)}I.|"^ AD``lY QNjMG;~k>ٔR'aL%uJ:DKTIsu71@FRgP cKGR@+=fCvCby1Gw~Ql˳϶N/26)LBK>z{`CAn0XZLName esriF$+{xMExpH;IKK  F Nh  J T Rh V  0 8 X T` R Z Xp Z \( \ ^ `H ^ J X \` ^ `  \ ` b@ b  b `  \ bH Z ^ Tp  Z `0  Z ` \X \ X Vp Z D( p `x ` V8  ` Z `X ` Z `x \ 8 X ^` ^ `  \ ` 8@  Flow Data Model Tools@ Copyright 2004-2005 J. Alan Glennon, Department of Geography,H University of California, Santa Barbara, CA 93106. All Rights Reserved.''CThis software is subject to the following License Agreement. PleaseMread and agree to all terms before using the software. By using the FLOW DATAKMODEL TOOLS software (the Software), you are consenting to be bound by thisd thPagreement. If you do not agree to all of the terms of this agreement, do not use the software.End User License AgreementMThe software author J. Alan Glennon grants you a non-exclusive License to useLthe Software free of charge if a) you are a student, faculty member or staffSmember of an educational institution (K-12, junior college, college or university);Rb) you are a United States federal, state or local government employee; or c) yourTuse of the Software is exclusively for non-business purposes. Government contractorsUare not considered government employees for the purposes of this Agreement. If you doVnot meet the requirements for free use of the Software, you must contact the author atWthe Department of Geography, University of California, Santa Barbara, California 93106,Yto obtain express written permission prior to any such use. Commercial users must contactWthe author to negotiate terms of use. If you are using the Software free of charge, youCare not entitled to documentation, support or telephone assistance.UDISCLAIMER OF WARRANTY. Software is provided on an "AS IS" basis, without warranty ofWany kind, including without limitation the warranties of merchantability, fitness for aZparticular purpose and non-infringement. The entire risk as to the quality and performanceUof the Software is borne by you. Should the Software prove defective, you and not theZcopyright holder assume the entire cost of any service and repair. The user should inspect[the software source code to ensure the software is suitable for their purposes and hardware[configurations. This disclaimer of warranty constitutes an essential part of the agreement.![SCOPE OF GRANT. You may use the Software on one or more computers and copy the Software for'Zarchival purposes. Copies must contain all of the original Software's proprietary notices.VTITLE. Title, ownership rights, and intellectual property rights in the Software shall\remain as J. Alan Glennon, Department of Geography, University of California, Santa Barbara. set tTThe Software is protected by copyright laws. Title and related rights in the content%Xaccessed through the Software is the property of the applicable content owner and may beNprotected by applicable law. This License gives you no rights to such content.umbeTTERMINATION. The License will terminate automatically if you fail to comply with the in alZlimitations described herein. On termination, you must destroy all copies of the Software.TEXPORT CONTROLS. None of the Software or underlying information or technology may beumber Zdownloaded or otherwise exported or re-exported (i) into (or to a national or resident of)VCuba, Iraq, Libya, North Korea, Iran, Syria or any other country to which the U.S. hasmnsVembargoed goods; or (ii) to anyone on the U.S. Treasury Department's list of SpeciallyQDesignated Nationals or the U.S. Commerce Department's Table of Denial Orders. ByPdownloading or using the Software, you are agreeing to the foregoing and you areSrepresenting and warranting that you are not located in, under the control of, or at we w=national or resident of any such country or on any such list.%ZLIMITATION OF LIABILITY. UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, TORT, CONTRACT,YOR OTHERWISE, SHALL J. ALAN GLENNON BE LIABLE TO YOU, ANY OTHER PERSON, OR ENTITY FOR ANYPINDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OR LOSSES OF ANY NATURE. ZHIGH RISK ACTIVITIES. The Software is not fault-tolerant and is not designed, manufacturedTor intended for use or resale as on-line control equipment in hazardous environments Yrequiring fail-safe performance, such as in the operation of nuclear facilities, aircraftZnavigation or communication systems, air traffic control, direct life support machines, orSweapons systems, in which the failure of the Software could lead directly to death,et theYpersonal injury, or severe physical or environmental damage ("High Risk Activities"). TheVCopyright Holders specifically disclaim any express or implied warranty of fitness for'ueHigh Risk Activities.''''WMISCELLANEOUS. This Agreement represents the complete agreement concerning this License''Wand may be amended only by a writing executed by both parties. If any provision of this''ZAgreement is held to be unenforceable, such provision shall be reformed only to the extentUnecessary to make it enforceable. This Agreement shall be governed by the laws of theZState of California. The application of the United Nations Convention of Contracts for the2International Sale of Goods is expressly excluded. CAttribute VB_Name = "Module8" ' Flow Data Tel Tools`Copyright @ 2004-5 J. Alan Glennon, Department of Geography,Unive rsityCalifornia , SanqBarbarCA 93106\l Rus Rese`rved.JThis soft ware  ubject to the foling License AgreeL. Please"read anall terms beOe us")!6. By FLOW DATA'MODEL TOOLSN(SU), you ZcoKnt/o7 bouEby`JiaXIfdo not  V?0Z, }uxA 1,EUVJT@S author} @ynts(a@(@n-excl@NveFe EC fdAAchargqf a)@ua stud, faculmember staff@(E@n educational instituA (K-12@, junicege, @);@bI!ted States feder8al,'loRcgonemployee;Acr?:`@jJlyrObess purposes. GcontractorJA@si&*".>aE c(cLa m ee@j @requ|irg# "70[must+zArGat  aLobta"i Axpr'written p`ziss@C pr@@any suchye. Com`merci@9rliWS0U|ly Design.Nt s 6e8̠T,-Deal Or_@4B1%0cMqp !1E$` bVˡXhat K =i!"#A1rolZ Lrbvp) 9ct`P rdT*LIMIT5]LIABIL"IUNDNO CIRCUMSTANCES AND LEGApHEORY,шRT,.ACTqOR OTHERWISEHALLRLAN GLENNON BE QLE YOU, Yc PE@RSON, pE$NT` FANYINDIREp SPECIAL, INCIDp7SEQUP DAMAG LOSSFEUREHIGH RISK IVITIE0,}X 1fa-tolP31MB )e`u t}d PQfn;"*!aP~@dli%pin4zardous en0viro2ɱ5requiring fail-safe performance, such as in the opation of nucleartcilities, aircraft 'navigXr co@mmunic s ystem^ t0fic"ntrol, dire ct lisupport machinbor\weapons HwhiurfSoftwacould dcly to death,*nsonalwjury, o@r sevep(hys^l environmentdamage ("High Risk Activ"). The-Copyrt HoldeBr]peci|alCdisclaim any e@xpress5implied _ rantyfirts ,;. MISCELLANEOUSDis Agree] re21sBI@hplete aIFcornthLicensA3anddy bK d@(on1by a wr>execut@both par!. If9provisA,'9hek@hunen  t%`x ~8% X % x$% %`D+|8ii% X(% x,% 0% %+ ,, %   % @ 8% ` 8% F 8% H 8%8 H;I . 0 "8 @    &H &p &    $ ( &( P p x    6     *  P `  * H  4  X`hp x        H8Xp       ( 0@  HX p x       < 80hp Px (0 HP hp  : H08  P:`  Z  ( 0 *8 h 8x *        ( 0 8  :@ : : $ ( @ X p         ( 0 8 @ H P X p         6 0 8 @ H P p   *  B X *h   l6p0406@6x0602H 2 8       ,( .X *      & & &8 &` & &    $ $ @ $`        .   8 X x @ 8 H 2X , (  (,@ (p  , (  ( 0 6H n      (  $H p x    & & & & &8 &`    &          ( Hh p       0P Xh$p  8H P X ` h       & & & 0 8^@ B  (  " 0@ P ` Bh px             0  @ P  `  p         ! !( code by J. Alan Glennon, UCSB GeographyHf8''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' This part of the code will!'' look for specific tables, with '' specific fields and load themal'' into various arrays.''''''''''0''Get reference to this map and the tables in it]@ d.h]` h!p.l]]]]$'''''''''''''''''''''''''''''''''''''''''''''' find the tables'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents] l!'.'' MsgBox "number of tables " & numberotables1]]0]H]`]x]]]'''']]'B'' go through the tables in table of contents and find their codes     l%.  l%.  l%.  l%. !'  ! '  'k !'  ! '  'k !'  ! '  'kp !'  ! '  'k( 5'' if it can't find all the tables, the program quits  Found /4 of the required tables.A@D|kI'' using the found assignment codes, set the table targets appropriately.  l%.  l%.  l%.  l%.] !!.]( !!.]H !!.]h !!.4'' count the number of rows in the impliedlink tableB'' by the way, the number of rows should be the same in all tables] !%' .There are no implied links in the geodatabase.A@D|XdP  MSomething is terribly wrong with the number of rows in the impliedlink table.A@D|kk$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$'''''''''''''''''''''''''''''''''''']]]]]]]0]H]`]x4'' set up columns (fields), load their index numbers3'' these codes will be used in conjunction with the3'' individual rows that are called to get the exact'' fields/values that we want. ! %' !  %' !  %' ! %' ! %' ! %' ! %' ! %' ! %' ! %']]]]]]0]P]p !%.$ !%.& !%.( !%.* $G|j &G|j (G|j *G|j0'' load all the tables into these various arrays]]]]8  ,  .  0  2$'''''''''''''''''''''''''''''''''''''''''<''''' read the table and assign values to the above arrays'''''$'''''''''''''''''''''''''''''''''''']'4 4  $!. &!. (!.  *!."e''MsgBox ("Row " & counterxxx_4 & " " & "linkinputvalue: " & plinkinputrow_3.Value(linkinputcode_a4))  % 4 +,]'impliedlinkID  % 4 +,]'flowID  % 4 +.] 'linkinputIDoutp  % 4 +.]'nodeID  % 4 +.]'impliedlinkID  % 4 +0] 'linkoutputID<  % 4 +0]'nodeID  % 4 +0]'impliedlinkID  "% 4 +2]'flowID  "% 4 +2] 'magnitudex+For counterxxx_4 = 0 To (therowcounter - 1)commen1 MsgBox (impliedlinkcontents(counterxxx_4, 1))Nextion to''''''''&'' take the stuff from here and aboveows,''' if you want to get the node-to-node, #'' flow model components into someflows) '' arrays'''''''''''''''''''''''''''''''''''''''ny'''''''''''''''''''''''''''''''ue'''''''''''''''''''''''''''''''ut'''''''''''''''''''''''''''''''e '''''''''''''''''''''''''''''''e.'''''''''''''''''''''''''''''''ed'''''''' This part of the code willr do'' look at the contents of the've '' arrays and cull out the'' input,output,and magnitudeount''''''''''](]@]X]p] >( ouroutput rows will be individual flows* the columns are: 0 is inputnodeID 1 is outputnodeID 2 is magnitudeve a: this loop is based on the idea that the number of implied1 links is the number of output rows to be createdA it will search out the corresponding input,output,and magnitudes, from the model. It's basically doing a join2 6  8  6 $, 8 $2 6 8 $2 6 +>k : 2 : 6 $, : $. 0 : $. 6 +>k`X < anynet 6 $, < $0 < $0 6 +>k array contentst / For counter_outside = 0 To (therowcounter - 1)n g MsgBox (ouroutput(counter_outside, 0) & ouroutput(counter_outside, 1) & ouroutput(counter_outside, 2)) i Next''''''''!'' end inputnodeID,outputnodeID,'' and magnitude compilation''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''>''''''''''''''''''''''''''''''':'''''''''''''''''''''''''''''''f ''''''''''''''''''''''''''''''''''''''' This part of the code writest '' the output to a tablegg''''''''''''''] Query geodatabase namein Query geodatabase named,] !@'xgnit x*Fo|hk` Create the geodatabase  Create the geodatabase) C:\ x$|.t]  t.~mag2(dcreate the flow tablecreate the flow tableflow]@$.ws)]` !B  ~%.anyn]] D  ) & so !.le D$> ,erim D$> ,'' D$> ,'' B@`'''''''''' end table writingof f'''''''''''''''''''''''''''''''''''''''''''ro'''''''''''''''''''''''''''''''it''''''''''''''''''''''''''''''', |f*Operation Canceled, as a result of Error: F!, (  F!H ) A@DoX"' Basic Geodatabase table creation]@]`]]4.   ! %. . !. .|i] ]( ]H ]h ] <..<.'<.F  <.H@.ObjectID (  (l ( !J F( z F(l F( !L H( z H(l H( !N (  (l (  B@ F B@ H B@  B@ .iAttribute VB_Name = "Module7" ' code by J. Alan Glennon, UCSB Geography Option Explicit$Sub ml_export_to_single_tab0le()84rror GoTo sub_e 'C!$ This part of thewill look faspecific ps, with field s andad'minto @variourrays. yGet reference ŀ"tXmap3XaH in Dim pmxdoc As esriArcMapUI.IMxDocumenr S] =BCTtC`ollecCAMo.IStExit SubgC ' us r fassign1CX, sdžtaHrgeapp pri@ ly`!WII$E W( :-.XõO ?I/Yչ* +ExptQwFRcr+ \ .EcMshoulLd be the same in all tab@les Dim|rowcounter As I gerz:= pImplPiedT. RowC|(Nothing) xIf ]= 0 ThenMsg@Box ("re ano id linksAgeodaapse."c>Exit SubTElse^@<@C!BSomea is ribly wrong withg numbof O?YY RTnd If\'!.fi(Mappropri atm fields/columnCV)>code_a1L@L$2MinputC3^4^5Sout*678flB910Kp set up h (l), lHoadir@dexĢpse@8des@}@usedhconjunctionYEividualZthatrcato gAJe0xact'Iva luwe want.C$)#.F`FR(exportform.DbCdn d~sCE2 3i O@ f9 4o! nhY 5_ d(F )kb߽n#47? t2 8 HG uJ@z.magn`itudeZIp@_Ih!nkB#%5  HD~CursordHLyoă ayF@ScSG?.Search, TrueCR pFsS S_ zR :PScPnIs  [/?5OMZ 0o?3 m0ihova riousjrayp'(?otents()Oy1B,O#D_W@nV p#SRe  9- 1,< 1 /  2 (2 _ &O'3-rec aassign 5o abovA7 s!xxx_2u\For= 1 T" {3 ?j_?,X.Next`VF ppZp^<7 oU1 V< " && A" ":in.V(3w4)]Q>s(j5|0))$|)30''tIDh&A;r_a:''itEO# bѵ.Value(linkinputcode_a3) ''ID  Lnten@ts(courxxx_4 - 1, 1) = pRrow_3B4knode-f2%&f5fimed moutej07 k 68 .6 676scoiP8ÂTPflowN 2 K9E''ANC 3CM 1!magn itudeùNext A'For = 0 To (the!) 'MsgBox (JFǁ '''@ take  stuff from e and abov@- if you want to gehe a-to-B  AH model!mpony i"nsom arraysb`W??D0 %z? " This part of/ will" look ac,%%=?2e(:5>IOIDFldc9a$4MagnitHude6in`no8ÑU$&:$K  D C@1!J#a(p$.8"ObjectID" fType`esri"(Length`8 E Ffҁ Ipk20""Sgi,{;mEPiQDou`@&K ~.Add _Tod* s),>#ɉq]B1]]'''']]'B'' go through the tables in table of contents and find their codes     l%.  l%.~~~~~~~~~~U          !6i7 %7L7xME(SPSSS0{72B7BE25-5668-476E-9568-F3DBE610CBA6}{31395BC6-215A-4075-8338-728333DA47B9} @ % %@@H;I  "  (8 "@ H XhxxA@ B@P RB@To@@ B@PR RB@ToiAttribute VB_Name = "exportform"D Bas0{72B7BE25-5668-4@76E-95F3DBE610CBA6}{31395BC6-215A-4075-8338-72 3DA47B9} dGlobalSpacoFalse CreatablPredeclaId(Tru BEse0TemplateDerivCustomizD Option 1licit` P#' Sub CommandButto n18_Ck() model__to_single_vÃ.Hidkcontrolpanel.Show End9 @9K rivCustomizD O@L7r  =cxMEH$(08<D @<<<<<<<<v< < <<<,Es:O:klL NQR{0 YPPjsh13K_wv-YP!>D3-i|` lN^# eIrZTӢr(E8 ,,cN BWk9,Ob. R y:pointoutputfileboxpointfieldnamebox xfieldnamebox yfieldnamebox newpointidboxpointoutputfilebox_Changecreate_point_layer <<4 < <<@(H `p   <(  (  @H  .`  . J *0 ` 8p  * :(0HPhp    N 08 @HP X`h p  *  8  *( Xp  0  P  p         8 X x  N  *  B ` h 2p       4    ( H h  p          0 P  X h $p  " "   ,@ H h *    (8*@p x  & V 8 H X h x  ,       L( (x  h x "   *  &Px    "(H ` p  "  0 8 H X h x          ^  x B  (  "  ( 8 B@ HPX  ` p            0 B8 @HP  X h  x          0 B8 @HPX  ` p           0 @ P`p    B          ( 8 P ` p       ( code by J. Alan Glennon, UCSB GeographyHf8L'' this code allows you to specify a standalone table and obtain information'' from a specified field0''Get reference to this map and the tables in it]@ d.h]` h!p.lP''Set the table into which the values will be saved to the only table in the map]$''''''''''''''''''''''''''''''''''''FB@T'''''8''''' find the table'''''$''''''''''''''''''''''''''''''''''''B'' Counts the number of standalone tables in the table of contents] l!'.'' MsgBox "number of tables " & numberotables1]]']8'' specify the table you want to find in the if...qqqq =     l%.r r!'  ! 'kh`6'' if it can't find the right table, the program quits Hey, I can't find that tableA@D|k  l%.r] r!!.('' count the number of rows in the table]  r!%'''' debugging messagebox for rowcounter1D'' MsgBox ("There are this many rows in the table : " & rowcounter1)$'''''''''''''''''''''''''''''''''''''''''1''''' find the appropriate table fields/columns'''''$''''''''''''''''''''''''''''''''''''4'' set up columns (fields), load their index numbers]8 ! %']P ! %']h ! %''' set up row cursor]] r!%.G'' the cursor starts on the first row... under the fieldnamecode column G|j]']]]]0]h]   0$'''''''''''''''''''''''''''''''''''''''''2''''' read the table and assign values to arrays'''''$''''''''''''''''''''''''''''''''''''   !.'' MsgBox ("Row " & counterxxx & " " & "input: " & prow.Value(inputnamecode) & ", output: " & prow.Value(outputnamecode) & ", mag: " & prow.Value(magnitudenamecode))  %  +  %  +  %  +h''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''G this takes a table in the table of contents with possesses the fields:# inputnodeID outputnodeID magnitude; and parses its various components into the Flow Data Model, you'll need to have your own nodes already!- this part creates the new geodatabase tables]8 Query geodatabase name Query geodatabase name]X !'x x|hk` Create the geodatabase Create the geodatabase