geoblacklight-schema 0.2.0

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 (57) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/LICENSE +14 -0
  4. data/README.md +44 -0
  5. data/bin/fgdc2mods.rb +5 -0
  6. data/bin/mods2geoblacklight.rb +5 -0
  7. data/bin/xsltproc-saxon +14 -0
  8. data/conf/protwords.txt +21 -0
  9. data/conf/schema.xml +158 -0
  10. data/conf/solrconfig.xml +160 -0
  11. data/conf/stopwords_en.txt +34 -0
  12. data/conf/synonyms.txt +29 -0
  13. data/examples/Gemfile +4 -0
  14. data/examples/generate-example-doc.rb +42 -0
  15. data/examples/selected.json +5787 -0
  16. data/examples/upload-to-solr.rb +50 -0
  17. data/geoblacklight-schema.gemspec +23 -0
  18. data/lib/geoblacklight/gazetteer.csv +1011 -0
  19. data/lib/geoblacklight/gazetteer.rb +104 -0
  20. data/lib/xslt/arcgis_to_iso19110.xsl +364 -0
  21. data/lib/xslt/fgdc2mods.xsl +1007 -0
  22. data/lib/xslt/iso2mods.xsl +939 -0
  23. data/lib/xslt/mods2geoblacklight.xsl +268 -0
  24. data/lib/xslt/mods2ogp.xsl +195 -0
  25. data/tools/fgdc2html/Gemfile +2 -0
  26. data/tools/fgdc2html/fgdc2html.css +71 -0
  27. data/tools/fgdc2html/fgdc2html.js +6 -0
  28. data/tools/fgdc2html/fgdc2html.xsl +1034 -0
  29. data/tools/fgdc2html/render.rb +30 -0
  30. data/tools/iso2html/Gemfile +2 -0
  31. data/tools/iso2html/iso-html.xsl +1745 -0
  32. data/tools/iso2html/render.rb +24 -0
  33. data/tools/iso2html/utils/convert-enumerations.xsl +97 -0
  34. data/tools/iso2html/utils/convert-latlong.xsl +73 -0
  35. data/tools/iso2html/utils/decode-uri/base.css +408 -0
  36. data/tools/iso2html/utils/decode-uri/index.html +29 -0
  37. data/tools/iso2html/utils/elements-fgdc.xml +824 -0
  38. data/tools/iso2html/utils/elements-iso.xml +636 -0
  39. data/tools/iso2html/utils/printFormatted.xsl +267 -0
  40. data/tools/iso2html/utils/printTextLines.xsl +192 -0
  41. data/tools/iso2html/utils/replace-newlines.xsl +97 -0
  42. data/tools/iso2html/utils/replace-string.xsl +80 -0
  43. data/tools/iso2html/utils/strip-digits.xsl +60 -0
  44. data/tools/iso2html/utils/url-decode.xsl +87 -0
  45. data/tools/iso2html/utils/wrap-text.xsl +174 -0
  46. data/tools/ogp/0_download.rb +96 -0
  47. data/tools/ogp/1_validate.rb +225 -0
  48. data/tools/ogp/2_transform.rb +438 -0
  49. data/tools/ogp/3_stanford.rb +35 -0
  50. data/tools/ogp/4_select.rb +189 -0
  51. data/tools/ogp/5_ingest.rb +55 -0
  52. data/tools/ogp/Gemfile +2 -0
  53. data/tools/solr/Gemfile +3 -0
  54. data/tools/solr/purge.rb +33 -0
  55. data/tools/solr/upload.rb +35 -0
  56. data/vendor/.keep +0 -0
  57. metadata +131 -0
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ require 'awesome_print'
3
+ require 'nokogiri'
4
+ require 'json'
5
+
6
+ srcdir = '/var/cache/opengeometadata/edu.stanford.purl'
7
+
8
+ layers = JSON.parse(File.open('transformed.json', 'rb').read)
9
+ raise RuntimeError unless layers.is_a?(Array) && layers.first.is_a?(Hash)
10
+
11
+ Dir.glob("#{srcdir}/**/geoblacklight.xml").each do |fn|
12
+ puts "Loading #{fn}"
13
+ doc = Nokogiri::XML(File.open(fn, 'rb').read)
14
+ # ap({:doc => doc})
15
+ new_layer = {}
16
+ doc.xpath('//solr:field', 'xmlns:solr' => 'http://lucene.apache.org/solr/4/document').each do |field|
17
+ k = field['name'].to_s.strip.to_sym
18
+ if k.to_s =~ /_sm$/
19
+ if new_layer[k].nil?
20
+ new_layer[k] = []
21
+ end
22
+ new_layer[k] << field.content
23
+ else
24
+ new_layer[k] = field.content
25
+ end
26
+ end
27
+ # ap({:new_layer => new_layer})
28
+ layers << new_layer
29
+ end
30
+
31
+ File.open('transformed.json', 'wb') do |f|
32
+ f << JSON::pretty_generate(layers)
33
+ end
34
+
35
+ puts "Transformed now has #{layers.size} layers"
@@ -0,0 +1,189 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Usage: select.rb
4
+
5
+ require 'awesome_print'
6
+ require 'json'
7
+
8
+ # __MAIN__
9
+ selected = []
10
+ srand Time.now.to_i
11
+ fn = 'transformed.json'
12
+ valid = JSON::parse(File.read(fn))
13
+
14
+ # select random records
15
+ valid.each do |i|
16
+ if rand < 0.01
17
+ selected << i
18
+ end
19
+ end
20
+
21
+ puts "Selected #{selected.size} random records"
22
+
23
+ # iterate through specific layer_id's
24
+ %w{
25
+ http://arks.princeton.edu/ark:/88435/02870w62c
26
+ http://purl.stanford.edu/jf841ys4828
27
+ http://purl.stanford.edu/jr127wd5810
28
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.EZ_F7DISTRICTS_2008
29
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.INT_A1CNTRY_2005
30
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.INT_A8MISPOP_2004
31
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.IN_HYDERABAD_P2ROAD_2007
32
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.NA_N3NOREGESP_2008
33
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.NA_P61AIRPORTS_2009
34
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.SF_WC_G46LEASEAREAS_1998
35
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.SZ_E29VAC_2002
36
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.US_F7MPO_2006
37
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.US_MA_CAMBRIDGE_C3BASINS_2007
38
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.US_MA_CAMBRIDGE_G46PORCH_2010
39
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.US_MA_CAMBRIDGE_S1CONSV_2007
40
+ urn:arrowsmith.mit.edu:MIT.SDE_DATA.US_MA_E25ZCTA5DCT_2000
41
+ urn:geodata.tufts.edu:Tufts.AlgeriaLakes97
42
+ urn:geodata.tufts.edu:Tufts.BahrainRoads94
43
+ urn:geodata.tufts.edu:Tufts.BulgariaRegions06
44
+ urn:geodata.tufts.edu:Tufts.CambridgeParkingLot03
45
+ urn:geodata.tufts.edu:Tufts.CambridgeStairs03
46
+ urn:geodata.tufts.edu:Tufts.CambridgeTaxingDistFY11
47
+ urn:geodata.tufts.edu:Tufts.ChinaProvinces90
48
+ urn:geodata.tufts.edu:Tufts.Denmark4DigPostCode06
49
+ urn:geodata.tufts.edu:Tufts.Ecuador1MLake08
50
+ urn:geodata.tufts.edu:Tufts.EgyptLakes97
51
+ urn:geodata.tufts.edu:Tufts.IrelandRivers06
52
+ urn:geodata.tufts.edu:Tufts.IsraelPalestineGenevaBord03
53
+ urn:geodata.tufts.edu:Tufts.JerusalemBuildings08
54
+ urn:geodata.tufts.edu:Tufts.MarlboroughRoads09
55
+ urn:geodata.tufts.edu:Tufts.TogoRivers97
56
+ urn:hul.harvard.edu:HARVARD.SDE.AMS7810_S250_U54_NG47_11
57
+ urn:hul.harvard.edu:HARVARD.SDE.AMS7810_S250_U54_NG47_16
58
+ urn:hul.harvard.edu:HARVARD.SDE.ARCBIKE
59
+ urn:hul.harvard.edu:HARVARD.SDE.ARCHHYDROLN
60
+ urn:hul.harvard.edu:HARVARD.SDE.ARCMARTASTN
61
+ urn:hul.harvard.edu:HARVARD.SDE.BRLBOS
62
+ urn:hul.harvard.edu:HARVARD.SDE.ESRIEURCANALS
63
+ urn:hul.harvard.edu:HARVARD.SDE.ESRIMIZIP
64
+ urn:hul.harvard.edu:HARVARD.SDE.KNG_POLICE
65
+ urn:hul.harvard.edu:HARVARD.SDE.MEACOMMSTAT95
66
+ urn:hul.harvard.edu:HARVARD.SDE.TG00ALCTY00
67
+ urn:hul.harvard.edu:HARVARD.SDE.TG00ALKGL
68
+ urn:hul.harvard.edu:HARVARD.SDE.TG00CAAIR00
69
+ urn:hul.harvard.edu:HARVARD.SDE.TG00COMSA00
70
+ urn:hul.harvard.edu:HARVARD.SDE.TG00HIUNI
71
+ urn:hul.harvard.edu:HARVARD.SDE.TG00IDPLC
72
+ urn:hul.harvard.edu:HARVARD.SDE.TG00ILCTY00
73
+ urn:hul.harvard.edu:HARVARD.SDE.TG00INLKA
74
+ urn:hul.harvard.edu:HARVARD.SDE.TG00MATRT
75
+ urn:hul.harvard.edu:HARVARD.SDE.TG00MILKD
76
+ urn:hul.harvard.edu:HARVARD.SDE.TG00MNUNI
77
+ urn:hul.harvard.edu:HARVARD.SDE.TG00MTLKF
78
+ urn:hul.harvard.edu:HARVARD.SDE.TG00MTPUMA
79
+ urn:hul.harvard.edu:HARVARD.SDE.TG00NJPUMA
80
+ urn:hul.harvard.edu:HARVARD.SDE.TG00NMVOT00
81
+ urn:hul.harvard.edu:HARVARD.SDE.TG00ORLPT
82
+ urn:hul.harvard.edu:HARVARD.SDE.TG00PRPMS00
83
+ urn:hul.harvard.edu:HARVARD.SDE.TG00VAAIR00
84
+ urn:hul.harvard.edu:HARVARD.SDE.TG00VATRT00
85
+ urn:hul.harvard.edu:HARVARD.SDE.TG00VILKD
86
+ urn:hul.harvard.edu:HARVARD.SDE.TG00VTSEC
87
+ urn:hul.harvard.edu:HARVARD.SDE.TG00WAPUMA
88
+ urn:hul.harvard.edu:HARVARD.SDE.TG95ALCDCPY
89
+ urn:hul.harvard.edu:HARVARD.SDE.TG95AZELMPY
90
+ urn:hul.harvard.edu:HARVARD.SDE.TG95CACTYPY
91
+ urn:hul.harvard.edu:HARVARD.SDE.TG95COCCDPY
92
+ urn:hul.harvard.edu:HARVARD.SDE.TG95HISECPY
93
+ urn:hul.harvard.edu:HARVARD.SDE.TG95ILUNIPY
94
+ urn:hul.harvard.edu:HARVARD.SDE.TG95KSPLCPY
95
+ urn:hul.harvard.edu:HARVARD.SDE.TG95MILKBLN
96
+ urn:hul.harvard.edu:HARVARD.SDE.TG95MTAIRCUPY
97
+ urn:hul.harvard.edu:HARVARD.SDE.TG95MTURBPY
98
+ urn:hul.harvard.edu:HARVARD.SDE.TG95NMTRTPY
99
+ urn:hul.harvard.edu:HARVARD.SDE.TG95NYCTYPY
100
+ urn:hul.harvard.edu:HARVARD.SDE.TG95OHLPTPT
101
+ urn:hul.harvard.edu:HARVARD.SDE.TG95ORTRTPY
102
+ urn:hul.harvard.edu:HARVARD.SDE.TG95SCCTYPY
103
+ urn:hul.harvard.edu:HARVARD.SDE.TG95VALKDLN
104
+ urn:hul.harvard.edu:HARVARD.SDE.TG95VALKHLN
105
+ urn:hul.harvard.edu:HARVARD.SDE.TG95VATAZPY
106
+ urn:hul.harvard.edu:HARVARD.SDE.TG95WVLKALN
107
+ urn:hul.harvard.edu:HARVARD.SDE.USGS15MA_GREENFIE_1890
108
+ urn:hul.harvard.edu:HARVARD.SDE.VMAP1AQUEDCTL
109
+ urn:hul.harvard.edu:HARVARD.SDE.VMAP1EMBANKL
110
+ urn:hul.harvard.edu:HARVARD.SDE.VMAP1SEAICEA
111
+ urn:hul.harvard.edu:HARVARD.SDE.VMAP1VEGTXT
112
+ urn:hul.harvard.edu:HARVARD.SDE2.AFRICOVER_TZ_SPAT_AGG
113
+ urn:hul.harvard.edu:HARVARD.SDE2.AM_ONC_L04L
114
+ urn:hul.harvard.edu:HARVARD.SDE2.CH2000_L_F
115
+ urn:hul.harvard.edu:HARVARD.SDE2.DMA50K_46751L
116
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI04EURREGDEMOG
117
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI04LAKES
118
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI04MXURBAN
119
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI04USLALNDMRK
120
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI06EURPLACES
121
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI06USBLKPOP_ME
122
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI07USBLKPOP_AK
123
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI07USBLKPOP_ME
124
+ urn:hul.harvard.edu:HARVARD.SDE2.ESRI12USTRACTS
125
+ urn:hul.harvard.edu:HARVARD.SDE2.EURATLAS_CITIES_1900
126
+ urn:hul.harvard.edu:HARVARD.SDE2.G3774_P9_1849_C8
127
+ urn:hul.harvard.edu:HARVARD.SDE2.G3802_E44_1821_N4_SH2
128
+ urn:hul.harvard.edu:HARVARD.SDE2.G3804_N4C2_1961_G4_SH_6
129
+ urn:hul.harvard.edu:HARVARD.SDE2.G3804_N4_2M3_1845_S7_SH_2
130
+ urn:hul.harvard.edu:HARVARD.SDE2.G6714_N2_1826_J6
131
+ urn:hul.harvard.edu:HARVARD.SDE2.G7064_S2_1834_K3
132
+ urn:hul.harvard.edu:HARVARD.SDE2.H008768589_V07_0007
133
+ urn:hul.harvard.edu:HARVARD.SDE2.MADRG_K42073B1
134
+ urn:hul.harvard.edu:HARVARD.SDE2.MATWN_3764_B6P3_1850_P4
135
+ urn:hul.harvard.edu:HARVARD.SDE2.ME3732_P4_1798_C3
136
+ urn:hul.harvard.edu:HARVARD.SDE2.MGISBIOCHP
137
+ urn:hul.harvard.edu:HARVARD.SDE2.TG10NHVTD
138
+ urn:hul.harvard.edu:HARVARD.SDE2.TG10USAIANNH
139
+ urn:hul.harvard.edu:HARVARD.SDE2.USGS_GT_CONCEPCION_MINAS_DNN
140
+ urn:hul.harvard.edu:HARVARD.SDE2.USGS_GT_GUATEMALA_CITY_HYP
141
+ urn:hul.harvard.edu:HARVARD.SDE2.USGS_NU_ESTELI_RDL
142
+ urn:hul.harvard.edu:HARVARD.SDE2.USGS_NU_LEON_RRL
143
+ urn:hul.harvard.edu:HARVARD.SDE2.USGS_NU_POSOLTEGA_DSL
144
+ urn:hul.harvard.edu:HARVARD.SDE2.VT3754_H52G46_1836_M3
145
+ urn:massgis.state.ma.us:MassGIS.EOPS.UCR_00_S_V
146
+ urn:massgis.state.ma.us:MassGIS.GISDATA.ACECS_ARC
147
+ urn:massgis.state.ma.us:MassGIS.GISDATA.FISHTRAPS_PT
148
+ urn:massgis.state.ma.us:MassGIS.GISDATA.REGDPHEPC_POLY
149
+ }.each do |i|
150
+ valid.each do |j|
151
+ selected << j if j['dc_identifier_s'] == i
152
+ end
153
+ end
154
+ puts "Selected #{selected.size} specific IDs and random records"
155
+
156
+ # iterate through specific conditions
157
+ found_case = {}
158
+ valid.each do |j|
159
+ if !found_case['1'] && j['dc_rights_s'] == 'Public' && j['dct_provenance_s'] == 'Stanford'
160
+ selected << j
161
+ found_case['1'] = true
162
+ end
163
+ if !found_case['2'] && j['dct_references_s'] == '{}'
164
+ selected << j
165
+ found_case['2'] = true
166
+ end
167
+ %w{Berkeley Columbia Harvard Minnesota MIT MassGIS Tufts UCLA}.each do |i|
168
+ if !found_case[i] && j['dct_provenance_s'] == i
169
+ selected << j
170
+ found_case[i] = true
171
+ end
172
+ end
173
+ %w{Line Point Polygon Raster Scanned\ Map Paper\ Map Digital}.each do |i|
174
+ if !found_case[i] && j['layer_geom_type_s'] == i
175
+ selected << j
176
+ found_case[i] = true
177
+ end
178
+ end
179
+ %w{Shapefile GeoTIFF Paper CD-ROM DVD-ROM}.each do |i|
180
+ if !found_case[i] && j['dc_format_s'] == i
181
+ selected << j
182
+ found_case[i] = true
183
+ end
184
+ end
185
+ end
186
+ puts "Selected #{selected.size} specific cases and IDs and random records"
187
+
188
+
189
+ File.open('selected.json', 'wb') {|f| f << JSON.pretty_generate(selected)}
@@ -0,0 +1,55 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require 'json'
4
+ require 'rsolr'
5
+
6
+
7
+ class IngestOgp
8
+ def initialize(collection, url, skip = 0)
9
+ @skip = skip
10
+ raise ArgumentError, 'Collection not defined' unless collection.is_a? String
11
+ @solr = RSolr.connect(:url => (url + '/' + collection))
12
+ yield self
13
+ close
14
+ end
15
+
16
+ def ingest(fn)
17
+ puts "Ingesting #{fn}"
18
+ json = JSON::parse(File.read(fn))
19
+ n = 0
20
+ json.each do |doc|
21
+ next unless doc.is_a? Hash and not doc.empty?
22
+ doc.delete('_version_')
23
+ doc.delete('timestamp')
24
+ putc "."
25
+ begin
26
+ @solr.add doc
27
+ rescue Exception => e
28
+ puts e
29
+ end unless n < @skip
30
+
31
+ n += 1
32
+ if n % 100 == 0
33
+ @solr.commit
34
+ puts "\ncommit 100 records, #{n} total\n"
35
+ end
36
+ end
37
+ puts "\n#{n} records\n"
38
+ @solr.commit
39
+ end
40
+
41
+ def close
42
+ @solr.commit
43
+ #@solr.optimize
44
+ @solr = nil
45
+ end
46
+
47
+ end
48
+
49
+
50
+ # __MAIN__
51
+ IngestOgp.new(ARGV[0], (ARGV[1].nil?? 'http://localhost:8080/solr' : ARGV[1]), ARGV[2].nil?? 0 : ARGV[2].to_i) do |ogp|
52
+ Dir.glob("transformed*.json") do |fn|
53
+ ogp.ingest(fn)
54
+ end
55
+ end
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gem 'rsolr'
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+ gem 'rsolr'
3
+ gem 'nokogiri'
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Usage: purge.rb my-collection http://localhost:8080/solr query
4
+ #
5
+ require 'rsolr'
6
+
7
+ class SolrPurger
8
+ def initialize(collection, url)
9
+ raise ArgumentError, 'Collection not defined' unless collection.is_a? String
10
+ @solr = RSolr.connect(:url => (url + '/' + collection))
11
+ yield self
12
+ close
13
+ end
14
+
15
+ def purge q
16
+ @solr.delete_by_query(q)
17
+ end
18
+
19
+ def close
20
+ @solr.commit
21
+ @solr = nil
22
+ end
23
+
24
+ end
25
+
26
+ # __MAIN__
27
+ if ARGV[0] == '--help' || ARGV.size != 2
28
+ puts 'Usage: purge.rb my-collection http://localhost:8080/solr'
29
+ exit -1
30
+ end
31
+ SolrPurger.new(ARGV[0], ARGV[1]) do |sp|
32
+ sp.purge ARGV[2]
33
+ end
@@ -0,0 +1,35 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Usage: upload.rb http://localhost:8080/my-collection file1.xml [file2.json...]
4
+ #
5
+ require 'rsolr'
6
+ require 'nokogiri'
7
+
8
+ if ARGV.size < 2
9
+ puts 'Usage: upload.rb http://localhost:8080/my-collection file1.xml [file2.json...]'
10
+ exit -1
11
+ end
12
+
13
+ stop_on_error = false
14
+
15
+ solr = RSolr.connect :url => ARGV.delete_at(0)
16
+
17
+ ARGV.each do |fn|
18
+ puts "Processing #{fn}"
19
+ begin
20
+ if fn =~ /.xml$/
21
+ doc = Nokogiri::XML(File.open(fn, 'rb').read)
22
+ solr.update :data => doc.to_xml
23
+ elsif fn =~ /.json$/
24
+ doc = JSON.parse(File.open(fn, 'rb').read)
25
+ solr.add doc
26
+ else
27
+ raise RuntimeError, "Unknown file type: #{fn}"
28
+ end
29
+ rescue => e
30
+ puts "ERROR: #{e}: #{e.backtrace}"
31
+ raise e if stop_on_error
32
+ end
33
+ end
34
+
35
+ solr.commit
File without changes
metadata ADDED
@@ -0,0 +1,131 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: geoblacklight-schema
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Darren Hardy
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-12-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 10.3.2
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 10.3.2
41
+ description:
42
+ email:
43
+ - drh@stanford.edu
44
+ executables:
45
+ - fgdc2mods.rb
46
+ - mods2geoblacklight.rb
47
+ - xsltproc-saxon
48
+ extensions: []
49
+ extra_rdoc_files: []
50
+ files:
51
+ - .gitignore
52
+ - LICENSE
53
+ - README.md
54
+ - bin/fgdc2mods.rb
55
+ - bin/mods2geoblacklight.rb
56
+ - bin/xsltproc-saxon
57
+ - conf/protwords.txt
58
+ - conf/schema.xml
59
+ - conf/solrconfig.xml
60
+ - conf/stopwords_en.txt
61
+ - conf/synonyms.txt
62
+ - examples/Gemfile
63
+ - examples/generate-example-doc.rb
64
+ - examples/selected.json
65
+ - examples/upload-to-solr.rb
66
+ - geoblacklight-schema.gemspec
67
+ - lib/geoblacklight/gazetteer.csv
68
+ - lib/geoblacklight/gazetteer.rb
69
+ - lib/xslt/arcgis_to_iso19110.xsl
70
+ - lib/xslt/fgdc2mods.xsl
71
+ - lib/xslt/iso2mods.xsl
72
+ - lib/xslt/mods2geoblacklight.xsl
73
+ - lib/xslt/mods2ogp.xsl
74
+ - tools/fgdc2html/Gemfile
75
+ - tools/fgdc2html/fgdc2html.css
76
+ - tools/fgdc2html/fgdc2html.js
77
+ - tools/fgdc2html/fgdc2html.xsl
78
+ - tools/fgdc2html/render.rb
79
+ - tools/iso2html/Gemfile
80
+ - tools/iso2html/iso-html.xsl
81
+ - tools/iso2html/render.rb
82
+ - tools/iso2html/utils/convert-enumerations.xsl
83
+ - tools/iso2html/utils/convert-latlong.xsl
84
+ - tools/iso2html/utils/decode-uri/base.css
85
+ - tools/iso2html/utils/decode-uri/index.html
86
+ - tools/iso2html/utils/elements-fgdc.xml
87
+ - tools/iso2html/utils/elements-iso.xml
88
+ - tools/iso2html/utils/printFormatted.xsl
89
+ - tools/iso2html/utils/printTextLines.xsl
90
+ - tools/iso2html/utils/replace-newlines.xsl
91
+ - tools/iso2html/utils/replace-string.xsl
92
+ - tools/iso2html/utils/strip-digits.xsl
93
+ - tools/iso2html/utils/url-decode.xsl
94
+ - tools/iso2html/utils/wrap-text.xsl
95
+ - tools/ogp/0_download.rb
96
+ - tools/ogp/1_validate.rb
97
+ - tools/ogp/2_transform.rb
98
+ - tools/ogp/3_stanford.rb
99
+ - tools/ogp/4_select.rb
100
+ - tools/ogp/5_ingest.rb
101
+ - tools/ogp/Gemfile
102
+ - tools/solr/Gemfile
103
+ - tools/solr/purge.rb
104
+ - tools/solr/upload.rb
105
+ - vendor/.keep
106
+ homepage: http://github.com/geoblacklight/geoblacklight-schema
107
+ licenses:
108
+ - Apache 2.0
109
+ metadata: {}
110
+ post_install_message:
111
+ rdoc_options: []
112
+ require_paths:
113
+ - lib
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - '>='
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - '>='
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ requirements: []
125
+ rubyforge_project:
126
+ rubygems_version: 2.4.5
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: Schema Tools for GeoBlacklight
130
+ test_files: []
131
+ has_rdoc: