<cffile action="READBINARY"
file="mypath/www/_Dev/tl_2009_25_place.shp"
variable="infile" >
http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf
例如,我有规范:
位置字段值类型顺序
字节4未使用的0大整数
字节8未使用的0大整数
字节16未使用的0大整数
字节20未使用的0大整数
字节28版本1000整数
字节32形状类型形状类型整数小
字节44边界框Ymin双小写
字节60边界框Ymax Double Little
字节76*边界框Zmax双精度
字节84*边界框Mmin双小号
字节92*边界框Mmax双小
我在里面找到了这个函数FarStream.as公司发现于
http://code.google.com/p/vanrijkom-flashlibs/wiki/SHP
这是一个Actionscript3文件,但它代表了我需要执行的任务类型。
private function readHeader(e: ProgressEvent): void {
if (! ( readByte()==0x46
&& readByte()==0x41
&& readByte()==0x52
))
{
dispatchEvent(new IOErrorEvent
( IOErrorEvent.IO_ERROR
, false,false
, "File is not FAR formatted")
);
close();
return;
}
vMajor = readByte();
vMinor = readByte();
if (vMajor>VMAJOR) {
dispatchEvent(new IOErrorEvent
( IOErrorEvent.IO_ERROR
, false,false
, "Unsupported archive version (v."+vMajor+"."+vMinor+")")
);
close();
return;
}
tableSize = readUnsignedInt();
gotHeader= true;
}
这是最终的解决方案
<cfset shapeFile = createObject("java","com.bbn.openmap.layer.shape.ShapeFile").init('/www/_Dev/tl_2009_25_place.shp')>
<cfdump var="#shapeFile.getFileLength()#">