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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/geoblacklight/basemaps.js +6 -4
  3. data/app/assets/javascripts/geoblacklight/geoblacklight.js +1 -1
  4. data/app/assets/javascripts/geoblacklight/modules/util.js +11 -0
  5. data/app/assets/javascripts/geoblacklight/viewers/esri.js +1 -1
  6. data/app/assets/javascripts/geoblacklight/viewers/map.js +2 -8
  7. data/app/assets/javascripts/geoblacklight/viewers/wms.js +1 -1
  8. data/app/assets/stylesheets/geoblacklight/_geoblacklight.scss +2 -0
  9. data/app/assets/stylesheets/geoblacklight/modules/facets.scss +5 -0
  10. data/app/assets/stylesheets/geoblacklight/modules/twitter-typeahead.scss +11 -0
  11. data/app/helpers/geoblacklight_helper.rb +12 -0
  12. data/app/views/catalog/_icon_facet.html.erb +1 -6
  13. data/lib/generators/geoblacklight/install_generator.rb +1 -1
  14. data/lib/geoblacklight/version.rb +1 -1
  15. data/lib/tasks/configure_solr.rake +0 -4
  16. data/lib/tasks/geoblacklight.rake +15 -0
  17. data/schema/geoblacklight-schema.json +207 -0
  18. data/schema/geoblacklight-schema.md +37 -29
  19. data/schema/solr/conf/schema.xml +5 -2
  20. data/spec/features/esri_viewer_spec.rb +7 -7
  21. data/spec/features/home_page_spec.rb +1 -1
  22. data/spec/features/layer_opacity_spec.rb +1 -1
  23. data/spec/features/linkified_attribute_table_spec.rb +11 -0
  24. data/spec/fixtures/solr_documents/actual-papermap1.json +22 -24
  25. data/spec/fixtures/solr_documents/actual-point1.json +2 -4
  26. data/spec/fixtures/solr_documents/actual-polygon1.json +2 -4
  27. data/spec/fixtures/solr_documents/actual-raster1.json +36 -42
  28. data/spec/fixtures/solr_documents/esri-dynamic-layer-all-layers.json +3 -4
  29. data/spec/fixtures/solr_documents/esri-dynamic-layer-single-layer.json +28 -34
  30. data/spec/fixtures/solr_documents/esri-feature-layer.json +15 -21
  31. data/spec/fixtures/solr_documents/esri-image-map-layer.json +4 -5
  32. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +4 -5
  33. data/spec/fixtures/solr_documents/esri-wms-layer.json +32 -40
  34. data/spec/fixtures/solr_documents/harvard_raster.json +3 -6
  35. data/spec/fixtures/solr_documents/public_direct_download.json +2 -5
  36. data/spec/fixtures/solr_documents/public_iiif_princeton.json +2 -3
  37. data/spec/fixtures/solr_documents/public_polygon_mit.json +3 -6
  38. data/spec/fixtures/solr_documents/restricted-line.json +35 -41
  39. data/spec/javascripts/util_spec.js +12 -0
  40. metadata +10 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3bcfdae95fc9d77f59fca94cb057b718bdf45570
4
- data.tar.gz: 9fc80b4fe006b4ae6ccc6a5e7a3302b68219ac92
3
+ metadata.gz: b33d53cff735001ba0c52280885f8adff16ff7bb
4
+ data.tar.gz: 4ed8c5b0e6d73e28af176ed1b75ef39d6b8ef9fc
5
5
  SHA512:
6
- metadata.gz: 808d31fb7c6ad514803cb467f95bb8fff70257980d9e04586843cafacf67be910fbadcf1b1b19901a8c688e231eab4a4699d839ba77d0dc9296aa2c2ba124f9c
7
- data.tar.gz: 6e487c29f72344eccffc94fad3eeef8b43ab0c3411eeaf8479b3b80893b56ffe7566210709c04919861409ab70f519f51bcc1c0469c80d29c22e5597e7cb83fa
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: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
7
7
  maxZoom: 18,
8
8
  worldCopyJump: true,
9
- detectRetina: true
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: '&copy; <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors, &copy; <a href="http://cartodb.com/attributions">CartoDB</a>',
15
16
  maxZoom: 18,
16
17
  worldCopyJump: true,
17
- detectRetina: true
18
+ retina: '@2x',
19
+ detectRetina: false
18
20
  }
19
21
  )
20
22
  };
@@ -20,7 +20,7 @@
20
20
 
21
21
  var GeoBlacklight = L.Class.extend({
22
22
  statics: {
23
- __version__: '1.0.0.pre2',
23
+ __version__: '1.0.0.pre3',
24
24
 
25
25
  debounce: function(fn, delay) {
26
26
  var timeout = null;
@@ -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
- basemap = GeoBlacklight.Basemaps[_this.data.basemap];
55
+ return GeoBlacklight.Basemaps[_this.data.basemap];
58
56
  } else {
59
- basemap = _this.basemap.positron;
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';
@@ -0,0 +1,5 @@
1
+ .facet-label .geoblacklight-icon {
2
+ display: inline;
3
+ padding-left: 10px;
4
+ padding-right: 15px;
5
+ }
@@ -0,0 +1,11 @@
1
+ .twitter-typeahead {
2
+
3
+ .tt-input.form-control {
4
+ width: 100%;
5
+ }
6
+
7
+ .tt-hint.form-control {
8
+ width: 100%;
9
+ }
10
+
11
+ }
@@ -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
- <%= geoblacklight_icon item.value %>
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
 
@@ -1,3 +1,3 @@
1
1
  module Geoblacklight
2
- VERSION = '1.0.0.pre2'.freeze
2
+ VERSION = '1.0.0.pre3'.freeze
3
3
  end
@@ -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
- # GeoBlacklight-Schema
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.