geoloader 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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