问题已开启 (普通问题)
县镇城区地图怎么做MAPINFOW文件?

乡镇镇谷歌地图怎么做MAPINFOW文件?     

提问者: 278873745  提问时间: 2015-08-04    
 
  我要回答:
 

  请先 登录注册 再回答问题

更多 MAP API PIN INFO mapinfo MAPI 文件 地图 相关问题
问题答案 ( 1 )

使用方法:

1、需安装版google,打开google选择所需区域截图保存为JPG格式

 

2、在Excel中自建一个workbookALT+F11进入VBA界面,新建一个模块,将代码拷贝进去。
代码如下:

 

Option Explicit

 

Private Declare Function GetObject Lib "gdi32" Alias "GetObjectA" (ByVal hObject As Long, ByVal nCount As Long, lpObject As Any) As Long

Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

 

Private Type BITMAP

    bmType As Long

    bmWidth As Long

    bmHeight As Long

    bmWidthBytes As Long

    bmPlanes As Integer

    bmBitsPixel As Integer

    bmBits As Long

End Type

 

Private Type PicInfo

    PicWidth As Long

    picHeight As Long

End Type

 

 

Private Function GetPicSize(lsPicName As String) As PicInfo

    Dim hBitmap As Long

    Dim res As Long

    Dim picHdl As Variant

    Dim bmp As BITMAP

    res = GetObject(LoadPicture(lsPicName).Handle, Len(bmp), bmp)      '取得BITMAP的结构

    GetPicSize.PicWidth = bmp.bmWidth

    GetPicSize.picHeight = bmp.bmHeight

    'DeleteObject picHdl

End Function

 

Sub GoogleEarth_COMAPI_GenRasterMap()

   

   

   

    Dim gei As Object

    Dim gec As Object

    Dim gep As Object

    Dim picW As Integer

    Dim picH As Integer

   

    Dim sFileName As String

    Dim vTmp As Variant

 

    On Error Resume Next

   

    Set gei = CreateObject("GoogleEarth.ApplicationGE")

    If Err.Number > 0 Then

        MsgBox "连接GoogleEarth失败!"

        Exit Sub

    End If

    sFileName = Application.GetSaveAsFilename("", "*.jpg,*.jpg")

    Set gec = gei.GetCamera(0)

    gec.Tilt = 0

    gec.Azimuth = 0

    If gec.Range > 100000 Then

        MsgBox "范围过大,将自动调整为100km"

        gec.Range = 100000

    End If

    gei.SetCamera gec, 10

    gei.SaveScreenShot sFileName, 100

   

    Dim picS As PicInfo

    picS = GetPicSize(sFileName)

   

    'Dim pic As StdPicture

    'Set pic = StdFunctions.LoadPicture(sFileName)

    'picW = pic.Width

    'picH = pic.Height

    'Set pic = Nothing

   

    Dim iFNo As Integer

    iFNo = FreeFile()

    Open Left(sFileName, Len(sFileName) - 3) & "tab" For Output As #iFNo

   

    Print #iFNo, "!Table"

    Print #iFNo, "!version 300"

    Print #iFNo, "!charset WindowsSimpChinese"

    Print #iFNo, ""

    Print #iFNo, "Definition Table"

    vTmp = Split(sFileName, "")

    Print #iFNo, "  File """ & vTmp(UBound(vTmp)) & """"

    Print #iFNo, "  Type ""RASTER"""

    Set gep = gei.GetPointOnTerrainFromScreenCoords(-1, 1)

    Print #iFNo, "  (" & gep.Longitude & "," & gep.Latitude & ") (0,0) Label ""Pt 1"","

    Set gep = gei.GetPointOnTerrainFromScreenCoords(1, 1)

    Print #iFNo, "  (" & gep.Longitude & "," & gep.Latitude & ") (" & picS.PicWidth - 1 & ",0) Label ""Pt 2"","

    Set gep = gei.GetPointOnTerrainFromScreenCoords(-1, -1)

    Print #iFNo, "  (" & gep.Longitude & "," & gep.Latitude & ") (0" & "," & picS.picHeight - 1 & ") Label ""Pt 3"","

    Set gep = gei.GetPointOnTerrainFromScreenCoords(1, -1)

    Print #iFNo, "  (" & gep.Longitude & "," & gep.Latitude & ") (" & picS.PicWidth - 1 & "," & picS.picHeight - 1 & ") Label ""Pt 4"""

    Print #iFNo, "  CoordSys Earth Projection 1, 104"

    Print #iFNo, "  Units ""Degree"""

    Close #iFNo

    Set gei = Nothing

    Set gec = Nothing

    Set gep = Nothing

   

    MsgBox "OK, refer to " & sFileName

End Sub

 


3
、运行——导入图片——完成后自动生成MAP图层。

(么$*@#(K:JFD()$本文来自移动通信网www.mscbsc.com,版权所有

回答者: maolin2011     回答时间:2015-08-05 17:39    

3        2        

中国通信人才网 | 江苏通信人才网 | 山东通信人才网 | 武汉通信人才网 | 浙江通信人才网 | 湖南通信人才网
中移铁通有限公司江门分公司 聘:高铁专网维护员
需求人数:2 人 地点:江门市
南京华苏科技有限公司 聘:高级优化人员
需求人数:3 人 地点:福州市
重庆信科通信工程有限公司 聘:四川巴中-IMC招聘
需求人数:1 人 地点:巴中市
嘉环科技股份有限公司 聘:测试工程师
需求人数:15 人 地点:昆明市,临沧市,德宏州,红河州,玉溪市
广州楚晨网络科技有限公司 聘:4G/5G后台中高级工程师
需求人数:12 人 地点:广东省
杭州东信网络技术有限公司 聘:长期-廊坊-5G华为后台
需求人数:1 人 地点:廊坊市
上海瑞禾通讯技术有限公司 聘:广州中高级工程师
需求人数:3 人 地点:广州市
北京电旗通讯技术股份有限公司 聘:网优实习生通信应届生(云南)
需求人数:1 人 地点:昆明市,思茅市,昭通市
成都旗讯通信技术有限公司 聘:5月6日金牌网优后台实训新班开课
需求人数:12 人 地点:北京市,上海市,天津市,重庆市,四川省
杭州飞阳科技有限公司 聘:高端大数据优化人员
需求人数:5 人 地点:云南省,山西省
热点问题
更多精彩

联系我们 - 问通信专家 Powered by MSCBSC 移动通信网  © 2006 -