geoblacklight 1.0.0.pre2 → 1.0.0.pre3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/javascripts/geoblacklight/basemaps.js +6 -4
- data/app/assets/javascripts/geoblacklight/geoblacklight.js +1 -1
- data/app/assets/javascripts/geoblacklight/modules/util.js +11 -0
- data/app/assets/javascripts/geoblacklight/viewers/esri.js +1 -1
- data/app/assets/javascripts/geoblacklight/viewers/map.js +2 -8
- data/app/assets/javascripts/geoblacklight/viewers/wms.js +1 -1
- data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +2 -0
- data/app/assets/stylesheets/geoblacklight/modules/facets.scss +5 -0
- data/app/assets/stylesheets/geoblacklight/modules/twitter-typeahead.scss +11 -0
- data/app/helpers/geoblacklight_helper.rb +12 -0
- data/app/views/catalog/_icon_facet.html.erb +1 -6
- data/lib/generators/geoblacklight/install_generator.rb +1 -1
- data/lib/geoblacklight/version.rb +1 -1
- data/lib/tasks/configure_solr.rake +0 -4
- data/lib/tasks/geoblacklight.rake +15 -0
- data/schema/geoblacklight-schema.json +207 -0
- data/schema/geoblacklight-schema.md +37 -29
- data/schema/solr/conf/schema.xml +5 -2
- data/spec/features/esri_viewer_spec.rb +7 -7
- data/spec/features/home_page_spec.rb +1 -1
- data/spec/features/layer_opacity_spec.rb +1 -1
- data/spec/features/linkified_attribute_table_spec.rb +11 -0
- data/spec/fixtures/solr_documents/actual-papermap1.json +22 -24
- data/spec/fixtures/solr_documents/actual-point1.json +2 -4
- data/spec/fixtures/solr_documents/actual-polygon1.json +2 -4
- data/spec/fixtures/solr_documents/actual-raster1.json +36 -42
- data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +3 -4
- data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +28 -34
- data/spec/fixtures/solr_documents/esri-feature-layer.json +15 -21
- data/spec/fixtures/solr_documents/esri-image-map-layer.json +4 -5
- data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +4 -5
- data/spec/fixtures/solr_documents/esri-wms-layer.json +32 -40
- data/spec/fixtures/solr_documents/harvard_raster.json +3 -6
- data/spec/fixtures/solr_documents/public_direct_download.json +2 -5
- data/spec/fixtures/solr_documents/public_iiif_princeton.json +2 -3
- data/spec/fixtures/solr_documents/public_polygon_mit.json +3 -6
- data/spec/fixtures/solr_documents/restricted-line.json +35 -41
- data/spec/javascripts/util_spec.js +12 -0
- metadata +10 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b33d53cff735001ba0c52280885f8adff16ff7bb
|
|
4
|
+
data.tar.gz: 4ed8c5b0e6d73e28af176ed1b75ef39d6b8ef9fc
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5b0d6bff29b375c1886231d08589c46972acf95527671bdbfe65e588ae82099df8035613291b416245f9ffc799c33b53d6b0b0dabe91cbadd3c510d8619b5510
|
|
7
|
+
data.tar.gz: 7573eee1db39dd2cab79dfa8a880f0466e79d84986e28bcaa105580813619820843237cf40fe58edf06123a85611dc535b7bc50e7a086329165df14f55a1c740
|
|
@@ -2,19 +2,21 @@
|
|
|
2
2
|
|
|
3
3
|
GeoBlacklight.Basemaps = {
|
|
4
4
|
darkMatter: L.tileLayer(
|
|
5
|
-
'https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}.png', {
|
|
5
|
+
'https://cartodb-basemaps-{s}.global.ssl.fastly.net/dark_all/{z}/{x}/{y}{retina}.png', {
|
|
6
6
|
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="http://cartodb.com/attributions">CartoDB</a>',
|
|
7
7
|
maxZoom: 18,
|
|
8
8
|
worldCopyJump: true,
|
|
9
|
-
|
|
9
|
+
retina: '@2x',
|
|
10
|
+
detectRetina: false
|
|
10
11
|
}
|
|
11
12
|
),
|
|
12
13
|
positron: L.tileLayer(
|
|
13
|
-
'https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}.png', {
|
|
14
|
+
'https://cartodb-basemaps-{s}.global.ssl.fastly.net/light_all/{z}/{x}/{y}{retina}.png', {
|
|
14
15
|
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, © <a href="http://cartodb.com/attributions">CartoDB</a>',
|
|
15
16
|
maxZoom: 18,
|
|
16
17
|
worldCopyJump: true,
|
|
17
|
-
|
|
18
|
+
retina: '@2x',
|
|
19
|
+
detectRetina: false
|
|
18
20
|
}
|
|
19
21
|
)
|
|
20
22
|
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/*global GeoBlacklight */
|
|
2
|
+
|
|
3
|
+
'use strict';
|
|
4
|
+
|
|
5
|
+
GeoBlacklight.Util = {
|
|
6
|
+
// Regex taken from http://stackoverflow.com/questions/37684/how-to-replace-plain-urls-with-links
|
|
7
|
+
linkify: function(str) {
|
|
8
|
+
var urlRegEx = /((([A-Za-z]{3,9}:(?:\/\/)?)(?:[\-;:&=\+\$,\w]+@)?[A-Za-z0-9\.\-]+|(?:www\.|[\-;:&=\+\$,\w]+@)[A-Za-z0-9\.\-]+)((?:\/[\+~%\/\.\w\-]*)?\??(?:[\-\+=&;%@\.\w]*)#?(?:[\.\!\/\\\w]*))?)/g;
|
|
9
|
+
return str.toString().replace(urlRegEx, '<a href=\'$1\'>$1</a>');
|
|
10
|
+
}
|
|
11
|
+
};
|
|
@@ -72,7 +72,7 @@ GeoBlacklight.Viewer.Esri = GeoBlacklight.Viewer.Map.extend({
|
|
|
72
72
|
// step through properties and append to table
|
|
73
73
|
for (var property in feature.properties) {
|
|
74
74
|
html.append('<tr><td>' + property + '</td>'+
|
|
75
|
-
'<td>' + feature.properties[property] + '</tr>');
|
|
75
|
+
'<td>' + GeoBlacklight.Util.linkify(feature.properties[property]) + '</tr>');
|
|
76
76
|
}
|
|
77
77
|
$('.attribute-table-body').replaceWith(html);
|
|
78
78
|
}
|
|
@@ -51,16 +51,10 @@ GeoBlacklight.Viewer.Map = GeoBlacklight.Viewer.extend({
|
|
|
51
51
|
*/
|
|
52
52
|
selectBasemap: function() {
|
|
53
53
|
var _this = this;
|
|
54
|
-
var basemap;
|
|
55
|
-
|
|
56
54
|
if (_this.data.basemap) {
|
|
57
|
-
|
|
55
|
+
return GeoBlacklight.Basemaps[_this.data.basemap];
|
|
58
56
|
} else {
|
|
59
|
-
|
|
57
|
+
return GeoBlacklight.Basemaps.positron;
|
|
60
58
|
}
|
|
61
|
-
|
|
62
|
-
// Use value from app settings to set the detect retina option.
|
|
63
|
-
basemap.options.detectRetina = _this.detectRetina();
|
|
64
|
-
return basemap;
|
|
65
59
|
}
|
|
66
60
|
});
|
|
@@ -58,7 +58,7 @@ GeoBlacklight.Viewer.Wms = GeoBlacklight.Viewer.Map.extend({
|
|
|
58
58
|
}
|
|
59
59
|
var html = $('<tbody class="attribute-table-body"></tbody>');
|
|
60
60
|
$.each(data.values, function(i, val) {
|
|
61
|
-
html.append('<tr><td>' + val[0] + '</td><td>' + val[1] + '</tr>');
|
|
61
|
+
html.append('<tr><td>' + val[0] + '</td><td>' + GeoBlacklight.Util.linkify(val[1]) + '</tr>');
|
|
62
62
|
});
|
|
63
63
|
$('.attribute-table-body').replaceWith(html);
|
|
64
64
|
},
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
@import 'font-awesome';
|
|
16
16
|
@import 'geoblacklight/styles';
|
|
17
17
|
@import 'modules/coderay';
|
|
18
|
+
@import 'modules/facets';
|
|
18
19
|
@import 'modules/mixins';
|
|
19
20
|
@import 'modules/icon-customization';
|
|
20
21
|
@import 'modules/home';
|
|
@@ -26,3 +27,4 @@
|
|
|
26
27
|
@import 'modules/search_widgets';
|
|
27
28
|
@import 'modules/toolbar';
|
|
28
29
|
@import 'modules/web_services';
|
|
30
|
+
@import 'modules/twitter-typeahead';
|
|
@@ -140,4 +140,16 @@ module GeoblacklightHelper
|
|
|
140
140
|
def leaflet_options
|
|
141
141
|
Settings.LEAFLET
|
|
142
142
|
end
|
|
143
|
+
|
|
144
|
+
##
|
|
145
|
+
# Renders a facet item with an icon placed as the first child of
|
|
146
|
+
# `.facet-label`. This works with `render_facet_value` and
|
|
147
|
+
# `render_selected_facet_value`
|
|
148
|
+
# @return String
|
|
149
|
+
def render_facet_item_with_icon(field_name, item)
|
|
150
|
+
doc = Nokogiri::HTML.fragment(render_facet_item(field_name, item))
|
|
151
|
+
doc.at_css('.facet-label').children.first
|
|
152
|
+
.add_previous_sibling(geoblacklight_icon(item.value))
|
|
153
|
+
doc.to_html.html_safe
|
|
154
|
+
end
|
|
143
155
|
end
|
|
@@ -2,12 +2,7 @@
|
|
|
2
2
|
<% paginator = facet_paginator(facet_field, display_facet) %>
|
|
3
3
|
<% paginator.items.each do |item| -%>
|
|
4
4
|
<li>
|
|
5
|
-
<%=
|
|
6
|
-
<% if facet_in_params?( solr_field, item.value ) %>
|
|
7
|
-
<%= render_selected_facet_value(solr_field, item) %>
|
|
8
|
-
<% else %>
|
|
9
|
-
<%= render_facet_value(solr_field, item) %>
|
|
10
|
-
<% end -%>
|
|
5
|
+
<%= render_facet_item_with_icon(field_name, item) %>
|
|
11
6
|
</li>
|
|
12
7
|
<% end %>
|
|
13
8
|
</ul>
|
|
@@ -18,7 +18,7 @@ module Geoblacklight
|
|
|
18
18
|
def inject_geoblacklight_routes
|
|
19
19
|
route <<-EOF.strip_heredoc
|
|
20
20
|
concern :gbl_exportable, Geoblacklight::Routes::Exportable.new
|
|
21
|
-
resources :solr_documents, only: [:show], controller: 'catalog' do
|
|
21
|
+
resources :solr_documents, only: [:show], path: '/catalog', controller: 'catalog' do
|
|
22
22
|
concerns :gbl_exportable
|
|
23
23
|
end
|
|
24
24
|
|
|
@@ -20,8 +20,4 @@ namespace :geoblacklight do
|
|
|
20
20
|
FileUtils.cp File.join(root, item[:src]), "jetty/solr/blacklight-core/conf/#{item[:file]}", verbose: true
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
|
-
|
|
24
|
-
# Leaving this task in for backwards compatibility
|
|
25
|
-
desc 'Runs geoblacklight:configure_solr, you should just use geoblacklight:configure_solr'
|
|
26
|
-
task configure_jetty: :configure_solr
|
|
27
23
|
end
|
|
@@ -18,6 +18,21 @@ namespace :geoblacklight do
|
|
|
18
18
|
Blacklight.default_index.connection.commit
|
|
19
19
|
end
|
|
20
20
|
end
|
|
21
|
+
|
|
22
|
+
desc "Ingests a directory of geoblacklight.json files"
|
|
23
|
+
task :ingest, [:directory] => :environment do |_t, args|
|
|
24
|
+
args.with_default(directory: 'data')
|
|
25
|
+
Dir.glob(File.join(args[:directory], '**', 'geoblacklight.json')).each do |fn|
|
|
26
|
+
puts "Ingesting #{fn}"
|
|
27
|
+
begin
|
|
28
|
+
Blacklight.default_index.connection.add(JSON.parse(File.read(fn)))
|
|
29
|
+
rescue => e
|
|
30
|
+
puts "Failed to ingest #{fn}: #{e.inspect}"
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
puts "Committing changes to Solr"
|
|
34
|
+
Blacklight.default_index.connection.commit
|
|
35
|
+
end
|
|
21
36
|
end
|
|
22
37
|
namespace :downloads do
|
|
23
38
|
desc 'Delete all cached downloads'
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
3
|
+
"description": "Schema for GeoBlacklight as implemented for Solr 4.10+. See http://journal.code4lib.org/articles/9710 for more details. Note that the Solr schema uses dynamic typing based on the suffix of the field name. For example, _s denotes a string where _sm denotes a multi-valued string (array of strings).",
|
|
4
|
+
"id": "http://geoblacklight.org/schema",
|
|
5
|
+
"title": "GeoBlacklight Schema",
|
|
6
|
+
"required": [
|
|
7
|
+
"dc_title_s",
|
|
8
|
+
"dc_description_s",
|
|
9
|
+
"dc_rights_s",
|
|
10
|
+
"dct_provenance_s",
|
|
11
|
+
"layer_id_s",
|
|
12
|
+
"layer_geom_type_s",
|
|
13
|
+
"layer_modified_dt",
|
|
14
|
+
"layer_slug_s",
|
|
15
|
+
"solr_geom"
|
|
16
|
+
],
|
|
17
|
+
"type": "array",
|
|
18
|
+
"properties": {
|
|
19
|
+
"layer": {
|
|
20
|
+
"title": "layer",
|
|
21
|
+
"description": "A GIS data layer. See [this example](https://github.com/OpenGeoMetadata/edu.stanford.purl/blob/master/bb/099/zb/1450/geoblacklight.json) metadata layer.",
|
|
22
|
+
"type": "object",
|
|
23
|
+
"properties": {
|
|
24
|
+
"uuid": {
|
|
25
|
+
"type": "string",
|
|
26
|
+
"description": "*DEPRECATED* (use `dc_identifier_s`): Unique identifier for layer that is globally unique.",
|
|
27
|
+
"example": "http://purl.stanford.edu/vr593vj7147"
|
|
28
|
+
},
|
|
29
|
+
"dc_identifier_s": {
|
|
30
|
+
"type": "string",
|
|
31
|
+
"description": "Unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible, and is usually of the form `http://institution/id`. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation.",
|
|
32
|
+
"example": "http://purl.stanford.edu/vr593vj7147"
|
|
33
|
+
},
|
|
34
|
+
"dc_title_s": {
|
|
35
|
+
"type": "string",
|
|
36
|
+
"description": "Title for the layer.",
|
|
37
|
+
"example": "My Title"
|
|
38
|
+
},
|
|
39
|
+
"dc_description_s": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"description": "Description for the layer.",
|
|
42
|
+
"example": "My Description"
|
|
43
|
+
},
|
|
44
|
+
"dc_rights_s": {
|
|
45
|
+
"type": "string",
|
|
46
|
+
"enum": [
|
|
47
|
+
"Public",
|
|
48
|
+
"Restricted"
|
|
49
|
+
],
|
|
50
|
+
"description": "Access rights for the layer."
|
|
51
|
+
},
|
|
52
|
+
"dct_provenance_s": {
|
|
53
|
+
"type": "string",
|
|
54
|
+
"description": "Institution who holds the layer.",
|
|
55
|
+
"example": "Stanford"
|
|
56
|
+
},
|
|
57
|
+
"dct_references_s": {
|
|
58
|
+
"type": "string",
|
|
59
|
+
"description": "External resources that are available for the layer. The value is a JSON hash where each key is a URI for the protocol or format, and the value is the URL to the external resource. See `dct_references_s` [detailed documentation](http://geoblacklight.org/tutorial/2015/02/09/geoblacklight-overview.html)",
|
|
60
|
+
"example": "{ ... }"
|
|
61
|
+
},
|
|
62
|
+
"georss_box_s": {
|
|
63
|
+
"type": "string",
|
|
64
|
+
"description": "*DEPRECATED* (use `solr_geom`): Bounding box for the layer, as maximum values for S W N E.",
|
|
65
|
+
"example": "12.6 -119.4 19.9 84.8"
|
|
66
|
+
},
|
|
67
|
+
"layer_id_s": {
|
|
68
|
+
"type": "string",
|
|
69
|
+
"description": "The complete identifier for the layer via WMS/WFS/WCS protocol.",
|
|
70
|
+
"example": "druid:vr593vj7147"
|
|
71
|
+
},
|
|
72
|
+
"layer_geom_type_s": {
|
|
73
|
+
"type": "string",
|
|
74
|
+
"enum": [
|
|
75
|
+
"Point",
|
|
76
|
+
"Line",
|
|
77
|
+
"Polygon",
|
|
78
|
+
"Raster",
|
|
79
|
+
"Scanned Map",
|
|
80
|
+
"Mixed"
|
|
81
|
+
],
|
|
82
|
+
"description": "Geometry type for layer data, using controlled vocabulary."
|
|
83
|
+
},
|
|
84
|
+
"layer_modified_dt": {
|
|
85
|
+
"type": "string",
|
|
86
|
+
"format": "date-time",
|
|
87
|
+
"description": "Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ)."
|
|
88
|
+
},
|
|
89
|
+
"layer_slug_s": {
|
|
90
|
+
"type": "string",
|
|
91
|
+
"description": "Identifies a layer in human-readable keywords. Note this value is visible to the user, and used for Permalinks. The value should be alpha-numeric characters separated by dashes, and is typically of the form `institution-keyword1-keyword2`. It should also be globally unique across all institutions in *your* GeoBlacklight index. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation.",
|
|
92
|
+
"example": "stanford-andhra-pradesh-village-boundaries"
|
|
93
|
+
},
|
|
94
|
+
"solr_geom": {
|
|
95
|
+
"type": "string",
|
|
96
|
+
"pattern": "ENVELOPE(.*,.*,.*,.*)",
|
|
97
|
+
"description": "Bounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. Note that this field is indexed as a Solr spatial (RPT) field.",
|
|
98
|
+
"example": "ENVELOPE(76.76, 84.76, 19.91, 12.62)"
|
|
99
|
+
},
|
|
100
|
+
"solr_year_i": {
|
|
101
|
+
"type": "integer",
|
|
102
|
+
"description": "*DEPRECATED* (only used by the Blacklight range plugin, not core GeoBlacklight, and generally you want a multi-valued field here): *Derived from* `dct_temporal_sm`. Year for which layer is valid and only a single value. Note that this field is indexed as a Solr numeric field.",
|
|
103
|
+
"example": "1989"
|
|
104
|
+
},
|
|
105
|
+
"dc_creator_sm": {
|
|
106
|
+
"type": "array",
|
|
107
|
+
"items": {
|
|
108
|
+
"type": "string"
|
|
109
|
+
},
|
|
110
|
+
"description": "Author(s) of the layer. *Optional*",
|
|
111
|
+
"example": "George Washington, Thomas Jefferson"
|
|
112
|
+
},
|
|
113
|
+
"dc_format_s": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"enum": [
|
|
116
|
+
"Shapefile",
|
|
117
|
+
"GeoTIFF",
|
|
118
|
+
"ArcGRID"
|
|
119
|
+
],
|
|
120
|
+
"description": "File format for the layer, using a controlled vocabulary. *Optional*"
|
|
121
|
+
},
|
|
122
|
+
"dc_language_s": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"description": "Language for the layer. *Optional*. Note that future versions of the schema may make this a multi-valued field.",
|
|
125
|
+
"example": "English"
|
|
126
|
+
},
|
|
127
|
+
"dc_publisher_s": {
|
|
128
|
+
"type": "string",
|
|
129
|
+
"description": "Publisher of the layer. *Optional*",
|
|
130
|
+
"example": "ML InfoMap"
|
|
131
|
+
},
|
|
132
|
+
"dc_subject_sm": {
|
|
133
|
+
"type": "array",
|
|
134
|
+
"items": {
|
|
135
|
+
"type": "string"
|
|
136
|
+
},
|
|
137
|
+
"description": "Subjects for the layer, preferrably in a controlled vocabulary. *Optional*",
|
|
138
|
+
"example": "Census, Human settlements"
|
|
139
|
+
},
|
|
140
|
+
"dc_type_s": {
|
|
141
|
+
"type": "string",
|
|
142
|
+
"enum": [
|
|
143
|
+
"Dataset",
|
|
144
|
+
"Image",
|
|
145
|
+
"PhysicalObject"
|
|
146
|
+
],
|
|
147
|
+
"description": "Resource type of the layer, using DCMI Type Vocabulary, usually a `Dataset`. *Optional*"
|
|
148
|
+
},
|
|
149
|
+
"dct_spatial_sm": {
|
|
150
|
+
"type": "array",
|
|
151
|
+
"items": {
|
|
152
|
+
"type": "string"
|
|
153
|
+
},
|
|
154
|
+
"description": "Spatial coverage and place names for the layer, preferrably in a controlled vocabulary. *Optional*",
|
|
155
|
+
"example": "Paris, San Francisco"
|
|
156
|
+
},
|
|
157
|
+
"dct_temporal_sm": {
|
|
158
|
+
"type": "array",
|
|
159
|
+
"items": {
|
|
160
|
+
"type": "string"
|
|
161
|
+
},
|
|
162
|
+
"description": "Temporal coverage for the layer, typically years or dates. Note that this field is not in a specific date format. *Optional*",
|
|
163
|
+
"example": "1989, circa 2010, 2007-2009"
|
|
164
|
+
},
|
|
165
|
+
"dct_issued_dt": {
|
|
166
|
+
"type": "string",
|
|
167
|
+
"format": "date-time",
|
|
168
|
+
"description": "Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ). *Optional*"
|
|
169
|
+
},
|
|
170
|
+
"dct_isPartOf_sm": {
|
|
171
|
+
"type": "array",
|
|
172
|
+
"items": {
|
|
173
|
+
"type": "string"
|
|
174
|
+
},
|
|
175
|
+
"description": "Holding dataset for the layer, such as the name of a collection. *Optional*",
|
|
176
|
+
"example": "Village Maps of India"
|
|
177
|
+
},
|
|
178
|
+
"georss_point_s": {
|
|
179
|
+
"type": "string",
|
|
180
|
+
"description": "*DEPRECATED* (use `georss_box_s`): Point representation for layer as y, x - i.e., centroid",
|
|
181
|
+
"example": "12.6 -119.4"
|
|
182
|
+
},
|
|
183
|
+
"dc_relation_sm": {
|
|
184
|
+
"type": "array",
|
|
185
|
+
"items": {
|
|
186
|
+
"type": "string"
|
|
187
|
+
},
|
|
188
|
+
"description": "*DEPRECATED* (use `dct_isPartOf_sm`). A reference to a related resource for this layer. *Optional*",
|
|
189
|
+
"example": "http://purl.stanford.edu/vr593vj7147"
|
|
190
|
+
},
|
|
191
|
+
"dc_source_sm": {
|
|
192
|
+
"type": "array",
|
|
193
|
+
"items": {
|
|
194
|
+
"type": "string"
|
|
195
|
+
},
|
|
196
|
+
"description": "The identity of a layer from which this layer's data was derived. *Optional*",
|
|
197
|
+
"example": "stanford-vr593vj7147"
|
|
198
|
+
},
|
|
199
|
+
"geoblacklight_version": {
|
|
200
|
+
"type": "string",
|
|
201
|
+
"description": "The version of the GeoBlacklight Schema to which this metadata record conforms.",
|
|
202
|
+
"example": "1.0"
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
}
|
|
@@ -1,31 +1,39 @@
|
|
|
1
|
-
|
|
1
|
+
## <a name="resource-layer">layer</a>
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
A GIS data layer. See [this example](https://github.com/OpenGeoMetadata/edu.stanford.purl/blob/master/bb/099/zb/1450/geoblacklight.json) metadata layer.
|
|
5
|
+
|
|
6
|
+
### Attributes
|
|
7
|
+
|
|
8
|
+
| Name | Type | Description | Example |
|
|
9
|
+
| ------- | ------- | ------- | ------- |
|
|
10
|
+
| **dc_creator_sm** | *array* | Author(s) of the layer. *Optional* | `"George Washington, Thomas Jefferson"` |
|
|
11
|
+
| **dc_description_s** | *string* | Description for the layer. | `"My Description"` |
|
|
12
|
+
| **dc_format_s** | *string* | File format for the layer, using a controlled vocabulary. *Optional*<br/> **one of:**`"Shapefile"` or `"GeoTIFF"` or `"ArcGRID"` | `"Shapefile"` |
|
|
13
|
+
| **dc_identifier_s** | *string* | Unique identifier for layer as a URI. It should be globally unique across all institutions, assumed not to be end-user visible, and is usually of the form `http://institution/id`. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation. | `"http://purl.stanford.edu/vr593vj7147"` |
|
|
14
|
+
| **dc_language_s** | *string* | Language for the layer. *Optional*. Note that future versions of the schema may make this a multi-valued field. | `"English"` |
|
|
15
|
+
| **dc_publisher_s** | *string* | Publisher of the layer. *Optional* | `"ML InfoMap"` |
|
|
16
|
+
| **dc_relation_sm** | *array* | *DEPRECATED* (use `dct_isPartOf_sm`). A reference to a related resource for this layer. *Optional* | `"http://purl.stanford.edu/vr593vj7147"` |
|
|
17
|
+
| **dc_rights_s** | *string* | Access rights for the layer.<br/> **one of:**`"Public"` or `"Restricted"` | `"Public"` |
|
|
18
|
+
| **dc_source_sm** | *array* | The identity of a layer from which this layer's data was derived. *Optional* | `"stanford-vr593vj7147"` |
|
|
19
|
+
| **dc_subject_sm** | *array* | Subjects for the layer, preferrably in a controlled vocabulary. *Optional* | `"Census, Human settlements"` |
|
|
20
|
+
| **dc_title_s** | *string* | Title for the layer. | `"My Title"` |
|
|
21
|
+
| **dc_type_s** | *string* | Resource type of the layer, using DCMI Type Vocabulary, usually a `Dataset`. *Optional*<br/> **one of:**`"Dataset"` or `"Image"` or `"PhysicalObject"` | `"Dataset"` |
|
|
22
|
+
| **dct_isPartOf_sm** | *array* | Holding dataset for the layer, such as the name of a collection. *Optional* | `"Village Maps of India"` |
|
|
23
|
+
| **dct_issued_dt** | *date-time* | Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ). *Optional* | `"2015-01-01T12:00:00Z"` |
|
|
24
|
+
| **dct_provenance_s** | *string* | Institution who holds the layer. | `"Stanford"` |
|
|
25
|
+
| **dct_references_s** | *string* | External resources that are available for the layer. The value is a JSON hash where each key is a URI for the protocol or format, and the value is the URL to the external resource. See `dct_references_s` [detailed documentation](http://geoblacklight.org/tutorial/2015/02/09/geoblacklight-overview.html) | `"{ ... }"` |
|
|
26
|
+
| **dct_spatial_sm** | *array* | Spatial coverage and place names for the layer, preferrably in a controlled vocabulary. *Optional* | `"Paris, San Francisco"` |
|
|
27
|
+
| **dct_temporal_sm** | *array* | Temporal coverage for the layer, typically years or dates. Note that this field is not in a specific date format. *Optional* | `"1989, circa 2010, 2007-2009"` |
|
|
28
|
+
| **geoblacklight_version** | *string* | The version of the GeoBlacklight Schema to which this metadata record conforms. | `"1.0"` |
|
|
29
|
+
| **georss_box_s** | *string* | *DEPRECATED* (use `solr_geom`): Bounding box for the layer, as maximum values for S W N E. | `"12.6 -119.4 19.9 84.8"` |
|
|
30
|
+
| **georss_point_s** | *string* | *DEPRECATED* (use `georss_box_s`): Point representation for layer as y, x - i.e., centroid | `"12.6 -119.4"` |
|
|
31
|
+
| **layer_geom_type_s** | *string* | Geometry type for layer data, using controlled vocabulary.<br/> **one of:**`"Point"` or `"Line"` or `"Polygon"` or `"Raster"` or `"Scanned Map"` or `"Mixed"` | `"Point"` |
|
|
32
|
+
| **layer_id_s** | *string* | The complete identifier for the layer via WMS/WFS/WCS protocol. | `"druid:vr593vj7147"` |
|
|
33
|
+
| **layer_modified_dt** | *date-time* | Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ). | `"2015-01-01T12:00:00Z"` |
|
|
34
|
+
| **layer_slug_s** | *string* | Identifies a layer in human-readable keywords. Note this value is visible to the user, and used for Permalinks. The value should be alpha-numeric characters separated by dashes, and is typically of the form `institution-keyword1-keyword2`. It should also be globally unique across all institutions in *your* GeoBlacklight index. See https://github.com/geoblacklight/geoblacklight/wiki/Schema for more detailed documentation. | `"stanford-andhra-pradesh-village-boundaries"` |
|
|
35
|
+
| **solr_geom** | *string* | Bounding box of the layer as a ENVELOPE WKT (from the CQL standard) using coordinates in (West, East, North, South) order. Note that this field is indexed as a Solr spatial (RPT) field.<br/> **pattern:** `ENVELOPE(.*,.*,.*,.*)` | `"ENVELOPE(76.76, 84.76, 19.91, 12.62)"` |
|
|
36
|
+
| **solr_year_i** | *integer* | *DEPRECATED* (only used by the Blacklight range plugin, not core GeoBlacklight, and generally you want a multi-valued field here): *Derived from* `dct_temporal_sm`. Year for which layer is valid and only a single value. Note that this field is indexed as a Solr numeric field. | `"1989"` |
|
|
37
|
+
| **uuid** | *string* | *DEPRECATED* (use `dc_identifier_s`): Unique identifier for layer that is globally unique. | `"http://purl.stanford.edu/vr593vj7147"` |
|
|
2
38
|
|
|
3
|
-
Table View
|
|
4
39
|
|
|
5
|
-
Properties | Type | Controlled Values | Description
|
|
6
|
-
---------- | ---- | ------------ |-----------
|
|
7
|
-
**uuid** | string || Unique identifier for layer that is globally unique.
|
|
8
|
-
**dc\_identifier\_s** | string || Unique identifier for layer. May be same as UUID but may be an alternate identifier.
|
|
9
|
-
**dc\_title\_s** | string || Title for the layer.
|
|
10
|
-
**dc\_description\_s** | string || Description for the layer.
|
|
11
|
-
**dc\_rights\_s**| string | "Public", "Restricted" | Access rights for the layer.
|
|
12
|
-
**dct\_provenance\_s** | string || Institution who holds the layer.
|
|
13
|
-
**dct\_references\_s** | string || JSON hash for external resources, where each key is a URI for the protocol or format and the value is the URL to the resource.
|
|
14
|
-
**georss\_box\_s** | string || Bounding box as maximum values for S W N E. Example: 12.6 -119.4 19.9 84.8.
|
|
15
|
-
**layer\_id\_s** | string || The complete identifier for the layer via WMS/WFS/WCS protocol. Example: druid:vr593vj7147.
|
|
16
|
-
**layer\_geom\_type\_s** | string | "Point", "Line", "Polygon", "Raster", "Scanned Map", "Mixed" | Geometry type for layer data, using controlled vocabulary.
|
|
17
|
-
**layer\_modified\_dt** | string | date-time | Last modification date for the metadata record, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).
|
|
18
|
-
**layer\_slug\_s** | string || Unique identifier visible to the user, used for Permalinks. Example: stanford-vr593vj7147.
|
|
19
|
-
**solr\_geom** | string | /ENVELOPE(.\*,.\*,.\*,.\*)/ | **Derived** from georss\_polygon\_s or georss\_box\_s. Shape of the layer as a ENVELOPE WKT using W E N S. Example: ENVELOPE(76.76, 84.76, 19.91, 12.62). Note that this field is indexed as a Solr spatial (RPT) field.
|
|
20
|
-
**solr\_year\_i** | integer || **Derived** from dct\_temporal\_sm. Year for which layer is valid and only a single value. Example: 1989. Note that this field is indexed as a Solr numeric field.
|
|
21
|
-
dc\_creator\_sm | multivalued string || Author(s). Example: George Washington, Thomas Jefferson.
|
|
22
|
-
dc\_format\_s | string | Shapefile, GeoTIFF, ArcGRID | File format for the layer, using a controlled vocabulary.
|
|
23
|
-
dc\_language\_s | string || Language for the layer. Example: English.
|
|
24
|
-
dc\_publisher\_s | string || Publisher. Example: ML InfoMap.
|
|
25
|
-
dc\_subject\_sm | multivalued string || Subjects, preferrably in a controlled vocabulary. Examples: Census, Human settlements.
|
|
26
|
-
dc\_type\_s | string | "Dataset", "Image", "PhysicalObject" | Resource type, using DCMI Type Vocabulary.
|
|
27
|
-
dct\_spatial\_sm | multivalued string || Spatial coverage and place names, perferrably in a controlled vocabulary. Example: "Paris, France".
|
|
28
|
-
dct\_temporal\_sm | multivalued string || Temporal coverage, typically years or dates. Example: 1989, circa 2010, 2007-2009. Note that this field is not in a specific date format.
|
|
29
|
-
dct\_issued\_dt | string | date-time | Issued date for the layer, using XML Schema dateTime format (YYYY-MM-DDThh:mm:ssZ).
|
|
30
|
-
dct\_isPartOf\_sm | multivalued string || Holding dataset for the layer, such as the name of a collection. Example: Village Maps of India.
|
|
31
|
-
georss\_point\_s | string || Point representation for layer as y, x - i.e., centroid. Example: 12.6 -119.4.
|