
3.3.1 湖南省 1∶25万地理底图
在全国省级国土资源遥感调查项目中,地理底图的编制率先采用了在建的国家基础地理信息系统全国1∶25万数据库中的湖南省数据。以徐冠华院士为主任的鉴定委员会一致认为:“数据的完整性、逻辑一致性、位置精度、属性精度和接边精度均符合规定要求,与国外开发建设的同类数据库相比,属国际先进水平”。源数据以 ARC/INFO 交换格式(E00文件)用光盘刻录,以图幅为单位编成子目录存放。内容包括水系、居民地、公路、铁路、境界、等高线数据等(图3-1)。
图3-1 湖南省1∶25万接图表
(一)资料范围及分层
湖南省1∶25万地形图按国际标准分幅应为27幅,国家基础地理信息中心仅提供了湖南省省界范围以内的数据。为了便于使用,制图时将省界边缘的图幅作了归并,最后按16幅制版印刷(图3-1)。
原始1∶25万地形数据包括全部水系、居民地、铁路、公路和其它道路、县以上境界、等高线数据(100 m等高距)。具体分为8层,分别为BOUNT(境界),HYDLK(水系点线),HYDNT(水系面线),RAILK(铁路),RESPT(点状居民地),RESPY(面状居民地),ROALK(道路),TERLK(点线地形)。
(二)坐标系与坐标分带
1∶25万地形图数据采用1954年北京坐标系和1956 年黄海高程系,6 度分带,中央子午线为111°。湖南大部分地区在此投影带内,只有东部的 H-50-[13]、G-50-[5]、G-50-[9]三幅图的子午线为117°。在制图前将此三幅图的图廓坐标换算至111°带内。
(三)数据编辑
作为国土资源遥感综合调查的地理信息底图,所表示的地貌要素应以满足遥感调查的需求为原则,同时又要考虑到图面负荷与数据量等因素。为此,对原始数据作了重新处理,主要是对地理要素作取舍,内容包括地貌、水系、居民地、交通、行政境界等。
地貌采用等高线表示,考虑到湖南的地貌特点,凡高程600 m以下的等高距取100 m,600 m以上地貌采用200 m等高距。水系中对主要河流、支流原则上按原图表示。对图上面积小于5 mm2,即实际面积小于312500 m2的水库、水塘等予以舍弃。水域湖泊名称注记仍按原图表示。居民地一般只表示到乡镇一级,对居民地稀少的山区适当增选部分自然村。铁路按源数据表示,不作修改。其它道路只表示简易公路以上(包括简易公路)的各等级公路,其它道路一律舍去。行政境界只表示省界、地(市)州界和县(市)界三级。
为了便于出图,数据编辑时增加了一个图廓层。该层存放的主要内容为:图名图号、内外图廓线、公里网线(10 km)、公里网坐标注记和图廓点经纬度注记、图外图例以及图外行政单位注记等。
数据编辑工作采用ARC/INFO 7.1.1软件进行,数据处理尽量采用编程的方式,必要时采用人机交互方式进行。
(四)现势资料补充
源数据资料的现势性截止1995年,随着省内经济建设的发展,一些重点工程以及新城区、开发区等纷纷落成,对这些现势资料应予以补充。
根据省基础测绘资料中心提供的现势资料,已将京珠高速公路湖南段以及长浏高等级公路、长石铁路等国家和省级重点工程项目补绘到数字化图中。对已经变更了的市县境界线及开发比较完善的新城区、开发区,如株洲河西区、长沙星沙镇等,也作了补绘。
(五)质量控制
数据编辑完成后先在计算机上分层自查,确认无误后,再合并所有层生成绘图文件*.PLT,进行图面检查。检查的内容为编辑要素的数据和属性值检查、错漏检查、综合取舍的合理性检查等,特别要检查新补绘要素的合理性及其与原有地物地貌要素的逻辑关系。经上述检查后,由打印机输出草图,交用户审查,提出反馈意见后作进一步修改,最后定稿付印。
(六)制版印刷
所有要素作业完成后在ARCPLOT上进行叠加,并按1∶25万地形图图式符号将全部要素符号化,然后转成制版所需用的EPS格式文件。为了节省版面和用图方便,在保证对开幅面印刷的前提下,将部分图幅拼凑到相邻图幅按一块版制版。这部分图幅的图廓点坐标也作了相应的变更。
3.3.2 湖南省1∶25万TM卫星影像图
(一)湖南省TM图像景区情况
湖南省涉及的 TM 图像共 19 景。其中 123/40、123/41、123/42、124/40、124/41、124/42、125/40、125/41等8景图像覆盖了湖南省国土的主要部分,其余各景则与周围相邻省区搭界(表3-1)。
表3-1 湖南省 TM图像景区结合表与接收时间
(二)波段选择
遥感调查各课题涉及水、土、植被、地质构造、矿产、灾害等诸多方面,提取信息的侧重面不同,因而对图像的要求也不同,很难定出一个统一的波段组合标准。一般说来,TM的7个波段除TM6波段外,TM1、TM2、TM3波段均属可见光范围,但TM1和TM2易受大气散射等因素影响,使图像模糊。TM4、TM5、TM7波段属近红外范围,TM5、TM7相关性较大,TM4则与其它各波段相关性较小。考虑到TM各波段的波谱特征、独立性、包含的信息量等,选择了TM4、TM7、TM3波段进行彩色合成,即TM4(R)、TM7(G)、TM3(B)。以此组合制作全省的镶嵌图像和分幅图像,作为各课题解译的基本图像资料。对于特殊需要的专题图像或重点地区的图像,可另行制定不同的方案。
(三)时相
不同接收时间和季节的 TM图像,导致影像色调的差异,给各景的镶嵌和解译带来困难。要收集全省在同一时间内的图像资料是难以实现的,因此,为了保证各景图像的可对比性,只能尽可能选择同一时相的影像。对湖南省而言,以选择秋冬季的影像为宜。从表3-1可看出,核心区域(约占全省面积的70%)的影像资料为1994年以后的较新资料,其中沿湘江流域的岳阳、株洲、郴州幅以及湘中、湘北的邵阳、常德幅均为同一天的图像,使得解译工作能在一致性较好的图像基础上进行。
(四)图像增强
目前对遥感图像的解译主要还是靠人工目视解译。为了突出有用信息,抑制干扰,在项目进行过程中要对数字图像增强处理。常用的方法有:单波段图像的灰阶拉伸(线性或非线性拉伸)、空间滤波等,多光谱数据的彩色增强、主成分变换、比值变换,以及各种监督分类与非监督分类等。
(五)比例尺
用地形图对图像进行精校正,然后根据图像上的特征点对应在地形图上的距离推算图像的大小,按一定比例尺输出。一般情况下,根据1∶25万地理底图进行几何精校正的图像,绝对误差可控制在2个象元以内。如果象元尺寸为30 m,则误差在±50 m左右。对于1∶25万比例尺,这一误差是可以接受的。
(六)图像输出
数字图像经计算机处理(包括几何校正、图像增强等)后,采用胶片扫描输出,再经光学放大制成图像产品。图像的输出使用了中国遥感卫星地面站的专业设备,保证了图像质量和精度。
JSP页面中嵌入动态图表的两种方法 :在JSP页面中插入Applet小程序 通过JavaBean动态生成图像。JSP是一种广泛应用的网页设计技术 ,它是一种HTML和Java脚本混合的编程技术 ,它结合了HTML的静态特性和Java语言的动态能力 ,因此用它进行动态网页设计非常方便。在进行图像处理时 ,一般处理静态图片非常容易 ,但是 ,在实际应用中常常需要动态地在网页中生成二维的图形.
基于JFreeChart开发的一个时序图的绘制。代码如下:
实例中createDataset()方法用于创建数据集合对象。时序图的数据集合与其他数据集合不同,它需要添加一个时间段内的所有数据,通常采用TimeSeries类进行添加。该实例中通过Math类的random()方法进行随机生成。
import java.awt.*
import java.awt.event.ActionEvent
import
java.awt.event.ActionListener
import java.io.BufferedInputStream
import
java.io.DataInputStream
import java.io.FileOutputStream
import
java.io.IOException
import java.net.URL
import
java.net.URLConnection
import java.text.DateFormat
import
java.text.ParseException
import java.text.SimpleDateFormat
import
java.util.Calendar
import java.util.Date
import java.util.Random
import javax.swing.JApplet
import javax.swing.Timer
import org.jfree.chart.*
import
org.jfree.chart.annotations.CategoryTextAnnotation
import
org.jfree.chart.axis.CategoryAnchor
import
org.jfree.chart.axis.CategoryAxis
import
org.jfree.chart.axis.CategoryLabelPositions
import
org.jfree.chart.axis.DateAxis
import
org.jfree.chart.axis.DateTickUnit
import
org.jfree.chart.axis.DateTickUnitType
import
org.jfree.chart.axis.ValueAxis
import
org.jfree.chart.labels.StandardCategoryItemLabelGenerator
import
org.jfree.chart.plot.CategoryPlot
import
org.jfree.chart.plot.PlotOrientation
import
org.jfree.chart.plot.XYPlot
import
org.jfree.chart.renderer.category.BarRenderer
import
org.jfree.chart.title.TextTitle
import
org.jfree.data.category.CategoryDataset
import
org.jfree.data.category.IntervalCategoryDataset
import org.jfree.chart.axis.NumberAxis
import
org.jfree.data.category.DefaultCategoryDataset
import
org.jfree.data.gantt.Task
import org.jfree.data.gantt.TaskSeries
import
org.jfree.data.gantt.TaskSeriesCollection
import
org.jfree.data.time.Day
import org.jfree.data.time.Second
import
org.jfree.data.time.TimeSeries
import
org.jfree.data.time.TimeSeriesCollection
import
org.jfree.data.xy.XYDataset
public class shixutu extends JApplet {
//PLOT_FONT是一静态的字体常量对象,使用此对象可以避免反复用到的字体对象被多次创建
private static final Font PLOT_FONT = new Font("黑体", Font.ITALIC ,
18)
JFreeChart chart
//创建数据动态更新的监听
class DataGenerator extends Timer
implements ActionListener {
private static final long serialVersionUID =
3977867288743720504L
String
equID
//设备ID号
int
totalTask
//任务数
String[][]
strTask
//任务情况
public void
actionPerformed(ActionEvent actionevent) {
addTotalObservation()
} DataGenerator()
{
super(1000,
null)
addActionListener(this)
System.out.println("super")
}
}
//将更新的数据添加到chart中
private void addTotalObservation()
{
System.out.println("addTotalObservation")
//设置新的数据集
chart.getXYPlot().setDataset(createDataset())
//通知Jfreechart
数据发生了改变,重新绘制柱状图
if
(chart != null)
{
chart.fireChartChanged()
}
}
private static void
processChart(JFreeChart chart)
{
//设置标题字体
chart.getTitle().setFont(new Font("隶书", Font.BOLD,
26))
//设置背景色
chart.setBackgroundPaint(new
Color(252,175,134))
XYPlot plot = chart.getXYPlot()
//获取图表的绘制属性
plot.setDomainGridlinesVisible(false)
//设置网格不显示
//获取时间轴对象
DateAxis dateAxis = (DateAxis)
plot.getDomainAxis()
dateAxis.setLabelFont(PLOT_FONT)
//设置时间轴字体
//设置时间轴标尺值字体
dateAxis.setTickLabelFont(new
Font("宋体",Font.PLAIN,12))
dateAxis.setLowerMargin(0.0)
//设置时间轴上显示的最小值
//获取数据轴对象
ValueAxis valueAxis =
plot.getRangeAxis()
valueAxis.setLabelFont(PLOT_FONT)
//设置数据字体
DateFormat format = new SimpleDateFormat("mm分ss秒")
//创建日期格式对象
//创建DateTickUnit对象
DateTickUnit dtu = new
DateTickUnit(DateTickUnitType.SECOND,30,format)
dateAxis.setTickUnit(dtu)
//设置日期轴的日期标签 } //将结果输出在文件中
private static
void writeChartAsImage(JFreeChart chart)
{
FileOutputStream fos_jpg =
null
try
{
fos_jpg = new
FileOutputStream("D:\\test\\shixutu.jpg")
ChartUtilities.writeChartAsJPEG(fos_jpg, 1, chart, 400, 300,
null)
} catch (Exception e)
{
e.printStackTrace()
} finally
{
try
{
fos_jpg.close()
} catch (Exception e)
{
}
}
}
//创建数据集合对象
public static XYDataset createDataset()
{
//实例化TimeSeries对象
TimeSeries timeseries = new
TimeSeries("Data")
Second second = new Second()
//实例化Day
double d =
50D
//添加一年365天的数据
for (int i = 0i <500i++)
{
d = d + (Math.random() - 0.5) * 10
//创建随机数据
timeseries.second(day, d)
//向数据集合中添加数据
second = (Second)
second.next()
}
TimeSeriesCollection timeSeriesCollection =
new
TimeSeriesCollection(timeseries)
//返回数据集合对象
return timeSeriesCollection } //Applet程序初始化
public void init()
{
// 1.
得到数据
XYDataset dataset =
createDataset()
// 2.
构造chart
chart =
ChartFactory.createTimeSeriesChart(
"时序图示范", //
图表标题
"时间", //
目录轴的显示标签--横轴
"数值", //
数值轴的显示标签--纵轴
dataset, //
数据集
false,
false, //
是否生成工具
false //
是否生成URL链接
)
// 3.
处理chart中文显示问题
processChart(chart)
// 4.
chart输出图片
//writeChartAsImage(chart)
// 5. chart
以swing形式输出
//6.使用applet输出
ChartPanel chartPanel = new
ChartPanel(chart)
chartPanel.setPreferredSize(new
java.awt.Dimension(800,500))
getContentPane().add(chartPanel) (new
DataGenerator()).start()
}
public void
paint(Graphics g)
{
if
(chart != null)
{
chart.draw((Graphics2D) g,
getBounds())
}
}
public void destroy() {
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)