超图代码示例
package com.sds.test;
import com.supermap.data.*;
import com.supermap.data.processing.SceneCacheBuilder;
import com.supermap.realspace.Layer3DDataset;
import com.supermap.realspace.Layer3DSettingVector;
import com.supermap.realspace.Scene;
import org.junit.Test;
import java.awt.*;
public class TestSR {
@Test
public void createMySQLWorkspace() {
WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo();
wci.setType(WorkspaceType.MYSQL);
wci.setServer("localhost:3306");
wci.setUser("root");
wci.setPassword("supermap");
wci.setDatabase("gis");
wci.setName("test1");
Workspace workspace = new Workspace();
boolean result = workspace.create(wci);
System.out.println("创建工作空间: " + result);
workspace.save();
}
@Test
public void createScene() {
WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo();
wci.setType(WorkspaceType.MYSQL);
wci.setServer("localhost:3306");
wci.setUser("root");
wci.setPassword("supermap");
wci.setDatabase("gis");
wci.setName("test");
Workspace workspace = new Workspace();
workspace.open(wci);
Scene scene = new Scene();
scene.setWorkspace(workspace);
workspace.getScenes().add("test", scene.toXML());
workspace.save();
scene.close();
scene.dispose();
workspace.close();
workspace.dispose();
}
@Test
public void createSceneAndAddLayer() {
WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo();
wci.setType(WorkspaceType.MYSQL);
wci.setServer("localhost:3306");
wci.setUser("root");
wci.setPassword("supermap");
wci.setDatabase("gis");
wci.setName("test");
Workspace workspace = new Workspace();
workspace.open(wci);
Datasource datasource = workspace.getDatasources().get("building");
DatasetVector buildDataset = (DatasetVector) datasource.getDatasets().get("build");
Scene scene = new Scene();
scene.setWorkspace(workspace);
Layer3DSettingVector layer3DSettingVector = new Layer3DSettingVector();
GeoStyle3D geoStyle3D = new GeoStyle3D();
geoStyle3D.setFillForeColor(Color.RED);
layer3DSettingVector.setStyle(geoStyle3D);
Layer3DDataset layer3DDataset = scene.getLayers().add(buildDataset, layer3DSettingVector, true);
workspace.getScenes().add("test", scene.toXML());
workspace.save();
scene.close();
scene.dispose();
workspace.close();
workspace.dispose();
}
@Test
public void creat3DCache() {
WorkspaceConnectionInfo wci = new WorkspaceConnectionInfo();
wci.setType(WorkspaceType.MYSQL);
wci.setServer("localhost:3306");
wci.setUser("root");
wci.setPassword("supermap");
wci.setDatabase("gis");
wci.setName("test");
Workspace workspace = new Workspace();
workspace.open(wci);
Scene scene = new Scene();
scene.setWorkspace(workspace);
scene.open("test");
SceneCacheBuilder sceneCacheBuilder = new SceneCacheBuilder();
sceneCacheBuilder.setScene(scene);
String layerName = scene.getLayers().get(0).getName();
sceneCacheBuilder.setPreCacheLayerNames(new String[]{layerName});
sceneCacheBuilder.setOutputFolder("D:\\Cache");
sceneCacheBuilder.build();
}
}
