-
Notifications
You must be signed in to change notification settings - Fork 2
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
Description of resources available to a layer #13
Comments
I like the impulse here, which is I assume to provide a simple of list of associated resources in an agreed upon form to avoid parsing multiple documents in different formats to scrounge for links. I’m less sure about the implementation. Here are a few thoughts/questions: What if there are multiple resources of a particular type? You could default to a single value and roll over to an array if there are multiple values, but I think this will trip up a lot of json libraries. There could easily be mulitiple html, pdf, or even preview image urls for a given layer, which may or may not have the same function. (e.g. pdf preview or resource vs. pdf metadata) In the above case, what is the URI really telling me about the resource type? I can infer, as a human reader, that this is a metadata link given the link value, but it could be a link to a download page or a preview page or a library catalog page. I think some semantic indication would be useful where there is ambiguity. Given that this is a json resource, my expectation is that it could be handled by a machine.
Putting the resource name in a separate field creates other problems/complexities, since it is possible that feature services and tile services might have different names. = |
What about something like this for the namespace and layername? {
"http://www.opengis.net/def/serviceType/ogc/wfs":"https://geowebservices-restricted.stanford.edu/geoserver/wfs",
"http://www.opengis.net/def/serviceType/ogc/wfs#namespace":"layerNamespace",
"http://www.opengis.net/def/serviceType/ogc/wfs#layerName":"layerName"
} |
that works! edit: I have mixed feelings about the namespace being separate from the layername, mostly because the namespace is a GeoServer specific thing, rather than an OGC specification. Otherwise it is a reasonable solution.
|
I've been doing some thinking about converting ISO 19139 and FGDC directly to GeoBlacklight schema (right now at Stanford, we go from MODS to GeoBlacklight). We have GeoCombine which is an initial stab at doing this. The issue is that the references (discussed above) is not the only metadata that we need for the GeoBlacklight schema, and that is not included in the ISO or FGDC metadata. We have the following required schema elements in GeoBlacklight that need to be present but are not extractable from the ISO/FGDC:
So, I'm proposing an The outcome would be that with the I'm not sure whether there is additional metadata required by OGP that would be a fit for Also, the format need not be json, it could be RDF or XML -- I think JSON is the easiest to work with implementation-wise. I can code up some examples if this sounds like a workable approach... |
Darren, These are essentially the same requirements that we have for OGP. I think that JSON is great if an external file is required. A few points/questions:
|
Thanks, Chris. So, WMS might have a different layer id than WFS? Jeez :). We don't handle that case currently in GeoBlacklight -- just a single layer:id across all WxS services. Not sure how to handle the representation of this because dct:references is meant to map URIs to URLs only, not URIs to values. geom_type is Polygon, Line, Point, or Raster. We don't have "Vector". In our metadata workflow, we've had to use OGR to detect the geom_type directly from the data. The ISO metadata didn't have it. @kimdurante? We use the geom_type for a categorical facet so it's basically an enumerated type. See https://github.com/geoblacklight/geoblacklight-schema/blob/6592a242a5af5ad1d8e1b96c97cc916ba4c47398/geoblacklight-schema.json#L70 The layer:slug is used by GeoBlacklight to provide a single URL to the GeoBlacklight page. Our slugs use our UUIDs, like so: https://earthworks.stanford.edu/catalog/stanford-ff128mp5307 but the slug could be "stanford-area-names-dari-mazar-i-sharif" or something based on a title. The caveat is that the slugs must be unique across a GeoBlacklight instance. Good point about dct:provenance (Institution). We hardcode ours to Stanford in our XSLT. (see https://github.com/geoblacklight/geoblacklight-schema/blob/master/lib/xslt/iso2mods.xsl#L863) |
See this comment #13 (comment) Would something like that approach help with the different layerids? |
Good catch on the institution Chris! I will add it to the table. Yeah, there is no explicit reference to geometry type in ISO, just vector or raster. Yesterday, I spoke with @drh-stanford about generating the format element. In MODS, we generally use MIME types for these, so that's what is currently in the stylesheets. I will remove these.... For the institution element, each of the FGDC and ISO to GeoBlacklight transforms currently contain a variable which tries to assign an institution based on certain metadata fields. This is an adventure in free-text field mapping, so if hardcoding these is an option, that would be great. Otherwise, we would have to add conditions for each provider in the appropriate transform. |
Hi Darren,
I think it’s something to consider. Even if GeoBlacklight doesn’t currently support it, it seems wise to cover your bases in providing a standard for a public repository.
|
|
I think this is a reasonable approach (see caveats in discussion), but not sure it helps re: the dct:resources issue mentioned by @drh-stanford |
For harvesting a layer without a slug or purl, I dunno :). In GeoBlacklight, you can append https://earthworks.stanford.edu/catalog/stanford-ff128mp5307.json We don't as yet have a native bulk harvesting interface in GeoBlacklight. See geoblacklight/geoblacklight#48 for our ticket on this. Lately, we've been focusing on GeoCombine https://github.com/OpenGeoMetadata/GeoCombine as the ingester harvesting directly from OpenGeoMetadata repos rather than from webservices. Also, for our current EarthWorks implementation, I use these tools to download metadata from the OGP network, do some QA on them, transform them into GeoBlacklight, and upload them to our Solr instance: https://github.com/geoblacklight/geoblacklight-schema/tree/master/tools/ogp The dc:format is indeed the file format of the original data (i.e., as deposited in our repository). When we provide the WxS endpoint, the get capabilities should tell you the formats which you can download via GeoServer transformations. As for the layer:id, we might be able to encode it as a JSON value in |
Hi all, I've been looking at geometry types in ISO for a different project, and after reading this thread wanted to run my finding past you. From what I gather, it seems to me that ISO does have a place for specific vector geometry types. The
References a code list where point, curve, and surface seem to fit the bill for point, line, and polygon.
Any thoughts on this? I'd like to know if I'm totally offbase and should not be using this for the particular workflow I'm hashing out at the moment. |
I don't think you're off base here. These definitions seem to fit nicely. The issue we've had here is when these metadata are auto-generated - polygons and lines are sometimes classified as 'complex' or 'composite,' making it difficult to determine the geometry. |
@gravesm what do you think of this approach? having a |
I guess my feeling is that if I am going to generate this JSON, why not just go ahead and generate the rest of the document as JSON? And if I were going to do that, I would probably be inclined to look to JSON-LD. |
This is a proposal to add an optional file type to OpenGeoMetadata record directories. This file could be named resources.json and would denote online resource locations for various web services. A proposed schema similar to how GeoBlacklight schema defines them using
dct:references
is proposed where the OGC CatInterop table could be used as a references for defining available resources.This would be a way to provide various online resources for a give record.
An example
resources.json
:Resources added could be things like:
See the Cat Interop list for more ideas
The text was updated successfully, but these errors were encountered: