geoloader 0.1.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 (58) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +13 -0
  3. data/.gitignore +17 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/Gemfile +2 -0
  7. data/README.md +212 -0
  8. data/Rakefile +10 -0
  9. data/bin/geoloader +4 -0
  10. data/config.yaml +18 -0
  11. data/geoloader.gemspec +37 -0
  12. data/iso19139.xsl +445 -0
  13. data/lib/geoloader.rb +48 -0
  14. data/lib/geoloader/assets/asset.rb +63 -0
  15. data/lib/geoloader/assets/description.rb +55 -0
  16. data/lib/geoloader/assets/geonetwork.rb +58 -0
  17. data/lib/geoloader/assets/geotiff.rb +41 -0
  18. data/lib/geoloader/assets/shapefile.rb +28 -0
  19. data/lib/geoloader/assets/solr.rb +23 -0
  20. data/lib/geoloader/cli/app.rb +26 -0
  21. data/lib/geoloader/cli/geonetwork.rb +36 -0
  22. data/lib/geoloader/cli/geoserver.rb +36 -0
  23. data/lib/geoloader/cli/solr.rb +36 -0
  24. data/lib/geoloader/loaders/geonetwork.rb +40 -0
  25. data/lib/geoloader/loaders/geotiff_geoserver.rb +47 -0
  26. data/lib/geoloader/loaders/geotiff_solr.rb +40 -0
  27. data/lib/geoloader/loaders/loader.rb +53 -0
  28. data/lib/geoloader/loaders/shapefile_geoserver.rb +40 -0
  29. data/lib/geoloader/loaders/shapefile_solr.rb +40 -0
  30. data/lib/geoloader/services/geonetwork.rb +201 -0
  31. data/lib/geoloader/services/geoserver.rb +104 -0
  32. data/lib/geoloader/services/solr.rb +62 -0
  33. data/lib/geoloader/tasks/geonetwork.rb +28 -0
  34. data/lib/geoloader/tasks/geoserver.rb +19 -0
  35. data/lib/geoloader/tasks/solr.rb +19 -0
  36. data/lib/geoloader/version.rb +4 -0
  37. data/metadata.md +13 -0
  38. data/spec/fixtures/geotiff.tfw +6 -0
  39. data/spec/fixtures/geotiff.tif +0 -0
  40. data/spec/fixtures/geotiff.tif.aux.xml +1315 -0
  41. data/spec/fixtures/geotiff.tif.ovr +0 -0
  42. data/spec/fixtures/geotiff.tif.vat.dbf +0 -0
  43. data/spec/fixtures/geotiff.tif.xml +2 -0
  44. data/spec/fixtures/shapefile.dbf +0 -0
  45. data/spec/fixtures/shapefile.prj +1 -0
  46. data/spec/fixtures/shapefile.sbn +0 -0
  47. data/spec/fixtures/shapefile.sbx +0 -0
  48. data/spec/fixtures/shapefile.shp +0 -0
  49. data/spec/fixtures/shapefile.shp.xml +51 -0
  50. data/spec/fixtures/shapefile.shx +0 -0
  51. data/spec/helpers/fixture.rb +13 -0
  52. data/spec/loaders/geonetwork.rb +38 -0
  53. data/spec/loaders/geotiff_geoserver.rb +49 -0
  54. data/spec/loaders/geotiff_solr.rb +34 -0
  55. data/spec/loaders/shapefile_geoserver.rb +49 -0
  56. data/spec/loaders/shapefile_solr.rb +34 -0
  57. data/spec/spec_helper.rb +6 -0
  58. metadata +362 -0
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <metadata xml:lang="en"><Esri><CreaDate>20130509</CreaDate><CreaTime>14513400</CreaTime><ArcGISFormat>1.0</ArcGISFormat><SyncOnce>FALSE</SyncOnce><DataProperties><lineage><Process Name="Reclassify" ToolSource="C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Spatial Analyst Tools.tbx\Reclassify" Date="20130509" Time="145134">Reclassify F:\backup\Stavros\37_57_WGS_84\1937_WGS\1937_16_44.tif Value "0 NODATA;1 1" F:\backup\Stavros\37_57_WGS_84\test\intermed DATA</Process><Process Name="Copy Raster" ToolSource="C:\Program Files\ArcGIS\Desktop10.0\ArcToolbox\Toolboxes\Data Management Tools.tbx\CopyRaster" Date="20130509" Time="145140">CopyRaster F:\backup\Stavros\37_57_WGS_84\test\intermed F:\backup\Stavros\37_57_WGS_84\37_wgs_noborder\1937_16_44.tif # # 0 NONE NONE #</Process></lineage><itemProps><itemName Sync="TRUE">1937_16_44.tif</itemName><itemLocation><linkage Sync="TRUE">file://F:\backup\Stavros\37_57_WGS_84\37_wgs_noborder\1937_16_44.tif</linkage><protocol Sync="TRUE">Local Area Network</protocol></itemLocation><imsContentType Sync="TRUE">002</imsContentType><nativeExtBox><westBL Sync="TRUE">-78.371093</westBL><eastBL Sync="TRUE">-78.313411</eastBL><southBL Sync="TRUE">38.054140</southBL><northBL Sync="TRUE">38.100574</northBL><exTypeCode Sync="TRUE">1</exTypeCode></nativeExtBox></itemProps><coordRef><type Sync="TRUE">Geographic</type><geogcsn Sync="TRUE">GCS_WGS_1984</geogcsn><peXml Sync="TRUE">&lt;GeographicCoordinateSystem xsi:type='typens:GeographicCoordinateSystem' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:typens='http://www.esri.com/schemas/ArcGIS/10.0'&gt;&lt;WKT&gt;GEOGCS[&amp;quot;GCS_WGS_1984&amp;quot;,DATUM[&amp;quot;D_WGS_1984&amp;quot;,SPHEROID[&amp;quot;WGS_1984&amp;quot;,6378137.0,298.257223563]],PRIMEM[&amp;quot;Greenwich&amp;quot;,0.0],UNIT[&amp;quot;Degree&amp;quot;,0.0174532925199433],AUTHORITY[&amp;quot;EPSG&amp;quot;,4326]]&lt;/WKT&gt;&lt;XOrigin&gt;-399.99999999999989&lt;/XOrigin&gt;&lt;YOrigin&gt;-399.99999999999989&lt;/YOrigin&gt;&lt;XYScale&gt;11258999068426.24&lt;/XYScale&gt;&lt;ZOrigin&gt;-100000&lt;/ZOrigin&gt;&lt;ZScale&gt;10000&lt;/ZScale&gt;&lt;MOrigin&gt;-100000&lt;/MOrigin&gt;&lt;MScale&gt;10000&lt;/MScale&gt;&lt;XYTolerance&gt;8.9831528411952133e-009&lt;/XYTolerance&gt;&lt;ZTolerance&gt;0.001&lt;/ZTolerance&gt;&lt;MTolerance&gt;0.001&lt;/MTolerance&gt;&lt;HighPrecision&gt;true&lt;/HighPrecision&gt;&lt;LeftLongitude&gt;-180&lt;/LeftLongitude&gt;&lt;WKID&gt;4326&lt;/WKID&gt;&lt;/GeographicCoordinateSystem&gt;</peXml></coordRef><RasterProperties><General><PixelDepth Sync="TRUE">16</PixelDepth><HasColormap Sync="TRUE">FALSE</HasColormap><CompressionType Sync="TRUE">None</CompressionType><NumBands Sync="TRUE">1</NumBands><Format Sync="TRUE">TIFF</Format><HasPyramids Sync="TRUE">TRUE</HasPyramids><SourceType Sync="TRUE">continuous</SourceType><PixelType Sync="TRUE">signed integer</PixelType><NoDataValue Sync="TRUE">0</NoDataValue></General></RasterProperties></DataProperties><SyncDate>20130509</SyncDate><SyncTime>14513800</SyncTime><ModDate>20130509</ModDate><ModTime>14513800</ModTime></Esri><dataIdInfo><envirDesc Sync="TRUE">Microsoft Windows Server 2008 R2 Version 6.1 (Build 7601) Service Pack 1; ESRI ArcGIS 10.0.0.2414</envirDesc><dataLang><languageCode value="eng" country="USA"></languageCode></dataLang><idCitation><resTitle Sync="TRUE">1937_16_44.tif</resTitle><presForm><PresFormCd value="005"></PresFormCd></presForm></idCitation><descKeys><thesaName uuidref="723f6998-058e-11dc-8314-0800200c9a66"></thesaName><keyword Sync="TRUE">002</keyword></descKeys><spatRpType><SpatRepTypCd value="002"></SpatRepTypCd></spatRpType><dataExt><geoEle><GeoBndBox esriExtentType="search"><westBL Sync="TRUE">-78.371093</westBL><eastBL Sync="TRUE">-78.313411</eastBL><northBL Sync="TRUE">38.100574</northBL><southBL Sync="TRUE">38.054140</southBL><exTypeCode Sync="TRUE">1</exTypeCode></GeoBndBox></geoEle></dataExt></dataIdInfo><mdLang><languageCode value="eng"></languageCode></mdLang><mdChar><CharSetCd value="004"></CharSetCd></mdChar><distInfo><distFormat><formatName Sync="TRUE">Raster Dataset</formatName></distFormat></distInfo><mdHrLv><ScopeCd value="005"></ScopeCd></mdHrLv><mdHrLvName Sync="TRUE">dataset</mdHrLvName><refSysInfo><RefSystem><refSysID><identCode code="4326"></identCode><idCodeSpace Sync="TRUE">EPSG</idCodeSpace><idVersion Sync="TRUE">7.4.1</idVersion></refSysID></RefSystem></refSysInfo><spatRepInfo><Georect><cellGeo><CellGeoCd Sync="TRUE" value="002"></CellGeoCd></cellGeo><numDims Sync="TRUE">2</numDims><tranParaAv Sync="TRUE">1</tranParaAv><chkPtAv Sync="TRUE">0</chkPtAv><cornerPts><pos Sync="TRUE">-78.371093 38.054140</pos></cornerPts><cornerPts><pos Sync="TRUE">-78.371093 38.100574</pos></cornerPts><cornerPts><pos Sync="TRUE">-78.313411 38.100574</pos></cornerPts><cornerPts><pos Sync="TRUE">-78.313411 38.054140</pos></cornerPts><centerPt><pos Sync="TRUE">-78.342252 38.077357</pos></centerPt><axisDimension type="002"><dimSize Sync="TRUE">6103</dimSize><dimResol><value Sync="TRUE" uom="Degree">0.000009</value></dimResol></axisDimension><axisDimension type="001"><dimSize Sync="TRUE">4913</dimSize><dimResol><value Sync="TRUE" uom="Degree">0.000009</value></dimResol></axisDimension><ptInPixel><PixOrientCd Sync="TRUE" value="001"></PixOrientCd></ptInPixel></Georect></spatRepInfo><eainfo><detailed Name="1937_16_44.tif.vat"><enttyp><enttypl Sync="TRUE">1937_16_44.tif.vat</enttypl><enttypt Sync="TRUE">Table</enttypt><enttypc Sync="TRUE">256</enttypc></enttyp><attr><attrlabl Sync="TRUE">OID</attrlabl><attalias Sync="TRUE">OID</attalias><attrtype Sync="TRUE">OID</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale><attrdef Sync="TRUE">Internal feature number.</attrdef><attrdefs Sync="TRUE">ESRI</attrdefs><attrdomv><udom Sync="TRUE">Sequential unique whole numbers that are automatically generated.</udom></attrdomv></attr><attr><attrlabl Sync="TRUE">VALUE</attrlabl><attalias Sync="TRUE">VALUE</attalias><attrtype Sync="TRUE">Integer</attrtype><attwidth Sync="TRUE">9</attwidth><atprecis Sync="TRUE">9</atprecis><attscale Sync="TRUE">0</attscale></attr><attr><attrlabl Sync="TRUE">COUNT</attrlabl><attalias Sync="TRUE">COUNT</attalias><attrtype Sync="TRUE">Integer</attrtype><attwidth Sync="TRUE">9</attwidth><atprecis Sync="TRUE">9</atprecis><attscale Sync="TRUE">0</attscale></attr></detailed></eainfo><contInfo><ImgDesc><contentTyp><ContentTypCd Sync="TRUE" value="001"></ContentTypCd></contentTyp><covDim><Band><dimDescrp Sync="TRUE">Band_1</dimDescrp><bitsPerVal Sync="TRUE">16</bitsPerVal><valUnit><UOM type="length"><unitSymbol Sync="TRUE">Degree</unitSymbol></UOM></valUnit></Band></covDim></ImgDesc></contInfo><mdDateSt Sync="TRUE">20130509</mdDateSt></metadata>
@@ -0,0 +1 @@
1
+ PROJCS["NAD_1983_StatePlane_Virginia_South_FIPS_4502",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Lambert_Conformal_Conic"],PARAMETER["False_Easting",3500000.0],PARAMETER["False_Northing",1000000.0],PARAMETER["Central_Meridian",-78.5],PARAMETER["Standard_Parallel_1",36.76666666666667],PARAMETER["Standard_Parallel_2",37.96666666666667],PARAMETER["Latitude_Of_Origin",36.33333333333334],UNIT["Meter",1.0]]
@@ -0,0 +1,51 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <metadata xml:lang="en"><Esri><CreaDate>20130923</CreaDate><CreaTime>15351400</CreaTime><SyncOnce>FALSE</SyncOnce><DataProperties><lineage><Process ToolSource="C:\Program Files\ArcGIS\ArcToolbox\Toolboxes\Data Management Tools.tbx\Project" Date="20100806" Time="153156" Name="" export="">Project C:\Data\Cville\Cville2010\GIST\CV10_parks.shp C:\Data\Cville\Cville2010\reproj_m\CV10_parks.shp PROJCS['NAD_1983_StatePlane_Virginia_South_FIPS_4502',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',3500000.0],PARAMETER['False_Northing',1000000.0],PARAMETER['Central_Meridian',-78.5],PARAMETER['Standard_Parallel_1',36.76666666666667],PARAMETER['Standard_Parallel_2',37.96666666666667],PARAMETER['Latitude_Of_Origin',36.33333333333334],UNIT['Meter',1.0]] # PROJCS['NAD_1983_StatePlane_Virginia_South_FIPS_4502_Feet',GEOGCS['GCS_North_American_1983',DATUM['D_North_American_1983',SPHEROID['GRS_1980',6378137.0,298.257222101]],PRIMEM['Greenwich',0.0],UNIT['Degree',0.0174532925199433]],PROJECTION['Lambert_Conformal_Conic'],PARAMETER['False_Easting',11482916.66666666],PARAMETER['False_Northing',3280833.333333333],PARAMETER['Central_Meridian',-78.5],PARAMETER['Standard_Parallel_1',36.76666666666667],PARAMETER['Standard_Parallel_2',37.96666666666667],PARAMETER['Latitude_Of_Origin',36.33333333333334],UNIT['Foot_US',0.3048006096012192]]</Process></lineage><itemProps><itemName Sync="TRUE">CV10_parks</itemName><imsContentType Sync="TRUE">002</imsContentType><nativeExtBox><westBL Sync="TRUE">3498374.599949</westBL><eastBL Sync="TRUE">3504959.512319</eastBL><southBL Sync="TRUE">1186036.370841</southBL><northBL Sync="TRUE">1192367.091694</northBL><exTypeCode Sync="TRUE">1</exTypeCode></nativeExtBox><itemSize Sync="TRUE">0.021</itemSize><itemLocation><linkage Sync="TRUE">file://\\home2.virginia.edu\geotmp\Charlottesville\City\Cville2010\CV10_parks.shp</linkage><protocol Sync="TRUE">Local Area Network</protocol></itemLocation></itemProps><coordRef><type Sync="TRUE">Projected</type><geogcsn Sync="TRUE">GCS_North_American_1983</geogcsn><projcsn Sync="TRUE">NAD_1983_StatePlane_Virginia_South_FIPS_4502</projcsn><peXml Sync="TRUE">&lt;ProjectedCoordinateSystem xsi:type='typens:ProjectedCoordinateSystem' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xs='http://www.w3.org/2001/XMLSchema' xmlns:typens='http://www.esri.com/schemas/ArcGIS/10.0'&gt;&lt;WKT&gt;PROJCS[&amp;quot;NAD_1983_StatePlane_Virginia_South_FIPS_4502&amp;quot;,GEOGCS[&amp;quot;GCS_North_American_1983&amp;quot;,DATUM[&amp;quot;D_North_American_1983&amp;quot;,SPHEROID[&amp;quot;GRS_1980&amp;quot;,6378137.0,298.257222101]],PRIMEM[&amp;quot;Greenwich&amp;quot;,0.0],UNIT[&amp;quot;Degree&amp;quot;,0.0174532925199433]],PROJECTION[&amp;quot;Lambert_Conformal_Conic&amp;quot;],PARAMETER[&amp;quot;False_Easting&amp;quot;,3500000.0],PARAMETER[&amp;quot;False_Northing&amp;quot;,1000000.0],PARAMETER[&amp;quot;Central_Meridian&amp;quot;,-78.5],PARAMETER[&amp;quot;Standard_Parallel_1&amp;quot;,36.76666666666667],PARAMETER[&amp;quot;Standard_Parallel_2&amp;quot;,37.96666666666667],PARAMETER[&amp;quot;Latitude_Of_Origin&amp;quot;,36.33333333333334],UNIT[&amp;quot;Meter&amp;quot;,1.0],AUTHORITY[&amp;quot;EPSG&amp;quot;,32147]]&lt;/WKT&gt;&lt;XOrigin&gt;-33875800&lt;/XOrigin&gt;&lt;YOrigin&gt;-27899100&lt;/YOrigin&gt;&lt;XYScale&gt;120495069.73417278&lt;/XYScale&gt;&lt;ZOrigin&gt;-100000&lt;/ZOrigin&gt;&lt;ZScale&gt;10000&lt;/ZScale&gt;&lt;MOrigin&gt;-100000&lt;/MOrigin&gt;&lt;MScale&gt;10000&lt;/MScale&gt;&lt;XYTolerance&gt;0.001&lt;/XYTolerance&gt;&lt;ZTolerance&gt;0.001&lt;/ZTolerance&gt;&lt;MTolerance&gt;0.001&lt;/MTolerance&gt;&lt;HighPrecision&gt;true&lt;/HighPrecision&gt;&lt;WKID&gt;32147&lt;/WKID&gt;&lt;/ProjectedCoordinateSystem&gt;</peXml></coordRef></DataProperties><ModDate>20110928</ModDate><ModTime>13271100</ModTime><ArcGISProfile>ItemDescription</ArcGISProfile><ArcGISFormat>1.0</ArcGISFormat><SyncDate>20110928</SyncDate><SyncTime>13271100</SyncTime><ArcGISstyle>FGDC CSDGM Metadata</ArcGISstyle></Esri><idinfo><citation><citeinfo><onlink Sync="TRUE"/></citeinfo></citation></idinfo><distInfo><distributor><distorTran><onLineSrc><linkage Sync="TRUE">file://</linkage><protocol Sync="TRUE">Local Area Network</protocol></onLineSrc></distorTran></distributor><distFormat><formatName Sync="TRUE">Shapefile</formatName></distFormat><distTranOps><transSize Sync="TRUE">0.021</transSize></distTranOps></distInfo><dataqual><lineage><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE">X:\Shapes\parks</srcused><procdate Sync="TRUE">20100805</procdate><proctime Sync="TRUE">11433100</proctime></procstep><procstep><procdesc Sync="TRUE">Dataset copied.</procdesc><srcused Sync="TRUE"/><procdate Sync="TRUE">20100806</procdate><proctime Sync="TRUE">15315600</proctime></procstep></lineage></dataqual><mdDateSt>20110928</mdDateSt><Binary><Thumbnail><Data EsriPropertyType="PictureX">/9j/4AAQSkZJRgABAQEAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
3
+ HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy
4
+ MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCACFAMgDASIA
5
+ AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
6
+ AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
7
+ ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
8
+ p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
9
+ AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
10
+ BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
11
+ U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
12
+ uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii
13
+ gAooooAKKKKACiiigAooooAKKKq6ldfYtNuLgHBjQkHGce+O/wBKAJDdwC6W2Mq+cwJCj2/l/XB9
14
+ DU1c/o9iZbpb1wQI2baSclicg8/icnu3sBmfUJL/AE29a9h33Nm4/fQMyjyiMAMpPbGcj1+tRCXM
15
+ rtWA2aKr2l9BeoTExyACVbggHofoex6VYq076oAooooAKKKKACiiigAooooAKKKKACiiigAooooA
16
+ KKKKACiiigAoorN1nUf7PghIkCGWQIWxkhe5GeM9OvHfnoU3ZXA0qxb+3udXv1s5IzFYQuskjcgy
17
+ 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</Data></Thumbnail></Binary><dataIdInfo><idPurp>Charlottesville's Park Boundaries</idPurp><idAbs>&lt;DIV STYLE="text-align:Left;"&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;Charlottesville parks layer maintained by the Parks and Rec. Dept.&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</idAbs><idCredit>City of Charlottesville</idCredit><idCitation><resTitle>Charlottesville Parks</resTitle><presForm><PresFormCd value="005"></PresFormCd></presForm></idCitation><searchKeys><keyword>charlottesville parks open space green recreation</keyword></searchKeys><resConst><Consts><useLimit>None</useLimit></Consts></resConst><envirDesc Sync="TRUE">Microsoft Windows XP Version 5.1 (Build 2600) Service Pack 3; ESRI ArcGIS 10.0.2.3200</envirDesc><dataLang><languageCode value="en" country="US"></languageCode></dataLang><descKeys><thesaName uuidref="723f6998-058e-11dc-8314-0800200c9a66"></thesaName><keyword Sync="TRUE">002</keyword></descKeys><spatRpType><SpatRepTypCd value="001"></SpatRepTypCd></spatRpType><dataExt><geoEle><GeoBndBox esriExtentType="search"><westBL Sync="TRUE">-78.518522</westBL><eastBL Sync="TRUE">-78.443484</eastBL><northBL Sync="TRUE">38.066682</northBL><southBL Sync="TRUE">38.009634</southBL><exTypeCode Sync="TRUE">1</exTypeCode></GeoBndBox></geoEle></dataExt></dataIdInfo><mdLang><languageCode value="en"></languageCode></mdLang><mdHrLv><ScopeCd value="005"></ScopeCd></mdHrLv><mdHrLvName Sync="TRUE">dataset</mdHrLvName><refSysInfo><RefSystem><refSysID><identCode code="32147"></identCode><idCodeSpace Sync="TRUE">EPSG</idCodeSpace><idVersion Sync="TRUE">7.4.1</idVersion></refSysID></RefSystem></refSysInfo><spdoinfo><ptvctinf><esriterm Name="CV10_parks"><efeatyp Sync="TRUE">Simple</efeatyp><efeageom Sync="TRUE">4</efeageom><esritopo Sync="TRUE">FALSE</esritopo><efeacnt Sync="TRUE">38</efeacnt><spindex Sync="TRUE">TRUE</spindex><linrefer Sync="TRUE">FALSE</linrefer></esriterm></ptvctinf></spdoinfo><spatRepInfo><VectSpatRep><topLvl><TopoLevCd value="001"></TopoLevCd></topLvl><geometObjs><geoObjTyp><GeoObjTypCd value="002"></GeoObjTypCd><geoObjCnt Sync="TRUE">38</geoObjCnt></geoObjTyp></geometObjs></VectSpatRep></spatRepInfo><eainfo><detailed Name="CV10_parks"><enttyp><enttypl Sync="TRUE">CV10_parks</enttypl><enttypt Sync="TRUE">Feature Class</enttypt><enttypc Sync="TRUE">38</enttypc></enttyp><attr><attrlabl Sync="TRUE">FID</attrlabl><attalias Sync="TRUE">FID</attalias><attrtype Sync="TRUE">OID</attrtype><attwidth Sync="TRUE">4</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale><attrdef Sync="TRUE">Internal feature number.</attrdef><attrdefs Sync="TRUE">ESRI</attrdefs><attrdomv><udom Sync="TRUE">Sequential unique whole numbers that are automatically generated.</udom></attrdomv></attr><attr><attrlabl Sync="TRUE">Shape</attrlabl><attalias Sync="TRUE">Shape</attalias><attrtype Sync="TRUE">Geometry</attrtype><attwidth Sync="TRUE">0</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale><attrdef Sync="TRUE">Feature geometry.</attrdef><attrdefs Sync="TRUE">ESRI</attrdefs><attrdomv><udom Sync="TRUE">Coordinates defining the features.</udom></attrdomv></attr><attr><attrlabl Sync="TRUE">OBJECTID</attrlabl><attalias Sync="TRUE">OBJECTID</attalias><attrtype Sync="TRUE">Double</attrtype><attwidth Sync="TRUE">10</attwidth><atprecis Sync="TRUE">10</atprecis><attscale Sync="TRUE">0</attscale></attr><attr><attrlabl Sync="TRUE">PARK_TYPE</attrlabl><attalias Sync="TRUE">PARK_TYPE</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">50</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr><attrlabl Sync="TRUE">PARKNAME</attrlabl><attalias Sync="TRUE">PARKNAME</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">50</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr><attr><attrlabl Sync="TRUE">ZONING_OVE</attrlabl><attalias Sync="TRUE">ZONING_OVE</attalias><attrtype Sync="TRUE">String</attrtype><attwidth Sync="TRUE">1</attwidth><atprecis Sync="TRUE">0</atprecis><attscale Sync="TRUE">0</attscale></attr></detailed></eainfo></metadata>
@@ -0,0 +1,13 @@
1
+
2
+ module FixtureHelpers
3
+
4
+ #
5
+ # Get the full path of a fixture file.
6
+ #
7
+ # @param [String] filename
8
+ #
9
+ def get_fixture_path(filename)
10
+ File.expand_path("../fixtures/#{filename}", File.dirname(__FILE__))
11
+ end
12
+
13
+ end
@@ -0,0 +1,38 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe Geoloader::Loaders::Geonetwork do
5
+
6
+ include FixtureHelpers
7
+
8
+ let(:workspace) {
9
+ Geoloader.config.workspaces.testing
10
+ }
11
+
12
+ let(:loader) {
13
+ Geoloader::Loaders::Geonetwork.new(get_fixture_path("geotiff.tif"), workspace)
14
+ }
15
+
16
+ let(:uuid) {
17
+ loader.asset.uuid
18
+ }
19
+
20
+ before do
21
+ loader.load
22
+ end
23
+
24
+ after do
25
+ loader.geonetwork.delete_record(loader.asset)
26
+ end
27
+
28
+ it "should add a Geonetwork record" do
29
+
30
+ response = loader.geonetwork.get_record(loader.asset)
31
+ document = Nokogiri::XML(response)
32
+
33
+ # Should create a record.
34
+ document.at_xpath("//gmd:fileIdentifier/gco:CharacterString").content.must_equal uuid
35
+
36
+ end
37
+
38
+ end
@@ -0,0 +1,49 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe Geoloader::Loaders::GeotiffGeoserver do
5
+
6
+ include FixtureHelpers
7
+
8
+ let(:workspace) {
9
+ Geoloader.config.workspaces.testing
10
+ }
11
+
12
+ let(:loader) {
13
+ Geoloader::Loaders::GeotiffGeoserver.new(get_fixture_path("geotiff.tif"), workspace)
14
+ }
15
+
16
+ before do
17
+ loader.load
18
+ end
19
+
20
+ after do
21
+ Geoloader::Tasks::Geoserver.clear(workspace)
22
+ end
23
+
24
+ it "should create a coveragestore on Geoserver" do
25
+
26
+ response = loader.geoserver.resource["workspaces/#{workspace}/coveragestores/geotiff"].get
27
+ document = Nokogiri::XML(response)
28
+
29
+ # Should have the correct name and type
30
+ document.at_xpath("/coverageStore/name").content.must_equal "geotiff"
31
+ document.at_xpath("/coverageStore/type").content.must_equal "GeoTIFF"
32
+
33
+ # Should be enabled.
34
+ document.at_xpath("/coverageStore/enabled").content.must_equal "true"
35
+
36
+ end
37
+
38
+ it "should publish a layer on Geoserver" do
39
+
40
+ response = loader.geoserver.resource["layers/geotiff"].get
41
+ document = Nokogiri::XML(response)
42
+
43
+ # Should have the correct name and type.
44
+ document.at_xpath("/layer/name").content.must_equal "geotiff"
45
+ document.at_xpath("/layer/type").content.must_equal "RASTER"
46
+
47
+ end
48
+
49
+ end
@@ -0,0 +1,34 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe Geoloader::Loaders::GeotiffSolr do
5
+
6
+ include FixtureHelpers
7
+
8
+ let(:workspace) {
9
+ Geoloader.config.workspaces.testing
10
+ }
11
+
12
+ let(:loader) {
13
+ Geoloader::Loaders::GeotiffSolr.new(get_fixture_path("geotiff.tif"), workspace)
14
+ }
15
+
16
+ before do
17
+ loader.load
18
+ end
19
+
20
+ after do
21
+ Geoloader::Tasks::Solr.clear(workspace)
22
+ end
23
+
24
+ it "should add a Solr document" do
25
+
26
+ response = loader.solr.resource.find({ :queries => "LayerId:#{loader.geotiff.uuid}" })
27
+ response.total.must_equal 1
28
+
29
+ # Should point to the correct workspace.
30
+ response.docs[0][:WorkspaceName].must_equal workspace
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,49 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe Geoloader::Loaders::ShapefileGeoserver do
5
+
6
+ include FixtureHelpers
7
+
8
+ let(:workspace) {
9
+ Geoloader.config.workspaces.testing
10
+ }
11
+
12
+ let(:loader) {
13
+ Geoloader::Loaders::ShapefileGeoserver.new(get_fixture_path("shapefile.shp"), workspace)
14
+ }
15
+
16
+ before do
17
+ loader.load
18
+ end
19
+
20
+ after do
21
+ Geoloader::Tasks::Geoserver.clear(workspace)
22
+ end
23
+
24
+ it "should create a datastore on Geoserver" do
25
+
26
+ response = loader.geoserver.resource["workspaces/#{workspace}/datastores/shapefile"].get
27
+ document = Nokogiri::XML(response)
28
+
29
+ # Should have the correct name and type
30
+ document.at_xpath("/dataStore/name").content.must_equal "shapefile"
31
+ document.at_xpath("/dataStore/type").content.must_equal "Shapefile"
32
+
33
+ # Should be enabled.
34
+ document.at_xpath("/dataStore/enabled").content.must_equal "true"
35
+
36
+ end
37
+
38
+ it "should publish a layer on Geoserver" do
39
+
40
+ response = loader.geoserver.resource["layers/shapefile"].get
41
+ document = Nokogiri::XML(response)
42
+
43
+ # Should have the correct name and type.
44
+ document.at_xpath("/layer/name").content.must_equal "shapefile"
45
+ document.at_xpath("/layer/type").content.must_equal "VECTOR"
46
+
47
+ end
48
+
49
+ end
@@ -0,0 +1,34 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe Geoloader::Loaders::ShapefileSolr do
5
+
6
+ include FixtureHelpers
7
+
8
+ let(:workspace) {
9
+ Geoloader.config.workspaces.testing
10
+ }
11
+
12
+ let(:loader) {
13
+ Geoloader::Loaders::ShapefileSolr.new(get_fixture_path("shapefile.shp"), workspace)
14
+ }
15
+
16
+ before do
17
+ loader.load
18
+ end
19
+
20
+ after do
21
+ Geoloader::Tasks::Solr.clear(workspace)
22
+ end
23
+
24
+ it "should add a Solr document" do
25
+
26
+ response = loader.solr.resource.find({ :queries => "LayerId:#{loader.shapefile.uuid}" })
27
+ response.total.must_equal 1
28
+
29
+ # Should point to the correct workspace.
30
+ response.docs[0][:WorkspaceName].must_equal workspace
31
+
32
+ end
33
+
34
+ end
@@ -0,0 +1,6 @@
1
+
2
+ require "geoloader"
3
+ require "minitest/autorun"
4
+ require "minitest/pride"
5
+ require "helpers/fixture"
6
+ require "nokogiri"
metadata ADDED
@@ -0,0 +1,362 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: geoloader
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - David McClure
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-06-13 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
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 1.5.3
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: '1.5'
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 1.5.3
33
+ - !ruby/object:Gem::Dependency
34
+ name: rake
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '10.1'
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ version: 10.1.1
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - "~>"
48
+ - !ruby/object:Gem::Version
49
+ version: '10.1'
50
+ - - ">="
51
+ - !ruby/object:Gem::Version
52
+ version: 10.1.1
53
+ - !ruby/object:Gem::Dependency
54
+ name: rspec
55
+ requirement: !ruby/object:Gem::Requirement
56
+ requirements:
57
+ - - "~>"
58
+ - !ruby/object:Gem::Version
59
+ version: '2.14'
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: 2.14.1
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '2.14'
70
+ - - ">="
71
+ - !ruby/object:Gem::Version
72
+ version: 2.14.1
73
+ - !ruby/object:Gem::Dependency
74
+ name: require_all
75
+ requirement: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '1.3'
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 1.3.2
83
+ type: :runtime
84
+ prerelease: false
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: 1.3.2
93
+ - !ruby/object:Gem::Dependency
94
+ name: rsolr-ext
95
+ requirement: !ruby/object:Gem::Requirement
96
+ requirements:
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '1.0'
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: 1.0.3
103
+ type: :runtime
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.0'
110
+ - - ">="
111
+ - !ruby/object:Gem::Version
112
+ version: 1.0.3
113
+ - !ruby/object:Gem::Dependency
114
+ name: rest-client
115
+ requirement: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '1.6'
120
+ - - ">="
121
+ - !ruby/object:Gem::Version
122
+ version: 1.6.7
123
+ type: :runtime
124
+ prerelease: false
125
+ version_requirements: !ruby/object:Gem::Requirement
126
+ requirements:
127
+ - - "~>"
128
+ - !ruby/object:Gem::Version
129
+ version: '1.6'
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: 1.6.7
133
+ - !ruby/object:Gem::Dependency
134
+ name: thor
135
+ requirement: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - "~>"
138
+ - !ruby/object:Gem::Version
139
+ version: '0.18'
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: 0.18.1
143
+ type: :runtime
144
+ prerelease: false
145
+ version_requirements: !ruby/object:Gem::Requirement
146
+ requirements:
147
+ - - "~>"
148
+ - !ruby/object:Gem::Version
149
+ version: '0.18'
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: 0.18.1
153
+ - !ruby/object:Gem::Dependency
154
+ name: confstruct
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - "~>"
158
+ - !ruby/object:Gem::Version
159
+ version: '0.2'
160
+ - - ">="
161
+ - !ruby/object:Gem::Version
162
+ version: 0.2.5
163
+ type: :runtime
164
+ prerelease: false
165
+ version_requirements: !ruby/object:Gem::Requirement
166
+ requirements:
167
+ - - "~>"
168
+ - !ruby/object:Gem::Version
169
+ version: '0.2'
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: 0.2.5
173
+ - !ruby/object:Gem::Dependency
174
+ name: resque
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.25'
180
+ - - ">="
181
+ - !ruby/object:Gem::Version
182
+ version: 1.25.1
183
+ type: :runtime
184
+ prerelease: false
185
+ version_requirements: !ruby/object:Gem::Requirement
186
+ requirements:
187
+ - - "~>"
188
+ - !ruby/object:Gem::Version
189
+ version: '1.25'
190
+ - - ">="
191
+ - !ruby/object:Gem::Version
192
+ version: 1.25.1
193
+ - !ruby/object:Gem::Dependency
194
+ name: nokogiri
195
+ requirement: !ruby/object:Gem::Requirement
196
+ requirements:
197
+ - - "~>"
198
+ - !ruby/object:Gem::Version
199
+ version: '1.6'
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: 1.6.1
203
+ type: :runtime
204
+ prerelease: false
205
+ version_requirements: !ruby/object:Gem::Requirement
206
+ requirements:
207
+ - - "~>"
208
+ - !ruby/object:Gem::Version
209
+ version: '1.6'
210
+ - - ">="
211
+ - !ruby/object:Gem::Version
212
+ version: 1.6.1
213
+ - !ruby/object:Gem::Dependency
214
+ name: rubyzip
215
+ requirement: !ruby/object:Gem::Requirement
216
+ requirements:
217
+ - - "~>"
218
+ - !ruby/object:Gem::Version
219
+ version: '1.1'
220
+ - - ">="
221
+ - !ruby/object:Gem::Version
222
+ version: 1.1.0
223
+ type: :runtime
224
+ prerelease: false
225
+ version_requirements: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: '1.1'
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: 1.1.0
233
+ - !ruby/object:Gem::Dependency
234
+ name: jekyll
235
+ requirement: !ruby/object:Gem::Requirement
236
+ requirements:
237
+ - - "~>"
238
+ - !ruby/object:Gem::Version
239
+ version: '1.4'
240
+ - - ">="
241
+ - !ruby/object:Gem::Version
242
+ version: 1.4.3
243
+ type: :runtime
244
+ prerelease: false
245
+ version_requirements: !ruby/object:Gem::Requirement
246
+ requirements:
247
+ - - "~>"
248
+ - !ruby/object:Gem::Version
249
+ version: '1.4'
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ version: 1.4.3
253
+ description: Load GeoTIFFs and Shapefiles to Geoserver, Geonetwork, and Solr.
254
+ email:
255
+ - david.mcclure@virginia.edu
256
+ executables:
257
+ - geoloader
258
+ extensions: []
259
+ extra_rdoc_files: []
260
+ files:
261
+ - ".editorconfig"
262
+ - ".gitignore"
263
+ - ".ruby-gemset"
264
+ - ".ruby-version"
265
+ - Gemfile
266
+ - Gemfile.lock
267
+ - README.md
268
+ - Rakefile
269
+ - bin/geoloader
270
+ - config.yaml
271
+ - geoloader.gemspec
272
+ - iso19139.xsl
273
+ - lib/geoloader.rb
274
+ - lib/geoloader/assets/asset.rb
275
+ - lib/geoloader/assets/description.rb
276
+ - lib/geoloader/assets/geonetwork.rb
277
+ - lib/geoloader/assets/geotiff.rb
278
+ - lib/geoloader/assets/shapefile.rb
279
+ - lib/geoloader/assets/solr.rb
280
+ - lib/geoloader/cli/app.rb
281
+ - lib/geoloader/cli/geonetwork.rb
282
+ - lib/geoloader/cli/geoserver.rb
283
+ - lib/geoloader/cli/solr.rb
284
+ - lib/geoloader/loaders/geonetwork.rb
285
+ - lib/geoloader/loaders/geotiff_geoserver.rb
286
+ - lib/geoloader/loaders/geotiff_solr.rb
287
+ - lib/geoloader/loaders/loader.rb
288
+ - lib/geoloader/loaders/shapefile_geoserver.rb
289
+ - lib/geoloader/loaders/shapefile_solr.rb
290
+ - lib/geoloader/services/geonetwork.rb
291
+ - lib/geoloader/services/geoserver.rb
292
+ - lib/geoloader/services/solr.rb
293
+ - lib/geoloader/tasks/geonetwork.rb
294
+ - lib/geoloader/tasks/geoserver.rb
295
+ - lib/geoloader/tasks/solr.rb
296
+ - lib/geoloader/version.rb
297
+ - metadata.md
298
+ - spec/fixtures/geotiff.tfw
299
+ - spec/fixtures/geotiff.tif
300
+ - spec/fixtures/geotiff.tif.aux.xml
301
+ - spec/fixtures/geotiff.tif.ovr
302
+ - spec/fixtures/geotiff.tif.vat.dbf
303
+ - spec/fixtures/geotiff.tif.xml
304
+ - spec/fixtures/shapefile.dbf
305
+ - spec/fixtures/shapefile.prj
306
+ - spec/fixtures/shapefile.sbn
307
+ - spec/fixtures/shapefile.sbx
308
+ - spec/fixtures/shapefile.shp
309
+ - spec/fixtures/shapefile.shp.xml
310
+ - spec/fixtures/shapefile.shx
311
+ - spec/helpers/fixture.rb
312
+ - spec/loaders/geonetwork.rb
313
+ - spec/loaders/geotiff_geoserver.rb
314
+ - spec/loaders/geotiff_solr.rb
315
+ - spec/loaders/shapefile_geoserver.rb
316
+ - spec/loaders/shapefile_solr.rb
317
+ - spec/spec_helper.rb
318
+ homepage: https://github.com/scholarslab/Geoloader
319
+ licenses:
320
+ - Apache 2
321
+ metadata: {}
322
+ post_install_message:
323
+ rdoc_options: []
324
+ require_paths:
325
+ - lib
326
+ required_ruby_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ">="
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
332
+ requirements:
333
+ - - ">="
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ requirements: []
337
+ rubyforge_project:
338
+ rubygems_version: 2.2.2
339
+ signing_key:
340
+ specification_version: 4
341
+ summary: Helpers for managing GIS metadata.
342
+ test_files:
343
+ - spec/fixtures/geotiff.tfw
344
+ - spec/fixtures/geotiff.tif
345
+ - spec/fixtures/geotiff.tif.aux.xml
346
+ - spec/fixtures/geotiff.tif.ovr
347
+ - spec/fixtures/geotiff.tif.vat.dbf
348
+ - spec/fixtures/geotiff.tif.xml
349
+ - spec/fixtures/shapefile.dbf
350
+ - spec/fixtures/shapefile.prj
351
+ - spec/fixtures/shapefile.sbn
352
+ - spec/fixtures/shapefile.sbx
353
+ - spec/fixtures/shapefile.shp
354
+ - spec/fixtures/shapefile.shp.xml
355
+ - spec/fixtures/shapefile.shx
356
+ - spec/helpers/fixture.rb
357
+ - spec/loaders/geonetwork.rb
358
+ - spec/loaders/geotiff_geoserver.rb
359
+ - spec/loaders/geotiff_solr.rb
360
+ - spec/loaders/shapefile_geoserver.rb
361
+ - spec/loaders/shapefile_solr.rb
362
+ - spec/spec_helper.rb