Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 5086215

Browse files
committed
版本 1.1.0
1 parent dd19707 commit 5086215

File tree

1,145 files changed

+207047
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,145 files changed

+207047
-1
lines changed

.gitignore

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/.idea/
2+
/mapgis_gdbmanager_plugin/target/
3+
/mapgis_gdbmanager_plugin/mapgis_gdbmanager_plugin.iml
4+
/mapgis_pluginengine/target/
5+
/mapgis_pluginengine/mapgis_pluginengine.iml
6+
/mapgis_ui_controls/target/
7+
/mapgis_ui_controls/mapgis_ui_controls.iml
8+
/mapgis_workspace_plugin/target/
9+
/mapgis_workspace_plugin/mapgis_workspace_plugin.iml
10+
/mapgis_dockfx/target/
11+
/mapgis_dockfx/mapgis_dockfx.iml
12+
/mapgis_ribbonfx/target/
13+
/mapgis_ribbonfx/mapgis_ribbonfx.iml
14+
/mapgis_ribbonapploader/target/
15+
/mapgis_ribbonapploader/mapgis_ribbonapploader.iml
16+
/mapgis_mapeditor_plugin/target/
17+
/mapgis_mapeditor_plugin/mapgis_mapeditor_plugin.iml
18+
/mapgis_dataconvert_plugin/target/
19+
/mapgis_dataconvert_plugin/mapgis_dataconvert_plugin.iml
20+
/mapgis_rastereditor_plugin/target/
21+
/mapgis_rastereditor_plugin/mapgis_rastereditor_plugin.iml
22+
/bin/libs/
23+
/bin/plugin/
24+
/bin/mapgis_dockfx.jar
25+
/bin/mapgis_ribbonfx.jar
26+
/bin/mapgis_pluginengine.jar
27+
/bin/mapgis_ui_controls.jar
28+
/bin/mapgis_ribbonapploader.jar
29+
/bin/mapgis_ribbonapploader.jar.config
30+
/desktop.iml

README.md

Lines changed: 142 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,142 @@
1-
# MapGIS-Desktop-Java
1+
# MapGIS Desktop Based on JavaFX
2+
3+
`MapGIS 跨平台桌面`主要为`GIS`专业用户提供空间数据管理和处理、地图制图、空间数据分析等功能。同时也为各种行业应用提供了方便、灵活的二次开发框架,以满足专业GIS桌面应用系统的搭建。
4+
5+
工程包含基于`MapGIS Objects Java``MapGIS`跨平台桌面代码。
6+
7+
工程通过`Maven`进行编译,通过`IntelliJ IDEA`进行编辑。
8+
9+
## 目录
10+
11+
- [MapGIS Desktop Based On JavaFX](#mapgis-desktop-based-on-javafx)
12+
- [目录](#目录)
13+
- [工程目录结构](#工程目录结构)
14+
- [开始](#开始)
15+
- [运行](#运行)
16+
- [模块](#模块)
17+
18+
## 工程目录结构
19+
20+
```text
21+
|-- mapgis_javafx
22+
|-- bin -- MapGIS Objects Java 和核心模块输出目录及启动脚本
23+
|-- libs -- 模块依赖开源库
24+
|-- plugin -- 插件模块输出目录
25+
|-- mapgis_dataconvert -- 数据转换插件
26+
|-- mapgis_dockfx -- 框架布局控件库
27+
|-- mapgis_gdbmanager_plugin -- 地理数据库管理插件
28+
|-- mapgis_mapeditor_plugin -- 地图编辑插件
29+
|-- mapgis_pluginengine -- 插件引擎
30+
|-- mapgis_rastereditor_plugin -- 栅格编辑插件
31+
|-- mapgis_ribbonapploader -- 插件框架宿主(mainClass)
32+
|-- mapgis_ribbonfx -- Ribbon功能区控件库
33+
|-- mapgis_ui_controls -- MapGIS UI 控件库
34+
|-- mapgis_workspace_plugin -- 工作空间插件
35+
|-- .gitignore
36+
|-- pom.xml -- 主 pom 文件
37+
|-- README.md
38+
```
39+
40+
## 地址
41+
42+
- **主库**: https://github.com/MapGIS/MapGIS-Desktop-Java
43+
- **码云**: https://gitee.com/osmapgis/MapGIS-Desktop-Java
44+
45+
## 开始
46+
47+
1. 下载安装 `IntelliJ IDEA` [最新版本](https://www.jetbrains.com/idea/download/)
48+
2. 下载安装 `JDK 1.8` [最新版本](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)
49+
3. 启动`IntelliJ IDEA`,点击`Open or Import`
50+
4. 选择主工程目录下的`pom.xml`,选择`Open As Project`
51+
5. 设置工程JDK: `File - Project Structure... `,在 `Project Settings - Project - Project SDK` 下拉选择 `1.8`
52+
6. 编译:
53+
- 在右侧 Maven 视窗中,双击 `desktop - Lifecycle - package` 即可编译整个工程。
54+
55+
**注:在编译过过程中,可能需要下载编译插件及工程依赖,请保持机器联网。**
56+
57+
## 运行
58+
59+
- **Runtime Version**
60+
- MapGIS 运行时版本为 10.3.7.13。
61+
62+
- **Windows**
63+
1.`MapGIS`的运行时目录`Program`配置到系统环境变量中(可能需要重新启动以使得环境变量生效)。
64+
2. 右键`desktop.bat`以管理员启动。
65+
66+
- **Linux**
67+
1.`MapGIS`的运行时目录`Program`配置到环境变量中。
68+
2. 使用`desktop.sh`启动。
69+
70+
## 模块
71+
1. **框架模块**
72+
- `mapgis_dockfx`: 框架布局控件库,提供内容视图和停靠窗口的停靠和浮动。
73+
- `mapgis_ribbonfx`: Ribbon功能区控件库,统筹和管理各类工具按钮。
74+
- `mapgis_ui_controls`: UI 控件库提供了丰富的`MapGIS 控件`,为二次开发提供便利与指导。
75+
- `mapgis_pluginengine`: 插件引擎负责解析插件`jar`包,提取`jar`包中的插件类型信息,并提交给宿主程序生成对应的界面对象。插件引擎提供一种通讯契约,即标准插件接口。插件程序集只要实现了这些接口,就能被插件引擎认可为插件。插件引擎提供一个插件容器(`PluginContainer`),负责管理插件的加载,卸载等状态控制。插件引擎提供一个运行框架(`Application`),负责管理插件引擎运行状态和与插件程序集间的交互。
76+
- `mapgis_ribbonapploader`: 宿主程序是框架运行的入口,它通过插件引擎加载插件对象,并将插件对象以 UI 的形式来展示,并负责协调这些插件对象与界面控件间的交互。
77+
78+
2. **插件模块**
79+
- `mapgis_workspace_plugin`: 基础插件。如果要对地图进行编辑、处理或者分析,则此插件将是必备插件。
80+
- 插件特色:
81+
- 以目录树的形式组织地图,提供地图的新建、保存及编辑等基础管理功能;
82+
- 提供地图数据的二维及三维图形显示窗口,能够无级放大缩小、全方位漫游;
83+
- 包含的主要控件
84+
- 工作空间视图: 地图管理的基础视图及操作区,包含了地图的新建、保存及编辑功能;地图下的图层数据的基础信息、属性表格结构及其内容的查阅功能。
85+
- 地图数据视图: 地图数据的图形显示区及交互操作区,显示当前工作空间视图内图层的图像。分为两种模式:数据视图模式(二维、三维场景)。
86+
- 文件菜单: 文件菜单提供地图的新建、打开、保存、关闭功能等功能;Ribbon功能区用于操作数据视图。
87+
88+
- `mapgis_gdbmanager_plugin`: 基础插件。所有对数据库文件的操作(如,创建简单要素类)都将依赖于此插件。该插件提供组织和管理各类地理信息的目录窗口、图形展示窗口。
89+
- 数据管理插件可以组织和管理的信息类型包括:
90+
- 地理数据库
91+
- 要素数据集
92+
- 矢量数据
93+
- 栅格数据
94+
- 包含的主要控件:
95+
- Catalog目录窗口: 以树视图组织各类数据,树节点的右键菜单提供各种编辑、管理功能。
96+
- 数据属性信息窗口: 显示单个数据的详细信息。
97+
98+
- `mapgis_dataconvert_plugin`: 基础数据转换插件实现了矢量和栅格数据升级、数据迁移、数据交换等强大的数据操作功能。
99+
- 插件特色:
100+
- 支持不同`MapGIS`数据源之间的数据迁移,包括`MapGISLocal``ArcGIS`常用格式的数据迁移、复制和转换。
101+
- 兼容`MapGIS 67`数据,提供`MapGIS 67`数据的升级,以及`K10数据`转换为`67数据`。(Windows)
102+
- 提供数据转换时的错误检查和自动改错功能,自动消除不符合规范的命名错误;可记录详细转换日志,并提供出错提示。
103+
- 此外,提供统改数据名称、目的数据类型、目的数据目录的功能,极大的方便了用户操作。
104+
- 包含主要控件:
105+
- Catalog目录树的空间数据节点右键菜单,提供各种数据的导入、导出功能。
106+
- 要素数据集以及各要素类节点右键菜单,提供导入、导出功能。
107+
- 栅格数据集和栅格目录节点右键菜单,提供栅格数据的导入、导出功能。
108+
109+
- `mapgis_mapeditor_plugin`: 地图编辑插件适用于制作精美地图,无专业分析需求的用户。它包含了部分编辑矢量数据的功能或工具。
110+
- 插件特色:
111+
- 对地图中的地理实体对象进行增加、删除、移位等;
112+
- 属性查询、条件查询;
113+
- 地图投影变换,不同坐标参照的空间数据的处理;
114+
- 包含的主要控件:
115+
- 点/线/区菜单及工具条:点/线/区要素的编辑功能都集中在这三个菜单中。例如,添加、移动、删除、修改等;
116+
- 通用编辑菜单及工具条:除了集成部分编辑功能外,还包含叠加分析、缓冲区分析、裁剪、查询等功能;
117+
118+
- `mapgis_rastereditor_plugin`: 栅格编辑插件涵盖了栅格信息查询、栅格显示、栅格预处理、栅格分析的基础功能,适用于无专业遥感分析需求的用户。
119+
120+
3. **bin**: 作为依赖包的存放目录及各模块的输出目录,组织各功能模块及其依赖的组织结构。
121+
- `根目录`: 代码仓库本身包含`MapGIS Objects Java`的最新版本包,同时也是核心模块的打包输出目录,并包含可执行启动脚本。
122+
- `libs`: 包含各模块中对开源库的直接依赖和间接依赖的拷贝。
123+
- `plugin`: 插件模块的打包输出目录。
124+
125+
126+
127+
128+
129+
TODO:
130+
- [X] 简介
131+
- [X] 工程目录
132+
- [X] 地址
133+
- [X] 开始
134+
- [X] 模块
135+
- [X] 启动
136+
- [ ] 架构
137+
- [ ] 性能
138+
- [ ] 环境服务器
139+
- [ ] 文档
140+
- [ ] 帮助
141+
- [ ] 协议
142+
- [ ] 贡献

bin/desktop.bat

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
cd /d "%~dp0"
2+
java -jar mapgis_ribbonapploader.jar

bin/desktop.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
java -jar mapgis_ribbonapploader.jar

bin/mapgis_geoanalysis.jar

366 KB
Binary file not shown.

bin/mapgis_geodatabase.jar

428 KB
Binary file not shown.

bin/mapgis_geomap.jar

802 KB
Binary file not shown.

bin/mapgis_geoobjects.jar

275 KB
Binary file not shown.

mapgis_dataconvert_plugin/pom.xml

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
5+
<parent>
6+
<artifactId>desktop</artifactId>
7+
<groupId>com.zondy.mapgis</groupId>
8+
<version>1.0-SNAPSHOT</version>
9+
</parent>
10+
<modelVersion>4.0.0</modelVersion>
11+
12+
<artifactId>mapgis_dataconvert_plugin</artifactId>
13+
14+
<dependencies>
15+
<dependency>
16+
<groupId>com.zondy.mapgis</groupId>
17+
<artifactId>mapgis_geoanalysis</artifactId>
18+
<version>1.0.0-SNAPSHORT</version>
19+
<scope>system</scope>
20+
<systemPath>${pom.basedir}/../bin/mapgis_geoanalysis.jar</systemPath>
21+
</dependency>
22+
23+
<dependency>
24+
<groupId>com.zondy.mapgis</groupId>
25+
<artifactId>mapgis_pluginengine</artifactId>
26+
<version>1.0-SNAPSHOT</version>
27+
<scope>system</scope>
28+
<systemPath>${pom.basedir}/../bin/mapgis_pluginengine.jar</systemPath>
29+
</dependency>
30+
<dependency>
31+
<groupId>com.zondy.mapgis</groupId>
32+
<artifactId>mapgis_ui_controls</artifactId>
33+
<version>1.0-SNAPSHOT</version>
34+
<scope>system</scope>
35+
<systemPath>${pom.basedir}/../bin/mapgis_ui_controls.jar</systemPath>
36+
</dependency>
37+
</dependencies>
38+
39+
<build>
40+
<finalName>${pom.name}</finalName>
41+
<plugins>
42+
<!-- 编译插件 -->
43+
<plugin>
44+
<groupId>org.apache.maven.plugins</groupId>
45+
<artifactId>maven-compiler-plugin</artifactId>
46+
<version>3.8.1</version>
47+
<configuration>
48+
<source>1.8</source>
49+
<target>1.8</target>
50+
<encoding>UTF-8</encoding>
51+
</configuration>
52+
</plugin>
53+
<!-- 打包插件 -->
54+
<plugin>
55+
<groupId>org.apache.maven.plugins</groupId>
56+
<artifactId>maven-jar-plugin</artifactId>
57+
<version>3.2.0</version>
58+
<configuration>
59+
<!-- 指定打包输出路径 -->
60+
<outputDirectory>${pom.basedir}/../bin/plugin</outputDirectory>
61+
<archive>
62+
<manifestEntries>
63+
<Build-Time>${maven.build.timestamp}</Build-Time>
64+
<Build-Host> </Build-Host>
65+
<Build-User>${user.name}</Build-User>
66+
<Build-Maven>Maven $\{maven.version\}</Build-Maven>
67+
<Build-Java>${java.version}</Build-Java>
68+
<Build-OS>${os.name}</Build-OS>
69+
<Build-Label>${pom.version}</Build-Label>
70+
<Build-Path>${basedir}</Build-Path>
71+
</manifestEntries>
72+
</archive>
73+
</configuration>
74+
</plugin>
75+
</plugins>
76+
<resources>
77+
<resource>
78+
<directory>${basedir}/src/main/java</directory>
79+
<includes>
80+
<include>**/*.fxml</include>
81+
</includes>
82+
</resource>
83+
<resource>
84+
<directory>${basedir}/src/main/resources</directory>
85+
</resource>
86+
</resources>
87+
</build>
88+
89+
</project>

0 commit comments

Comments
 (0)