@alexhuang
2015-04-09T07:03:51.000000Z
字数 2374
阅读 1959
GIS
Arcgis在10.1之后可以直连SqlServer,Oracle或者PgSQL等数据库,可以再Arcmap中查看数据库中的空间数据和表格,例如SqlServer中的geometry字段被识别为空间数据类型,包括SRID空间参考都能一并被识别。当然最方便的是在ArcMap中就可以创建企业数据库中的 各类数据。直接的数据库中每个FeatureClass不能被注册为地理空间数据(gdb)和注册为版本(允许编辑),也就无法直接编辑。
如果要能编辑SqlServer中的数据,必须先要创建企业级地理数据库并直接连接,具体来说先要调用工具创建企业数据库,Instance这一栏填写计算机名称或者IP,要连接的数据库密码。以及最重要的是Server 的验证,也就是说必须要安装Server,因为连接数据库 其实我需要做的是将数据发布为Feature Service,提供在线编辑查询功能。这需要Server 的权限。这样创建成功后再连接数据库,权限更多,可以New更多的数据类型,包括GeoDatabase支持的大部分数据类型。将某个要素类注册为gdb并且注册为版本后就可以支持Editor工具条对其进行编辑了。
注册之后可以看到一个变化就是要素类的图标从数据库的表 图标变为了 要素类的图标, 类型变成了SDE featureclass ,而不是原来的Query featureclass。所有操作可以参考ArcgisSDE的文章
顺带记一下WebAppBuilder 的东西,用命令行进入NodeJS的目录,输入Node Server.js 启动服务,在浏览器中根据端口号加上webappbuilder进入页面。例如 http://localhost:3344/webappbuilder/
地图缓存通常是发布地图的一个环节,将地图文档进行切片,对于不同级别下的地图进行ExportMap操作,如果要深入了解ArcGIS切片一定要使用ArcEngine中的相关函数,才能理解切片操作如果进行的,如何控制切片范围和其他参数。目前来说ArcGIS10.1提供了许多GP工具,在桌面端可以对地图进行切片打包成为tpk,这类文件可以在桌面端打开直接查看。文件内部是紧凑型切片(Bundle)。如果有ArcGIS Server则可以对一个地图服务(MapServer)进行地图缓存操作,在缓存过程中开启抗锯齿,以及采用Annotation(标注)可以比较有效的避免相邻切片间的重复标注。
引用自ArcGIS Server 10地图缓存:
一般切图策略是:小比例尺全图直接切,较小比例尺可能按照某个featureclass范围来切,而大比例尺一般是按照包含网格(grid)的featureclass范围来切。以我国全范围切图为例,小比例尺时全图切没有问题,大比例尺时如果仍然全图范围(包络矩形)切的话,会将周边其他的国家也包含进来,这并不需要的额外工作量在大比例尺时会是一场噩梦。
为什么在使用featureclass切图前,需要分别对它进行Generalize,Aggregate和Dissolve??
这里需要提及的是,经过测试。对于地图服务来说,地图缓存如果选择范围是FullExtent,会按照全球范围进行缓存,一定要小心选择。如果选择当前范围,会对当前的Extent(包络矩形)进行切片缓存。当然更细致地策略是根据要素的边界进行切片,做法是:首先生成大比例尺下的TilingScheme,xml文件定义了切片的起始点和比例尺。再对xml生成Polygon(利用Cartography toolset中的Map Server Cache Tiling Scheme to Polygon)生成网格。最后在Server 切片工具中选择这些包络矩形为AOI进行切片,避免在不必要的区域浪费切片空间。
使用要素类在指定区域内生成缓存,一个ArcSOC.exe进程每次只处理要素类中的一个要素,所以要避免使用大量小要素,采用Aggregate Polygons 和Dissolve tool,采用Simplify Polygons tool避免过多节点。所以直接用Tiling Scheme to Polygon生成的规则格网(与前面提到的包络矩形是一样的)去指定范围最好!!
CACHE_DATASET—Map or image service cache that is generated using ArcGIS Server. Usable in ArcMap and by ArcGIS Server map or image services.
TILE_PACKAGE—A single compressed file where the cache dataset is added as a layer and consolidated so that it can be shared easily. Usable in ArcMap, as well as in ArcGIS Runtime and ArcGIS Mobile applications.
以上是Esri对于两种切片格式的描述,一种是Server生成的Cache_dataset,可在ArcMap和ArcGIS地图和影像服务中使用。另外一种是ArcMap——Package工具集生成的单机切片包(tpk)可用于桌面端,移动端和ArcGIS Runtime。为了提高切片速度,可以采用多个MapServer 实例来充分利用CPU。
- 可以先对测试区域进行缓存,比如创建一个简单要素类(polygon)覆盖测试区,在所有比例尺下缓存,观察切片质量(文字,线是否清晰),缓存时间,占用磁盘空间,cpu使用率。尽量使用TilingScheme进行跟踪管理,才能知道切片的具体范围和进度。