本文主要是介绍如何在外部数据库中存储空间化表时使用Mapinfo_mapcatalog,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开始创建地图目录表之前
您将使用EasyLoader在要使用的数据库中创建地图目录表。EasyLoader与MapInfo Pro一起安装。
(工具“DBMS_Catalog”不再随MapInfo Professional 64位一起提供,因为它的功能可以在EasyLoader工具中找到。)
注:EasyLoader也可以从Precisly股份有限公司网站免费下载。如果您下载了EasyLoader的副本,则必须确保您拥有与MapInfo Pro相同版本的EasyLoaders才能将它们一起使用。
http://www.pbinsight.com/support/product-downloads/for/easyloader
在开始之前,您必须提醒数据库管理员注意以下事项:
· 您需要管理员权限才能读取和写入数据库服务器。即使您只读取服务器上的表,您仍然需要写访问权限才能创建EasyLoader,然后让MapInfo Pro写入Map Catalog表。
· EasyLoader在创建Map Catalog表的同时,在服务器级别创建一个MAPINFO模式。.
· EasyLoader为数据库创建一个MAPINFO用户。
您的数据库管理员可能希望手动设置数据库访问权限,从而避免使用EasyLoader。如果数据库管理员希望手动创建地图目录表
在DBMS中创建地图目录
MapInfo Pro将有关空间表和视图的信息存储在数据库中。它将这些信息存储在一个名为MAPINFO的文件中。MAPINFO_MAPCATALOG(映射目录)作为您正在访问的DBMS上的一个特殊表。
MAPINFO_MAPCATALOG是数据库的注册表表,用于存储数据库中空间表和视图的元数据。MAPINFO_MAPCATALOG以表名和所有者名称为键,标识空间类型、空间列(如果有多个)、投影、数据边界和格式副本信息。包括MAPINFO Pro在内的许多MAPINFO产品都使用MAPINFO_MAPCATALOG来访问数据库中的地图数据。
每个数据库必须有一个目录,这是在MapInfo Pro中映射该数据库上的任何表之前所必需的.
手动创建MapInfo_MapCatalog
要手动创建MAPINFO_MAPCATALOG,请执行以下操作:
1.如果RDBMS需要所有者和用户,那么在可映射表所在的特定数据库中使用PASSWORD MAPINFO创建用户MAPINFO。
2. 在数据库中创建表MAPINFO_MAPCATALOG。
Create Table语句必须等效于以下SQL Create Table语句:
重要的是,表的结构与此语句完全相同。唯一可以进行的替换是支持varchar或文本数据类型的数据库;这些数据类型可以替代Char数据类型。
3. 在TABLENAME和OWNERNAME上创建一个唯一的索引,这样每个所有者只能映射一个表。
4. 向MAPINFO_MAPCATALOG上的所有用户授予选择权限。这允许用户使表可映射。数据库管理员必须自行决定授予“更新”、“插入”和“删除”权限。
空间索引类型
空间索引类型应用于DBMS表中具有空间信息的列。空间索引为MapInfoPro提供了一种快速访问表中空间数据的方法。可供选择的索引类型有。
当没有索引时,可以使用“XY坐标”选项
手动使远程表可映射
对于要在MapInfo Pro中访问的远程数据库中的每个空间表,必须在MapInfo_MAPCATALOG表中添加一行。当在“表”选项卡上的“维护”组中,单击“维护”,然后单击“使DBMS表可映射”时,这将在MapInfo Pro中执行。
如果不使用MapInfo Pro管理地图目录,则必须为数据库中要进行地理编码的每个空间表手动向MapInfo_MAPCATALOG表中添加行。每个条目都必须包含有关该表的以下信息。
这篇关于如何在外部数据库中存储空间化表时使用Mapinfo_mapcatalog的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!