Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How should we characterize ESRI web services? #336

Closed
mejackreed opened this issue Jun 3, 2015 · 6 comments
Closed

How should we characterize ESRI web services? #336

mejackreed opened this issue Jun 3, 2015 · 6 comments

Comments

@mejackreed
Copy link
Member

Would love to have feedback from @ajturner on what ESRI's thoughts may be on this. For context this pull request adds in support for ESRI web services to the GeoBlacklight discovery software #335

Open questions seem to be:

  • At what unit should those services be referenced in the metadata?
  • Are there authoritative URI's that ESRI uses to reference their own web services?

I wonder if we can get some more examples from UMN from @cheetah90 or anyone else using ArcGIS.com or ArcGIS Server as there geospatial serving platform.

cc @eliotjordan @drh-stanford

@ajturner
Copy link

ajturner commented Jun 3, 2015

I'm happy to help!

I'm not quite sure what you mean by 'unit'?

Also, for URI, do you mean reference documentation or schema encoding?

If you want more services to test with http://opendata.arcgis.com

@eliotjordan
Copy link
Member

@ajturner

By 'unit', Jack (jump in if I'm misstating your intention here) is referring to the type (name) of the protocols and formats we use to enable functionality in Geoblacklight. URI referrs to the reference URI for that type.

geoblacklight-schema
dct_references

For instance, WMS endpoints have the reference URI http://www.opengis.net/def/serviceType/ogc/wms. The issue here is how to map the various ArcGIS endpoints into this scheme and at what level. One reference for arcgis/rest/services itself? References for each service (MapServer, FeatureServer, IamgeServer)? Or something else?

@mejackreed
Copy link
Member Author

Thanks for the response @ajturner ... To answer your questions:

By "unit" I guess the open question is how are ESRI web services related to the "unit" of metadata that was created for them. In GeoBlacklight, discovery and metadata creation happens at the "layer" level. This seems to relate to a specific "layer" from an ESRI endpoint:

Example, MapServer http://services.arcgisonline.com/arcgis/rest/services/Specialty/Soil_Survey_Map/MapServer

has individual layers:
http://services.arcgisonline.com/arcgis/rest/services/Specialty/Soil_Survey_Map/MapServer/0

MapServer service endpoints have a one to many relationship with additional layers?

ImageServer feels like a one to one relationship:
http://imagery.oregonexplorer.info/arcgis/rest/services/NAIP_2011/NAIP_2011_Dynamic/ImageServer

FeatureServer feels like a one to many relationship:
https://services.arcgis.com/rOo16HdIMeOBI4Mb/arcgis/rest/services/Neighborhoods_pdx/FeatureServer

Does this characterization hold true? Are there additional types to include? @cheetah90

We are using URI's as unique keys in the reference metadata to define what type of service something is. This is based off of the work by the OGC CatInterop group:
https://github.com/OSGeo/Cat-Interop/blob/master/LinkPropertyLookupTable.csv

So using the unique URI as a key to define an ESRI MapServer vs ImageServer endpoint would be useful. We could just make one up here, but it would be great if there was something authoritative from catinterop or ESRI ... @smrazgs ?

Thanks for the link to the open data portal. Is the metadata available in a machine readable format? Or an api? Looking briefly through documentation here: http://resources.arcgis.com/en/help/arcgis-rest-api/#/Portals_Root/02r3000001m8000000/ this doesn't seem to work with opendata.arcgis.com

@eliotjordan
Copy link
Member

@mejackreed You can add '.json' to the urls to get machine readable data.

Feature Service
Map Service
Image Service

These are the all different item definitions I could find:

type: ItemImage,
item_type: Image Service
url: ../ImageServer

type: ItemLayer
item_type: Feature Layer
url: ../MapServer/{id}

type: ItemLayer
item_type: Feature Layer
url: ../FeatureServer/{id}

This is still confusing, but maybe the 'top level' units are layer types without regard to the service they come from?

  • Feature Layer
  • Raster Layer (or maybe Tile Map Layer and Dynamic Map Layer)
  • Image Map Layer

@mejackreed
Copy link
Member Author

🙇 @eliotjordan

@mejackreed
Copy link
Member Author

Thinking this is closed now, see #372 . Reopen if needed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants