ffi-gdal 1.0.0.beta1 → 1.0.0.beta3
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.
- checksums.yaml +4 -4
- data/History.md +32 -0
- data/LICENSE.txt +1 -1
- data/TODO.md +0 -2
- data/examples/extract_and_colorize.rb +81 -0
- data/{testing_ogr.rb → examples/geometries.rb} +4 -16
- data/{testing_layer_to_layer.rb → examples/ogr_layer_to_layer.rb} +1 -1
- data/examples/testing_gdal.rb +46 -0
- data/lib/ext/error_symbols.rb +1 -0
- data/lib/ffi/cpl/conv_h.rb +15 -15
- data/lib/ffi/cpl/error_h.rb +13 -13
- data/lib/ffi/cpl/string_h.rb +10 -10
- data/lib/ffi/cpl/vsi_h.rb +23 -23
- data/lib/ffi/gdal.rb +1 -1
- data/lib/ffi/gdal/grid_h.rb +3 -3
- data/lib/ffi/gdal/version.rb +1 -1
- data/lib/ffi/ogr/api_h.rb +3 -3
- data/lib/gdal/dataset.rb +5 -4
- data/lib/gdal/dataset_extensions.rb +2 -2
- data/lib/gdal/raster_band.rb +1 -0
- data/lib/gdal/raster_band_extensions.rb +5 -5
- data/lib/ogr/geometry.rb +1 -0
- data/spec/unit/gdal/color_table_extensions_spec.rb +60 -0
- data/spec/unit/gdal/data_type_spec.rb +79 -0
- data/spec/unit/gdal/dataset_spec.rb +98 -0
- metadata +12 -11
- data/linkies.rb +0 -35
- data/readie.rb +0 -90
- data/testing_gdal.rb +0 -168
- data/testing_gdalwarp.rb +0 -91
- data/testing_ndvi.rb +0 -76
- data/testing_nir.rb +0 -77
- data/things.rb +0 -84
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e43588d5789cf95019883b698d2b68b67281f35
|
4
|
+
data.tar.gz: b9b2ab12a3e3c9014ff2bb7d21b8bed1e899fffc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9295b6fb9a37c545603887b71cc59b68013b1601543a6623f4a681adb816b7320ca100b7b4de0313ae236d6db3965a0c2b1d03e05eebab6cf25bb00ae5cbe591
|
7
|
+
data.tar.gz: 22947cf2a0b33db1ef198ac73fcc182259f0746061687cc727ffceeb8f471c17ae1e598966cc34536d41177601ea1dacdc8305af105a814053682f878fee5cef
|
data/History.md
CHANGED
@@ -1,3 +1,35 @@
|
|
1
|
+
### 1.0.0.beta3 / 2014-11-11
|
2
|
+
|
3
|
+
* Bug fixes
|
4
|
+
* `ogr/exceptions` wasn't being required for `ext/error_symbols.rb`, thus
|
5
|
+
any use of an OGR exception was causing a `NameError`.
|
6
|
+
|
7
|
+
### 1.0.0.beta2 / 2014-10-23
|
8
|
+
|
9
|
+
* Improvements
|
10
|
+
* Added more documentation
|
11
|
+
* Uncommented `attach_function` calls that had been commented out due to
|
12
|
+
lack of support in versions I'd tested on. These get handled now on load.
|
13
|
+
|
14
|
+
### 1.0.0.beta1 / 2014-10-23
|
15
|
+
|
16
|
+
* Lots of changes, so just the highlights here...
|
17
|
+
* API Improvements
|
18
|
+
* Added C and Ruby wrapper for most of OGR.
|
19
|
+
* Better handling of CPLErr return values.
|
20
|
+
* Allow loading, even when C functions aren't defined in the version of
|
21
|
+
GDAL that you're using.
|
22
|
+
* Split out additions to GDAL/OGR in `*_extensions.rb` modules. Methods
|
23
|
+
contained in `Extentions` modules don't directly wrap GDAL/OGR functions,
|
24
|
+
but either provide new functionality or attempt to make library usage more
|
25
|
+
Rubyesque.
|
26
|
+
* Added `#as_json`, `#to_json` to many classes.
|
27
|
+
* Internal Improvements
|
28
|
+
* Lots of cleanup of class internals.
|
29
|
+
* `autoload` child GDAL and OGR Ruby classes.
|
30
|
+
* Renamed files under ffi/ that were derived from GDAL/OGR header files to
|
31
|
+
include `_h` in the name.
|
32
|
+
|
1
33
|
### 0.0.4 / 2014-09-27
|
2
34
|
|
3
35
|
* Bug fixes
|
data/LICENSE.txt
CHANGED
data/TODO.md
CHANGED
@@ -0,0 +1,81 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
require 'pry'
|
3
|
+
require 'ffi-gdal'
|
4
|
+
|
5
|
+
GDAL::Logger.logging_enabled = true
|
6
|
+
|
7
|
+
colors = %w[644d1e 745924 856728 95742b a5812d b69930 c8b22d d8cb3c e8e65a
|
8
|
+
f4ee79 e0e457 c8da42 afd135 97b73c 7e993c 657e36 4b612c 314441 23295e
|
9
|
+
282973]
|
10
|
+
|
11
|
+
floyd_path = File.join(__dir__, '../spec/support/images/Floyd/Floyd_1058_20140612_NRGB.tif')
|
12
|
+
floyd = GDAL::Dataset.open(floyd_path, 'r')
|
13
|
+
|
14
|
+
#---
|
15
|
+
# Extracting...
|
16
|
+
#---
|
17
|
+
|
18
|
+
# NIR
|
19
|
+
floyd.extract_nir('nir.tif', 1).close
|
20
|
+
|
21
|
+
# Natural Color
|
22
|
+
floyd.extract_natural_color('nc.tif', band_order: %i[nir red green blue]).close
|
23
|
+
|
24
|
+
# NDVI as Float32
|
25
|
+
floyd.extract_ndvi('ndvi_float.tif', band_order: %i[nir red green blue],
|
26
|
+
data_type: :GDT_Float32,
|
27
|
+
remove_negatives: true
|
28
|
+
).close
|
29
|
+
|
30
|
+
# NDVI as Byte
|
31
|
+
floyd.extract_ndvi('ndvi_byte.tif', band_order: %i[nir red green blue],
|
32
|
+
data_type: :GDT_Byte,
|
33
|
+
remove_negatives: true,
|
34
|
+
photometric: 'PALETTE'
|
35
|
+
).close
|
36
|
+
|
37
|
+
# NDVI as UInt16
|
38
|
+
floyd.extract_ndvi('ndvi_uint16.tif', band_order: %i[nir red green blue],
|
39
|
+
data_type: :GDT_UInt16,
|
40
|
+
remove_negatives: true,
|
41
|
+
photometric: 'PALETTE'
|
42
|
+
).close
|
43
|
+
|
44
|
+
# GNDVI as Byte
|
45
|
+
floyd.extract_gndvi('gndvi_byte.tif', band_order: %i[nir red green blue],
|
46
|
+
data_type: :GDT_Byte,
|
47
|
+
remove_negatives: true,
|
48
|
+
photometric: 'PALETTE'
|
49
|
+
).close
|
50
|
+
|
51
|
+
# GNDVI as UInt16
|
52
|
+
floyd.extract_gndvi('gndvi_uint16.tif', band_order: %i[nir red green blue],
|
53
|
+
data_type: :GDT_UInt16,
|
54
|
+
remove_negatives: true,
|
55
|
+
photometric: 'PALETTE'
|
56
|
+
).close
|
57
|
+
|
58
|
+
#---
|
59
|
+
# Colorize after extraction...
|
60
|
+
#---
|
61
|
+
|
62
|
+
byte_dataset = GDAL::Dataset.open('ndvi_byte.tif', 'w')
|
63
|
+
byte_band = byte_dataset.raster_band(1)
|
64
|
+
byte_band.colorize!(*colors)
|
65
|
+
byte_dataset.close
|
66
|
+
|
67
|
+
uint16_dataset = GDAL::Dataset.open('ndvi_uint16.tif', 'w')
|
68
|
+
uint16_band = uint16_dataset.raster_band(1)
|
69
|
+
uint16_band.colorize!(*colors)
|
70
|
+
uint16_dataset.close
|
71
|
+
|
72
|
+
g_byte_dataset = GDAL::Dataset.open('gndvi_byte.tif', 'w')
|
73
|
+
g_byte_band = g_byte_dataset.raster_band(1)
|
74
|
+
g_byte_band.colorize!(*colors)
|
75
|
+
g_byte_dataset.close
|
76
|
+
|
77
|
+
g_uint16_dataset = GDAL::Dataset.open('gndvi_uint16.tif', 'w')
|
78
|
+
g_uint16_band = g_uint16_dataset.raster_band(1)
|
79
|
+
g_uint16_band.colorize!(*colors)
|
80
|
+
g_uint16_dataset.close
|
81
|
+
|
@@ -43,21 +43,9 @@ multi_polygon = OGR::Geometry.create_from_wkt(multi_polygon_wkt)
|
|
43
43
|
# boundary: #{boundary}
|
44
44
|
# POINT
|
45
45
|
#
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
#mpoint = geometry.to_multi_point
|
51
|
-
#mpolygon = geometry.to_multi_polygon
|
52
|
-
polygon = geometry.to_polygon
|
53
|
-
|
54
|
-
{
|
55
|
-
line_string_points: ls ? ls.point_count : nil,
|
56
|
-
multi_line_string_points: mls ? mls.point_count : nil,
|
57
|
-
#multi_point_points: mpoint ? mpoint.point_count : nil,
|
58
|
-
#multi_polygon_points: mpolygon ? mpolygon.point_count : nil,
|
59
|
-
#polygon_points: polygon ? polygon.point_count : nil
|
60
|
-
}
|
61
|
-
end
|
46
|
+
|
47
|
+
geometry = geometry.clone
|
48
|
+
ls = geometry.to_line_string
|
49
|
+
mls = geometry.to_multi_line_string
|
62
50
|
|
63
51
|
binding.pry
|
@@ -8,7 +8,7 @@ GDAL::Logger.logging_enabled = true
|
|
8
8
|
# http://pcjericks.github.io/py-gdalogr-cookbook/vector_layers.html#create-a-new-layer-from-the-extent-of-an-existing-layer
|
9
9
|
|
10
10
|
# Get a Layer's Extent
|
11
|
-
data_source = OGR::DataSource.open('spec/support/shapefiles/states_21basic/states.shp', 'r')
|
11
|
+
data_source = OGR::DataSource.open('../spec/support/shapefiles/states_21basic/states.shp', 'r')
|
12
12
|
layer = data_source.layer(0)
|
13
13
|
extent = layer.extent
|
14
14
|
|
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'RMagick'
|
2
|
+
require 'bundler/setup'
|
3
|
+
require 'pry'
|
4
|
+
require 'ffi-gdal'
|
5
|
+
|
6
|
+
GDAL::Logger.logging_enabled = true
|
7
|
+
|
8
|
+
floyd_too_big_wkt = 'MULTIPOLYGON (((-87.55634718933241 31.168633650404765, -87.552227316286 31.16870709121005, -87.55234533348232 31.169808696448463, -87.5478606800096 31.1698913163249, -87.54777484932141 31.168679550914895, -87.54380517997858 31.168615290194918, -87.54396611251944 31.16511760526154, -87.55647593536513 31.164906454793982, -87.55634718933241 31.168633650404765)))'
|
9
|
+
floyd_wkt = 'MULTIPOLYGON (((-87.5530099868775 31.16710573359053,-87.5530099868775 31.165600160261103,-87.55384683609009 31.16710573359053,-87.5530099868775 31.16710573359053)))'
|
10
|
+
floyd_srid = 4326
|
11
|
+
|
12
|
+
harper_path = '/Users/sloveless/Development/projects/ffi-gdal/spec/support/images/Harper/Harper_1058_20140612_NRGB.tif'
|
13
|
+
harper = GDAL::Dataset.open(harper_path, 'r')
|
14
|
+
|
15
|
+
floyd_path = '/Users/sloveless/Development/projects/ffi-gdal/spec/support/images/Floyd/Floyd_1058_20140612_NRGB.tif'
|
16
|
+
floyd = GDAL::Dataset.open(floyd_path, 'r')
|
17
|
+
|
18
|
+
spatial_ref = OGR::SpatialReference.new(floyd.projection)
|
19
|
+
floyd_geometry = OGR::Geometry.create_from_wkt(floyd_wkt, spatial_ref)
|
20
|
+
|
21
|
+
usg_path = '/Users/sloveless/Development/projects/ffi-gdal/spec/support/images/osgeo/geotiff/usgs/c41078a1.tif'
|
22
|
+
usg = GDAL::Dataset.open(usg_path, 'r')
|
23
|
+
|
24
|
+
world_file_path = "#{__dir__}/spec/support/worldfiles/SR_50M/SR_50M.tif"
|
25
|
+
world_file = GDAL::GeoTransform.from_world_file(world_file_path, 'tfw')
|
26
|
+
|
27
|
+
binding.pry
|
28
|
+
|
29
|
+
#floyd.image_warp('meow.tif', 'GTiff', 1, cutline: floyd_geometry )
|
30
|
+
#extract_ndvi(floyd, 'ndvi.tif', floyd_wkt)
|
31
|
+
|
32
|
+
def warp_to_geometry(dataset, wkt_geometry)
|
33
|
+
|
34
|
+
# Create an OGR::Geometry from the WKT and convert to dataset's projection.
|
35
|
+
wkt_spatial_ref = OGR::SpatialReference.new_from_epsg(4326)
|
36
|
+
geometry = OGR::Geometry.create_from_wkt(wkt_geometry, wkt_spatial_ref)
|
37
|
+
geometry.transform_to!(dataset.spatial_reference)
|
38
|
+
|
39
|
+
binding.pry
|
40
|
+
# Create a .shp from the geometry
|
41
|
+
shape = geometry.to_vector('geom.shp', 'ESRI Shapefile',
|
42
|
+
spatial_reference: dataset.spatial_reference)
|
43
|
+
shape.close
|
44
|
+
end
|
45
|
+
|
46
|
+
#warp_to_geometry(floyd, floyd_wkt)
|
data/lib/ext/error_symbols.rb
CHANGED
data/lib/ffi/cpl/conv_h.rb
CHANGED
@@ -109,7 +109,7 @@ module FFI
|
|
109
109
|
attach_function :CPLCloseShared, %i[pointer], :void
|
110
110
|
attach_function :CPLGetSharedList, %i[pointer], :pointer
|
111
111
|
attach_function :CPLDumpSharedList, %i[pointer], :void
|
112
|
-
|
112
|
+
attach_function :CPLCleanupSharedFileMutex, %i[], :void
|
113
113
|
|
114
114
|
attach_function :CPLDMSToDec, %i[string], :double
|
115
115
|
attach_function :CPLDecToDMS, %i[double string int], :string
|
@@ -123,21 +123,21 @@ module FFI
|
|
123
123
|
#---------
|
124
124
|
# Zip Files
|
125
125
|
#---------
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
126
|
+
attach_function :CPLCreateZip, %i[string pointer], :pointer
|
127
|
+
attach_function :CPLCreateFileInZip, %i[pointer string pointer], CPLErr
|
128
|
+
attach_function :CPLWriteFileInZip, %i[pointer pointer int], CPLErr
|
129
|
+
attach_function :CPLCloseFileInZip, %i[pointer], CPLErr
|
130
|
+
attach_function :CPLCloseZip, %i[pointer], CPLErr
|
131
|
+
attach_function :CPLZLibDeflate,
|
132
|
+
%i[pointer size_t int pointer size_t pointer],
|
133
|
+
:pointer
|
134
|
+
attach_function :CPLZLibInflate,
|
135
|
+
%i[pointer size_t pointer size_t pointer],
|
136
|
+
:pointer
|
137
137
|
|
138
|
-
|
139
|
-
|
138
|
+
attach_function :CPLValidateXML, %i[string string pointer], :int
|
139
|
+
attach_function :CPLsetlocale, %i[int string], :string
|
140
140
|
|
141
|
-
|
141
|
+
attach_function :CPLCleanupSetlocaleMutex, %i[], :void
|
142
142
|
end
|
143
143
|
end
|
data/lib/ffi/cpl/error_h.rb
CHANGED
@@ -20,18 +20,18 @@ module FFI
|
|
20
20
|
#------------------------------------------------------------------------
|
21
21
|
attach_function :CPLError, [CPLErr, :int, :string], :void
|
22
22
|
attach_function :CPLErrorV, [CPLErr, :int, :string, :pointer], :void
|
23
|
-
|
23
|
+
attach_function :CPLEmergencyError, [:void], :void
|
24
24
|
attach_function :CPLErrorReset, [:void], :void
|
25
25
|
|
26
26
|
attach_function :CPLGetLastErrorNo, [:void], :int
|
27
27
|
attach_function :CPLGetLastErrorType, [:void], CPLErr
|
28
28
|
attach_function :CPLGetLastErrorMsg, [:void], :string
|
29
29
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
30
|
+
attach_function :CPLGetErrorHandlerUserData, [:void], :pointer
|
31
|
+
attach_function :CPLErrorSetState,
|
32
|
+
[CPLErr, :int, :string],
|
33
|
+
:void
|
34
|
+
attach_function :CPLCleanupErrorMutex, [:void], :void
|
35
35
|
attach_function :CPLLoggingErrorHandler,
|
36
36
|
[CPLErr, :int, :string],
|
37
37
|
:void
|
@@ -41,20 +41,20 @@ module FFI
|
|
41
41
|
attach_function :CPLQuietErrorHandler,
|
42
42
|
[CPLErr, :int, :string],
|
43
43
|
:void
|
44
|
-
|
44
|
+
attach_function :CPLTurnFailureIntoWarning, [:int], :void
|
45
45
|
|
46
46
|
attach_function :CPLSetErrorHandler,
|
47
47
|
[:CPLErrorHandler],
|
48
48
|
:CPLErrorHandler
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
attach_function :CPLSetErrorHandlerEx,
|
50
|
+
[:CPLErrorHandler, :pointer],
|
51
|
+
:CPLErrorHandler
|
52
52
|
attach_function :CPLPushErrorHandler,
|
53
53
|
[:CPLErrorHandler],
|
54
54
|
:void
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
attach_function :CPLPushErrorHandlerEx,
|
56
|
+
[:CPLErrorHandler, :pointer],
|
57
|
+
:void
|
58
58
|
attach_function :CPLPopErrorHandler, [:void], :void
|
59
59
|
|
60
60
|
attach_function :CPLDebug, [:string, :string], :void
|
data/lib/ffi/cpl/string_h.rb
CHANGED
@@ -32,7 +32,7 @@ module FFI
|
|
32
32
|
attach_function :CSLInsertString, %i[pointer int string], :pointer
|
33
33
|
attach_function :CSLRemoveStrings, %i[pointer int int pointer], :pointer
|
34
34
|
attach_function :CSLFindString, %i[pointer string], :int
|
35
|
-
|
35
|
+
attach_function :CSLFindStringCaseSensitive, %i[pointer string], :int
|
36
36
|
attach_function :CSLPartialFindString, %i[pointer string], :int
|
37
37
|
attach_function :CSLFindName, %i[pointer string], :int
|
38
38
|
|
@@ -55,27 +55,27 @@ module FFI
|
|
55
55
|
attach_function :CPLUnescapeString, %i[string pointer int], :string
|
56
56
|
attach_function :CPLBinaryToHex, %i[int pointer], :string
|
57
57
|
attach_function :CPLHexToBinary, %i[string pointer], :pointer
|
58
|
-
|
59
|
-
|
58
|
+
attach_function :CPLBase64Encode, %i[int pointer], :string
|
59
|
+
attach_function :CPLBase64DecodeInPlace, %i[pointer], :int
|
60
60
|
|
61
61
|
attach_function :CPLGetValueType, %i[string], CPLValueType
|
62
62
|
attach_function :CPLStrlcpy, %i[string string size_t], :size_t
|
63
63
|
attach_function :CPLStrlcat, %i[string string size_t], :size_t
|
64
64
|
attach_function :CPLStrnlen, %i[string size_t], :size_t
|
65
|
-
|
65
|
+
attach_function :CPLEncodingCharSize, %i[string], :int
|
66
66
|
|
67
|
-
|
67
|
+
attach_function :CPLClearRecodeWarningFlags, [], :void
|
68
68
|
attach_function :CPLRecode, %i[string string string], :string
|
69
69
|
attach_function :CPLRecodeFromWChar, %i[string string string], :string
|
70
70
|
attach_function :CPLRecodeToWChar, %i[string string string], :string
|
71
71
|
|
72
72
|
attach_function :CPLIsUTF8, %i[string int], :int
|
73
73
|
attach_function :CPLForceToASCII, %i[string int char], :string
|
74
|
-
|
74
|
+
attach_function :CPLStrlenUTF8, %i[string], :int
|
75
75
|
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
76
|
+
attach_function :CPLOPrintf, %i[string varargs], :CPLString
|
77
|
+
attach_function :CPLOvPrintf, %i[string varargs], :CPLString
|
78
|
+
attach_function :CPLURLGetValue, %i[string string], :CPLString
|
79
|
+
attach_function :CPLURLAddKVP, %i[string string string], :CPLString
|
80
80
|
end
|
81
81
|
end
|
data/lib/ffi/cpl/vsi_h.rb
CHANGED
@@ -46,23 +46,23 @@ module FFI
|
|
46
46
|
attach_function :VSIFTellL, %i[pointer], :vsi_l_offset
|
47
47
|
attach_function :VSIRewindL, %i[pointer], :void
|
48
48
|
attach_function :VSIFReadL, %i[pointer size_t size_t pointer], :size_t
|
49
|
-
|
50
|
-
|
51
|
-
|
49
|
+
attach_function :VSIFReadMultiRangeL,
|
50
|
+
%i[int pointer pointer pointer pointer],
|
51
|
+
:int
|
52
52
|
attach_function :VSIFWriteL, %i[pointer size_t size_t pointer], :size_t
|
53
53
|
attach_function :VSIFEofL, %i[pointer], :int
|
54
|
-
|
54
|
+
attach_function :VSIFTruncateL, %i[pointer vsi_l_offset], :int
|
55
55
|
attach_function :VSIFFlushL, %i[pointer], :int
|
56
56
|
attach_function :VSIFPrintfL, %i[pointer string varargs], :int
|
57
57
|
attach_function :VSIFPutcL, %i[int pointer], :int
|
58
|
-
|
59
|
-
|
60
|
-
|
58
|
+
attach_function :VSIIngestFile,
|
59
|
+
%i[pointer string pointer pointer GIntBig],
|
60
|
+
:int
|
61
61
|
attach_function :VSIStatL, %i[string pointer], :int
|
62
|
-
|
62
|
+
attach_function :VSIStatExL, %i[string pointer int], :int
|
63
63
|
|
64
|
-
|
65
|
-
|
64
|
+
attach_function :VSIIsCaseSensitiveFS, %i[string], :int
|
65
|
+
attach_function :VSIFGetNativeFileDescriptorL, %i[pointer], :pointer
|
66
66
|
|
67
67
|
attach_function :VSICalloc, %i[size_t size_t], :pointer
|
68
68
|
attach_function :VSIMalloc, %i[size_t], :pointer
|
@@ -73,7 +73,7 @@ module FFI
|
|
73
73
|
attach_function :VSIMalloc3, %i[size_t size_t size_t], :pointer
|
74
74
|
|
75
75
|
attach_function :VSIReadDir, %i[string], :pointer
|
76
|
-
|
76
|
+
attach_function :VSIReadDirRecursive, %i[string], :pointer
|
77
77
|
attach_function :VSIMkdir, %i[string long], :int
|
78
78
|
attach_function :VSIRmdir, %i[string], :int
|
79
79
|
attach_function :VSIUnlink, %i[string], :int
|
@@ -84,15 +84,15 @@ module FFI
|
|
84
84
|
attach_function :VSIInstallMemFileHandler, [], :void
|
85
85
|
attach_function :VSIInstallLargeFileHandler, [], :void
|
86
86
|
attach_function :VSIInstallSubFileHandler, [], :void
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
87
|
+
attach_function :VSIInstallCurlFileHandler, [], :void
|
88
|
+
attach_function :VSIInstallCurlStreamingFileHandler, [], :void
|
89
|
+
attach_function :VSIInstallGZipFileHandler, [], :void
|
90
|
+
attach_function :VSIInstallZipFileHandler, [], :void
|
91
|
+
attach_function :VSIInstallStdinHandler, [], :void
|
92
|
+
attach_function :VSIInstallStdoutHandler, [], :void
|
93
|
+
attach_function :VSIInstallSparseFileHandler, [], :void
|
94
|
+
attach_function :VSIInstallTarFileHandler, [], :void
|
95
|
+
attach_function :VSICleanupFileManager, [], :void
|
96
96
|
|
97
97
|
attach_function :VSIFileFromMemBuffer,
|
98
98
|
%i[string pointer vsi_l_offset int],
|
@@ -100,9 +100,9 @@ module FFI
|
|
100
100
|
attach_function :VSIGetMemFileBuffer,
|
101
101
|
%i[string pointer int],
|
102
102
|
:pointer
|
103
|
-
|
104
|
-
|
105
|
-
|
103
|
+
attach_function :VSIStdoutSetRedirection,
|
104
|
+
%i[VSIWriteFunction pointer],
|
105
|
+
:pointer
|
106
106
|
|
107
107
|
attach_function :VSITime, %i[pointer], :ulong
|
108
108
|
attach_function :VSICTime, %i[ulong], :string
|