>>> 您现在的位置: 中国交通技术网 >> 资料文库 >> 3S技术 >> GIS >> 正文

ArcInfoReader.java(源码共享)

更新时间:2007-8-27  来源:tranbbs  作者:佚名  人气:  [ 投稿 ] [投稿帮助
  

import java.io.*;
import java.util.Hashtable;

public class ArcInfoReader extends BufferedReader
{

public ArcInfoReader(Reader in)
{
super(in);
ignoreIDs = false;
sequentialID = 0;
}

public void setIgnoreIDs(boolean flag)
{
ignoreIDs = flag;
}

public final synchronized GeoPolygon readGeoPolygon()
throws IOException
{
GeoPolygon poly = null;
int id = 0;
float xcent = 0.0F;
float ycent = 0.0F;
String line = readLine();
String marker = line.substring(0, 3);
if(marker.equals("END"))
return null;
try
{
id = Integer.parseInt(line.substring(4, 10).trim());
if(id != 0xfffe7961)
{
sequentialID++;
if(ignoreIDs)
id = sequentialID;
xcent = (new Float(line.substring(11, 28).trim())).floatValue();
ycent = (new Float(line.substring(29, 44).trim())).floatValue();
}
else
{
id = 0xfffe7961;
xcent = 0.0F;
ycent = 0.0F;
System.out.println("!Null Polygon!");
}
double xpoints[] = new double[500];
double ypoints[] = new double[500];
int npoints = -1;
int limit = 500;
int grow = 20;
do
{
line = readLine();
if(line.substring(0, 3).trim().equals("END"))
break;
if(++npoints >= limit)
{
double xtemp[] = xpoints;
double ytemp[] = ypoints;
xpoints = new double[limit + grow];
ypoints = new double[limit + grow];
limit += grow;
System.arraycopy(xtemp, 0, xpoints, 0, npoints);
System.arraycopy(ytemp, 0, ypoints, 0, npoints);
}
float x = (new Float(line.substring(4, 18).trim())).floatValue();
float y = (new Float(line.substring(19, line.length()).trim())).floatValue();
xpoints[npoints] = x;
ypoints[npoints] = y;
}
while(true);
if(npoints < limit)
{
double xtemp[] = xpoints;
double ytemp[] = ypoints;
xpoints = new double[npoints];
ypoints = new double[npoints];
limit += grow;
System.arraycopy(xtemp, 0, xpoints, 0, npoints);
System

[1] [2] [3] [4] 下一页

  特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。本站所有技术文章、专业软件资料仅供技术人员、高校师生学习交流之用,目的旨在促进与提高中国的交通技术水平;用户获取后不得用于商业目的,否则,所产生的法律责任本站概不负责。
责任编辑:七星
发表评论】【加入收藏】【打印此文
相关内容
MAPX中SearchWithin 和 SelectByRegion 方法的使用
使用layer.search模糊查询若干图元
使用Find.search精确查询某个图元
ArcSDE空间数据库中SDE用户使用探讨
Arcgis中topolopy说明
>>> 热点资料
·徐州市主城区轨道线网规划
·智能交通电子警察与城市道路监控系统
·哈尔滨市举办2009年大冬会交通规划探讨
·公交智能化整体方案(大量实际效果图)
·微观交通仿真并行化方法与策略_
·安蒙德机动车视频电子警察系统解决方案--纯视频机
·中小城市交通特性与交通模式研究
·DynaCHINA动态网络交通分析与实时路况预测软件介
·吉安市城市总体规划修编(2007-2020)规划纲要
·长沙市城区道路交通拥堵的特点、成因及对策
>>> 推荐资料
·区域停车诱导系统解决方案
·哈尔滨市举办2009年大冬会交通规划探讨
·DynaCHINA动态网络交通分析与实时路况预测软件介
·中国射频识别(RFID)技术政策白皮书
·伦敦市道路拥挤收费政策解析
·香港地铁屏蔽门系统考察研究
·我国城市轨道交通主要投融资模式及创新思路
·加拿大留学申请程序
·国家地理信息标准化“十一五”规划
·美国地方政府的规划实践(1)
>>> 交通图库

一组道路交通安全宣传图片(6)

一组道路交通安全宣传图片(5)

一组道路交通安全宣传图片(4)

一组道路交通安全宣传图片(3)
>>> 博客交通
·区域停车诱导系统解决方案
·哈尔滨市举办2009年大冬会交通规划探讨
·DynaCHINA动态网络交通分析与实时路况预测软件介
·中国射频识别(RFID)技术政策白皮书
·伦敦市道路拥挤收费政策解析
·香港地铁屏蔽门系统考察研究
·我国城市轨道交通主要投融资模式及创新思路
·加拿大留学申请程序
·国家地理信息标准化“十一五”规划
·美国地方政府的规划实践(1)
网友评论:(评论内容只代表网友观点,与本站立场无关!)
  请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。