資源簡介
項目應用中,有時候需要通過Java組件將點數據進行核密度分析,即通過點數據的密集度制作熱力圖分布。

代碼片段和文件信息
import?java.awt.BorderLayout;
import?java.awt.frame;
import?java.awt.event.ActionEvent;
import?java.awt.event.ActionListener;
import?javax.swing.BoxLayout;
import?javax.swing.JButton;
import?javax.swing.Jframe;
import?javax.swing.JPanel;
import?javax.swing.JToolBar;
import?com.supermap.analyst.spatialanalyst.DensityAnalyst;
import?com.supermap.analyst.spatialanalyst.DensityAnalystParameter;
import?com.supermap.data.DatasetGrid;
import?com.supermap.data.DatasetVector;
import?com.supermap.data.Datasource;
import?com.supermap.data.Rectangle2D;
import?com.supermap.data.Workspace;
import?com.supermap.data.WorkspaceConnectionInfo;
import?com.supermap.data.WorkspaceType;
import?com.supermap.ui.MapControl;
public?class?Demoframe?extends?Jframe{
/**
?*?
?*/
private?static?final?long?serialVersionUID?=?1L;
private?Workspace?workspace;
private?MapControl?mapControl;
private?Datasource?datasource;
private?DatasetVector?datasetVector;
private?JPanel?jPanel;
private?JToolBar?toolBar;
private?JButton?kendenBtn;
/**
?*?@param?args
?*/
public?static?void?main(String[]?args)?{
//?TODO?Auto-generated?method?stub
Demoframe?demoframe?=?new?Demoframe();
demoframe.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
demoframe.setVisible(true);
}
//構造Demoframe函數
public?Demoframe(){
super();
initialize();
}
private?void?initialize(){
this.setExtendedState(frame.MAXIMIZED_BOTH);
this.setSize(800?500);
this.settitle(““);
this.add(getJComponent());
//打開數據源
workspace?=?new?Workspace();
mapControl.getMap().setWorkspace(workspace);
WorkspaceConnectionInfo?info?=?new?WorkspaceConnectionInfo(“D:/eclipseWorkspce/KennelDensity/Data/KernelDensity.smwu“);
info.setType(WorkspaceType.SMWU);
workspace.open(info);
datasource?=?workspace.getDatasources().get(0);
datasetVector?=?(DatasetVector)datasource.getDatasets().get(“Xsqzd_P“);
mapControl.getMap().getlayers().add(datasetVector?true);
mapControl.getMap().refresh();
}
//獲取一個控件jPanel
private?JPanel?getJComponent(){
if(jPanel?==?null){
jPanel?=?new?JPanel();
jPanel.setLayout(new?BorderLayout());
jPanel.add(getToolbar()BorderLayout.NORTH);
jPanel.add(getmapControl()BorderLayout.CENTER);
}
return?jPanel;
}
//獲取一個菜單條toolBar
private?JToolBar?getToolbar(){
if(toolBar?==?null){
toolBar?=?new?JToolBar();
toolBar.setLayout(new?BoxLayout(getToolbar()?BoxLayout.X_AXIS));
toolBar.add(getBtn());
}
return?toolBar;
}
private?JButton?getBtn(){
if(kendenBtn?==?null){
kendenBtn?=?new?JButton(“核密度分析“);
kendenBtn.addActionListener(new?ActionListener()?{
@Override
public?void?actionPerformed(ActionEvent?arg0)?{
//?TODO?Auto-generated?method?stub
DensityAnalystParameter?densityAnalystParameter?=?new?DensityAnalystParameter();
densityAnalystParameter.setResolution(0.5);
densityAnalystPar
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3397??2014-12-12?14:30??KennelDensity\.classpath
?????文件????????389??2014-12-12?14:29??KennelDensity\.project
?????文件????????629??2014-12-12?14:30??KennelDensity\.settings\org.eclipse.jdt.core.prefs
?????文件???????2289??2014-12-14?14:44??KennelDensity\bin\Demofr
?????文件???????4145??2014-12-14?14:44??KennelDensity\bin\Demofr
?????文件????4633200??2014-12-14?14:41??KennelDensity\Data\KernelDensity.smwu
?????文件????5963864??2014-12-14?14:59??KennelDensity\Data\KernelDensity.udb
?????文件?????360448??2014-12-14?14:44??KennelDensity\Data\KernelDensity.udd
????.....H.???4633264??2014-12-14?14:38??KennelDensity\Data\~[0]@KernelDensity.smwu
?????文件???????3704??2014-12-14?14:44??KennelDensity\src\Demofr
?????文件?????172917??2014-12-14?14:56??KennelDensity\范例代碼文檔格式.pdf
?????目錄??????????0??2014-12-12?14:29??KennelDensity\.settings
?????目錄??????????0??2014-12-14?14:39??KennelDensity\bin
?????目錄??????????0??2014-12-14?14:44??KennelDensity\Data
?????目錄??????????0??2014-12-12?14:34??KennelDensity\src
?????目錄??????????0??2014-12-14?14:56??KennelDensity
-----------?---------??----------?-----??----
?????????????15778246????????????????????16
評論
共有 條評論