shp2wkt 1.0.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 (4) hide show
  1. checksums.yaml +7 -0
  2. data/bin/shp2wkt +29 -0
  3. data/lib/shp2wkt.rb +53 -0
  4. metadata +89 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d5012533d87a6aa402d255e87ca092ea44aff937
4
+ data.tar.gz: 0e3436d14191256a100281f8bb1c4939ae62481d
5
+ SHA512:
6
+ metadata.gz: 3d64eb5ccaef48723b170190869fc06b7c6d2cdd4628a91377b8374714527c2058a27799a017715895caa30b61c5a35364eb3e0193404cbe6d1760a67a7af7d8
7
+ data.tar.gz: 1ddb99fecea7097dbc1c9390c9eefb723772ea719f5e6a542cc50e44fd51d58bbfdb9715dc6c8d85e76ec6d520f5ff7bc3edd0a879d0448c2c0f7dd979d14c06
@@ -0,0 +1,29 @@
1
+ #!/usr/bin/env ruby
2
+ $LOAD_PATH.unshift File.dirname(__FILE__) + '/../lib'
3
+ require 'shp2wkt'
4
+ require 'optparse'
5
+
6
+ options = {}
7
+
8
+ opt_parser = OptionParser.new do |opt|
9
+ opt.banner = "Usage: shp2wkt FILENAME"
10
+ opt.separator ""
11
+ opt.separator "Example"
12
+ opt.separator " shp2wkt /home/gis/india_rivers.shp"
13
+ opt.separator "Options"
14
+
15
+ opt.on("-h","--help") do
16
+ puts opt_parser
17
+ end
18
+ opt.separator ""
19
+ end
20
+
21
+ opt_parser.parse!
22
+
23
+ if ARGV[0].nil?
24
+ puts opt_parser
25
+ else
26
+ shp2wkt = Shp2Wkt::Shp2Wkt.new(ARGV[0])
27
+ shp2wkt.write
28
+ end
29
+
@@ -0,0 +1,53 @@
1
+ # Author - Sagar Arlekar
2
+ # Email - sagar.arlekar@gmail.com
3
+
4
+ require 'rgeo'
5
+ require 'rgeo/shapefile'
6
+ require 'rgeo/geos'
7
+
8
+
9
+ module Shp2Wkt
10
+ # * This class will convert a shapefile to WKT
11
+ class Shp2Wkt
12
+
13
+ attr_accessor :filename
14
+ #
15
+ # * +filename+ - The path to the shape file. E.g. /home/user/bangalore_roads.shp. The name is stored in @filename
16
+
17
+ def initialize(filename)
18
+ # absolute path to the shapefile e.g. /home/user/roads.shp
19
+ @filename = filename
20
+ read
21
+ end
22
+
23
+ # Will read the shapefile in @filename and convert each geometry in text_geom array as text.
24
+ def read
25
+ @text_geom = []
26
+ RGeo::Shapefile::Reader.open(@filename) do |file|
27
+
28
+ file.each do |record|
29
+ @text_geom << record.geometry.as_text
30
+ end
31
+ end
32
+ @text_geom
33
+ end
34
+
35
+ # Will write the geometries in text_geom to a file. One geom per line.
36
+ def write
37
+
38
+ outfile_filename = @filename.gsub(".shp", ".txt")
39
+
40
+ begin
41
+ File.open(outfile_filename, 'w') do |op|
42
+ @text_geom.each do |geom|
43
+ op.puts "#{geom}"
44
+ end
45
+ end
46
+ @text_geom.length
47
+ rescue
48
+ raise Exception
49
+ end
50
+ end
51
+
52
+ end
53
+ end
metadata ADDED
@@ -0,0 +1,89 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: shp2wkt
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Sagar Arlekar
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-07-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rgeo
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.3.13
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.3.13
27
+ - !ruby/object:Gem::Dependency
28
+ name: rgeo-shapefile
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.3
41
+ - !ruby/object:Gem::Dependency
42
+ name: geos-extensions
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 0.5.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 0.5.0
55
+ description: A utility to convert a shapefile to well-known-text
56
+ email: sagar.arlekar@gmail.com
57
+ executables:
58
+ - shp2wkt
59
+ extensions: []
60
+ extra_rdoc_files: []
61
+ files:
62
+ - bin/shp2wkt
63
+ - lib/shp2wkt.rb
64
+ homepage: http://github.com/sagarlekar/shp2wkt
65
+ licenses: []
66
+ metadata: {}
67
+ post_install_message:
68
+ rdoc_options:
69
+ - "--charset=UTF-8"
70
+ require_paths:
71
+ - lib
72
+ required_ruby_version: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ required_rubygems_version: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '0'
82
+ requirements: []
83
+ rubyforge_project:
84
+ rubygems_version: 2.3.0
85
+ signing_key:
86
+ specification_version: 4
87
+ summary: A utility to convert a shapefile to well-known-text
88
+ test_files: []
89
+ has_rdoc: