ArcGIS属性表关联方式(Join和Rela…

2023-11-02 15:31

本文主要是介绍ArcGIS属性表关联方式(Join和Rela…,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ArcGIS表关联方式介绍(Join和Relate)

注:本文转载于 Blog:http://blog.csdn.net/linghe301
Weibo:http://www.weibo.com/linghe301

ArcGIS的表关联方式有很多:Join、Relate、QueryLayer、ArcSDE视图、关系类等,这些关联看似有相同的地方,但是其实不同的关联方式适合于不同的数据,不同的软件环境,不同的应用场景,不同的版本等,下面我们就针对每一个关联进行相关的分析和说明。

本文所有的测试环境

操作系统:Windows7 64Bit

数据库:Oracle 11.2.0.164Bit

中间件:ArcSDE10 SP2 64Bit

客户端:ArcGIS Desktop10SP264Bit

数据情况

面状要素:Place


普通表:Owner


预前说明

关于普通表在数据库中存储和在ArcSDE里面存储管理是完全不同的,虽然都是存储在数据库中,但是通过ArcSDE管理这些普通表的信息是会注册到ArcSDE的相关Schema中的,那么就出现一个问题,当我们需要管理一个Linux操作系统的普通表,如果这些表是ArcSDE管理,那么这些表我们就可以通过ArcSDE服务的方式进行关联,如果这些表是以普通方式进行存储,那么我们只能通过OleDB驱动来关联,但是Windows系统默认的OleDB驱动有SQLServer和Oracle的,如果用户是DB2的数据库,需要自己安装OleDB驱动,要么不安装OleDB驱动使用ArcSDE服务。

Join

       使用场景:将一个要素类与一个普通表进行关联

数据环境:文件数据或者数据库都可以

必须条件:要素类与普通表必须有一个关联字段


Join后我们可以看到,要素类的属性(既有要素类属性又有普通表的属性)

Validate Join进行验证

Ø  检查字段名称是否以无效字符开头。

Ø  检查字段名称是否包含无效字符。

Ø  检查字段名称是否与保留字匹配。

Ø  检查是否存在非地理数据库 MS Access表。

连接表可能失败的原因

用于连接的指定字段中的值不匹配。

连接区分大小写,使用字符串字段创建连接时要注意此问题。例如,NEW YORK 不会与 New York 连接。要将字符串值转换为正常的大小写形式,请参阅进行字段计算中的任务。

表或要素类的名称,或者表或要素类中的字段名称包含空格或特殊字符。

这些特殊字符包括连字符(如 x-coordinate 和 y-coordinate)、圆括号、方括号以及 $、% 和 # 等符号。实际上排除了字母数字和下划线之外的所有符号,但字段名称不能以数字或下划线开头。必须先对带分隔符的文本文件或其他表中的字段名称进行编辑以删除不支持的字符,然后再在 ArcGIS 中使用这些文件。地理数据库的要素类、表和字段的名称最多可包含 64 个字符。(更具体地说,您最多只能为个人地理数据库的要素类名称输入 52 个字符,因为系统会将字符总数追加到 64 个。)Shapefile 和 .dbf 字段的最大名称长度为 10 个字符。对于 INFO 表,最多使用 16 个字母或数字。

表中的字段名为 MicrosoftAccess 的保留字。

例如,date、day、month、table、text、user、when、where、year 和 zone。

表存储在非个人地理数据库的Microsoft Access 数据库中。

应通过 OLE DB 连接在 ArcGIS 中访问 Microsoft Access 表,而不应试图直接向 ArcMap 添加数据库。


使用join其实最大的便利就是进行标注显示,如下:


使用这个可以将要素类的属性和普通表的属性同时标注,增加用户对数据的可读性。

存储方式:只能使用MXD的方式进行存储,如果不使用MXD,关闭ArcMap建立的关联关系就不在存在。

提示:如果要素类与属性表不在同一个库中(同一个库表示文件数据比如在同一个Geodatabase,非文件数据在同一个数据库中),如果修改属性表的值,是不会实时更新的,必须重新再建立Join连接,这样才能看到最新的信息。

Relate

         Relate的使用跟Join比较类似,但是Relate并不会更改要素类的表信息(不会将普通表的信息添加到要素类中),但是在使用ArcMap的信息查询可以看到。

       关于使用数据、使用场景、存储方式都可以参考Join的说明。


-------------------------------------------------------------------------------------------------------
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!
QQ群:              78773981
Blog:               http://blog.csdn.net/linghe301
Weibo:            http://www.weibo.com/linghe301

这篇关于ArcGIS属性表关联方式(Join和Rela…的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/331572

相关文章

内核启动时减少log的方式

内核引导选项 内核引导选项大体上可以分为两类:一类与设备无关、另一类与设备有关。与设备有关的引导选项多如牛毛,需要你自己阅读内核中的相应驱动程序源码以获取其能够接受的引导选项。比如,如果你想知道可以向 AHA1542 SCSI 驱动程序传递哪些引导选项,那么就查看 drivers/scsi/aha1542.c 文件,一般在前面 100 行注释里就可以找到所接受的引导选项说明。大多数选项是通过"_

用命令行的方式启动.netcore webapi

用命令行的方式启动.netcore web项目 进入指定的项目文件夹,比如我发布后的代码放在下面文件夹中 在此地址栏中输入“cmd”,打开命令提示符,进入到发布代码目录 命令行启动.netcore项目的命令为:  dotnet 项目启动文件.dll --urls="http://*:对外端口" --ip="本机ip" --port=项目内部端口 例: dotnet Imagine.M

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

深入理解RxJava:响应式编程的现代方式

在当今的软件开发世界中,异步编程和事件驱动的架构变得越来越重要。RxJava,作为响应式编程(Reactive Programming)的一个流行库,为Java和Android开发者提供了一种强大的方式来处理异步任务和事件流。本文将深入探讨RxJava的核心概念、优势以及如何在实际项目中应用它。 文章目录 💯 什么是RxJava?💯 响应式编程的优势💯 RxJava的核心概念

【即时通讯】轮询方式实现

技术栈 LayUI、jQuery实现前端效果。django4.2、django-ninja实现后端接口。 代码仓 - 后端 代码仓 - 前端 实现功能 首次访问页面并发送消息时需要设置昵称发送内容为空时要提示用户不能发送空消息前端定时获取消息,然后展示在页面上。 效果展示 首次发送需要设置昵称 发送消息与消息展示 提示用户不能发送空消息 后端接口 发送消息 DB = []@ro

脏页的标记方式详解

脏页的标记方式 一、引言 在数据库系统中,脏页是指那些被修改过但还未写入磁盘的数据页。为了有效地管理这些脏页并确保数据的一致性,数据库需要对脏页进行标记。了解脏页的标记方式对于理解数据库的内部工作机制和优化性能至关重要。 二、脏页产生的过程 当数据库中的数据被修改时,这些修改首先会在内存中的缓冲池(Buffer Pool)中进行。例如,执行一条 UPDATE 语句修改了某一行数据,对应的缓

Java 多线程的基本方式

Java 多线程的基本方式 基础实现两种方式: 通过实现Callable 接口方式(可得到返回值):

前端form表单+ifarme方式实现大文件下载

// main.jsimport Vue from 'vue';import App from './App.vue';import { downloadTokenFile } from '@/path/to/your/function'; // 替换为您的函数路径// 将 downloadTokenFile 添加到 Vue 原型上Vue.prototype.$downloadTokenF

SigLIP——采用sigmoid损失的图文预训练方式

SigLIP——采用sigmoid损失的图文预训练方式 FesianXu 20240825 at Wechat Search Team 前言 CLIP中的infoNCE损失是一种对比性损失,在SigLIP这个工作中,作者提出采用非对比性的sigmoid损失,能够更高效地进行图文预训练,本文进行介绍。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室