一、目的:
测试已有的示例功能,在测试的过程中,掌握MapGIS桌面Java二次开发接口,记录测试问题。
【1】util工具类中的方法为什么要用static修饰?
答:
1.其他类调用该静态方法时是随着类的定义而被分配和装载入内存中。而非静态方法属于对象的具体实例,只有在类的对象创建时在对象的内存中才有这个方法的代码段。
2.一个是在类的定义时分配和装载且只会装载一次,一个是在类的创建时才会装载到内存。这需要对内存区域有一定的认识。在java中另外一个和此密切关联的就是引用传递。
3.static 是静态的 属于公共的 不需要实例化
如果你不是static 你就必须 先实例化类 然后再调用 该方法,既然是util类,那肯定是公用的,比如一个连接数据库的工具类,项目运行时会多次使用,非静态就会产生大量实例还有一堆数据库连接,占用太多资源,静态类避免了这个问题,忽视这个问题的代价是很大的。
4.再比如使用util工具类的时候,你会发现上来直接就是 类名.方法名。还没有实例化就可以调用,这就是static的好处了。被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问
5.静态方法的好处就是不用生成类的实例就可以直接调用。static 方法修饰的成员不再属于某个对象,而是属于它所在的类。只需要通过其类名就可以访问,不需要再消耗资源反复创建对象。
【2】关于布局:BorderPane 和 Pane
Pane是java最基本的布局类,它可以直接使用
其他布局:
BorderPane extends Pane
二、数据库,数据源
1. SvcConfig类:数据源配置 对象
eg:
添加数据源:static append(DataSrcInfo info)
重载,根据数据源索引获取数据源信息:static get( int index)
移除数据源:static remove(int index)
。。。。。。
2. 数据源信息 对象 DataSrcInfo类
eg:
获取对应的服务名 getDnsName()
《注:这里是获取到DataSrcInfo对象后才调用的里面方法—(非static)》
3.Server类 地理数据源 (可以用来连接数据源)
重载,删除数据库 deleteGDB(String dbName)
重载,删除数据库 deleteGDB(int dbID)
openGDB( int gdbID) 根据地理数据ID,打开地理数据库对象 DataBase
openGDB( String gdbName) 打开地理数据库
4.地理数据库 DataBase类
创建要素数据集 createFds(String name,int srID)
获取指定类ID的类的信息 getXclsInfo(XClsType type, int clsID)
获取指定数据集下所有类ID getXclses(XClsType type, int dsID)
type:类类型 ;dsID:要素数据集ID
获取指定类ID的类的信息 getXclsInfo(XClsType type,int clsID)
type:类类型,clsID:指定类的ID号
获取指定GDB下要素数据集列表, int[] dataSetIdList = gdb.getXclses(XClsType.XFds, 4);
获取数据集列表:这里可以为任意值,4,5,0,1,2
获取指定GDB下某要素数据集下所有简单要素类:
XClsType.XFds :
三、要素数据集,要素类 (在4地理数据库 DataBase类的基础上)
5.地理数据源 SFeatureCls类
构造函数:public SFeatureCls(DataBase gdb);
重载,创建类create(String name,GeomType type,int dsID, int srID, Fields flds)
删除类static remove(DataBase gdb,Object xclsVal)
四、GIS基础教程之坐标系
GIS基础教程之坐标系 - 知乎 这里推荐
坐标系分为两大类:
1、地理坐标系(Geographic Coordinate System, GCS)
2、投影坐标系(Projected Coordinate System, PCS)
一份数据,或者一张地图,一定有坐标系,但是不一定有投影!
地理坐标系是没有投影的,只有投影坐标系是有投影的!
坐标系就如同一个橘子:
地理坐标系就是一个完整的橘子,球体。
投影坐标系就是一个剥开的橘子皮,在桌子上铺开压上的那种。
常用的地理坐标系,在我国,最常见的就是北京54(Beijing54),西安80(Xian80)和国家2000(CGCS2000)坐标系。
将地理坐标系进行投影后,即得到投影坐标系。最常用的适用于我国的地图有以下几种:
- 高斯克吕格(Gauss Kruger)投影
6. 空间参考系对象 SRefData类
根据坐标系ID获取坐标系信息
获取所有参考系ID列表 getSpatialRefs(SRefType type) type - 参考系类型
五、数据转换(导入及导出shp、6X、DXF数据)
MapGIS 10如何导入tif、shp等格式的数据?_MapGIS高频问题集锦_云听
7.要素类型信息 FeatureInfo类
构造函数:public FeatureInfo();
8.数据转换 DataConvert类
重载,打开源数据 openSource(String srcData) srcData - 源数据绝对路径