skyline TerraExplore PRO二次开发笔记
更新时间:2023-05-25 10:26:01 阅读量: 实用文档 文档下载
- skyline推荐度:
- 相关推荐
skyline TerraExplore PRO二次开发笔记
skyline TerraExplore PRO二次开发笔记
1. 开发环境(B/S)
本地开发环境(IIS,TEPro, TEDEV,根据项目的要求具体选择服务器端的语言和客户端的脚本语言,如:ASP,,jsp,php ..,使用的开发工具用: Microsoft Visual Studio .NET 2003/5, 客户端脚本语言:javascript/jscript,vbscript,使用的开发的工具:UltraEdit,Editplus等等,根据自己爱好)
网络开发环境:在服务器上进行开发和调试,但在服务器上必须安装internet lic+TerraGate的情况下,才能应用,本机只需安装TE即可;
2. 服务器的配置
服务器端必须要安装TerraGate3.0/3.5,的主要作用是进行mpt的网络发布,在TerraGate 可以设置多个mpt,供fly工程文件调用。(调用文档)
3. 客户端浏览
客户端需要安装TE(TerraExplorer)+ IE60版本即可使用本系统。
4. 二次开发的概述
TerraExplorePro提供了一整套的API,供二次开发使用,它提供了一些访问外部信息的方法,比如:数据库或矢量数据的。所有这些以COM协议为基础的界面都可以通过脚本语言管理,也可通过非脚本语言控制(如:C++或Visual Basic)来开发(c/s)。
TerraExplorePro也可以设置ActiveX控件。它作为ActiveX控件通常被应用在可视化界面的3D窗口、信息树、导航图的操作。
下面主要讨论TerraExplorePRO API的功能:
用户接口API:是对标准TerraExplorer Pro API的扩充。利用其强大功能,开发人员可控制和激活大多数TerraExplorer Pro的工具和函数。如:
1 、控制飞行和视景
2、对象的创建
3、信息树和管理
4、层和对象管理
5、事件处理
6、在网页和windows应用程序中添加ActiveX控件
另外,TerraExplorerPro的API还允许常用的一些操作,比如控制容器中的内容,查询地形高度信息,获取快照,查找对象等更多操作。
5. 开发前的准备
在网页中如何使用Activex控件
skyline TerraExplore PRO二次开发笔记
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>网页标题</title>
</head>
<body> /
<!--定义TerraExplorer的信息窗口对象-->
<object ID="TEInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" width="300" height="400"></object>
<!--定义一个TerraExplorer 3D窗口对象-->
<object ID="TE3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width=650 height="400"></object>
<!--定义TerraExplorer对象-->
<object ID="TE" CLASSId="CLSID:3a4f9191-65a8-11d5-85c1-0001023952c1">
</object>
</html>
6. 接口的概述
当前的版本号:TerraExplorer Pro version 5.0.0.f47
ITerraExplorer5 (Partial)
IPlane5
ITerrain4
IContainer2
IRender4
ISnapShot2
IStartPosition
_ITerraExplorerEvents5
IInformationTree5 (Partial)
IObjectManager5 (Partial)
ITENavigationMap
_ITENavigationMapEvents
IMenu
skyline TerraExplore PRO二次开发笔记
7. 接口的介绍:
ITerraExplorer5(第21章)
告诉你关于用户接口的细节,例如怎样加载一个工程文件,对加载的工程文件进行加密,设定3d窗口的模式(cpu是否处理),获得用户当前使用的版本的信息,单位的设置,还可以对当前的工程文件进行保存,也可以把服务器上的工程文件保存到本地中。
属性:
Type:获取版本
FlyName:工程的文件名
DisplayErrorMessages:错误的设置模式
布尔型:当设置为false/0时,TerraExplorer错误信息在com方法调用的时候不显示给用户,如果设置为true时,则显示,系统默认设置为true; 错误处理在IErrorInfo接口中,目前没有公开。
方法:
Load([in] BSTR URL):加载工程文件:
可以导入本地的工程文件或mpt文件,也可以导入网络的工程文件或地形文件,地形文件导入的方式:文件名.mpt@ip:端口
SetCPUSavingMode([in bSavingMode]):设置cpu的工作模式
如果设置为1:工作,0不工作
GetUserUnits(
[out] VARIANT* shortAltitude, 海拔
[out] VARIANT* shortAltitudeType, 海拔的类型
[out] VARIANT* shortLatLongType) 经纬度类型
)
GetTEVersion:获得当前TE的版本号;
skyline TerraExplore PRO二次开发笔记
LoadEx:加载加密的工程文件,同步或异步打开(MPT有关系)
[in] BSTR URL,
[in] BSTR User,
[in] BSTR Password,
[in, defaultvalue(0)] long Asynchronous) 1为异步,0 为同步
Save:保存工程文件
SaveAs:另存为工程文件
具体实现如下:
1 定义对象
2 初始化对象
3 加载Activex
4 浏览网页
代码如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>网页标题</title>
<style type="text/css">
<!--
td {
font-family: "宋体";
font-size: 12px;
}
skyline TerraExplore PRO二次开发笔记
-->
</style>
</head>
<body onLoad="Init();">
<!--定义TerraExplorer的信息窗口对象-->
<object ID="TEInformationWindow" classid="CLSID:3a4f9193-65a8-11d5-85c1-0001023952c1" width="300" height="400">
</object>
<!--定义一个TerraExplorer 3D窗口对象-->
<object ID="TE3DWindow" classid="CLSID:3a4f9192-65a8-11d5-85c1-0001023952c1" width=650 height="400">
</object>
<!--定义TerraExplorer对象-->
<object ID="TE" CLASSId="CLSID:3a4f9191-65a8-11d5-85c1-0001023952c1">
</object>
</html>
<script language="javascript">
var ITerraExplorer = null;
var IPlane = null;
var IMenu = null;
var IObjectManager = null;
//---------------------------------------------------------------
skyline TerraExplore PRO二次开发笔记
function Init()
{
var temp;
ITerraExplorer = TE.interface("ITerraExplorer5");
ITerraExplorer.load("D:\\Job\\test.fly");
temp = ITerraExplorer.Type;
alert(temp);
}
IPlane5
IPlane5接口是对飞行方式、观看位置进行控制,能操作浏览对象的观察角度,方向、速度、放大,偏航,斜度,旋转 ..,来产生复杂的移动。
属性:
Speed:速度以米/秒为单位,在3dwindow上运行,根据设置的大小决定对象运行的快慢;
FieldOfView:观看3dwindow的区域,在观看的程度上,对于球体,它的角度设置的范围在1-180度中间,1为放到最大程度,180为放到最小程度,对偏航的设置,此值必须设置为5 -90度之间,默认的是53度。
方法:
FlyTo:此方法是飞行的动作,根据得到x坐标,z坐标,,视景的高度设定,设置不同运动方式(偏航(Yaw),斜度(Pitch),运动的方式)的设置,飞到并定位到目的地,还可以对目的地进行距离的设置。
[in] double X,
地形上的x坐标的位置
[in] double Z,
地形上的z坐标的位置
skyline TerraExplore PRO二次开发笔记
[in] double Height,
飞行对象与地形的高度
[in] double Distance,
距离的远进,就像摄像机拉镜头一样。
[in] double Yaw,
偏航的设定,对飞行对象偏航的角度进行控制。
[in] double Pitch,
对斜度进行控制
[in] BSTR Pattern)运动的模式
对飞行动作模式进行控制共有7个参数
1、 FlyToLocation
2、 JumpToLocation
3、 FlyToTerrain
4、 Circle(圆)
5、 Oval(椭圆)
6、 Line(线形)
7、 Arc(圆弧)
代码:
SetPosition
设定当前3dwindow的视角的位置,不同于MovePosition,此方法直接“jump“到某个位置。
用户可以从一个城市直接跳到另一个城市
[in] double X,
X坐标
skyline TerraExplore PRO二次开发笔记
[in] double Y,
Y坐标
[in] double Height,
高度
[in] double Yaw,
偏航
[in] double Pitch,
斜度
[in] double Roll,
滚动
[in] double CameraDeltaYaw,
视角的偏航,与飞行到某个对象的偏航相同
[in] double CameraDeltaPitch,
视角的斜度。。。。。。
[in, defaultvalue(0)] long Flags)
Flag共有13个参数,默认为0,每个参数都对应上面一个参数,使某个参数无效。
MovePosition
与setPosition相同。
GetPosition
这个方法重新得到setPosition的参数,来定义3dwindow的位置和方向
[out] VARIANT* doubleX,
[out] VARIANT* doubleY,
skyline TerraExplore PRO二次开发笔记
[out] VARIANT* doubleHeight,
[out] VARIANT* doubleYaw,
[out] VARIANT* doublePitch,
[out] VARIANT* doubleRoll,
[out] VARIANT* doubleCameraDeltaYaw,
[out] VARIANT* doubleCameraDeltaPitch)
应用:自定义坐标转换 IPlane.GetPosition CurrX, CurrY, CurrH, CurrDirection, CurrPitch , CurrRoll, CurrDeltaYaw, CurrDeltaPitch
FlyToObject
飞到具体的某个地形上的对象
[in] BSTR ObjectID,
Dim ItemID = IInformationTree.FindItem("浏览路径\2006北京国际马拉松赛")
'msgbox ItemI
if ItemID <> 0 then
ObjID = IInformationTree.GetTerraObjectID(ItemID)
IPlane.FlyToObject ObjID, 18
els
alert "Item not found: "&ItemName
End If
[in] ActionCode Code)
动作代码:
o AC_FLYTO = 0 //飞行到对象
o AC_CIRCLEPATTERN = 1 //圆形
o AC_OVALPATTERN = 2//椭圆
o AC_LINEPATTERN = 3 //线形
o AC_ARCPATTERN = 4 //弧形
o AC_FOLLOWBEHIND = 5 //后边
skyline TerraExplore PRO二次开发笔记
o AC_FOLLOWABOVE = 6 //上方
o AC_FOLLOWBELOW = 7下方
o AC_FOLLOWRIGHT = 8 //右边
o AC_FOLLOWLEFT = 9 //左边
o AC_FOLLOWBEHINDANDABOVE = 10 //后上方
o AC_FOLLOWCOCKPIT = 11 //坐在机舱
o AC_JUMP = 14 //跳转
o AC_PLAY = 18 //跳转并播放
SetSpeed
([in] double Speed)
此方法设置视角的速度,以此设置的速度靠近某个对象
GetSpeed
[out, retval] double* Speed)
获得以速度的值
Zoom
此方法执行飞行到某个对象的时候进行放大
[in] double Distance,
在某个距离段执行的操作
GetPositionEx
重新获得setPosition的参数,定义视角的位置和方向,此方法多了一个Flag,可以重新找到海拔高度的方法到地形数据上。用于像地面剖析等。
例子:
IObjectManage5
skyline TerraExplore PRO二次开发笔记
这个对象负责在工程文件里创建对象,它的方法完成不同的对象,所有的对象都继承ITerraExplorerObject5接口,当创建对象后就可已获得这个接口的属性和方法。
CreatePolyline,
在3d窗口中创建线条
[in, defaultvalue(0)] VARIANT SafeArrayVertices,
需要输入得是一个数组序列,两两出现,如:第一个值为x坐标,第二个值为y坐标 . 在这里一般使用鼠标点击画线结合使用(作个案例);
[in, defaultvalue(0x0000ff00)] long LineColor,
定义一个线形得颜色,用10进制得形式表示
[in, defaultvalue(HSC_TERRAIN_RELATIVE)] HeightStyleCode HeightStyle,
设定高度得样式,
有3个选项
每个线的置高点都与地形有关系
[in, defaultvalue(0)] long GroupID,
所划得线条放在那个组里。
[in, defaultvalue("")] BSTR Description,
对所划得线进行相关得描述。
[out, retval] ITerrainPolyline5** pITerrainPolyline5)
返回一个pITerrainPolyline5对象可以调用pITerrainPolyline5里面得对象和方法。
Create2DPolygon,
创建2的多边形,
HRESULT Create2DPolygon (
[in, defaultvalue(0)] VARIANT SafeArrayVertices,
需要输入得是一个数组序列,两两出现,如:第一个值为x坐标,第二个值为y坐标 .
[in, defaultvalue(0x0000ff00)] long LineColor,
线形得颜色,用10进制得形式表示
[in, defaultvalue(FT_NONE)] double FillOpacity,
skyline TerraExplore PRO二次开发笔记
对多边形的填充的颜色透明度的属性值进行控制。
0 - 100%
[in, defaultvalue(0x00646464)] long FillColor,
对多边形的颜色填充。
[in, defaultvalue(HSC_TERRAIN_RELATIVE)] HeightStyleCode
HeightStyle,
在地形上的高度的呈现的形式;
[in, defaultvalue(0)] long GroupID,
所划得多边形放在那个组里。
[in, defaultvalue("")] BSTR Description,
对所划得线进行相关得描述。返回一个字符串
[out, retval] ITerrainPolyline5** pITerrainPolyline5)
返回pITerrainPolyline5对象,可以使用pITerrainPolyline5的所有属性和对象。
CreateRectangle,
在窗口中创建一个矩形;
[in] double X,
地形的X坐标
[in] double Y,
地形的y坐标
[in] double Elevation,
地形的海拔或高度。
[in] double ObjectWidth,
矩形对象的宽度
[in] double ObjectDepth,
矩形对象的深度。
skyline TerraExplore PRO二次开发笔记
[in, defaultvalue(0x0000ff00)] long LineColor,
线形的颜色设置
[in, defaultvalue(FT_NONE)] double FillOpacity,
对象填充颜色的透明度;
[in, defaultvalue(0x00646464)] long FillColor,
对象填充颜色的颜色;
[in, defaultvalue(HSC_TERRAIN_RELATIVE)] HeightStyleCode HeightStyle,
在地形高度的显示的高度样式
[in, defaultvalue(0)] long GroupID,
存入到那个组
[in, defaultvalue("")] BSTR Description,
对当前对象的描述
[out, retval] ITerrainRectangle5** pITerrainRectangle5)
返回ITerrainRectangle5对象,即可使用ITerrainRectangle5的所有对象和属性。
CreateRegularPolygon,
创建正多边形
[in] double X,
当前的地形的x坐标
[in] double Y,
当前的地形的Y坐标
[in] double Elevation,
当前对象在地形中的海拔的属性值
[in] double Radius,
多边形的半径属性值
[in] int NumOfSegments,
设定多边形边数。
[in, defaultvalue(0x0000ff00)] long LineColor,
设定线的颜色
skyline TerraExplore PRO二次开发笔记
[in, defaultvalue(FT_NONE)] double FillOpacity,
设定填充的颜色的透明度
[in, defaultvalue(0x00646464)] long FillColor,
设定填充的颜色
[in, defaultvalue(HSC_TERRAIN_RELATIVE)] HeightStyleCode HeightStyle,
对高度样式的设定
o HSC_TERRAIN_RELATIVE = 0
Each of the polygon’s vertices has the same height above the terrain (determined by the Elevation parameter).
o HSC_PIVOT_RELATIVE = 1
The height of the polygon’s pivot (the center of the regular polygon) is determined by the Elevation parameter. Each of the polygon’s vertices lies on the same plane as the polygon’s pivot.
o HSC_ON_TERRAIN = 2
The polygon’s vertices are placed on the terrain.
o HSC_TERRAIN_ABSOLUTE = 3
[in, defaultvalue(0)] long GroupID,
当前对象的组
[in, defaultvalue("")] BSTR Description,
描述
[out, retval] ITerrainRegularPolygon5** pITerrainRegPolygon2)
返回ITerrainRegularPolygon5对象,可以使用ITerrainRegularPolygon5里的所有对象和属性
CreateCircle,
//创建圆形对象
Create3DPolygon,
skyline TerraExplore PRO二次开发笔记
创建3d多边形
CreateBuilding,
//创建建筑物
CreateBox,
//创建box
CreatePyramid,
//创建椎体(底部有规则)
CreateCylinder,
//创建圆柱
CreateCone,
//创建椎体(底部是圆形)
CreateEllipse,
//创建椭圆
CreateArc,
//创建弧形
CreateArrow,
//创建箭头
Create3DArrow,
//创建3d箭头
CreateSphere,
//创建球体
CreateModel, (用例子说明)
创建模型
CreateLabel,
[in] VARIANT LabelInfo,
[in] double X,
[in] double Y,
skyline TerraExplore PRO二次开发笔记
[in] double Elevation,
[in, defaultvalue(0)] HeightStyleCode HeightStyle,
指的是从地面算的高度,比如一栋楼高30米像海拔高度,从海平面算起的(大地水准面)
[in, defaultvalue(0)] long GroupID,
[in, defaultvalue("")] BSTR Description,
[out, retval] ITerrainLabel5** pITerrainLabel5)
文本标签
CreateLabelEx,
文本标签
CreateLocation,
创建本地区域
CreateTreeHotlink,
//点击出东西
CreateRoute,
//绘制动态路径,可以对他进行播放、录制保存成avi等视频文件的操作(实例讲解)
CreateMessage,
创建对话框与IContainer结合使用
GetObject,
获取该对象
[in] BSTR ObjectID,(对象的ObjectID如何获取),实例讲解
[out, retval] ITerraExplorerObject5** pITerraExplorerObject5)
CreateImageLabel,
//创建图片标签
skyline TerraExplore PRO二次开发笔记
CreateImageLabelEx,
//创建图片标签
CreateDynamicObject (用实例讲解)
//创建动态对象
CreateImageryLayer,
//创建图片层,贴在地形上
CreateElevationLayer,
//创建海拔层,贴在地形上
CreateVideoOnTerrain,
//创建视频到地形上
CreatePointCloudModel,
//创建云点模型
可以导入*.CPT(point Cloud Files)
说明:点云就是是无数个空间点构成的集合;就是它每个点都坐标;
GetInfoTreeItemID,
获取被创建的对象在信息树的ItemID,
IObjectManage5 讲解的实例:
1 创建飞行对象,飞到某个位置时在创建文本对象调用第22章的ITerrainLabel5对象,
2 创建3d模型,
IInformationTree5
此接口主要实现的功能够显示和管理所有对象,可以创建组,修改组,删除组,重命名组,可以实现组的排序,供创件对象使用。 提供的方法有:
CreateGroup,
在信息窗口中创建一个组
skyline TerraExplore PRO二次开发笔记
in] BSTR GroupName,
[in, defaultvalue(0)] long ParentGroupID,
[out, retval] long *pVal)
CreateLockedGroup,
//创建一个锁定的组
[in] BSTR GroupName,
[in, defaultvalue(0)] long ParentGroupID,
[out, retval] long *pVal)
RenameGroup,
对组进行重命名
[in] long GroupID,
[in] BSTR GroupName)
ExpandGroup,
展开一个组
[in] long GroupID,
[in] BOOL bExpand)
GetItemName,
获取列表的名字
[in] long ItemID, //ItemID的infotree. FindItem(“对象”);
[out, retval] BSTR *ItemText) //输出列表文本
DeleteItem,
//删除列表
SetParent,
//移动列表到不同的组,就象数据库关系数据库一样,设置它的关联属性,这里的关联属性就是:ParentGroupID
skyline TerraExplore PRO二次开发笔记
GetNextItem,
这个方法很有用,可以遍历出信息树里的组的 ID 和 组里对象的ItemID,
[in] long ItemID,
[in] ItemCode Code,
o SELECTED – 10
获取当前选中的对象
o CHILD – 11
返回第一个组下对象的ItemID
o NEXT – 13
返回下一个兄弟节点
o ROOT – 18
获得根节点
[out, retval] long *pVal)
FindItem,
查找信息树中的对象
[in] BSTR PathName, //输出对象的ItemID
[out, retval] long *pVal)
GetTerraObjectID,
//获得地形的对象的ID
HRESULT GetTerraObjectID (
[in] long ItemID,
[out, retval] BSTR *pVal)
通过它和ItemID,可以获取对象的ObejctID,可以实现FlyToObject的操作。
SetGroupColor,
in] long GroupID,
skyline TerraExplore PRO二次开发笔记
[in, defaultvalue(0x00ffffff)] long GroupColor)
//设置组的颜色
GetGroupColor,
[in] long GroupID,
[out, retval] long *pVal)
获得组的颜色
EnableRedraw,
IsGroup,
判断是否有没有某个组 ,就象IsEmpty函数样的功能
SetGroupVisibility,
设置组是否显示:组前复选框是否显示,
IsGroup, SetGroupVisibility,可以控制组的一些操作,如:对加载进来的组进行改名,显示和隐藏的操作
SortGroup,
对组进行排序
SetGroupLocation,
[in] long GroupID,
[in] double X,
[in] double Y,
[in] double Height,
[in] double Distance,
[in, defaultvalue(0)] double Yaw,
[in, defaultvalue(-50)] double Pitch,
skyline TerraExplore PRO二次开发笔记
[in, defaultvalue(0)] long Flags)
设置组为Location组,此组是特殊的组,可以定位到地形的某个地方。
GetGroupLocation,
获取Location组的信息,供其他地方地方的调用
CreateLockedGroupEx,
与CreateLockedGroup实现的功能类似,增加了组的索引。
SetActivationCode,
[in] long GroupID,
[in] ActionCode ACode,
[in, defaultvalue(-1)] int ActivationParam); //当前不能使用
设定一个组的运动状态,如, GroupID=“111“的组运动状态为:JumpToLocalion
GetActivationCode,
获取上面的信息
SetClientData,
设置一个对象的属性信息,这个字符串可以是外部的xml格式字符串,
如:<FieldsData>
<Attribute1>Information 1</Attribute1
<Attribute2>Information 2</Attribute2>
<Attribute3>Information 3</Attribute3>
</FieldsData>
GetClientData,
获得一个对象的属性信息,返回一个xml格式文档(DOM)去解析它。
GetObjectX,
获得一个对象,可以得到对象的相关信息:如:ID, ObjectType, ClientData
Set TEObject = IObjectManager.GetObject(ObjectID)
SetParentEx,
//移动列表到不同的组,就象数据库关系数据库一样,设置它的关联属性,这里的关联属性
正在阅读:
skyline TerraExplore PRO二次开发笔记05-25
电力工程基础人工挖孔桩与掏挖基础的区别08-10
“十三五”重点项目-火灾监测预警产品项目资金申请报告03-18
2014年企业所得税常见问题01-25
思乡怀人诗总复习07-23
《2、5的倍数的特征》同步习题106-16
泥浆控制作业指导书05-21
强力康项目可行性研究报告评审方案设计(2013年发改委标准案例范04-24
中国白酒五大文化派系09-10
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- TerraExplore
- skyline
- 笔记
- 开发
- PRO
- 信息化与社会主义新农村建设
- 中国现役海军常识
- 第九章 线性表的查找
- 淘宝商城 运营 最全最好
- 第六章 因子模型和套利定价理论(APT)(证券投资学-北大,杨云红)
- 高中会考必备语文(词语表,四字成语,俗语)大全
- 2020-2021学年PEP小学英语三年级上册期末测试题及参考答案
- 个人先进事迹材料
- 房地产周末暖场活动
- 粤教版化学九年《表示物质组成的化学式》word教案
- 河南城建学院本科毕业设计(论文)撰写规范化要求
- 高考英语作文万能句子 实用英语作文万能模板
- 民族文化进校园总结
- 供电技术(余建明)1 绪论
- 物流仿真软件(RaLC-Pro)操作报告及学习体会
- 中学信息技术论文
- SGZ900-1050运输机使用说明书
- 2006年度中国有色金属工业科学技术评审通过项目
- 第三讲 消费者的知觉
- 201009沈阳公交线路一览表