最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

如何将TABMIF转换成SHP

IT圈 admin 25浏览 0评论

2024年3月18日发(作者:熊淑华)

百度文库 - 让每个人平等地提升自我

1、 通过MapInfo Professional来转,具体操作:

Tools/Universal Translator/Universal

可以选上源文件和目标文件夹,可以直接选Tab文件,Mapinfo会自动把图层上的元素转换成arcgis

的点、线、面图层。这个比较简单,笔者已经成功。我是参考了一下的介绍:

MIF是mapinfo的数据文件,SHP是arcGIS的数据文件, 由MIF格式转成SHP格式,需要注意一点: MI格

式文件所在的目录不能太深,否则说转换不正确:

具体错误信息为: Unbalanced quotation marks encountered on line 1 of file

G:DOCUME~1maoLOCALS~1Temp -- line was `CFGenerate MIF SHAPE "C:Temp11MapInfo交换

格式园分布图" "G:DOCUME~1maoLOCALS~1Temp" LOG_STANDARDOUT YES +ID "队界" '

另外,有的MIF文件,特别的数据量大的线条文件被破坏掉, 不知是什么原因, 如线条文件,出现怪字符,这时

需要手工将它们清掉,或采用程序, 后面附了其IDL程序,来读取MIF文件(注意, 只对线条文件pline arc

region等,其它未做过多测试),并转换成正确的MIF文件,再准备由转;

打开,选择工具/通用转换工具/通用转换工具, 英文是Tools/Universal Translator/Universal Translator,弹出

如下菜单,source选择mapinfo mid/mif,Destination选择ESRI.就OK

IDL程序

1

百度文库 - 让每个人平等地提升自我

pro mif_2_mif

files = DIALOG_PICKFILE(/READ, FILTER = '*.mif',/MULTIPLE_FILES,/MUST_EXIST)

for j=0,n_elements(files)-1 do begin

file=files[j]

v=str_sep(file,'.')

nv=n_elements(v)

if nv eq 1 then return

midfile=strjoin(v[0:nv-2],'.')+'.mid'

fileshp=strjoin(v[0:nv-2],'.')+''

filemid=strjoin(v[0:nv-2],'.')+''

openr,fp,file,/get_lun

openr,midin,midfile,/get_lun

version=''

readf,fp,version

v=str_sep(version,' ')

if v[1] ne '450' then begin

prom=dialog_message('MIF格式不是450版',title='转换出错')

return

endif

openw,lun,fileshp,/get_lun

openw,mid,filemid,/get_lun

printf,lun,'Version 300'

str=''

str1=''

readf,fp,str ;Charset

printf,lun,str

readf,fp,str ;Delimiter

printf,lun,str

for k=0,4 do begin

readf,fp,str

2

2024年3月18日发(作者:熊淑华)

百度文库 - 让每个人平等地提升自我

1、 通过MapInfo Professional来转,具体操作:

Tools/Universal Translator/Universal

可以选上源文件和目标文件夹,可以直接选Tab文件,Mapinfo会自动把图层上的元素转换成arcgis

的点、线、面图层。这个比较简单,笔者已经成功。我是参考了一下的介绍:

MIF是mapinfo的数据文件,SHP是arcGIS的数据文件, 由MIF格式转成SHP格式,需要注意一点: MI格

式文件所在的目录不能太深,否则说转换不正确:

具体错误信息为: Unbalanced quotation marks encountered on line 1 of file

G:DOCUME~1maoLOCALS~1Temp -- line was `CFGenerate MIF SHAPE "C:Temp11MapInfo交换

格式园分布图" "G:DOCUME~1maoLOCALS~1Temp" LOG_STANDARDOUT YES +ID "队界" '

另外,有的MIF文件,特别的数据量大的线条文件被破坏掉, 不知是什么原因, 如线条文件,出现怪字符,这时

需要手工将它们清掉,或采用程序, 后面附了其IDL程序,来读取MIF文件(注意, 只对线条文件pline arc

region等,其它未做过多测试),并转换成正确的MIF文件,再准备由转;

打开,选择工具/通用转换工具/通用转换工具, 英文是Tools/Universal Translator/Universal Translator,弹出

如下菜单,source选择mapinfo mid/mif,Destination选择ESRI.就OK

IDL程序

1

百度文库 - 让每个人平等地提升自我

pro mif_2_mif

files = DIALOG_PICKFILE(/READ, FILTER = '*.mif',/MULTIPLE_FILES,/MUST_EXIST)

for j=0,n_elements(files)-1 do begin

file=files[j]

v=str_sep(file,'.')

nv=n_elements(v)

if nv eq 1 then return

midfile=strjoin(v[0:nv-2],'.')+'.mid'

fileshp=strjoin(v[0:nv-2],'.')+''

filemid=strjoin(v[0:nv-2],'.')+''

openr,fp,file,/get_lun

openr,midin,midfile,/get_lun

version=''

readf,fp,version

v=str_sep(version,' ')

if v[1] ne '450' then begin

prom=dialog_message('MIF格式不是450版',title='转换出错')

return

endif

openw,lun,fileshp,/get_lun

openw,mid,filemid,/get_lun

printf,lun,'Version 300'

str=''

str1=''

readf,fp,str ;Charset

printf,lun,str

readf,fp,str ;Delimiter

printf,lun,str

for k=0,4 do begin

readf,fp,str

2

发布评论

评论列表 (0)

  1. 暂无评论