Function lonlat_bng::convert_to_bng_threaded [] [src]

pub extern fn convert_to_bng_threaded(longitudes: Array,
                                      latitudes: Array)
                                      -> (Array, Array)

A threaded, FFI-compatible wrapper for lonlat_bng::convert_osgb36

Examples

extern crate libc;
let lon_vec: Vec<f64> = vec![-2.0183041005533306,
                             0.95511887434519682,
                             0.44975855518383501,
                             -0.096813621191803811,
                             -0.36807065656416427,
                             0.63486335458665621];
let lat_vec: Vec<f64> = vec![54.589097162646141,
                             51.560873800587828,
                             50.431429161121699,
                             54.535021436247419,
                             50.839059313135706,
                             55.412189281234419];
let lon_arr = Array {
    data: lon_vec.as_ptr() as *const libc::c_void,
    len: lon_vec.len() as libc::size_t,
};
let lat_arr = Array {
    data: lat_vec.as_ptr() as *const libc::c_void,
    len: lat_vec.len() as libc::size_t,
};
let (eastings, northings) = convert_to_bng_threaded(lon_arr, lat_arr);

For an FFI implementation, see the code at Convertbng.

Safety

This function is unsafe because it accesses a raw pointer which could contain arbitrary data