pub struct DefaultFinder {
pub finder: Finder,
pub fuzzy_finder: FuzzyFinder,
}
Expand description
It’s most recommend to use, combine both Finder
and FuzzyFinder
,
if FuzzyFinder
got no data, then use Finder
.
Fields§
§finder: Finder
§fuzzy_finder: FuzzyFinder
Implementations§
Source§impl DefaultFinder
impl DefaultFinder
Sourcepub fn get_tz_name(&self, lng: f64, lat: f64) -> &str
pub fn get_tz_name(&self, lng: f64, lat: f64) -> &str
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
assert_eq!("Asia/Shanghai", finder.get_tz_name(116.3883, 39.9289));
Sourcepub fn get_tz_names(&self, lng: f64, lat: f64) -> Vec<&str>
pub fn get_tz_names(&self, lng: f64, lat: f64) -> Vec<&str>
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
println!("{:?}", finder.get_tz_names(116.3883, 39.9289));
Sourcepub fn timezonenames(&self) -> Vec<&str>
pub fn timezonenames(&self) -> Vec<&str>
Returns all time zone names as a Vec<&str>
.
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
println!("{:?}", finder.timezonenames());
Sourcepub fn data_version(&self) -> &str
pub fn data_version(&self) -> &str
Returns the version of the data used by this DefaultFinder
as a &str
.
Example:
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
println!("{:?}", finder.data_version());
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new instance of DefaultFinder
.
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
Sourcepub fn to_geojson(&self) -> BoundaryFile
pub fn to_geojson(&self) -> BoundaryFile
Convert the DefaultFinder’s data to GeoJSON format.
This uses the underlying Finder
’s data for the GeoJSON conversion.
Returns a BoundaryFile
(FeatureCollection) containing all timezone polygons.
§Example
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
let geojson = finder.to_geojson();
let json_string = serde_json::to_string(&geojson).unwrap();
Sourcepub fn get_tz_geojson(&self, timezone_name: &str) -> Option<BoundaryFile>
pub fn get_tz_geojson(&self, timezone_name: &str) -> Option<BoundaryFile>
Convert a specific timezone to GeoJSON format.
This uses the underlying Finder
’s data for the GeoJSON conversion.
Returns Some(BoundaryFile)
containing a FeatureCollection with all features
for the timezone if found, None
otherwise. The returned FeatureCollection
may contain multiple features if the timezone has multiple geographic boundaries.
§Arguments
timezone_name
- The timezone name to export (e.g., “Asia/Tokyo”)
§Example
use tzf_rs::DefaultFinder;
let finder = DefaultFinder::new();
if let Some(collection) = finder.get_tz_geojson("Asia/Tokyo") {
let json_string = serde_json::to_string(&collection).unwrap();
println!("Found {} feature(s)", collection.features.len());
if let Some(first_feature) = collection.features.first() {
println!("Timezone ID: {}", first_feature.properties.tzid);
}
}