shp 0.0.1

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 (78) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +34 -0
  3. data/.travis.yml +4 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +28 -0
  6. data/README.md +30 -0
  7. data/Rakefile +23 -0
  8. data/ext/shp/base.hpp +113 -0
  9. data/ext/shp/dbf.cpp +381 -0
  10. data/ext/shp/dbf.hpp +44 -0
  11. data/ext/shp/extconf.rb +13 -0
  12. data/ext/shp/shape_object.cpp +58 -0
  13. data/ext/shp/shape_object.hpp +27 -0
  14. data/ext/shp/shapefile.cpp +299 -0
  15. data/ext/shp/shapefile.hpp +35 -0
  16. data/ext/shp/shapelib/.cvsignore +15 -0
  17. data/ext/shp/shapelib/ChangeLog +450 -0
  18. data/ext/shp/shapelib/HOWTO-RELEASE +16 -0
  19. data/ext/shp/shapelib/LICENSE.LGPL +483 -0
  20. data/ext/shp/shapelib/Makefile +113 -0
  21. data/ext/shp/shapelib/README +41 -0
  22. data/ext/shp/shapelib/README.tree +172 -0
  23. data/ext/shp/shapelib/contrib/.cvsignore +12 -0
  24. data/ext/shp/shapelib/contrib/Makefile +66 -0
  25. data/ext/shp/shapelib/contrib/ShapeFileII.pas +234 -0
  26. data/ext/shp/shapelib/contrib/Shape_PointInPoly.cpp +238 -0
  27. data/ext/shp/shapelib/contrib/Shape_PointInPoly_README.txt +59 -0
  28. data/ext/shp/shapelib/contrib/csv2shp.c +558 -0
  29. data/ext/shp/shapelib/contrib/dbfcat.c +166 -0
  30. data/ext/shp/shapelib/contrib/dbfinfo.c +106 -0
  31. data/ext/shp/shapelib/contrib/makefile.vc +34 -0
  32. data/ext/shp/shapelib/contrib/my_nan.h +46 -0
  33. data/ext/shp/shapelib/contrib/shpcat.c +100 -0
  34. data/ext/shp/shapelib/contrib/shpcentrd.c +159 -0
  35. data/ext/shp/shapelib/contrib/shpdata.c +129 -0
  36. data/ext/shp/shapelib/contrib/shpdxf.c +340 -0
  37. data/ext/shp/shapelib/contrib/shpfix.c +110 -0
  38. data/ext/shp/shapelib/contrib/shpgeo.c +1595 -0
  39. data/ext/shp/shapelib/contrib/shpgeo.h +154 -0
  40. data/ext/shp/shapelib/contrib/shpinfo.c +113 -0
  41. data/ext/shp/shapelib/contrib/shpproj.c +260 -0
  42. data/ext/shp/shapelib/contrib/shpsort.c +605 -0
  43. data/ext/shp/shapelib/contrib/shpsort.txt +44 -0
  44. data/ext/shp/shapelib/contrib/shpwkb.c +123 -0
  45. data/ext/shp/shapelib/contrib/tests/shpproj.sh +38 -0
  46. data/ext/shp/shapelib/dbfopen.c +2221 -0
  47. data/ext/shp/shapelib/makefile.vc +86 -0
  48. data/ext/shp/shapelib/makeshape.sh +21 -0
  49. data/ext/shp/shapelib/mkdist.sh +37 -0
  50. data/ext/shp/shapelib/mkinstalldirs +38 -0
  51. data/ext/shp/shapelib/mkrelease.sh +55 -0
  52. data/ext/shp/shapelib/safileio.c +286 -0
  53. data/ext/shp/shapelib/shapefil.h +647 -0
  54. data/ext/shp/shapelib/shapelib.def +46 -0
  55. data/ext/shp/shapelib/shpopen.c +2388 -0
  56. data/ext/shp/shapelib/shptree.c +1187 -0
  57. data/ext/shp/shapelib/shputils.c +1072 -0
  58. data/ext/shp/shapelib/stream1.out +1465 -0
  59. data/ext/shp/shapelib/stream1.sh +28 -0
  60. data/ext/shp/shapelib/stream2.out +530 -0
  61. data/ext/shp/shapelib/stream2.sh +11 -0
  62. data/ext/shp/shapelib/stream3.out +37 -0
  63. data/ext/shp/shapelib/web/.cvsignore +2 -0
  64. data/ext/shp/shapelib/web/codepage.html +403 -0
  65. data/ext/shp/shapelib/web/dbf_api.html +436 -0
  66. data/ext/shp/shapelib/web/index.html +235 -0
  67. data/ext/shp/shapelib/web/license.html +78 -0
  68. data/ext/shp/shapelib/web/manifest.html +87 -0
  69. data/ext/shp/shapelib/web/release.html +80 -0
  70. data/ext/shp/shapelib/web/shapelib-tools.html +352 -0
  71. data/ext/shp/shapelib/web/shp_api.html +376 -0
  72. data/ext/shp/shp.cpp +19 -0
  73. data/ext/shp/shp.hpp +47 -0
  74. data/lib/shp.rb +35 -0
  75. data/lib/shp/version.rb +3 -0
  76. data/shp.gemspec +23 -0
  77. data/spec/shp_spec.rb +127 -0
  78. metadata +176 -0
@@ -0,0 +1,11 @@
1
+ #!/bin/sh
2
+
3
+ for i in 0 1 2 3 4 5 6 7 8 9 10 11 12 13; do
4
+ echo -----------------------------------------------------------------------
5
+ echo Test 2/$i
6
+ echo -----------------------------------------------------------------------
7
+
8
+ ./shptest $i
9
+ ./shpdump test${i}.shp
10
+ done
11
+
@@ -0,0 +1,37 @@
1
+ Shapefile Type: Polygon # of Shapes: 3
2
+
3
+ File Bounds: (0,0,0,0)
4
+ to (180,170,0,0)
5
+
6
+ Shape:0 (Polygon) nVertices=9, nParts=2
7
+ Bounds:(0,0, 0)
8
+ to (100,100, 0)
9
+ (0,0, 0) Ring
10
+ (100,0, 0)
11
+ (100,100, 0)
12
+ (0,100, 0)
13
+ (0,0, 0)
14
+ + (20,20, 0) Ring
15
+ (20,30, 0)
16
+ (30,30, 0)
17
+ (20,20, 0)
18
+
19
+ Shape:1 (Polygon) nVertices=4, nParts=1
20
+ Bounds:(150,150, 0)
21
+ to (180,170, 0)
22
+ (150,150, 0) Ring
23
+ (160,150, 0)
24
+ (180,170, 0)
25
+ (150,150, 0)
26
+
27
+ Shape:2 (Polygon) nVertices=4, nParts=1
28
+ Bounds:(150,150, 0)
29
+ to (180,170, 0)
30
+ (150,150, 0) Ring
31
+ (160,150, 0)
32
+ (180,170, 0)
33
+ (150,150, 0)
34
+ Descriptio TestInt TestDouble
35
+ Square with triangle missing 1 2.50000
36
+ Smaller triangle 100 1000.25000
37
+ (NULL) (NULL) (NULL)
@@ -0,0 +1,2 @@
1
+ robots.txt
2
+ dl
@@ -0,0 +1,403 @@
1
+
2
+ This table is derived from:<p>
3
+
4
+ <a href="http://www.autopark.ru/ASBProgrammerGuide/DBFSTRUC.HTM">http://www.autopark.ru/ASBProgrammerGuide/DBFSTRUC.HTM</a><p>
5
+
6
+
7
+ <table border="1" width="100%">
8
+ <tbody><tr>
9
+ <th colspan="2" align="left" bgcolor="#c0c0c0">ID</th>
10
+ <th align="left" bgcolor="#c0c0c0">Codepage</th>
11
+ <th align="left" bgcolor="#c0c0c0">Description</th>
12
+ </tr>
13
+ <tr>
14
+ <td>1</td>
15
+ <td>0x01</td>
16
+ <td>437</td>
17
+ <td>US MS-DOS</td>
18
+ </tr>
19
+ <tr>
20
+ <td>2</td>
21
+ <td>0x02</td>
22
+ <td>850</td>
23
+ <td>International MS-DOS</td>
24
+ </tr>
25
+ <tr>
26
+ <td>3</td>
27
+ <td>0x03</td>
28
+ <td>1252</td>
29
+ <td>Windows ANSI Latin I</td>
30
+ </tr>
31
+ <tr>
32
+ <td>4</td>
33
+ <td>0x04</td>
34
+ <td>10000</td>
35
+ <td>Standard Macintosh</td>
36
+ </tr>
37
+ <tr>
38
+ <td>8</td>
39
+ <td>0x08</td>
40
+ <td>865</td>
41
+ <td>Danish OEM</td>
42
+ </tr>
43
+ <tr>
44
+ <td>9</td>
45
+ <td>0x09</td>
46
+ <td>437</td>
47
+ <td>Dutch OEM</td>
48
+ </tr>
49
+ <tr>
50
+ <td>10</td>
51
+ <td>0x0A</td>
52
+ <td>850</td>
53
+ <td>Dutch OEM*</td>
54
+ </tr>
55
+ <tr>
56
+ <td>11</td>
57
+ <td>0x0B</td>
58
+ <td>437</td>
59
+ <td>Finnish OEM</td>
60
+ </tr>
61
+ <tr>
62
+ <td>13</td>
63
+ <td>0x0D</td>
64
+ <td>437</td>
65
+ <td>French OEM</td>
66
+ </tr>
67
+ <tr>
68
+ <td>14</td>
69
+ <td>0x0E</td>
70
+ <td>850</td>
71
+ <td>French OEM*</td>
72
+ </tr>
73
+ <tr>
74
+ <td>15</td>
75
+ <td>0x0F</td>
76
+ <td>437</td>
77
+ <td>German OEM</td>
78
+ </tr>
79
+ <tr>
80
+ <td>16</td>
81
+ <td>0x10</td>
82
+ <td>850</td>
83
+ <td>German OEM*</td>
84
+ </tr>
85
+ <tr>
86
+ <td>17</td>
87
+ <td>0x11</td>
88
+ <td>437</td>
89
+ <td>Italian OEM</td>
90
+ </tr>
91
+ <tr>
92
+ <td>18</td>
93
+ <td>0x12</td>
94
+ <td>850</td>
95
+ <td>Italian OEM*</td>
96
+ </tr>
97
+ <tr>
98
+ <td>19</td>
99
+ <td>0x13</td>
100
+ <td>932</td>
101
+ <td>Japanese Shift-JIS</td>
102
+ </tr>
103
+ <tr>
104
+ <td>20</td>
105
+ <td>0x14</td>
106
+ <td>850</td>
107
+ <td>Spanish OEM*</td>
108
+ </tr>
109
+ <tr>
110
+ <td>21</td>
111
+ <td>0x15</td>
112
+ <td>437</td>
113
+ <td>Swedish OEM</td>
114
+ </tr>
115
+ <tr>
116
+ <td>22</td>
117
+ <td>0x16</td>
118
+ <td>850</td>
119
+ <td>Swedish OEM*</td>
120
+ </tr>
121
+ <tr>
122
+ <td>23</td>
123
+ <td>0x17</td>
124
+ <td>865</td>
125
+ <td>Norwegian OEM</td>
126
+ </tr>
127
+ <tr>
128
+ <td>24</td>
129
+ <td>0x18</td>
130
+ <td>437</td>
131
+ <td>Spanish OEM</td>
132
+ </tr>
133
+ <tr>
134
+ <td>25</td>
135
+ <td>0x19</td>
136
+ <td>437</td>
137
+ <td>English OEM (Great Britain)</td>
138
+ </tr>
139
+ <tr>
140
+ <td>26</td>
141
+ <td>0x1A</td>
142
+ <td>850</td>
143
+ <td>English OEM (Great Britain)*</td>
144
+ </tr>
145
+ <tr>
146
+ <td>27</td>
147
+ <td>0x1B</td>
148
+ <td>437</td>
149
+ <td>English OEM (US)</td>
150
+ </tr>
151
+ <tr>
152
+ <td>28</td>
153
+ <td>0x1C</td>
154
+ <td>863</td>
155
+ <td>French OEM (Canada)</td>
156
+ </tr>
157
+ <tr>
158
+ <td>29</td>
159
+ <td>0x1D</td>
160
+ <td>850</td>
161
+ <td>French OEM*</td>
162
+ </tr>
163
+ <tr>
164
+ <td>31</td>
165
+ <td>0x1F</td>
166
+ <td>852</td>
167
+ <td>Czech OEM</td>
168
+ </tr>
169
+ <tr>
170
+ <td>34</td>
171
+ <td>0x22</td>
172
+ <td>852</td>
173
+ <td>Hungarian OEM</td>
174
+ </tr>
175
+ <tr>
176
+ <td>35</td>
177
+ <td>0x23</td>
178
+ <td>852</td>
179
+ <td>Polish OEM</td>
180
+ </tr>
181
+ <tr>
182
+ <td>36</td>
183
+ <td>0x24</td>
184
+ <td>860</td>
185
+ <td>Portuguese OEM</td>
186
+ </tr>
187
+ <tr>
188
+ <td>37</td>
189
+ <td>0x25</td>
190
+ <td>850</td>
191
+ <td>Portuguese OEM*</td>
192
+ </tr>
193
+ <tr>
194
+ <td>38</td>
195
+ <td>0x26</td>
196
+ <td>866</td>
197
+ <td>Russian OEM</td>
198
+ </tr>
199
+ <tr>
200
+ <td>55</td>
201
+ <td>0x37</td>
202
+ <td>850</td>
203
+ <td>English OEM (US)*</td>
204
+ </tr>
205
+ <tr>
206
+ <td>64</td>
207
+ <td>0x40</td>
208
+ <td>852</td>
209
+ <td>Romanian OEM</td>
210
+ </tr>
211
+ <tr>
212
+ <td>77</td>
213
+ <td>0x4D</td>
214
+ <td>936</td>
215
+ <td>Chinese GBK (PRC)</td>
216
+ </tr>
217
+ <tr>
218
+ <td>78</td>
219
+ <td>0x4E</td>
220
+ <td>949</td>
221
+ <td>Korean (ANSI/OEM)</td>
222
+ </tr>
223
+ <tr>
224
+ <td>79</td>
225
+ <td>0x4F</td>
226
+ <td>950</td>
227
+ <td>Chinese Big5 (Taiwan)</td>
228
+ </tr>
229
+ <tr>
230
+ <td>80</td>
231
+ <td>0x50</td>
232
+ <td>874</td>
233
+ <td>Thai (ANSI/OEM)</td>
234
+ </tr>
235
+ <tr>
236
+ <td>87</td>
237
+ <td>0x57</td>
238
+ <td>Current ANSI CP</td>
239
+ <td>ANSI</td>
240
+ </tr>
241
+ <tr>
242
+ <td>88</td>
243
+ <td>0x58</td>
244
+ <td>1252</td>
245
+ <td>Western European ANSI</td>
246
+ </tr>
247
+ <tr>
248
+ <td>89</td>
249
+ <td>0x59</td>
250
+ <td>1252</td>
251
+ <td>Spanish ANSI</td>
252
+ </tr>
253
+ <tr>
254
+ <td>100</td>
255
+ <td>0x64</td>
256
+ <td>852</td>
257
+ <td>Eastern European MS-DOS</td>
258
+ </tr>
259
+ <tr>
260
+ <td>101</td>
261
+ <td>0x65</td>
262
+ <td>866</td>
263
+ <td>Russian MS-DOS</td>
264
+ </tr>
265
+ <tr>
266
+ <td>102</td>
267
+ <td>0x66</td>
268
+ <td>865</td>
269
+ <td>Nordic MS-DOS</td>
270
+ </tr>
271
+ <tr>
272
+ <td>103</td>
273
+ <td>0x67</td>
274
+ <td>861</td>
275
+ <td>Icelandic MS-DOS</td>
276
+ </tr>
277
+ <tr>
278
+ <td>104</td>
279
+ <td>0x68</td>
280
+ <td>895</td>
281
+ <td>Kamenicky (Czech) MS-DOS</td>
282
+ </tr>
283
+ <tr>
284
+ <td>105</td>
285
+ <td>0x69</td>
286
+ <td>620</td>
287
+ <td>Mazovia (Polish) MS-DOS</td>
288
+ </tr>
289
+ <tr>
290
+ <td>106</td>
291
+ <td>0x6A</td>
292
+ <td>737</td>
293
+ <td>Greek MS-DOS (437G)</td>
294
+ </tr>
295
+ <tr>
296
+ <td>107</td>
297
+ <td>0x6B</td>
298
+ <td>857</td>
299
+ <td>Turkish MS-DOS</td>
300
+ </tr>
301
+ <tr>
302
+ <td>108</td>
303
+ <td>0x6C</td>
304
+ <td>863</td>
305
+ <td>French-Canadian MS-DOS</td>
306
+ </tr>
307
+ <tr>
308
+ <td>120</td>
309
+ <td>0x78</td>
310
+ <td>950</td>
311
+ <td>Taiwan Big 5</td>
312
+ </tr>
313
+ <tr>
314
+ <td>121</td>
315
+ <td>0x79</td>
316
+ <td>949</td>
317
+ <td>Hangul (Wansung)</td>
318
+ </tr>
319
+ <tr>
320
+ <td>122</td>
321
+ <td>0x7A</td>
322
+ <td>936</td>
323
+ <td>PRC GBK</td>
324
+ </tr>
325
+ <tr>
326
+ <td>123</td>
327
+ <td>0x7B</td>
328
+ <td>932</td>
329
+ <td>Japanese Shift-JIS</td>
330
+ </tr>
331
+ <tr>
332
+ <td>124</td>
333
+ <td>0x7C</td>
334
+ <td>874</td>
335
+ <td>Thai Windows/MS�DOS</td>
336
+ </tr>
337
+ <tr>
338
+ <td>134</td>
339
+ <td>0x86</td>
340
+ <td>737</td>
341
+ <td>Greek OEM</td>
342
+ </tr>
343
+ <tr>
344
+ <td>135</td>
345
+ <td>0x87</td>
346
+ <td>852</td>
347
+ <td>Slovenian OEM</td>
348
+ </tr>
349
+ <tr>
350
+ <td>136</td>
351
+ <td>0x88</td>
352
+ <td>857</td>
353
+ <td>Turkish OEM</td>
354
+ </tr>
355
+ <tr>
356
+ <td>150</td>
357
+ <td>0x96</td>
358
+ <td>10007</td>
359
+ <td>Russian Macintosh</td>
360
+ </tr>
361
+ <tr>
362
+ <td>151</td>
363
+ <td>0x97</td>
364
+ <td>10029</td>
365
+ <td>Eastern European Macintosh</td>
366
+ </tr>
367
+ <tr>
368
+ <td>152</td>
369
+ <td>0x98</td>
370
+ <td>10006</td>
371
+ <td>Greek Macintosh</td>
372
+ </tr>
373
+ <tr>
374
+ <td>200</td>
375
+ <td>0xC8</td>
376
+ <td>1250</td>
377
+ <td>Eastern European Windows</td>
378
+ </tr>
379
+ <tr>
380
+ <td>201</td>
381
+ <td>0xC9</td>
382
+ <td>1251</td>
383
+ <td>Russian Windows</td>
384
+ </tr>
385
+ <tr>
386
+ <td>202</td>
387
+ <td>0xCA</td>
388
+ <td>1254</td>
389
+ <td>Turkish Windows</td>
390
+ </tr>
391
+ <tr>
392
+ <td>203</td>
393
+ <td>0xCB</td>
394
+ <td>1253</td>
395
+ <td>Greek Windows</td>
396
+ </tr>
397
+ <tr>
398
+ <td>204</td>
399
+ <td>0xCC</td>
400
+ <td>1257</td>
401
+ <td>Baltic Windows</td>
402
+ </tr>
403
+ </tbody></table>