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