UNPKG

terriajs

Version:

Geospatial data visualization platform.

183 lines 15 kB
import DefaultTimelineModel from "../DefaultTimelineModel"; import YDYRCatalogFunction from "./CatalogFunctions/YDYRCatalogFunction"; import YDYRCatalogFunctionJob from "./CatalogFunctions/YDYRCatalogFunctionJob"; import CatalogGroup from "./CatalogGroup"; import OpenDataSoftCatalogGroup from "./CatalogGroups/OpenDataSoftCatalogGroup"; import SocrataCatalogGroup from "./CatalogGroups/SocrataCatalogGroup"; import ThreddsCatalogGroup from "./CatalogGroups/ThreddsCatalogGroup"; import { ApiTableCatalogItem } from "./CatalogItems/ApiTableCatalogItem"; import BingMapsCatalogItem from "./CatalogItems/BingMapsCatalogItem"; import CartoMapV1CatalogItem from "./CatalogItems/CartoMapV1CatalogItem"; import CartoMapV3CatalogItem from "./CatalogItems/CartoMapV3CatalogItem"; import Cesium3DTilesCatalogItem from "./CatalogItems/Cesium3DTilesCatalogItem"; import CesiumTerrainCatalogItem from "./CatalogItems/CesiumTerrainCatalogItem"; import CogCatalogItem from "./CatalogItems/CogCatalogItem"; import CompositeCatalogItem from "./CatalogItems/CompositeCatalogItem"; import CsvCatalogItem from "./CatalogItems/CsvCatalogItem"; import CzmlCatalogItem from "./CatalogItems/CzmlCatalogItem"; import GeoJsonCatalogItem from "./CatalogItems/GeoJsonCatalogItem"; import GeoRssCatalogItem from "./CatalogItems/GeoRssCatalogItem"; import GpxCatalogItem from "./CatalogItems/GpxCatalogItem"; import I3SCatalogItem from "./CatalogItems/I3SCatalogItem"; import IonImageryCatalogItem from "./CatalogItems/IonImageryCatalogItem"; import KmlCatalogItem from "./CatalogItems/KmlCatalogItem"; import MapboxMapCatalogItem from "./CatalogItems/MapboxMapCatalogItem"; import MapboxStyleCatalogItem from "./CatalogItems/MapboxStyleCatalogItem"; import MapboxVectorTileCatalogItem from "./CatalogItems/MapboxVectorTileCatalogItem"; import OpenDataSoftCatalogItem from "./CatalogItems/OpenDataSoftCatalogItem"; import OpenStreetMapCatalogItem from "./CatalogItems/OpenStreetMapCatalogItem"; import SenapsLocationsCatalogItem from "./CatalogItems/SenapsLocationsCatalogItem"; import ShapefileCatalogItem from "./CatalogItems/ShapefileCatalogItem"; import SocrataMapViewCatalogItem from "./CatalogItems/SocrataMapViewCatalogItem"; import StubCatalogItem from "./CatalogItems/StubCatalogItem"; import TileMapServiceCatalogItem from "./CatalogItems/TileMapServiceCatalogItem"; import UrlTemplateImageryCatalogItem from "./CatalogItems/UrlTemplateImageryCatalogItem"; import CatalogMemberFactory from "./CatalogMemberFactory"; import CatalogIndexReference from "./CatalogReferences/CatalogIndexReference"; import MagdaReference from "./CatalogReferences/MagdaReference"; import SplitItemReference from "./CatalogReferences/SplitItemReference"; import TerriaReference from "./CatalogReferences/TerriaReference"; import UrlReference, { UrlToCatalogMemberMapping } from "./CatalogReferences/UrlReference"; import CkanCatalogGroup from "./Ckan/CkanCatalogGroup"; import CkanItemReference from "./Ckan/CkanItemReference"; import ArcGisCatalogGroup from "./Esri/ArcGisCatalogGroup"; import ArcGisFeatureServerCatalogGroup from "./Esri/ArcGisFeatureServerCatalogGroup"; import ArcGisFeatureServerCatalogItem from "./Esri/ArcGisFeatureServerCatalogItem"; import ArcGisImageServerCatalogItem from "./Esri/ArcGisImageServerCatalogItem"; import ArcGisMapServerCatalogGroup from "./Esri/ArcGisMapServerCatalogGroup"; import ArcGisMapServerCatalogItem from "./Esri/ArcGisMapServerCatalogItem"; import ArcGisPortalCatalogGroup from "./Esri/ArcGisPortalCatalogGroup"; import ArcGisPortalItemReference from "./Esri/ArcGisPortalItemReference"; import ArcGisTerrainCatalogItem from "./Esri/ArcGisTerrainCatalogItem"; import AssImpCatalogItem from "./Gltf/AssImpCatalogItem"; import GltfCatalogItem from "./Gltf/GltfCatalogItem"; import GtfsCatalogItem from "./Gtfs/GtfsCatalogItem"; import CswCatalogGroup from "./Ows/CswCatalogGroup"; import SensorObservationServiceCatalogItem from "./Ows/SensorObservationServiceCatalogItem"; import WebFeatureServiceCatalogGroup from "./Ows/WebFeatureServiceCatalogGroup"; import WebFeatureServiceCatalogItem from "./Ows/WebFeatureServiceCatalogItem"; import WebMapServiceCatalogGroup from "./Ows/WebMapServiceCatalogGroup"; import WebMapServiceCatalogItem from "./Ows/WebMapServiceCatalogItem"; import WebMapTileServiceCatalogGroup from "./Ows/WebMapTileServiceCatalogGroup"; import WebMapTileServiceCatalogItem from "./Ows/WebMapTileServiceCatalogItem"; import WebProcessingServiceCatalogFunction from "./Ows/WebProcessingServiceCatalogFunction"; import WebProcessingServiceCatalogFunctionJob from "./Ows/WebProcessingServiceCatalogFunctionJob"; import WebProcessingServiceCatalogGroup from "./Ows/WebProcessingServiceCatalogGroup"; import SdmxJsonCatalogGroup from "./SdmxJson/SdmxJsonCatalogGroup"; import SdmxJsonCatalogItem from "./SdmxJson/SdmxJsonCatalogItem"; export default function registerCatalogMembers() { CatalogMemberFactory.register(CatalogGroup.type, CatalogGroup); CatalogMemberFactory.register(StubCatalogItem.type, StubCatalogItem); CatalogMemberFactory.register(DefaultTimelineModel.type, DefaultTimelineModel); CatalogMemberFactory.register(WebMapServiceCatalogItem.type, WebMapServiceCatalogItem); CatalogMemberFactory.register(WebMapServiceCatalogGroup.type, WebMapServiceCatalogGroup); CatalogMemberFactory.register(WebFeatureServiceCatalogItem.type, WebFeatureServiceCatalogItem); CatalogMemberFactory.register(WebFeatureServiceCatalogGroup.type, WebFeatureServiceCatalogGroup); CatalogMemberFactory.register(WebMapTileServiceCatalogGroup.type, WebMapTileServiceCatalogGroup); CatalogMemberFactory.register(WebMapTileServiceCatalogItem.type, WebMapTileServiceCatalogItem); CatalogMemberFactory.register(GltfCatalogItem.type, GltfCatalogItem); CatalogMemberFactory.register(GeoJsonCatalogItem.type, GeoJsonCatalogItem); CatalogMemberFactory.register(GpxCatalogItem.type, GpxCatalogItem); CatalogMemberFactory.register(GeoRssCatalogItem.type, GeoRssCatalogItem); CatalogMemberFactory.register(CsvCatalogItem.type, CsvCatalogItem); CatalogMemberFactory.register(CzmlCatalogItem.type, CzmlCatalogItem); CatalogMemberFactory.register(ShapefileCatalogItem.type, ShapefileCatalogItem); CatalogMemberFactory.register(ArcGisCatalogGroup.type, ArcGisCatalogGroup); CatalogMemberFactory.register(ArcGisMapServerCatalogItem.type, ArcGisMapServerCatalogItem); CatalogMemberFactory.register(ArcGisImageServerCatalogItem.type, ArcGisImageServerCatalogItem); CatalogMemberFactory.register(ArcGisMapServerCatalogGroup.type, ArcGisMapServerCatalogGroup); CatalogMemberFactory.register(ArcGisFeatureServerCatalogItem.type, ArcGisFeatureServerCatalogItem); CatalogMemberFactory.register(ArcGisFeatureServerCatalogGroup.type, ArcGisFeatureServerCatalogGroup); CatalogMemberFactory.register(ArcGisPortalCatalogGroup.type, ArcGisPortalCatalogGroup); CatalogMemberFactory.register(ArcGisPortalItemReference.type, ArcGisPortalItemReference); CatalogMemberFactory.register(ArcGisTerrainCatalogItem.type, ArcGisTerrainCatalogItem); CatalogMemberFactory.register(Cesium3DTilesCatalogItem.type, Cesium3DTilesCatalogItem); CatalogMemberFactory.register(GtfsCatalogItem.type, GtfsCatalogItem); CatalogMemberFactory.register(BingMapsCatalogItem.type, BingMapsCatalogItem); CatalogMemberFactory.register(CesiumTerrainCatalogItem.type, CesiumTerrainCatalogItem); CatalogMemberFactory.register(I3SCatalogItem.type, I3SCatalogItem); CatalogMemberFactory.register(IonImageryCatalogItem.type, IonImageryCatalogItem); CatalogMemberFactory.register(OpenStreetMapCatalogItem.type, OpenStreetMapCatalogItem); CatalogMemberFactory.register(MagdaReference.type, MagdaReference); CatalogMemberFactory.register(TerriaReference.type, TerriaReference); CatalogMemberFactory.register(KmlCatalogItem.type, KmlCatalogItem); CatalogMemberFactory.register(MapboxVectorTileCatalogItem.type, MapboxVectorTileCatalogItem); CatalogMemberFactory.register(CartoMapV1CatalogItem.type, CartoMapV1CatalogItem); CatalogMemberFactory.register(CartoMapV3CatalogItem.type, CartoMapV3CatalogItem); CatalogMemberFactory.register(UrlReference.type, UrlReference); CatalogMemberFactory.register(SplitItemReference.type, SplitItemReference); CatalogMemberFactory.register(YDYRCatalogFunction.type, YDYRCatalogFunction); CatalogMemberFactory.register(YDYRCatalogFunctionJob.type, YDYRCatalogFunctionJob); CatalogMemberFactory.register(SdmxJsonCatalogGroup.type, SdmxJsonCatalogGroup); CatalogMemberFactory.register(SdmxJsonCatalogItem.type, SdmxJsonCatalogItem); CatalogMemberFactory.register(SenapsLocationsCatalogItem.type, SenapsLocationsCatalogItem); CatalogMemberFactory.register(WebProcessingServiceCatalogFunction.type, WebProcessingServiceCatalogFunction); CatalogMemberFactory.register(WebProcessingServiceCatalogGroup.type, WebProcessingServiceCatalogGroup); CatalogMemberFactory.register(SensorObservationServiceCatalogItem.type, SensorObservationServiceCatalogItem); CatalogMemberFactory.register(WebProcessingServiceCatalogFunctionJob.type, WebProcessingServiceCatalogFunctionJob); CatalogMemberFactory.register(CompositeCatalogItem.type, CompositeCatalogItem); CatalogMemberFactory.register(CkanCatalogGroup.type, CkanCatalogGroup); CatalogMemberFactory.register(CkanItemReference.type, CkanItemReference); CatalogMemberFactory.register(ThreddsCatalogGroup.type, ThreddsCatalogGroup); CatalogMemberFactory.register(CswCatalogGroup.type, CswCatalogGroup); CatalogMemberFactory.register(ApiTableCatalogItem.type, ApiTableCatalogItem); CatalogMemberFactory.register(OpenDataSoftCatalogGroup.type, OpenDataSoftCatalogGroup); CatalogMemberFactory.register(OpenDataSoftCatalogItem.type, OpenDataSoftCatalogItem); CatalogMemberFactory.register(SocrataCatalogGroup.type, SocrataCatalogGroup); CatalogMemberFactory.register(SocrataMapViewCatalogItem.type, SocrataMapViewCatalogItem); CatalogMemberFactory.register(MapboxMapCatalogItem.type, MapboxMapCatalogItem); CatalogMemberFactory.register(MapboxStyleCatalogItem.type, MapboxStyleCatalogItem); CatalogMemberFactory.register(CatalogIndexReference.type, CatalogIndexReference); CatalogMemberFactory.register(UrlTemplateImageryCatalogItem.type, UrlTemplateImageryCatalogItem); CatalogMemberFactory.register(TileMapServiceCatalogItem.type, TileMapServiceCatalogItem); CatalogMemberFactory.register(AssImpCatalogItem.type, AssImpCatalogItem); CatalogMemberFactory.register(CogCatalogItem.type, CogCatalogItem); UrlToCatalogMemberMapping.register(matchesExtension("csv"), CsvCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("czm"), CzmlCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("czml"), CzmlCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("geojson"), GeoJsonCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("json"), GeoJsonCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("kml"), KmlCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("gpx"), GpxCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("kmz"), KmlCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("topojson"), GeoJsonCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("georss"), GeoRssCatalogItem.type); // We try to convert zipped shapefiles to geojson UrlToCatalogMemberMapping.register(matchesExtension("zip"), ShapefileCatalogItem.type); UrlToCatalogMemberMapping.register(matchesExtension("tif", "tiff", "geotiff"), CogCatalogItem.type); // These items work by trying to match a URL, then loading the data. If it fails, they move on. UrlToCatalogMemberMapping.register(matchesUrl(/\/wms|=wms/i), WebMapServiceCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/wfs|=wfs/i), WebFeatureServiceCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/wmts|=wmts/i), WebMapTileServiceCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/MapServer\/\d+\b/i), ArcGisMapServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/ImageServer(\/.*)?$/i), ArcGisImageServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/MapServer(\/.*)?$/i), ArcGisMapServerCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/FeatureServer\/\d+\b/i), ArcGisFeatureServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/FeatureServer(\/.*)?$/i), ArcGisFeatureServerCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\/.*\/\d+\b/i), ArcGisMapServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/arcgis\/rest\//i), ArcGisCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/MapServer\/\d+\b/i), ArcGisMapServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/ImageServer(\/.*)?$/i), ArcGisImageServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/MapServer(\/.*)?$/i), ArcGisMapServerCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/FeatureServer\/\d+\b/i), ArcGisFeatureServerCatalogItem.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/FeatureServer(\/.*)?$/i), ArcGisFeatureServerCatalogGroup.type, true); UrlToCatalogMemberMapping.register(matchesUrl(/\/rest\/.*\/\d+\b/i), ArcGisMapServerCatalogItem.type, true); // These don't even try to match a URL, they're just total fallbacks. We really, really want something to work. UrlToCatalogMemberMapping.register((_s) => true, WebMapServiceCatalogGroup.type, true); UrlToCatalogMemberMapping.register((_s) => true, WebFeatureServiceCatalogGroup.type, true); UrlToCatalogMemberMapping.register((_s) => true, ArcGisMapServerCatalogItem.type, true); UrlToCatalogMemberMapping.register((_s) => true, ArcGisMapServerCatalogGroup.type, true); UrlToCatalogMemberMapping.register((_s) => true, ArcGisFeatureServerCatalogItem.type, true); UrlToCatalogMemberMapping.register((_s) => true, ArcGisCatalogGroup.type, true); UrlToCatalogMemberMapping.register((_s) => true, ArcGisFeatureServerCatalogGroup.type, true); } function matchesUrl(regex) { return /./.test.bind(regex); } export function matchesExtension(...extensions) { const regex = new RegExp("\\.(" + extensions.join("|") + ")$", "i"); return function (url) { return Boolean(url.match(regex)); }; } //# sourceMappingURL=registerCatalogMembers.js.map