You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
15 lines
5.8 KiB
15 lines
5.8 KiB
// All material copyright Esri, All Rights Reserved, unless otherwise specified. |
|
// See https://js.arcgis.com/4.30/esri/copyright.txt for details. |
|
//>>built |
|
define("exports ../../../chunks/tslib.es6 ../../../geometry ../../../core/Error ../../../core/Loadable ../../../core/string ../../../core/accessorSupport/decorators/property ../../../core/has ../../../core/Logger ../../../core/RandomLCG ../../../core/accessorSupport/decorators/subclass ../../ogc/ogcFeatureUtils ../../../rest/support/FeatureSet ../../../geometry/SpatialReference ../../../geometry/support/typeUtils".split(" "),function(f,l,I,t,y,u,m,J,K,L,z,d,A,v,B){f.OGCFeatureSource=class extends y{constructor(){super(...arguments); |
|
this.featureDefinition=null;this.type="ogc-feature"}load(a){this.addResolvingPromise(this._loadOGCServices(this.layer,a));return this.when()}getSource(){const {featureDefinition:{collection:a,layerDefinition:b,spatialReference:c,supportedCrs:e},layer:{apiKey:n,customParameters:p,effectiveMaxRecordCount:q}}=this;return{type:"ogc-source",collection:a,layerDefinition:b,maxRecordCount:q,queryParameters:{apiKey:n,customParameters:p},spatialReference:c,supportedCrs:e}}queryExtent(a,b){return null}queryFeatureCount(a, |
|
b){return null}queryFeatures(a,b={}){return this.queryFeaturesJSON(a,b).then(c=>A.fromJSON(c))}queryFeaturesJSON(a,b={}){const c=this.getSource();return this.load(b).then(()=>d.queryFeatureSetJSON(c,a,b))}queryObjectIds(a,b){return null}serviceSupportsSpatialReference(a){return a.isWGS84||a.isWebMercator?!0:!!this.featureDefinition.supportedCrs[a.wkid]}_conformsToType(a,b){const c=new RegExp(`^${u.escapeRegExpString(b)}$`,"i");return a.conformsTo.some(e=>c.test(e))??!1}_getCapabilities(a,b){return{analytics:{supportsCacheHint:!1}, |
|
attachment:null,data:{isVersioned:!1,supportsAttachment:!1,supportsM:!1,supportsZ:a},metadata:{supportsAdvancedFieldProperties:!1},operations:{supportsCalculate:!1,supportsTruncate:!1,supportsValidateSql:!1,supportsAdd:!1,supportsDelete:!1,supportsEditing:!1,supportsChangeTracking:!1,supportsQuery:!1,supportsQueryAnalytics:!1,supportsQueryAttachments:!1,supportsQueryTopFeatures:!1,supportsResizeAttachments:!1,supportsSync:!1,supportsUpdate:!1,supportsExceedsLimitStatistics:!1,supportsAsyncConvert3D:!1}, |
|
query:{maxRecordCount:b,maxRecordCountFactor:void 0,standardMaxRecordCount:void 0,supportsCacheHint:!1,supportsCentroid:!1,supportsDisjointSpatialRelationship:!1,supportsDistance:!1,supportsDistinct:!1,supportsExtent:!1,supportsFormatPBF:!1,supportsGeometryProperties:!1,supportsHavingClause:!1,supportsHistoricMoment:!1,supportsMaxRecordCountFactor:!1,supportsOrderBy:!1,supportsPagination:!1,supportsPercentileStatistics:!1,supportsQuantization:!1,supportsQuantizationEditMode:!1,supportsQueryByAnonymous:!1, |
|
supportsQueryByOthers:!1,supportsQueryGeometry:!1,supportsResultType:!1,supportsStandardizedQueriesOnly:!1,supportsTopFeaturesQuery:!1,supportsStatistics:!1,supportsSpatialAggregationStatistics:!1,supportedSpatialAggregationStatistics:{envelope:!1,centroid:!1,convexHull:!1},supportsDefaultSpatialReference:!1,supportsFullTextSearch:!1,supportsCompactGeometry:!1,supportsSqlExpression:!1,tileMaxRecordCount:void 0},queryRelated:{supportsCount:!1,supportsOrderBy:!1,supportsPagination:!1,supportsCacheHint:!1}, |
|
queryTopFeatures:{supportsCacheHint:!1},editing:{supportsDeleteByAnonymous:!1,supportsDeleteByOthers:!1,supportsGeometryUpdate:!1,supportsGlobalId:!1,supportsReturnServiceEditsInSourceSpatialReference:!1,supportsRollbackOnFailure:!1,supportsUpdateByAnonymous:!1,supportsUpdateByOthers:!1,supportsUploadWithItemId:!1,supportsUpdateWithoutM:!1,supportsAsyncApplyEdits:!1,zDefault:void 0}}}_getMaxRecordCount(a){a=a?.components?.parameters;return a?.limit?.schema?.maximum??a?.limitFeatures?.schema?.maximum}_getStorageSpatialReference(a){a= |
|
d.getSpatialReferenceWkid(a.storageCrs??d.crsDefault);return null==a?v.WGS84:new v({wkid:a})}_getSupportedSpatialReferences(a,b){a=a.crs??[d.crsDefault];const c=/^http:\/\/www\.opengis.net\/def\/crs\/epsg\/.*\/3785$/i;return(a.includes("#/crs")?a.filter(e=>"#/crs"!==e).concat(b.crs??[]):a).filter(e=>!c.test(e))}async _loadOGCServices(a,b){var c=null!=b?b.signal:null;const {apiKey:e,collectionId:n,customParameters:p,fields:q,geometryType:C,hasZ:D,objectIdField:E,timeInfo:F,url:G}=a;b={fields:q?.map(h=> |
|
h.toJSON()),geometryType:B.typeKebabDictionary.toJSON(C),hasZ:D??!1,objectIdField:E,timeInfo:F?.toJSON()};c={apiKey:e,customParameters:p,signal:c};var g=await d.getServerLandingPage(G,c);const [w,x]=await Promise.all([d.getServerConformance(g,c),d.getServerCollections(g,c)]);if(!this._conformsToType(w,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/geojson"))throw new t("ogc-feature-layer:no-geojson-support","Server does not support geojson");a=x.collections.find(({id:h})=>h===n);if(!a)throw new t("ogc-feature-layer:collection-not-found", |
|
"Server does not contain the named collection");g=this._conformsToType(w,"http://www.opengis.net/spec/ogcapi-features-1/1.0/conf/oas30")?await d.getServerOpenApi(g,c):null;b=await d.getCollectionDefinition(a,b,c);c=this._getMaxRecordCount(g);c=this._getCapabilities(b.hasZ,c);g=this._getStorageSpatialReference(a).toJSON();var k=this._getSupportedSpatialReferences(a,x);const H=new RegExp(`^${u.escapeRegExpString(d.crsPrefix)}`,"i"),r={};for(const h of k)k=d.getSpatialReferenceWkid(h),null!=k&&(r[k]|| |
|
(r[k]=h.replace(H,"")));this.featureDefinition={capabilities:c,collection:a,layerDefinition:b,spatialReference:g,supportedCrs:r}}};l.__decorate([m.property()],f.OGCFeatureSource.prototype,"featureDefinition",void 0);l.__decorate([m.property({constructOnly:!0})],f.OGCFeatureSource.prototype,"layer",void 0);l.__decorate([m.property()],f.OGCFeatureSource.prototype,"type",void 0);f.OGCFeatureSource=l.__decorate([z.subclass("esri.layers.graphics.sources.OGCFeatureSource")],f.OGCFeatureSource);Object.defineProperty(f, |
|
Symbol.toStringTag,{value:"Module"})}); |