17th Int. gvSIG Conference: Version Control System on gvSIG Desktop

gvsig
7 Dec 202129:11

Summary

TLDR本文介绍了在开源软件中实现高级制图编辑的版本控制系统。演讲者首先强调了开源软件在高级制图编辑领域的发展,并介绍了如何在多用户编辑和版本控制中解决常见问题。提出了使用版本控制系统(如SVN、GitHub等)的可能性,并讨论了它们在处理二进制数据(如制图数据)时的局限性。随后,介绍了一种新的集成于GBC桌面GIS的版本控制系统,它允许用户在本地副本上编辑并向中央数据库提交更改,同时解决冲突并恢复历史版本。此外,还展示了该系统的高级搜索工具、数据模型和表单,以及如何通过这个系统维护和发布制图信息。

Takeaways

  • 🌐 演讲者介绍了在开源软件中开发的新的版本控制系统,用于高级桌面地图编辑。
  • 🔍 版本控制系统主要解决多用户编辑和版本控制问题,特别是在处理形状文件或其他基于文件的格式以及数据库时。
  • 📂 在文件格式编辑中,问题包括文件锁定和本地副本编辑,导致难以确定哪个文件是正确的。
  • 🔌 当使用数据库时,问题包括需要高频率的连接和难以管理同时编辑相同特征的用户。
  • 🗂️ 版本控制的挑战在于难以恢复旧版本的几何形状,尤其是在使用文件夹和命名约定来组织数据时。
  • 🛠️ 传统的版本控制系统如SVN、Git等通常针对文本文件,对于二进制数据(如地图数据)效率不高。
  • 🔄 演讲者提出了一个新的GIS版本控制系统,它是一个集中式系统,专门设计用于管理地图数据,并且集成到了桌面GIS中。
  • 🔄 该版本控制系统允许编辑矢量层,并能够在特定时间恢复几何形状的状态,存储用户对几何形状所做的修改。
  • 🔄 系统使用中央数据库,如Oracle或PostGIS,并且每个用户都在本地副本上工作,然后将更改上传到存储库。
  • 🔄 为解决冲突,系统采用了复制修改合并模型,允许用户在上传更改时解决冲突。
  • 🔄 版本控制系统还包括高级搜索工具、表单数据输入和拓扑审查,提高了数据编辑和管理的效率。
  • 🔄 版本控制系统GIS从GBC 2.6版本开始可用,目前还在开发中,但已有多个构建版本可供测试。

Q & A

  • 什么是开源软件中的版本控制系统?

    -版本控制系统是一种用于管理文件变更历史的工具,它允许用户编辑文件,跟踪更改,并在必要时恢复到旧版本。在开源软件中,版本控制系统通常用于文本文件,如文档和源代码,但对于二进制数据,如地图数据,它们可能不够高效。

  • 在多用户编辑情况下,使用基于文件的格式(如Shapefiles)会遇到哪些问题?

    -使用基于文件的格式时,可能只有一个用户能够同时修改文件,或者两个不同的用户可以在他们的本地副本上编辑文件,但这样就存在一个问题:我们不知道哪个是正确的文件版本,因为无法确定哪个用户的更改是最终版本。

  • 使用数据库进行地图数据编辑时,需要考虑哪些问题?

    -使用数据库时,需要考虑的问题包括需要高频率的连接、管理用户编辑时的冲突,以及当两个用户同时编辑相同的特征时如何确定哪些更改被保留。

  • 版本控制系统在处理Shapefiles或其他类似格式时通常采用什么方法?

    -在处理Shapefiles或其他类似格式时,版本控制系统通常通过在文件夹中组织不同版本的数据,并使用命名约定(如版本1、版本2等)来区分不同版本,但这使得恢复旧版本的几何数据变得困难。

  • 为什么现有的版本控制系统(如SVN或Git)可能不适用于地图数据?

    -现有的版本控制系统主要针对文本文件设计,它们对于二进制数据(如地图数据)的效率不高。此外,去中心化系统需要复制大量数据,且它们通常没有集成到桌面GIS软件中,需要使用外部工具。

  • GBC Desktop中的版本控制系统是如何设计的?

    -GBC Desktop中的版本控制系统是一个集中式版本控制系统,专为管理地图数据设计,并集成到了桌面GIS软件中,允许用户编辑矢量图层并恢复特定时间的几何状态。

  • GBC Desktop的版本控制系统如何解决多用户编辑和版本控制的问题?

    -GBC Desktop的版本控制系统允许每个用户在本地副本上工作,并将更改上传到中央数据库。如果出现冲突,用户可以选择保留自己的更改或他人的更改,从而解决了多用户编辑和版本控制的问题。

  • 版本控制系统中的“复制修改合并模型”是什么?

    -“复制修改合并模型”是一种工作模式,用户在本地副本上工作,完成编辑后上传更改。如果有冲突,用户可以决定保留哪些更改,这样可以避免锁定整个仓库,提高工作效率。

  • GBC Desktop的版本控制系统提供了哪些工具来增强地图数据编辑?

    -GBC Desktop的版本控制系统提供了如拓扑检查、数据模型、高级搜索工具和表单等工具,以增强地图数据编辑的效率和准确性。

  • 版本控制系统的典型工作流程是什么?

    -版本控制系统的典型工作流程包括更新工作副本、在本地副本上编辑、提交更改到仓库,以及解决可能的冲突。这个过程允许用户在本地工作,同时能够与团队成员共享和协调更改。

  • GBC Desktop的版本控制系统何时可用?

    -GBC Desktop的版本控制系统从GBC 2.6版本开始提供,这是一个正在开发的版本,但已经有多个构建版本可供测试。最终版本将很快发布。

Outlines

00:00

🚀 开始国际GPC大会的旅程

大家好,我们将在国际GPC大会上开启新旅程,讨论GBC桌面上的版本控制系统和开放源代码软件中的高级制图编辑。首先,我将分享桌面并开始演示。我们开发了一种新工具GBC桌面,它解决了多用户编辑和版本控制的问题。

05:03

🔍 多用户编辑问题

在多用户编辑中,若使用文件格式(如shapefile),只能单用户修改,若多个用户在本地修改,会导致文件冲突。当使用数据库时,需要高连接数并面临同步问题。不同用户同时编辑相同或不同特征时,难以管理和确定最终版本。

10:05

📂 版本控制问题

在版本控制中,文件格式通常通过文件夹和版本号管理,但难以恢复旧版本。数据库备份易于实现但恢复困难,且需要数据库管理员管理大量数据。

15:06

🔧 解决方案:版本控制系统

为解决多用户编辑和版本控制问题,我们可以借鉴现有的版本控制系统,如集中式的SVN和去中心化的GitHub。虽然这些系统主要针对文本文件,但对于二进制数据(如制图数据)效率低下,并且与桌面GIS工具不集成。

20:07

🌐 GBC桌面中的版本控制系统

我们开发了适用于GBC桌面的VCS GIS工具,这是一个集中式版本控制系统,专为管理制图数据设计,并与桌面GIS集成。该系统允许编辑矢量图层并恢复特定时间点的几何形状,支持并发编辑和版本管理。

25:07

👥 多用户协作和冲突解决

用户在本地工作副本上进行编辑并提交更改。当有冲突时,用户可以选择保留哪个更改。我们采用复制-修改-合并模式,允许用户在本地编辑并提交更改,解决文件锁定带来的问题。

🛠️ VCS GIS的功能和工具

VCS GIS工具包括并发编辑、冲突解决、版本管理和拓扑检查。它支持导出和查看特定日期的制图状态,集成了高级搜索和数据模型,方便管理和编辑制图数据。

📊 工作流程和示例

典型工作流程包括更新工作副本、在本地编辑并提交更改。用户可以在编辑时看到已修改的几何形状,并选择保留或覆盖冲突的更改。

🎬 演示:初始化和数据模型连接

演示了如何初始化工作副本,选择数据模型并加载图层。用户可以通过本地或远程数据库连接到不同的数据模型,并添加图层到视图中进行编辑。

✏️ 编辑和上传更改

用户在本地编辑几何形状和属性信息,并通过提交工具上传更改。演示了如何检查和验证编辑,确保所有必填字段已填充,然后将更改提交到仓库。

⚠️ 冲突处理示例

演示了两个用户同时编辑相同几何形状时的冲突处理过程。用户可以选择保留自己的更改或接受其他用户的更改,确保最终版本的准确性。

🔄 总结和未来发展

VCS GIS工具将在GBC 2.6版本中提供,该版本目前正在开发中。这个工具将版本控制系统和桌面GIS功能结合,方便管理和发布制图信息。欢迎大家测试并提出反馈。

Mindmap

Keywords

💡版本控制系统

版本控制系统是一种软件工具,用于记录和协调多人协作时对文件或代码的更改。在视频的主题中,版本控制系统被用于高级制图编辑,以管理地理信息系统(GIS)中的数据。例如,视频提到了如何使用版本控制系统来解决多用户编辑和版本恢复的问题。

💡开源软件

开源软件指的是源代码可以被公众查看、修改和增强的软件。视频中提到,之前没有开源软件支持高级制图编辑的版本控制系统,但现在开发了这个工具,即GBC桌面的版本控制系统。

💡多用户编辑

多用户编辑是指多个用户能够同时或依次对同一数据集进行编辑的过程。视频中讨论了在文件或数据库基础上工作时,多用户编辑可能遇到的问题,如文件锁定和数据冲突。

💡版本化

版本化是将数据或文档的不同状态保存为不同版本的过程。在视频中,提到了使用文件夹和文件命名来组织数据版本,以及数据库备份来实现版本控制,但这些方法在恢复旧版本时存在困难。

💡GIS(地理信息系统)

GIS是一种用于捕捉、存储、分析和展示地理空间数据的计算机系统。视频中的版本控制系统专注于GIS数据,允许用户编辑矢量图层并恢复特定时间点的几何情况。

💡集中式版本控制系统

集中式版本控制系统,如视频中提到的SVN,有一个中央服务器存储所有文件的版本历史。这种系统与GBC桌面集成,允许集中管理地图数据。

💡去中心化版本控制系统

去中心化版本控制系统,如Git或Mercurial,不依赖于单一的中央服务器,而是在每个用户的本地副本中复制所有历史记录。视频指出,尽管它们适用于文本文件,但对二进制数据(如制图数据)效率不高。

💡二进制数据

二进制数据是指以二进制形式存储的数据,通常用于图像、音频、视频或其他非文本文件。视频中提到,版本控制系统通常针对文本文件优化,而制图数据作为二进制格式,需要特别的处理。

💡数据模型

数据模型是现实世界数据特征的抽象表示,用于数据库设计和软件应用。在视频中,数据模型用于指导GIS数据的编辑,确保数据的一致性和完整性,例如,通过使用与数据模型相关联的表来编辑属性信息。

💡拓扑检查

拓扑检查是GIS中用于确保地理数据的空间完整性的过程,比如检查地理要素之间是否重叠或相邻。视频中提到,版本控制系统可以进行拓扑检查,以避免用户上传与现有数据冲突的几何形状。

💡数据冲突

数据冲突发生在两个或多个用户对同一数据进行更改,而这些更改相互矛盾时。视频中讨论了版本控制系统如何处理这种情况,允许用户决定保留自己的更改还是其他用户的更改。

Highlights

在国际地理空间数据管理会议(GPC)上,介绍了一种开源软件中的高级制图编辑版本控制系统。

强调了开源软件中缺乏高级制图编辑的版本控制系统,而新开发的工具填补了这一空白。

介绍了多用户编辑和版本控制两种不同情况,以及它们在文件和数据库中的不同问题。

在文件格式下,多用户编辑存在文件锁定和版本正确性问题。

数据库格式下,多用户编辑需要高频率连接,并且难以管理编辑冲突。

版本控制方面,文件格式的版本命名和恢复存在困难。

数据库虽然可以创建版本备份,但恢复旧版本同样不易。

提出了使用版本控制系统解决多用户编辑和版本控制问题的想法。

介绍了几种现有的版本控制系统,如SVN、Git等,但它们主要针对文本文件,对二进制数据效率不高。

提出了一种新的GIS版本控制系统,专为地理信息数据设计,并集成到桌面GIS中。

版本控制系统允许编辑矢量图层,并在特定时间恢复几何体的状态。

系统使用中央数据库,如Oracle或PostGIS,处理本地数据。

描述了用户在本地副本上工作,并将更改上传到存储库的工作流程。

提出了解决版本冲突的两种可能方案:锁定选项和复制修改合并模型。

介绍了版本控制系统在桌面GIS中的应用,包括断开服务器编辑、并发编辑和冲突解决。

展示了版本控制系统的高级搜索工具和数据模型,以提高编辑效率。

介绍了版本控制系统的工作流程,包括更新工作副本、编辑本地副本和提交更改。

演示了版本控制系统在实际编辑和冲突解决中的应用示例。

版本控制系统GIS从GBC 2.6版本开始可用,目前处于开发阶段,但已有多个构建版本可供测试。

强调了版本控制系统GIS不仅是桌面GIS工具,还整合了版本控制功能,方便维护和发布地理信息。

介绍了版本控制系统GIS如何与GBC套件的其他产品集成,如GBC Desktop、GBC Online和GB Sigmaps。

演讲结束,邀请观众提问,并提供了联系邮箱[email protected]以获取更多信息。

Transcripts

play00:03

hello everybody we are going to continue

play00:06

with a new journey at the

play00:08

international gpc conference

play00:11

and i'm going to speak about a version

play00:13

control system on gbc desktop advanced

play00:15

cartography editing in open source

play00:18

software

play00:19

first of all i'm going to share a

play00:22

desktop

play00:28

and i'm going to start the presentation

play00:36

well first of all

play00:37

i want to

play00:38

highlight the

play00:40

the title

play00:41

the open source software

play00:44

because

play00:46

there is there wasn't anything about a

play00:48

advanced cartography editing

play00:50

uh

play00:51

inversion control system in open source

play00:53

software

play00:54

and now we have developed this uh

play00:57

this tool in gbc desktop

play01:00

i we have two different situations first

play01:04

one is the multi-user editing

play01:06

and the second one is the versioning

play01:10

for the voltages multi-user editing

play01:12

situation we have two different

play01:14

options when we work with shape files or

play01:18

other formats based on files and when we

play01:20

work when we work with a databases

play01:24

for the for the first case uh we can

play01:28

have a

play01:29

several problems for example when only

play01:32

one user can simultaneously modify a

play01:34

file so the file only can be modified by

play01:39

a one user

play01:42

two different users can edit this file

play01:45

but in their computers

play01:47

in their local copy so

play01:49

there is a problem because we don't know

play01:52

which is the correct shape file

play01:55

when we work with databases

play01:58

the problem is that

play02:00

they

play02:01

they need the highest peak connection

play02:03

connections

play02:05

and

play02:06

about a user's editing there are

play02:09

different cases

play02:10

and the problems are

play02:12

when two users are editing the different

play02:16

features at the same time and the same

play02:18

features

play02:20

at the same time so what changes remains

play02:22

we don't know it's very

play02:24

it's very difficult to manage these

play02:26

these options

play02:28

about versioning we have to do two

play02:31

options too when we work with shape

play02:33

shape files or other similar formats and

play02:37

when we work with a databases

play02:40

when we work with j files we can

play02:42

organize we usually organize our data in

play02:45

folders with different versions we

play02:48

usually name the files with one two

play02:52

three etc so it's not easy to

play02:55

to recover

play02:57

a version

play02:58

of a geometry an old version of a

play03:01

geometric it's very it's very difficult

play03:04

to maintain these

play03:06

options

play03:08

now with databases we can create a

play03:10

backups for each version

play03:13

and but and it's easy to implement but

play03:16

it's not easy to recover

play03:19

an old version

play03:20

they manage all they also manage a high

play03:23

data volume

play03:27

and also using specific tools

play03:30

of the database data database manage

play03:33

manager

play03:34

we need administration

play03:36

administrators specializing the database

play03:39

manager and tools

play03:41

dependent on the on this

play03:44

database manager

play03:48

so how can we solve these problems

play03:50

for

play03:51

multi-user editing and versioning

play03:54

are there any solutions

play03:57

implemented in other areas

play04:01

for this problem we can use a version

play04:04

control systems

play04:06

currently there are several version

play04:07

control systems for example svn that is

play04:10

a centralized

play04:12

vcs

play04:14

and

play04:15

and it's versus its

play04:17

web

play04:18

version

play04:20

github

play04:21

that is a decentralized

play04:24

vcs

play04:25

mercurial etc but

play04:28

can we use one of them for

play04:30

our charter a cartography

play04:33

are there are they useful for us

play04:38

they are usually oriented to text files

play04:41

for example they are they are very

play04:43

useful for a documentation for

play04:46

source code etc

play04:48

but they are inefficient with binary

play04:51

data and the cartography is in this type

play04:55

of format not in text

play04:57

another problem is that decentralized

play04:59

systems replicate all the information so

play05:02

it requires a large volumes of to

play05:06

replicate

play05:07

large volumes of data and another

play05:10

problem is that

play05:12

they are not integrated into other

play05:14

desktop gis so

play05:16

they require

play05:17

external tools that are different

play05:20

than the tools you that we used for

play05:23

that we use for editing

play05:26

so if we can use

play05:28

any of them

play05:29

the

play05:31

the options that we have a

play05:33

name

play05:35

then

play05:36

we can we we have another option uh so

play05:40

now we have a vcs gis for a gbc desktop

play05:44

it's a new tool available for gbc

play05:47

desktop

play05:48

it's a centralized

play05:49

version control system it's designed to

play05:53

manage a cartography

play05:55

my map data

play05:56

and the most important thing is that

play05:58

it's integrated into a desktop gis

play06:03

i want to summarize

play06:05

what a version control system is

play06:07

it allows to edit vector layers and

play06:09

recover the situation of the geometries

play06:12

in a concrete time

play06:13

it stores not only the information but

play06:17

also the modifications that

play06:19

the users have made on the

play06:22

on the geometries

play06:25

the version control system for eis

play06:28

it's

play06:29

focused on the geographic information

play06:32

and

play06:33

it uses a central database

play06:35

mainly oracle or gis

play06:38

but we can use

play06:40

ha2

play06:42

database

play06:43

for our local

play06:45

geograph

play06:47

geometries our local data

play06:50

the

play06:51

in this case this version control system

play06:54

the

play06:56

each user

play06:57

is working on their local copy and they

play07:02

upload the changes to the repository

play07:05

here we can see a common

play07:08

problem

play07:09

there are

play07:10

two users

play07:12

they read the same file

play07:14

the first one

play07:15

is editing the same the first

play07:18

the file in their local copy

play07:21

and the second one

play07:23

is editing at the same time the first

play07:25

one uploads the changes to the

play07:28

repository

play07:29

and or to the

play07:31

they replace the

play07:32

the version first

play07:34

firstly

play07:35

and the second user

play07:38

overrides the other version so

play07:41

there's a problem because the geometries

play07:43

of the the changes of the first

play07:46

upload

play07:48

of the first user

play07:50

are lost

play07:53

we decided we had two options two

play07:56

possible solutions the first one was

play07:59

rejected it was the block

play08:01

option

play08:03

with this option

play08:04

the repository was locked

play08:07

and

play08:08

only one user can can edit the

play08:12

information at the same time only one

play08:14

user and there were there were problems

play08:17

when sometimes

play08:19

users

play08:20

log the files and forget to unlock them

play08:23

so the other users couldn't work

play08:25

during the that time they

play08:28

they could be

play08:30

diff several hours without

play08:33

without working because the file was a

play08:37

was locked

play08:38

and the adopted solution

play08:40

was the

play08:42

copy modification merge model

play08:45

with this model

play08:46

the user

play08:48

work

play08:49

the user works

play08:51

on their local copy and they upload the

play08:55

changes when they finish

play08:56

and if there is any conflict they decide

play09:00

which change they want to keep

play09:04

so with the version control system for

play09:06

gis available in ubc desktop

play09:10

we can edit disconnect it from the

play09:12

server we have concurrent editing

play09:16

we also can

play09:18

we also can resolve

play09:20

the conflicts for example

play09:22

we have commit

play09:24

commit update merge and revert

play09:27

options when we

play09:28

i use the cartography the editing tools

play09:32

we also have versioning

play09:34

so we can access to the previous version

play09:36

of the data to recover a geometry in a

play09:39

concrete

play09:40

date

play09:42

we also have another tool that is the

play09:44

export

play09:46

to export the

play09:48

cartography to see the cartography how

play09:51

the cartography was in a specific state

play09:54

so it's very useful very useful so we

play09:57

can see for example

play09:58

how the pavement was

play10:02

in a municipality how the payment the

play10:04

pavement of the all designs

play10:07

were

play10:08

in a concrete date

play10:10

and the most important thing

play10:12

is that it's integrated with a desktop

play10:14

gis in this case gbc

play10:17

it's integrated

play10:20

with this case we have the virtual

play10:23

editing tools available directly in gbz

play10:25

desktop

play10:27

it also allows to include topological

play10:29

reviews so it's very useful because for

play10:32

example if we are

play10:34

uploading

play10:35

a geometries that overlaps

play10:39

overlap with the geometry that is

play10:41

available in the

play10:43

in the repository we can get a message

play10:46

with this with this problem so we can

play10:49

include

play10:50

a topological

play10:52

reviews

play10:53

we also use

play10:55

data models

play10:56

for alphanumeric editing it's very

play10:59

useful because we have

play11:01

different tables that are connected to

play11:03

our

play11:05

our data so for example we can use these

play11:08

tables for the values

play11:10

or of the

play11:12

combos that we have for the different

play11:14

fields for example

play11:16

of or another example

play11:18

we also have advanced search tool search

play11:21

tools that for example

play11:23

if we have a shape file with the

play11:25

vertical signs we can have an external

play11:28

table

play11:30

with the

play11:30

models of the vertical signs so there

play11:34

are hundreds

play11:35

of them

play11:36

so it's very useful the search tools

play11:39

because we can filter by a type of sign

play11:43

for example

play11:44

we want to

play11:45

find

play11:47

the

play11:48

danger signs so we can apply filters and

play11:52

we can get

play11:54

the

play11:54

vertical sign that we want so it's very

play11:57

useful

play11:58

and we have we have forms

play12:00

for a data entry

play12:04

here you can see an example of the a

play12:06

screenshot of the

play12:09

the new version control system eis tool

play12:12

with all the

play12:14

all the tools that are available and

play12:16

here you can see after editing we can

play12:18

upload the changes we can have

play12:22

we can see all the changes that we

play12:24

commit to the repository

play12:28

i'm going to summarize the typical

play12:30

workflow

play12:31

with the version control system gis

play12:35

after the first thing is to update

play12:38

our working copy we download the

play12:41

information of the repository

play12:44

and

play12:45

we edit

play12:47

our local copy first so we are editing

play12:50

our local copy only we change

play12:53

the geometries the alpha numerical

play12:55

information we create new geometries and

play12:58

finally we submit the changes to the

play13:01

repository

play13:03

so after that

play13:05

the change the changes are uploaded and

play13:08

after that if there is another user that

play13:11

has edited

play13:13

the same

play13:14

information

play13:15

we can

play13:16

if there is any conflict we can decide

play13:19

if we want to keep our changes or the

play13:21

changes made by the other user so it's

play13:24

more or less the typical workflow

play13:27

for the person control system

play13:29

here you can see some screenshots but

play13:32

i'm going to show you a short video

play13:34

about

play13:35

how it works

play13:39

here you can see for example

play13:43

you can we have to initialize

play13:46

the working copy first

play13:48

so we have two rep to select

play13:51

the repository

play13:54

in this case i'm connecting to an h2

play13:57

database in local

play14:00

but we can connect to a remote remote

play14:03

repository for example it's very useful

play14:06

in

play14:08

in a municipality they can have post gis

play14:11

or or oracle

play14:13

with

play14:14

the information

play14:16

and instead of connecting

play14:19

by a local database

play14:22

we can connect by a remote repository by

play14:26

url

play14:27

so it's

play14:28

another case

play14:29

and we also can

play14:31

if we also have to select

play14:34

the folder and the name of the

play14:37

working copy

play14:38

in our computer

play14:41

so we will edit the working copy in the

play14:46

local

play14:47

working copy so now we are going to

play14:49

select

play14:50

the name

play14:51

[Music]

play14:52

of the working

play14:54

copy

play14:56

and the folder in in our computer

play15:00

and after that we will edit

play15:04

only the working copy

play15:06

so we are selecting the folder

play15:10

and the name

play15:12

for example the name will be

play15:14

uh

play15:15

related

play15:16

to the repository that we have selected

play15:18

we have the repository number one so

play15:22

the name of the file it's very useful to

play15:25

to name

play15:26

repository one working copy one for

play15:29

example

play15:30

after that

play15:33

we have the

play15:34

working copy

play15:36

and now we have to connect to the

play15:39

data model

play15:40

in this case

play15:42

this we have to select the working copy

play15:46

and we can get the data models

play15:49

available at the repository for example

play15:52

in our municipality we can have

play15:53

different data models for example

play15:56

for for sign

play15:58

for parks

play16:00

and gardens for

play16:02

a

play16:03

inventories so we have we can have

play16:05

different data models the data models

play16:09

include

play16:10

all the

play16:11

tables

play16:12

that we can see here for example all the

play16:15

tables that are

play16:16

related to this data model in this case

play16:19

i have the hurban sign and the different

play16:23

tables are

play16:24

vertical signs

play16:25

vertical

play16:27

sign images

play16:29

horizontal horizontal signs etc

play16:33

and all the value tables with the values

play16:36

of the

play16:38

different fields now we have

play16:41

a new

play16:42

tab

play16:43

in the add layer

play16:45

window

play16:47

that is a version control system gis

play16:50

with

play16:51

this option we can

play16:53

include we can add the layers

play16:55

from the

play16:57

working code

play16:58

so now we can select

play17:00

for example the pavements

play17:02

for the base cartography

play17:06

and

play17:08

it hasn't been loaded first because

play17:11

it is a lot of information so we can

play17:14

download

play17:15

the information of the layer and after

play17:18

that we will select the pavement

play17:21

layer

play17:24

so we are adding the layers

play17:26

to our view

play17:28

from the

play17:29

repository to an

play17:33

our working copy

play17:35

and we have selected the hurban sign

play17:38

so after that

play17:40

we add the layers we also can get these

play17:44

windows that are

play17:45

the scale the visual visualization scale

play17:49

because

play17:51

probably

play17:52

probably we will have some information

play17:54

that we want

play17:56

we don't want to see

play17:59

in in different zooms for example

play18:02

so

play18:03

we will select the scales of the

play18:06

visualization

play18:07

and after that

play18:08

we are going to zoom to layer

play18:11

we have two groups

play18:12

of layers the first one is the is the

play18:15

hurban sign

play18:17

and the second one is the base

play18:18

cartography with the pavement pavements

play18:21

here you can see the vertical signs

play18:25

the images of these vertical signs are

play18:28

in a different

play18:30

table so

play18:32

after connecting to the data model model

play18:35

we can get the images of the vertical

play18:38

signs for example as you can see here

play18:43

they are related to the to a bracket

play18:46

also

play18:47

and we can get different types of

play18:48

bracket brackets that are in a different

play18:51

in another table of the of our data

play18:53

model

play18:54

so now we are start editing

play18:57

and we are going to

play18:58

create new geometries to move geometries

play19:04

in this case where

play19:06

we are moving we are copying

play19:09

uh

play19:10

as an arrow

play19:13

and

play19:14

we are going to move it

play19:17

to another to another location

play19:22

and we are going to copy this crosswalk

play19:26

to the other side

play19:28

of the cross

play19:30

so we are going to copy it

play19:32

and we have a new geometries an arrow

play19:36

and for

play19:38

rectangles

play19:40

of the a

play19:41

course wall

play19:47

so we are editing our working copy

play19:50

it's very important very important we

play19:53

are editing

play19:54

only our working copy and after that we

play19:57

will upload

play19:58

the changes to the repository

play20:00

we can also edit

play20:03

the

play20:04

alphanumeric information and here we can

play20:06

see

play20:08

it's a customized

play20:10

form with the different combos the the

play20:13

values of the combos are in a different

play20:15

tables of the word of the data model

play20:22

we can have

play20:23

date fields

play20:26

and we can have also

play20:28

we can

play20:30

we can customize it with the mandatories

play20:33

fields so they are in red color

play20:36

and if there is any co any

play20:40

if there is any field that is not a

play20:43

field

play20:44

filled

play20:46

we

play20:47

we will get a message with the

play20:49

with a cross a red cross

play20:52

that we have to fill the the field

play20:56

so

play20:58

we have changed the color of the arrow

play21:04

you can see here in that we have changed

play21:06

the color of the of the arrow

play21:10

and after that

play21:12

we have a new tool

play21:13

to check

play21:16

the

play21:17

geometries that we have edited

play21:20

if there is one of the lines

play21:22

in red color

play21:24

is that

play21:25

there is a problem because there were

play21:27

there was a mandatory field at least one

play21:31

mandatory field

play21:32

without a

play21:35

without a feeling

play21:39

so now

play21:40

we have finished editing

play21:44

and now we are going to see the changes

play21:46

so here we can see we can select

play21:49

the our working copy

play21:54

and we have the changes that we have

play21:55

made

play21:59

we select the table

play22:02

we have a line two

play22:06

of this layer

play22:08

and several

play22:09

geometries

play22:11

at their horizontal signals

play22:14

we can zoom to the

play22:16

to the different geometries that we have

play22:18

modified or added

play22:23

and we have

play22:25

we are uploading the changes to the

play22:27

repository so if there is another user

play22:31

that is working in another computer

play22:34

the other user have to it has to

play22:37

download

play22:38

the changes from the repositories to

play22:40

update the changes

play22:44

so

play22:46

now we have updated the information

play22:49

at the repository from our

play22:51

working copy our local working copy

play23:00

and now

play23:01

i will show you

play23:04

another case about a conflicts between

play23:08

two users

play23:13

so it has finished

play23:18

and

play23:19

now we have two different users we are

play23:22

working on in the same gbc

play23:26

application but it replica it

play23:29

shows that it a different

play23:32

as it was different users

play23:35

first user and the second user

play23:38

so it's

play23:40

the same case

play23:42

the first user the second user

play23:46

has to download

play23:48

the changes that the other user have

play23:51

made we we can see these

play23:53

geometries that are not uploaded that

play23:57

are not

play23:58

updated

play23:59

in this in the user number two

play24:03

so then user number two

play24:05

has to

play24:07

update the information from the

play24:09

repository here we can see

play24:12

the second user

play24:14

can't

play24:15

upload the changes

play24:17

that he

play24:18

he has made

play24:20

because he has a to update

play24:23

the changes from the repository first

play24:28

so now we will see

play24:30

the changes at the repository

play24:39

and

play24:41

he will

play24:43

update

play24:45

their local copy

play24:48

from here

play24:49

now we can see the two geometries that

play24:52

the other user

play24:54

had changed

play24:56

and now the second user can upload the

play25:00

geometry

play25:02

okay first before

play25:04

uploading changes

play25:07

the user has to check if there is any

play25:10

any

play25:11

change at the repository

play25:14

and now we can see

play25:16

the first user

play25:18

has a has update

play25:20

updated the information too

play25:24

and now we are going to see a second

play25:26

case

play25:27

when

play25:28

two users are editing the same feature

play25:31

the same geometry

play25:33

the first user

play25:35

has

play25:36

changed the geometry to the other side

play25:39

to the right side

play25:40

and the second user has

play25:43

a change they have has moved the

play25:46

geometry

play25:47

uh

play25:48

to this position so there is a there is

play25:51

a conflict the

play25:52

the same geometry with two different

play25:54

changes by the first user and the second

play25:58

user

play25:58

so

play26:00

the first user

play26:01

has uploaded the changes

play26:04

and now the second user

play26:06

has to decide

play26:08

if

play26:09

he keep

play26:11

he keeps the change of the first user

play26:14

or

play26:15

his

play26:16

change

play26:19

so

play26:21

in this case he has decided to keep his

play26:24

change

play26:25

so after that

play26:28

we can see

play26:29

that the

play26:31

the geometry

play26:33

here we can see the other

play26:35

change so now he has to decide

play26:38

which change he wants to keep

play26:43

and he has this option

play26:47

so

play26:49

we he can do the the other option to

play26:51

keep the

play26:53

the change of the of the other user or

play26:56

his

play26:57

change

play26:58

and after that

play27:01

we can see that the change

play27:03

that will remain

play27:06

is this one

play27:09

okay i'm going to continue

play27:12

to finish the presentation

play27:17

the version control system for eis is a

play27:20

is available from gbc 2.6 version

play27:24

it's a version that it's

play27:26

in development but there are several

play27:28

builds that you can test

play27:31

and you can check the these

play27:33

this new tool

play27:35

okay so the final version will be

play27:37

available

play27:38

soon

play27:40

and

play27:41

that's not just a version control system

play27:44

that's

play27:45

not a just a desktop vis

play27:48

but it combines

play27:50

both things in one application the

play27:53

desktop eis ebc desktop with the version

play27:56

control system inside the application

play28:00

it will it allows us to

play28:03

to maintain and prepare the cartographic

play28:05

information

play28:06

and we can publish this information

play28:09

later in our

play28:11

for example in our

play28:12

geoportals so it's integrated with it

play28:15

with the products of the gb6 suite dbc

play28:18

desktop gpc online and gb sigmaps

play28:22

and thank you very much

play28:24

i'm going to see if there is any

play28:26

question

play28:28

at the at the chat

play28:32

and if there isn't any question you can

play28:34

ask us

play28:35

at info

play28:37

gbc.com

play28:39

if you have any question about

play28:41

this tool

play28:43

and we can

play28:44

[Music]

play28:45

we can reply

play28:47

to this to this mate

play28:49

so there isn't any question so i'm going

play28:52

to finish this presentation here

play28:55

and i invite you to to continue with the

play28:58

next presentation

play29:00

today and tomorrow

play29:02

thank you very much

play29:03

and see you

Rate This

5.0 / 5 (0 votes)

Связанные теги
地图编辑版本控制开源软件GIS工具多用户编辑数据管理地理信息系统高级功能技术演示桌面应用
Вам нужно краткое изложение на английском?