mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-09-18 18:56:25 +00:00
densify the shapes before storing them
This commit is contained in:
@ -205,7 +205,10 @@ impl<'extractor> Extractor<'extractor> for GeoJsonExtractor {
|
|||||||
if let Some(geojson) = updated_geo {
|
if let Some(geojson) = updated_geo {
|
||||||
let geojson =
|
let geojson =
|
||||||
GeoJson::from_str(geojson.get()).map_err(UserError::from)?;
|
GeoJson::from_str(geojson.get()).map_err(UserError::from)?;
|
||||||
let geometry = Geometry::try_from(geojson).map_err(UserError::from)?;
|
let mut geometry =
|
||||||
|
Geometry::try_from(geojson).map_err(UserError::from)?;
|
||||||
|
cellulite::densify_geom(&mut geometry);
|
||||||
|
|
||||||
let buf = ZerometryCodec::bytes_encode(&geometry).unwrap();
|
let buf = ZerometryCodec::bytes_encode(&geometry).unwrap();
|
||||||
|
|
||||||
match &mut data_ref.spilled_inserted {
|
match &mut data_ref.spilled_inserted {
|
||||||
@ -230,7 +233,8 @@ impl<'extractor> Extractor<'extractor> for GeoJsonExtractor {
|
|||||||
|
|
||||||
if let Some(geojson) = inserted_geo {
|
if let Some(geojson) = inserted_geo {
|
||||||
let geojson = GeoJson::from_str(geojson.get()).map_err(UserError::from)?;
|
let geojson = GeoJson::from_str(geojson.get()).map_err(UserError::from)?;
|
||||||
let geometry = Geometry::try_from(geojson).map_err(UserError::from)?;
|
let mut geometry = Geometry::try_from(geojson).map_err(UserError::from)?;
|
||||||
|
cellulite::densify_geom(&mut geometry);
|
||||||
let mut bytes = Vec::new();
|
let mut bytes = Vec::new();
|
||||||
Zerometry::write_from_geometry(&mut bytes, &geometry)?;
|
Zerometry::write_from_geometry(&mut bytes, &geometry)?;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user