# MapGISFeatureProvider

#### new Cesium.MapGISFeatureProvider(options)
MapGIS/Feature/MapGISFeatureProvider.js 80

MapGIS矢量地图文档

Name | Type | Description
--- | --- | ---
`options` | Object | 包含以下属性
Name | Type | Default | Description
--- | --- | --- | ---
`url` | String |  | 服务地址 默认为二维地图文档 eg:http://localhost:6163/igs/rest/mrms/docs/二维矢量 三维地图文档eg:http://localhost:6163/igs/rest/g3d/三维矢量
`is3d` | Boolean | `false` | optional 是否为三维地图文档
`loadAll` | Boolean | `true` | optional 是否加载该图层所有数据
`maxCount` | Number | `1000000` | optional 该图层的矢量最大数量
`idField` | String | `FID` | optional id字段名
`tileFeaturesCount` | Number | `400` | optional 请求的瓦片矢量要素数量
`filter` | Object |  | optional 图层过滤条件，具体参数参考MapGISVectorLayer.queryFeatures注释
`useSystemLib` | Boolean | `false` | optional 是否使用MapGIS桌面端符号系统库
`systemLib` | String | `'MapGIS 10'` | optional 符号系统库guid或名称,默认库为'MapGIS 10'
`clampToGround` | Boolean | `false` | optional 是否贴地，当加载三维地图文档或矢量白模时该属性无效
`style` | Object |  | optional 矢量地图文档的全局style样式对象,或分图层style样式对象数组，样式顺序与图层顺序一致，空对象则使用默认样式
Name | Type | Description
--- | --- | ---
`type` | String | optional style样式类型，可选参数为"point|line|polygon|building"，对应点，线，区，区矢量白模
`styleOptions` | Object | optional style具体参数对象
Name | Type | Default | Description
--- | --- | --- | ---
`color` | Color | `Cesium.Color.GHOSTWHITE` | optional 通用参数，颜色
`size` | Number |  | optional 点符号大小，仅当options.style.type=point时生效
`outline` | Number | `false` | optional 是否启用边框线，仅当options.style.type=point|polygon时生效
`outlineColor` | Color |  | optional 边框线颜色，仅当options.style.type=point|polygon|building时生效
`outlineWidth` | Number |  | optional 边框线宽度，仅当options.style.type=point|polygon|building时生效
`width` | Number |  | optional 线宽，仅当options.style.type=line时生效
`heightField` | String |  | optional 用作区矢量白模高程的属性字段名称，不设置则高程为零，仅当options.style.type=building|cityGrow时生效
`heightRatio` | Number |  | optional 区矢量白模高程放缩比例，默认1.0，仅当options.style.type=building|cityGrow时生效
`startTimeField` | String |  | optional 数据的建筑开始时间字段名，仅当options.style.type=cityGrow时生效
`endTimeField` | String |  | optional 数据的拆除时间字段名，仅当options.style.type=cityGrow时生效
`displayWithTile` | String | `false` | optional Line|Tile 根据时间线性加载或瓦片动态加载，适用不同的数据量展示,默认为线性加载，仅当options.style.type=cityGrow时生效
`cityGrowSpeed` | Number | `0.5` | optional 城市生长速度，取值范围 0 ~ 1，速度为0不加载，速度为1时加载全部数据，仅当options.style.type=cityGrow时生效
`buildingsGrowTime` | Number | `10` | optional 建筑建设时长，默认值为10秒，仅当options.style.type=cityGrow时生效
`updateInerval` | Number | `1` | optional 更新间隔，默认每秒执行一次更新，间隔越短所需计算量越大，默认值为1秒，仅当options.style.type=cityGrow时生效
`startTime` | Number |  | optional 起始时间，未指定则自动请求，仅当options.style.type=cityGrow时生效
`endTime` | Number |  | optional 结束时间，未指定则自动请求，仅当options.style.type=cityGrow时生效
`timeAsc` | Boolean | `true` | optional 时间是否为升序，即升序排列第一个为城市建设开始时间，用于未指定起止时间的数据请求，仅当options.style.type=cityGrow时生效
`buildingsLimit` | Number | `Number.MAX_VALUE` | optional 线性加载时每一时段的建筑数量限制，仅当options.style.type=cityGrow时生效
`colors` | Array.<Color> |  | optional 建筑颜色数组,第一个为开始颜色，数组末为结束颜色，仅当options.style.type=cityGrow时生效
`times` | Array.<Number> |  | optional 建筑时间数组,作为颜色数组的间隔，长度为颜色数组长度减一，仅当options.style.type=cityGrow时生效
`updateColor` | Boolean | `true` | optional 城市生长是否进行颜色演变，仅当options.style.type=cityGrow时生效
`updateHeight` | Boolean | `true` | optional 城市生长是否进行高度演变，仅当options.style.type=cityGrow时生效
`onReady` | function |  | optional 回调函数，城市生长准备完成时调用，仅当options.style.type=cityGrow时生效
`onUpdate` | function |  | optional 时间回调函数，仅当options.style.type=cityGrow时生效
`tileWidth` | Number | `256` | optional 瓦片宽度
`tileHeight` | Number | `256` | optional 瓦片高度
`minimumLevel` | Number | `0` | optional 瓦片最小级别
`maximumLevel` | Number | `0` | optional 瓦片最大级别
`tilingScheme` | Object |  | optional 服务的平铺方案:经纬度GeographicTilingScheme,web墨卡托WebMercatorTilingScheme
`extensions` | Array |  | optional 扩展参数，需要确保服务端支持
`renderer` | Object |  | optional 专题图渲染规则，用于提供专题图服务

##### Example:

    // options.extensions 参数为自定义扩展参数，需要确保服务端支持此类参数生效
           var options = {
                             extensions: [   { key: 'token', value: 'tokentokentokentoken' },
                                             { key: 'filters', value: '1:ID>4,3:ID>1'}
                                         ]
                         };

           var mapGisFeatureLayer = webGlobe.appendMapGISFeatureLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量', {
               tileFeaturesCount: 400
           });

### Members

#### readonly layers : String
MapGIS/Feature/MapGISFeatureProvider.js 496

layers参数，用于过滤图层

#### readonly proxy : Proxy
MapGIS/Feature/MapGISFeatureProvider.js 358

获取代理

#### readonly rectangle : Rectangle
MapGIS/Feature/MapGISFeatureProvider.js 442

服务请求范围

#### readonly tileHeight : Number
MapGIS/Feature/MapGISFeatureProvider.js 388

瓦片高度

#### readonly tileWidth : Number
MapGIS/Feature/MapGISFeatureProvider.js 370

瓦片宽度

#### readonly url : String
MapGIS/Feature/MapGISFeatureProvider.js 346

服务地址

### Methods

#### queryVector(options)
MapGIS/Feature/MapGISFeatureProvider.js 717

原始矢量数据条件查询

Name | Type | Description
--- | --- | ---
`options` | Object | 查询条件参数
Name | Type | Default | Description
--- | --- | --- | ---
`mapIndex` | Number | `0` | optional 地图在文档下的序号
`layerIdxs` | String | `'0'` | optional 图层序号，多图层间以“,”号分隔
`pageCount` | Number | `20` | optional 要素结果集每页的记录数量
`page` | Number | `0` | optional 返回的要素分页的页数
`strusts` | Object | `{IncludeAttribute:true,IncludeGeometry:true,IncludeWebGraphic:true}` | optional 返回的数据结构
`orderField` | String |  | optional 排序字段名称，用于对输出结果进行排序
`isAsc` | boolean | `false` | optional 按照字段进行排序时，是否升序排列
`objectIds` | Array |  | optional 需要查询的要素的OID值数组,当objectIds有值时，代表基于objectIds查询，Where、geometry、geometryType、orderField、isAsc等查询参数无效.
`geometryType` | String |  | optional 几何类型，代表空间查询时传入的几何类型
`geometry` | Object |  | optional 几何类型对应的图形信息，也就是构成几何类型的坐标信息
`where` | String |  | optional 要素过滤条件
`rule` | String |  | optional 指定查询规则 {CompareRectOnly:true|false,EnableDisplayCondition:true|false,MustInside:true|false,Intersect:true|false}

##### Example:

    var options1 = {
               pageCount: 120,
               where: 'mpArea>20',
               orderField: mpArea,
               isAsc: true
           };

           var idArray = [1,4,8,36,89];
           var options2 = {
               objectIds: idArray
           };

           //参照DrawElement对应绘图返回值
           var p = Cartesian3.fromDegrees(120.9804, 31.3443, 0);
           var point = {
               position: p,
               neardistance: 100
           };
           var circle = {
               center: p,
               radius: 1
           };
           var rect = new Cesium.Rectangle(west, south, east, north);
           var polypositions = Cartesian3.fromDegreesArray([120.9804, 31.3443, 121.0682, 31.3604, 121.0682, 31.3443]);
           var polyline = {
               positions: polypositions,
               neardistance: 100
           };
           var polygon = {
               positions: polypositions
           };
           var optionsRect = {
               geometryType: 'rect',
               geometry:      rect
           };

           var mapGisFeatureLayer = webGlobe.appendMapGISFeatureLayer('http://localhost:6163/igs/rest/mrms/docs/二维矢量',options);
           MapGISFeatureLayer.queryFeatures(options1).then(function(data){
               doSomething(data);
           })

#### requestVector(imageryProvider, x, y, level, request) → Object
MapGIS/Feature/MapGISFeatureProvider.js 648

请求瓦片

Name | Type | Description
--- | --- | ---
`imageryProvider` | Object |
`x` | Number |
`y` | Number |
`level` | Number |
`request` | Object |

##### Returns:

瓦片的Resource对象