⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 map_form.frm

📁 mif,mid文件的读写 和一些人工智能模型
💻 FRM
📖 第 1 页 / 共 5 页
字号:
       Line Input #number, ee
       Line Input #number, ee
       Line Input #number, ee
       GoTo 20
      Else
       region_num = ii
      End If
      
 End Sub

Private Sub Output1(grid_co, grid_dep, odds, postdeviate, number, number1, number2, number3, xmin, ymin, xmax, ymax, m, k, l, strp)

   Dim i As Integer, j As Integer
   Dim zmax As Double, zmin As Double

  'Output the *.mif file
   Print #number, "Version 300"
   Print #number, "Charset ";
   Print #number, """";
   Print #number, "WindowsSimpChinese";
   Print #number, """"
   Print #number, "Delimiter ";
   Print #number, """";
   Print #number, ",";
   Print #number, """"
   Print #number, "CoordSys NonEarth Units ";
   Print #number, """";
   Print #number, "km";
   Print #number, """";
   Print #number, " Bounds ("; xmin; ","; ymin; ") ("; xmax; ","; ymax; ")"
   Print #number, "Columns"; " "; m + 5
   Print #number, "CellNumber"; " "; "Integer"
   Print #number, "DepositMap"; " "; "Integer"
   For i = 3 To m + 2
     Print #number, "MapLayer" + CStr(i - 2); " "; "Integer"
   Next i
   Print #number, strp; " "; "Float"
   Print #number, "postdev"; " "; "Float"
   Print #number, "TargetGrade"; " "; "Integer"
   Print #number, "Data"
   Print #number,

   For i = 1 To k * l
     Print #number, "Region"; " "; 1
     Print #number, 5
     Print #number, grid_co(i, 3); " "; grid_co(i, 4)
     Print #number, grid_co(i, 5); " "; grid_co(i, 6)
     Print #number, grid_co(i, 7); " "; grid_co(i, 8)
     Print #number, grid_co(i, 9); " "; grid_co(i, 10)
     Print #number, grid_co(i, 11); " "; grid_co(i, 12)
     Print #number, "    Pen (1,2,0)"
     Print #number, "    Brush (2,12648384,16777215)"
     Print #number, "    Center"; " "; grid_co(i, 1); " "; grid_co(i, 2)
   Next i
   
 'Output the *.mid file
  For i = 1 To k * l
    Write #number1, i,
    For j = 1 To m + 1
      Write #number1, grid_dep(i, j),
    Next j
    Write #number1, odds(i), postdeviate(i),
    If odds(i) < 0.1 Then
      Write #number1, 0
    ElseIf odds(i) >= 0.1 And odds(i) < 0.2 Then
      Write #number1, 1
    ElseIf odds(i) >= 0.2 And odds(i) < 0.3 Then
      Write #number1, 2
    ElseIf odds(i) >= 0.3 And odds(i) < 0.4 Then
      Write #number1, 3
    ElseIf odds(i) >= 0.4 And odds(i) < 0.5 Then
      Write #number1, 4
    ElseIf odds(i) >= 0.5 And odds(i) < 0.6 Then
      Write #number1, 5
    ElseIf odds(i) >= 0.6 And odds(i) < 0.7 Then
      Write #number1, 6
    ElseIf odds(i) >= 0.7 And odds(i) < 0.8 Then
      Write #number1, 7
    ElseIf odds(i) >= 0.8 And odds(i) < 0.9 Then
      Write #number1, 8
    ElseIf odds(i) >= 0.9 Then
      Write #number1, 9
    End If
  Next i
 
'Output posterior probability data to a Surfer grid file (*.grd)
 zmin = 9999999999#
 zmax = -9999999999#
 For i = 1 To k * l
   If odds(i) < zmin Then
      zmin = odds(i)
   End If
   If odds(i) > zmax Then
      zmax = odds(i)
   End If
 Next i
 
 Print #number2, "DSAA"
 Print #number2, l; " "; k
 Print #number2, xmin; " "; xmax
 Print #number2, ymin; " "; ymax
 Print #number2, zmin; " "; zmax
 For i = 1 To k
   For j = 1 To l
     If ((i - 1) * l + j) Mod 10 = 0 Then
       Print #number2, odds((i - 1) * l + j)
     Else
       Print #number2, odds((i - 1) * l + j); " ";
     End If
   Next j
   Print #number2,
Next i

'Output postdeviation data to a Surfer grid file (*.grd)
 zmin = 9999999999#
 zmax = -9999999999#
 For i = 1 To k * l
   If postdeviate(i) < zmin Then
      zmin = postdeviate(i)
   End If
   If postdeviate(i) > zmax Then
      zmax = postdeviate(i)
   End If
 Next i
 
 Print #number3, "DSAA"
 Print #number3, l; " "; k
 Print #number3, xmin; " "; xmax
 Print #number3, ymin; " "; ymax
 Print #number3, zmin; " "; zmax
 For i = 1 To k
   For j = 1 To l
     If ((i - 1) * l + j) Mod 10 = 0 Then
       Print #number3, postdeviate((i - 1) * l + j)
     Else
       Print #number3, postdeviate((i - 1) * l + j); " ";
     End If
   Next j
   Print #number3,
Next i

 
End Sub
Private Sub Output(grid_co, grid_dep, odds, number, number1, number2, xmin, ymin, xmax, ymax, m, k, l, strp)

   Dim i As Integer, j As Integer
   Dim zmax As Double, zmin As Double

  'Output the *.mif file
   Print #number, "Version 300"
   Print #number, "Charset ";
   Print #number, """";
   Print #number, "WindowsSimpChinese";
   Print #number, """"
   Print #number, "Delimiter ";
   Print #number, """";
   Print #number, ",";
   Print #number, """"
   Print #number, "CoordSys NonEarth Units ";
   Print #number, """";
   Print #number, "km";
   Print #number, """";
   Print #number, " Bounds ("; xmin; ","; ymin; ") ("; xmax; ","; ymax; ")"
   Print #number, "Columns"; " "; m + 4
   Print #number, "CellNumber"; " "; "Integer"
   Print #number, "DepositMap"; " "; "Integer"
   For i = 3 To m + 2
     Print #number, "MapLayer" + CStr(i - 2); " "; "Integer"
   Next i
   Print #number, strp; " "; "Float"
   Print #number, "TargetGrade"; " "; "Integer"
   Print #number, "Data"
   Print #number,

   For i = 1 To k * l
     Print #number, "Region"; " "; 1
     Print #number, 5
     Print #number, grid_co(i, 3); " "; grid_co(i, 4)
     Print #number, grid_co(i, 5); " "; grid_co(i, 6)
     Print #number, grid_co(i, 7); " "; grid_co(i, 8)
     Print #number, grid_co(i, 9); " "; grid_co(i, 10)
     Print #number, grid_co(i, 11); " "; grid_co(i, 12)
     Print #number, "    Pen (1,2,0)"
     Print #number, "    Brush (2,12648384,16777215)"
     Print #number, "    Center"; " "; grid_co(i, 1); " "; grid_co(i, 2)
   Next i
   
 'Output the *.mid file
  For i = 1 To k * l
    Write #number1, i,
    For j = 1 To m + 1
      Write #number1, grid_dep(i, j),
    Next j
    Write #number1, odds(i),
    If odds(i) < 0.1 Then
      Write #number1, 0
    ElseIf odds(i) >= 0.1 And odds(i) < 0.2 Then
      Write #number1, 1
    ElseIf odds(i) >= 0.2 And odds(i) < 0.3 Then
      Write #number1, 2
    ElseIf odds(i) >= 0.3 And odds(i) < 0.4 Then
      Write #number1, 3
    ElseIf odds(i) >= 0.4 And odds(i) < 0.5 Then
      Write #number1, 4
    ElseIf odds(i) >= 0.5 And odds(i) < 0.6 Then
      Write #number1, 5
    ElseIf odds(i) >= 0.6 And odds(i) < 0.7 Then
      Write #number1, 6
    ElseIf odds(i) >= 0.7 And odds(i) < 0.8 Then
      Write #number1, 7
    ElseIf odds(i) >= 0.8 And odds(i) < 0.9 Then
      Write #number1, 8
    ElseIf odds(i) >= 0.9 Then
      Write #number1, 9
    End If
  Next i
 
'Output the Surfer file (*.grd)
 zmin = 9999999999#
 zmax = -9999999999#
 For i = 1 To k * l
   If odds(i) < zmin Then
      zmin = odds(i)
   End If
   If odds(i) > zmax Then
      zmax = odds(i)
   End If
 Next i
 
 Print #number2, "DSAA"
 Print #number2, l; " "; k
 Print #number2, xmin; " "; xmax
 Print #number2, ymin; " "; ymax
 Print #number2, zmin; " "; zmax
 For i = 1 To k
   For j = 1 To l
     If ((i - 1) * l + j) Mod 10 = 0 Then
       Print #number2, odds((i - 1) * l + j)
     Else
       Print #number2, odds((i - 1) * l + j); " ";
     End If
   Next j
   Print #number2,
Next i
 
End Sub

Private Sub Command1_Click()
    ' Set CancelError is True
    CommonDialog1.CancelError = True
    On Error GoTo errhandler
    ' Set flags
    CommonDialog1.Flags = cdlOFNHideReadOnly
    ' Set filters
    CommonDialog1.Filter = "Text Files(*.txt)|*.txt"
    ' Specify default filter
    CommonDialog1.FilterIndex = 2
    ' Display the Open dialog box
    CommonDialog1.ShowOpen
    ' Display name of selected file

    Text3.Text = CommonDialog1.filename
    Exit Sub
    
errhandler:
    'User pressed the Cancel button
    ShowError
    Exit Sub

End Sub

Private Sub Command2_Click()
    ' Set CancelError is True
    CommonDialog1.CancelError = True
    On Error GoTo errhandler
    ' Set flags
    CommonDialog1.Flags = cdlOFNHideReadOnly
    ' Set filters
    CommonDialog1.Filter = "MapInfo Interchange(*.mif)|*.mif"
    ' Specify default filter
    CommonDialog1.FilterIndex = 2
    ' Display the Open dialog box
    CommonDialog1.ShowOpen
    ' Display name of selected file

    Text4.Text = CommonDialog1.filename
    Exit Sub
    
errhandler:
    'User pressed the Cancel button
    ShowError
    Exit Sub

End Sub

Private Sub ETM_Click()

   SetHourglass

   'THIS PROGRAM IS FOR EVIDENCE THEORY MODEL PROCEDURE
   'ORIGINATED BY:  CHEN YONGLIANG
   'AFFILIATION:    JILIN UNIVERSITY, CHANGCHUN P.R.CHINA
   'DATE:           OCTOBER 20,2000
   
    Dim xmin As Double, xmax As Double, ymin As Double, xo As Double, yo As Double, ymax As Double, xx As Double, yy As Double, yg As Double
    Dim dx As Double, dy As Double
    Dim m As Integer, np As Integer, k As Integer, l As Integer
    Dim grid_no  As Integer, i As Integer, ii As Integer, ij As Integer, j As Integer, deposit_num As Integer, ixx As Integer, iyy As Integer
    Dim grid_co() As Double, deposit_co(1000, 2) As Double, evidence_co(10000, 2) As Double, joint_co(100) As Double
    Dim grid_dep() As Integer, point_num(1000) As Integer
    Dim cf() As Double, bpa() As Double
    Dim filename As String * 80, filename1 As String * 80, filename2 As String * 80
    Dim region_num As Integer, kk As Integer, i1 As Integer, kkks As Integer, iii As Integer, jjj As Integer
    Dim kks As Integer, kkd As Integer, kke1 As Integer, kke2 As Integer, kke As Integer, kkef As Integer
    Dim xs As Double, xx1 As Double, xx2 As Double, xx3 As Double, yy1 As Double, yy2 As Double, yy3 As Double
    Dim ccc As Double, py As Double, pyz As Double, pyzf As Double, scf As Double, scf1 As Double, mincf As Double
    Dim myz As Double, myf As Double, km As Double
    Dim file() As String * 80
    
   'The number of evidences
    m = Val(Text1.Text)
    
   'The number of lines
    k = Val(Text2.Text)
    
    ReDim file(2 * m + 1)
    
    On Error GoTo errprint
    
   'Open *.txt file and input map layer file names
    filename = Text3.Text
    Open filename For Input As #1
    For i = 1 To 2 * m + 1
      Input #1, file(i)
    Next i
    Close #1
    
   'Open the *.mif file and input the data of deposit map layer
    filename = file(1)
    Open filename For Input As #1
    Call InputDep(deposit_co, deposit_num, 1, xmin, ymin, xmax, ymax)
    Close #1
  
   'The ratio between the width and height of the map area
    ccc = (xmax - xmin) / (ymax - ymin)
    
   'The number of columns
    l = CInt(k * ccc)

    dx = (xmax - xmin) / CDbl(l)
    dy = (ymax - ymin) / CDbl(k)
    
    ReDim grid_co(k * l, 12), grid_dep(k * l, m + 1), bpa(k * l), cf(m, 3)
 
   'Generate the uniform grid cells
    For i = 1 To k
      For j = 1 To l
      
        grid_no = (i - 1) * l + j
        xx = xmin + j * dx - dx / 2#
        yy = ymin + i * dy - dy / 2#
        xx1 = xx - dx / 2#
        yy1 = yy - dy / 2#
        xx2 = xx + dx / 2#
        yy2 = yy + dy / 2#
        
       'The X_Y coordinates of the center of the cell
        grid_co(grid_no, 1) = xx
        grid_co(grid_no, 2) = yy
        
       'The four boundaries of the cell
        grid_co(grid_no, 3) = xx1
        grid_co(grid_no, 4) = yy1
        grid_co(grid_no, 5) = xx2
        grid_co(grid_no, 6) = yy1
        grid_co(grid_no, 7) = xx2
        grid_co(grid_no, 8) = yy2
        grid_co(grid_no, 9) = xx1

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -