概述
这些是做超图开发时阅读超图帮助摘录的一些要点;和一些操作过程记录;和一些程序说明;顺序没有整理;
====
平面坐标系
一般用来作为与地理位置无关的数据的坐标参考。
也是默认新建数据的坐标参考。
如 CAD 设计图、纸质地图扫描后的图片、与地理位置无关的示意图等。
平面坐标系是一个二维坐标系,原点坐标为(0,0)。
数据中每一个点的坐标是由其距水平和垂直的 X 轴和 Y 轴的距离确定。
====
影像金字塔是栅格数据集的简化的分辨率(Reduced Resolution)图像的集合,
影像金字塔是按照一定规则生成的一系列分辨率由细到粗的图像的集合。
建立影像金字塔可以显著地提高影像缩放显示渲染的速度和性能,
地图缩放:单击,框选;
应用程序界面风格采用 Ribbon 模式,即 Microsoft Office 2016 风格的界面;
====
超图桌面版缓冲区分析示例
1 打开一个文件型工作空间;
2 smwu型;
3 双击地图名称打开地图;
4 在分析菜单中选择 缓冲区分析;
5 设置缓冲分析参数;
6 生成缓冲区;
7 生成成功;
8 缓冲区效果;
9 在图层控制中,取消 可显示;
10 缓冲区效果消失;
====
地图工作窗口详述
先打开一副地图;呈现地图工作窗口;
1 左上角6个按钮;
箭头 是指:可以选择要素;
手形:可以上下左右拖动地图;
放大缩小:缩放地图;
全幅:可以看到地图全貌;
2 地图工作窗口下方一排提示;
选择个数: 指当前选中的要素个数;
比例尺下拉:切换比例尺;
经纬度显示方式切换:小数点的度数 和 度分秒 之间切换;
地理坐标系:指示当前使用的坐标系;
中心点:指示当前地图的中心经纬度;
3 要素选择操作;
a 在地图上单击右键,或者单击工具条中的 选择,使鼠标指针变为箭头;
b 选中河流(水系线):鼠标移动到一条河流上,单击,选中河流高亮;工作窗口下方提示,选择个数:1;图层管理器中水系线图层被选中;
c 选中村落:鼠标移动到一个村落,单击,选中村落高亮;工作窗口下方提示,选择个数:1;图层管理器中村落层被选中;
4 查看选中要素属性;
选中一条河流后,右击,在弹出菜单中选择 属性;
弹出该要素的属性信息;
====
超图js版自带要素编辑例子说明
一 两个要素编辑示例
超图的js版本示例,包括2个编辑要素的示例。
第一个示例,位于示例的 控件-要素类控件-要素编辑 下面;
第二个示例,位于示例的 查询-数据集查询-地物编辑 下面;
二 第一个示例
第一个示例;
使用捕捉类和控件ModifyFeature进行要素编辑和捕捉,
捕捉对象使用的是SuperMap.Snap类;
SuperMap.Snap([vector],10,10,{actived:true});
矢量要素编辑使用的是SuperMap.Control.ModifyFeature;
modifyFeature=new SuperMap.Control.ModifyFeature(vector);
其加载自定义的数据,是先定义坐标点数组;然后生成SuperMap.Geometry.Point的数组points;
然后生成几何对象;然后由几何对象生成矢量要素;然后加入vector图层;
三 第二个示例
此示例的地图带有经纬度的网格线;
此示例使用的地图服务为
http://localhost:8090/iserver/services/map-jingjin/rest/maps/京津地区土地利用现状图
发布的地图自带有经纬度网格线;
该示例定义了三个url, 地图服务-京津地区土地利用现状图,数据服务-data-jingjin,数据服务的数据集-Landuse_R;
====
柱图专题图程序原理
new一个专题图层;类型为bar;
设置图表的样式;
生成features数组,每个feature中包含经纬度;
将features数组加入专题图层;
柱图示例流程
init():浏览器不支持Canvas则返回
new 地图
new 图层,注册图层初始化完成事件函数addLayer
new 一个bar专题图图层
指定专题图制作的属性字段
配置图表参数
注册专题图鼠标移动和移出事件
注册地图mousemove,用于获取当前鼠标在地图中的像素位置
addLayer
添加基础图层和专题图图层
设置地图中心点
addThemeLayer()
在专题图数据中循环
由一条记录的字段1、2,new 一个SuperMap.Geometry.Point对象geo(这两个字段存的是经纬度)
用其他字段为属性数组赋值
由geo和属性数组生成一个SuperMap.Feature.Vector对象fea
要素数组features加入fea
专题图层加入features
开发注意:
柱图例子使用超图js库7.x版本会报错,必须使用8.x版本;
这是超图自带示例;
当时做的时候要用8.x版本的库;
项目上大体是这个样子;
凡是地图上不同地点有不同数值需要展示;就可以考虑使用GIS统计专题图;
====
标签专题图示例1
1 选中河流层,制作专题图;
2 标签专题图;风格为单值;
3 选中标签表达式为xxxx(字段),河流名称;河流名称出现在地图上;
4 放大看河流名称;
5 缩小地图之后,很多河流名称被隐藏;
====
标签专题图示例2
1 选择乡镇图层;制作标签专题图,风格为单值;
2 专题图属性中,选中标签表达式为 xxxx(字段名);乡镇名称出现在地图上;
3 调整透明度为30,乡镇名称字体变模糊;
4 切换到专题图属性的风格标签;
5 A按钮是控制风格的;
6 点击A按钮;弹出设置对话框,可调整标签文本字体样式;
7 设置字体为红色;
8 所设置的乡镇字体变红;
9 再设置另外一个乡镇字体为红色;
====
桌面版设置线图层风格示例
1 图层管理器中选中一个线状图层;在顶部菜单选择 风格设置;菜单分为点风格,线风格,填充风格,三组;
2 在菜单中点击 线符号,下拉,选中某种线型,选中图层的线状要素的线符号改变;
3 在菜单中点击 莫版,下拉,选中某种线风格,线状要素风格改变;
4 在菜单中设置线宽为2,线要素变宽;
====
简单单值专题图示例1
1 右击欲制作专题图的图层,此处为乡镇层;选择 制作专题图;
2 选择 单值专题图,风格 默认;
3 确定之后,增加了一个专题图图层;
4 专题图图层属性,表达式下拉,选中 xxxx(字段名),即乡镇名称;
5 系统自动为不同要素设置不同颜色,按默认颜色方案;
7 在图层管理器中展开专题图图层,列出各个要素,此处为各个乡镇;
眼睛符号控制是否可见;眼睛符号后面一个面状符号,表示要素为面状要素,并标示出颜色;
8 地图上可以选中某个要素;右击;弹出菜单,选择 属性;
9 选中的要素是一个村,列出选中要素的详情;
====
超图桌面版工作空间布局和调整操作
1 左侧一列,上方为工作空间管理器,下方为图层管理器;
此两者可以鼠标拖动调整相对大小;
2 中部为打开的各种操作窗口,如打开的地图,起始页等;
可以在各个tab之间切换;
3 右侧一列是图层属性窗口,如果有专题图层,会增加一个专题图属性的tab;
4 左侧一列可以鼠标拖动调整宽度;
5 右侧一列可以鼠标拖动调整宽度;
6 专题图属性窗口,有三个tab:属性,风格,高级;
7 图层属性窗口,包括显示控制、重新指定数据集、矢量参数等部分;
8 如果地图窗口是当前窗口;从顶部菜单中选择 地图属性;会在右侧一列增加一个地图属性tab;
地图属性tab包括三个tab:基本,范围,坐标系统;
====
删除服务操作
1 进入服务管理页;
2 用管理员帐号登录;
3 选择“服务”菜单下的“服务管理”选项卡;
4 服务按类别列出;找到要删除的服务;
5 点击叉号按钮;询问是否确定删除该服务;
6 点击“是”,删除服务;
7 如不再操作,可从右上角退出管理员登录;
====
utfgrid图层相关开发要点
utf图层如果需要多个,每次只能显示一个;
utf图层需要绑定一个utfgrid控件;
utfgrid瓦片的精度,数值越小,精度越高,相应的瓦片大小越大;
utfgrid图层只能同时处理一种鼠标事件,不能同时处理移动和单击;
从数据库表转换为图层时,new 要素时;两种写法效果一样;根据情况;
var feature=new SuperMap.Feature.Vector();
var feature=new SuperMap.Feature();
utfgrid返回的info, info.data,里面包含些什么,文档上不是很好找到;
有时候需要系统运行起来后,在前端进入调试,详细展开查看某个变量包含的属性内容;
onFeatureXXX这一类型的函数有时候也需要在前端进入调试查看变量;
====
部分常用语句
地图定义
map = new SuperMap.Map("map",{controls: [
new SuperMap.Control.ScaleLine(),
new SuperMap.Control.Zoom(),
new SuperMap.Control.MousePosition(),
new SuperMap.Control.Navigation({
dragPanOptions: {
enableKinetic: true
}
})],
projection: "EPSG:3857"
});
地图控件
new SuperMap.Control.LayerSwitcher(),
new SuperMap.Control.OverviewMap(),
new SuperMap.Control.ScaleLine(),
new SuperMap.Control.Zoom(),
new SuperMap.Control.Navigation({
dragPanOptions: {
enableKinetic: true
}})
地图操作
map.addLayers([layer,animatorVector,labelLayer,pointLayer]);
map.setCenter(new SuperMap.LonLat(1xxxxx7.2xxx3,4xxxxx8.1xxx2), 12);
map.addLayers([layer,vector]);
//显示地图范围
map.setCenter(new SuperMap.LonLat(0, 0), 0);
图层定义
layer= new SuperMap.Layer.TiledDynamicRESTLayer("World", url, null,{maxResolution:"auto"});
layer = new SuperMap.Layer.CloudLayer();
vector = new SuperMap.Layer.Vector("vector");
pointLayer = new SuperMap.Layer.Vector("Point");
//初始化动画矢量图层
animatorVector = new SuperMap.Layer.AnimatorVector("Metro", {rendererType:"StretchLine"},{
repeat:false,
//设置速度为每帧播放0.05的数据
speed:0.05,
//开始时间为0
startTime:0,
//每秒渲染12帧
frameRate:12,
//结束时间设置为10
endTime:10
});
图层属性
animatorVector.events.on({"drawfeaturestart": drawfeaturestart});
animatorVector.animator.events.on({"firstframestart":framestart});
图层操作
pointLayer.setOpacity(0);
labelLayer.addFeatures([new SuperMap.Feature.Vector(label)]);
labelLayer.removeAllFeatures();
====
最后
以上就是自觉小鸽子为你收集整理的超图开发要点摘录的全部内容,希望文章能够帮你解决超图开发要点摘录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复