You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Caven Chen 68120ff177 change readme files 4 years ago
.github add workflows 4 years ago
build init framework 4 years ago
libs init framework 4 years ago
modules fix @dc-modules/plot bugs 4 years ago
packages change readme files 4 years ago
scripts add @dc-modules/roaming 4 years ago
types init framework 4 years ago
.babelrc init framework 4 years ago
.browserslistrc init framework 4 years ago
.editorconfig init framework 4 years ago
.eslintignore init framework 4 years ago
.eslintrc init framework 4 years ago
.gitignore init framework 4 years ago
.markdownlintrc init framework 4 years ago
.prettierrc init framework 4 years ago
CHANGES_en.md init framework 4 years ago
CHANGES_zh.md init framework 4 years ago
LICENSE.MD init framework 4 years ago
README.md change readme files 4 years ago
README_zh.md change readme files 4 years ago
package.json change version 4 years ago
yarn.lock add @dc-modules/roaming 4 years ago

README.md

DC-SDK

🇨🇳 中文 | 🇬🇧English

DC-SDK is based on the open source project Cesium for the second development of two three-dimensional WebGis application framework , the framework optimizes the use of Cesium and adds some additional features , designed for developers to quickly build WebGis application.

Home

http://dc.dvgis.cn

Tips:This SDK is JS+GIS framework package. Developers need to have some front-end technology and GIS related technology

Installation

NPM / YARN (Recommend)

Installing with NPM or YARN is recommended and it works seamlessly with webpack.

yarn add @dvgis/dc-sdk
-------------------------
npm install @dvgis/dc-sdk
import DC from '@dvgis/dc-sdk/dist/dc.base.min'
import DcCore from '@dvgis/dc-sdk/dist/dc.core.min'
import DcChart from '@dvgis/dc-sdk/dist/dc.chart.min'
import DcMapv from '@dvgis/dc-sdk/dist/dc.mapv.min'
import '@dvgis/dc-sdk/dist/dc.core.min.css'

NPM / YARN (On-demand)

yarn add @dvgis/dc-base
yarn add @dvgis/dc-core
yarn add @dvgis/dc-chart
yarn add @dvgis/dc-mapv
-------------------------
npm install @dvgis/dc-base
npm install @dvgis/dc-core
npm install @dvgis/dc-chart
npm install @dvgis/dc-mapv
import DC from '@dvgis/dc-base'
import DcCore from '@dvgis/dc-core'
import DcChart from '@dvgis/dc-chart'
import DcMapv from '@dvgis/dc-mapv'
import '@dvgis/dc-core/dist/dc.core.min.css'

CDN

Resources

<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.base.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.core.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.chart.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.mapv.min.js"></script>
<link
  href="https://cdn.jsdelivr.net/npm/@dvgis/dc-sdk/dist/dc.core.min.css"
  rel="stylesheet"
  type="text/css"
/>
Please put the resources in the project root directory libs/dc-sdk, if you put it in other directory, the framework will not run properly.

Configuration

The configuration is mainly used in the NPM / YARN way

Since the DC framework sets CESIUM_BASE_URL to JSON.stringify('. /libs/dc-sdk/resources/'), you need to copy Cesium static resource files: Assets, Workers, ThirdParty to the libs/dc-sdk/resources directory of the project to ensure that the 3D scene can be rendered properly.

Webpack

Project Template

// webpack.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'

module.exports = {
  plugins: [
    new CopyWebpackPlugin([
      {
        from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
        to: 'libs/dc-sdk/resources',
      },
    ]),
  ],
}

Vue2.x

Project Template

// vue.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
module.exports = {
  chainWebpack: (config) => {
    config.plugin('copy').use(CopywebpackPlugin, [
      [
        {
          from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
          to: 'libs/dc-sdk/resources',
        },
      ],
    ])
  },
}

Vue3.x

Project Template

// vue.config.js
const path = require('path')
const CopywebpackPlugin = require('copy-webpack-plugin')
const dvgisDist = './node_modules/@dvgis'
module.exports = {
  chainWebpack: (config) => {
    config.plugin('copy').use(CopywebpackPlugin, [
      {
        patterns: [
          {
            from: path.join(dvgisDist, 'dc-sdk/dist/resources'),
            to: path.join(__dirname, 'dist', 'libs/dc-sdk/resources'),
          },
        ],
      },
    ])
  },
}

Start

global.DC = DC
DC.use(DcCore) // node
DC.ready(() => {
  let viewer = new DC.Viewer(divId) // divId is the Id attribute value of a div node. If it is not passed in, the 3D scene cannot be initialized
})

Documentation

DC Sdk Api

Cesium Api

Demo

picture picture picture picture
picture picture picture picture
picture picture picture picture

More>>

Ecosystem

| Module | Status | Description | | :------ | :------: | :------ | | dc-chart | | dc chart module for adding ECharts functionality in 3d scenes | | dc-mapv | | dc big-data module for adding MAPV functions in 3d scenes |
| dc-ui | | dc components for Vue2.x | | dc-analysis | | dc analysis module, including camera-video, position-editor, measure, etc | | dc-ui-next | | dc components for Vue3.x |

1. The framework is a basic platform, completely open source, which can be modified and reconstructed by any individual or institution without our authorization.
2. We are not responsible for any problems arising from the modification of the framework by individuals and organizations.
3. Some industrial plug-ins and tools will be added in the later stage, and the code will be open source appropriately.
4. The package released by us may be used permanently and free of charge by any person or organization subject to:
  1) complete package reference;
  2) reserve this copyright information in the console output
We reserve the right of final interpretation of this copyright information.

Support

if dc-sdk can bring benefits to you, please support it ~

Thanks