Geomedia数据库导成shapefile格式,字段名会被截断,shapefile规定字段名称长度小于10个英文字符
解决办法:将shapefile导入到supermap后,新建字段,并把原来的内容复制过来
投影转换:中国地区做了高斯克吕格投影后,有些台站显示不出来,但是属性表里面还有属性值
原因:由于投影的关系,经纬度为(0,0)的点和承影面不相交,因此不显示
用超图软件直接导入shapefile将在数据库里面系统自定义生成表名
修改表名的方法:
1. 修改smregister表,将smtablename改为自己想命名的表名
2. 修改数据库中实际表的表名为刚才所改的smtablename
3. 修改序列SM_SEQ_(以往表名)为SM_SEQ_(当前表名)
4. 查看SYS开头的索引有没有当前表名的索引,若没有,新建一个
Geomedia表导出成shapefile后,float类型和integer类型都会自动转换成number(38,16)类型,并且在数据库中修改不起作用
解决办法:在supermap桌面端修改,具体操作,在ORACLE中,修改原来ID名称为ID1,然后在Supermap deskpro里,新建ID字段,类型为Integer,然后将ID1复制到ID,最后删除ID1字段
服务不可用的问题
原因:
没有设定固定的比例尺级数,导致了output下图片太多,在编辑后进行图片替换的时候
花费大量时间,没有替换完就退出,导致服务不可用
解决办法:params.mapScales = [1 / 200000000, 1 / 100000000, 1 / 50000000, 1 / 25000000, 1 / 12500000, 1 / 6250000]
超图技术支持建议不要使用标签专题图,使用文本图层更快
问题:无法修改文本,放大时文字跟着放大
supermap的后台代码不好使
无论是ajaxdemo还是ajaxscript 都采用的是脚本的开发方式,所不同的只是ajaxdemo用了一些封装好的控件,这些控件运行时都会初始化很多隐藏域,效率没有ajaxscript高。
必须要用后台的方式来访问数据库,因为supermap的js接口里没有相关的对业务表的操作 【可以从前台访问后台】
结论:对空间操作时都采用supermap js的接口,焦点在于用不用asp的控件,也就是用asp的控件能不能直接调用js,如果不能,就只能用html的元素来写,不能用asp的控件
使LayerControl的图层名称左对齐
将layercontrol的<div>的align属性改为left
使鹰眼控件只显示一个图层,并且可以和MapControl里的地图联动
重新用全局范围图层单独发布成一个地图,然后在加载的时候,将OverViewControl的mapName属性改为发布的地图
在调用测距的MeasureDistanceAction的时候在“Fp=F5.getContext(‘2d’)”处报“未指明的错误”,具体错误为:在SuperMap.IS.Compact.Controls.js里,Microsoft JScript运行时错误,对象不支持此属性或方法”
解决办法:IE8的兼容性问题,在IE菜单工具下勾选“兼容性视图”
MeasureDistanceAction内封装的测距工具到底测的是大地线长度还是投影距离的问题
如果是经纬度坐标,则距离量算是按“高斯克吕格”投影进行量算的,如果是设了投影坐标,则距离量算是按设的投影来算的
地图初始化时候的范围确定
设置MapControl脚本控件设计时中的mapScale属性,例如:params.mapScale = 1 / 50000000;