Skip to content

Commit

Permalink
cargo fmt
Browse files Browse the repository at this point in the history
  • Loading branch information
pka committed Sep 11, 2018
1 parent 6e33566 commit 876a5ec
Show file tree
Hide file tree
Showing 8 changed files with 68 additions and 42 deletions.
3 changes: 2 additions & 1 deletion src/main.rs
Expand Up @@ -113,7 +113,8 @@ fn drilldown(args: &ArgMatches) {
s.parse::<u8>()
.expect("Error parsing 'maxzoom' as integer value")
});
let points: Vec<f64> = args.value_of("points")
let points: Vec<f64> = args
.value_of("points")
.map(|numlist| {
numlist
.split(",")
Expand Down
3 changes: 2 additions & 1 deletion t-rex-core/src/core/stats.rs
Expand Up @@ -91,7 +91,8 @@ impl Statistics {
lines.join("\n") + "\n"
}
pub fn as_json(&self) -> JsonResult {
let json: Vec<serde_json::Value> = self.0
let json: Vec<serde_json::Value> = self
.0
.keys()
.map(|key| {
let vals = self.results(&key);
Expand Down
50 changes: 28 additions & 22 deletions t-rex-core/src/datasource/postgis.rs
Expand Up @@ -27,21 +27,24 @@ impl GeometryType {
pub fn from_geom_field(row: &Row, idx: &str, type_name: &str) -> Result<GeometryType, String> {
let field = match type_name {
//Option<Result<T>> --> Option<Result<GeometryType>>
"POINT" => row.get_opt::<_, Point>(idx)
"POINT" => row
.get_opt::<_, Point>(idx)
.map(|opt| opt.map(|f| GeometryType::Point(f))),
//"LINESTRING" =>
// row.get_opt::<_, LineString>(idx).map(|opt| opt.map(|f| GeometryType::LineString(f))),
//"POLYGON" =>
// row.get_opt::<_, Polygon>(idx).map(|opt| opt.map(|f| GeometryType::Polygon(f))),
"MULTIPOINT" => row.get_opt::<_, MultiPoint>(idx)
"MULTIPOINT" => row
.get_opt::<_, MultiPoint>(idx)
.map(|opt| opt.map(|f| GeometryType::MultiPoint(f))),
"LINESTRING" | "MULTILINESTRING" | "COMPOUNDCURVE" => {
row.get_opt::<_, MultiLineString>(idx)
.map(|opt| opt.map(|f| GeometryType::MultiLineString(f)))
}
"POLYGON" | "MULTIPOLYGON" | "CURVEPOLYGON" => row.get_opt::<_, MultiPolygon>(idx)
"LINESTRING" | "MULTILINESTRING" | "COMPOUNDCURVE" => row
.get_opt::<_, MultiLineString>(idx)
.map(|opt| opt.map(|f| GeometryType::MultiLineString(f))),
"POLYGON" | "MULTIPOLYGON" | "CURVEPOLYGON" => row
.get_opt::<_, MultiPolygon>(idx)
.map(|opt| opt.map(|f| GeometryType::MultiPolygon(f))),
"GEOMETRYCOLLECTION" => row.get_opt::<_, GeometryCollection>(idx)
"GEOMETRYCOLLECTION" => row
.get_opt::<_, GeometryCollection>(idx)
.map(|opt| opt.map(|f| GeometryType::GeometryCollection(f))),
_ => {
// PG geometry types:
Expand Down Expand Up @@ -124,7 +127,8 @@ impl<'a> Feature for FeatureRow<'a> {
let mut attrs = Vec::new();
for (i, col) in self.row.columns().into_iter().enumerate() {
if col.name()
!= self.layer
!= self
.layer
.geometry_field
.as_ref()
.unwrap_or(&"".to_string())
Expand Down Expand Up @@ -158,11 +162,13 @@ impl<'a> Feature for FeatureRow<'a> {
fn geometry(&self) -> Result<GeometryType, String> {
let geom = GeometryType::from_geom_field(
&self.row,
&self.layer
&self
.layer
.geometry_field
.as_ref()
.expect("geometry_field undefined"),
&self.layer
&self
.layer
.geometry_type
.as_ref()
.expect("geometry_type undefined"),
Expand Down Expand Up @@ -309,7 +315,8 @@ impl PostgisInput {
vec![]
}
Ok(stmt) => {
let cols: Vec<(String, String)> = stmt.columns()
let cols: Vec<(String, String)> = stmt
.columns()
.iter()
.map(|col| {
let name = col.name().to_string();
Expand Down Expand Up @@ -354,7 +361,8 @@ impl PostgisInput {

let conn = self.conn();
let rows = conn.query(&sql, &[]).unwrap();
let extpoly = rows.into_iter()
let extpoly = rows
.into_iter()
.nth(0)
.expect("row expected")
.get_opt::<_, ewkb::Polygon>("extent");
Expand Down Expand Up @@ -440,18 +448,15 @@ impl PostgisInput {
{
"LINESTRING" | "MULTILINESTRING" | "COMPOUNDCURVE" => format!(
"ST_Multi(ST_SimplifyPreserveTopology({},{}))",
geom_expr,
layer.tolerance
geom_expr, layer.tolerance
),
"POLYGON" | "MULTIPOLYGON" | "CURVEPOLYGON" => {
let empty_geom =
format!("ST_GeomFromText('MULTIPOLYGON EMPTY',{})", layer_srid);
format!("COALESCE(ST_SnapToGrid({}, {}),{})::geometry(MULTIPOLYGON,{})",
geom_expr,
layer.tolerance,
empty_geom,
layer_srid
)
format!(
"COALESCE(ST_SnapToGrid({}, {}),{})::geometry(MULTIPOLYGON,{})",
geom_expr, layer.tolerance, empty_geom, layer_srid
)
}
_ => geom_expr, // No simplification for points or unknown types
};
Expand Down Expand Up @@ -488,7 +493,8 @@ impl PostgisInput {
if offline {
geom_expr
} else {
let mut cols: Vec<String> = self.detect_data_columns(layer, sql)
let mut cols: Vec<String> = self
.detect_data_columns(layer, sql)
.iter()
.map(|&(ref name, ref casttype)| {
// Wrap column names in double quotes to guarantee validity. Columns might have colons
Expand Down
9 changes: 6 additions & 3 deletions t-rex-core/src/datasource/postgis_test.rs
Expand Up @@ -237,7 +237,8 @@ fn test_query_params() {
maxzoom: Some(22),
sql: Some(String::from("SELECT name, type, 0 as osm_id, ST_Union(geometry) AS way FROM osm_buildings_gen0 WHERE geometry && !bbox!")),
}];
let query = pg.build_query(&layer, 3857, layer.query[0].sql.as_ref())
let query = pg
.build_query(&layer, 3857, layer.query[0].sql.as_ref())
.unwrap();
assert_eq!(query.sql,
"SELECT * FROM (SELECT name, type, 0 as osm_id, ST_Union(geometry) AS way FROM osm_buildings_gen0 WHERE geometry && ST_MakeEnvelope($1,$2,$3,$4,3857)) AS _q");
Expand All @@ -248,7 +249,8 @@ fn test_query_params() {
maxzoom: Some(22),
sql: Some(String::from("SELECT osm_id, geometry, typen FROM landuse_z13toz14n WHERE !zoom! BETWEEN 13 AND 14) AS landuse_z9toz14n")),
}];
let query = pg.build_query(&layer, 3857, layer.query[0].sql.as_ref())
let query = pg
.build_query(&layer, 3857, layer.query[0].sql.as_ref())
.unwrap();
assert_eq!(query.sql,
"SELECT * FROM (SELECT osm_id, geometry, typen FROM landuse_z13toz14n WHERE $5 BETWEEN 13 AND 14) AS landuse_z9toz14n) AS _q WHERE way && ST_MakeEnvelope($1,$2,$3,$4,3857)");
Expand All @@ -259,7 +261,8 @@ fn test_query_params() {
maxzoom: Some(22),
sql: Some(String::from("SELECT name, type, 0 as osm_id, ST_SimplifyPreserveTopology(ST_Union(geometry),!pixel_width!/2) AS way FROM osm_buildings")),
}];
let query = pg.build_query(&layer, 3857, layer.query[0].sql.as_ref())
let query = pg
.build_query(&layer, 3857, layer.query[0].sql.as_ref())
.unwrap();
assert_eq!(query.sql,
"SELECT * FROM (SELECT name, type, 0 as osm_id, ST_SimplifyPreserveTopology(ST_Union(geometry),$5::FLOAT8/2) AS way FROM osm_buildings) AS _q WHERE way && ST_MakeEnvelope($1,$2,$3,$4,3857)");
Expand Down
3 changes: 2 additions & 1 deletion t-rex-gdal/src/gdal_ds.rs
Expand Up @@ -101,7 +101,8 @@ impl ToGeo for Geometry {
})
}
OGRwkbGeometryType::wkbLineString => {
let coords = self.get_point_vec()
let coords = self
.get_point_vec()
.iter()
.map(|&(x, y, _)| geom::Point {
x: x,
Expand Down
15 changes: 10 additions & 5 deletions t-rex-service/src/metadata.rs
Expand Up @@ -32,10 +32,12 @@ impl MvtService {
geometry_type: Option<String>,
}

let mut tileset_infos: Vec<TilesetInfo> = self.tilesets
let mut tileset_infos: Vec<TilesetInfo> = self
.tilesets
.iter()
.map(|set| {
let layerinfos = set.layers
let layerinfos = set
.layers
.iter()
.map(|l| LayerInfo {
name: l.name.clone(),
Expand Down Expand Up @@ -64,7 +66,8 @@ impl MvtService {
serde_json::to_value(mvt_info)
}
fn get_tilejson_metadata(&self, tileset: &str) -> JsonResult {
let ts = self.get_tileset(tileset)
let ts = self
.get_tileset(tileset)
.expect(&format!("Tileset '{}' not found", tileset));
let ext = ts.get_extent();
let center = ts.get_center();
Expand Down Expand Up @@ -93,7 +96,8 @@ impl MvtService {
}))
}
fn get_tilejson_layers(&self, tileset: &str) -> JsonResult {
let ts = self.get_tileset(tileset)
let ts = self
.get_tileset(tileset)
.expect(&format!("Tileset '{}' not found", tileset));
let layers = self.get_tileset_layers(tileset);
let layers_metadata: Vec<serde_json::Value> = layers
Expand Down Expand Up @@ -129,7 +133,8 @@ impl MvtService {
// MVT layers in TileJSON manifest
// https://github.com/mapbox/tilejson-spec/tree/3.0-vector_layers/3.0#315-vector_layers
fn get_tilejson_vector_layers(&self, tileset: &str) -> JsonResult {
let ts = self.get_tileset(tileset)
let ts = self
.get_tileset(tileset)
.expect(&format!("Tileset '{}' not found", tileset));
let layers = self.get_tileset_layers(tileset);
let vector_layers: Vec<serde_json::Value> = layers
Expand Down
12 changes: 8 additions & 4 deletions t-rex-service/src/mvt_service.rs
Expand Up @@ -62,7 +62,8 @@ impl MvtService {
pub fn prepare_feature_queries(&mut self) {
for tileset in &self.tilesets {
for layer in &tileset.layers {
let ds = self.datasources
let ds = self
.datasources
.datasource_mut(&layer.datasource)
.expect(&format!("Datasource of layer `{}` not found", layer.name));
ds.prepare_queries(&layer, self.grid.srid);
Expand Down Expand Up @@ -137,7 +138,8 @@ impl MvtService {
};
let path = format!("{}/{}/{}/{}.pbf", tileset, zoom, xtile, ytile);

let ts = self.get_tileset(tileset)
let ts = self
.get_tileset(tileset)
.expect(&format!("Tileset '{}' not found", tileset));
if zoom < ts.minzoom() || zoom > ts.maxzoom() {
return None;
Expand Down Expand Up @@ -305,15 +307,17 @@ impl MvtService {
info!("{}", &self.cache.info());
for tileset in &self.tilesets {
// :tileset.json
let json = self.get_tilejson(&self.cache.baseurl(), &tileset.name)
let json = self
.get_tilejson(&self.cache.baseurl(), &tileset.name)
.unwrap();
let _ = self.cache.write(
&format!("{}.json", &tileset.name),
&serde_json::to_vec(&json).unwrap(),
);

// :tileset.style.json
let json = self.get_stylejson(&self.cache.baseurl(), &tileset.name)
let json = self
.get_stylejson(&self.cache.baseurl(), &tileset.name)
.unwrap();
let _ = self.cache.write(
&format!("{}.style.json", &tileset.name),
Expand Down
15 changes: 10 additions & 5 deletions t-rex-webserver/src/server.rs
Expand Up @@ -309,7 +309,8 @@ fn req_baseurl(req: &HttpRequest<AppState>) -> String {
fn tileset_tilejson(
(req, tileset): (HttpRequest<AppState>, Path<String>),
) -> FutureResult<HttpResponse, Error> {
let json = req.state()
let json = req
.state()
.service
.get_tilejson(&req_baseurl(&req), &tileset)
.unwrap();
Expand All @@ -319,7 +320,8 @@ fn tileset_tilejson(
fn tileset_style_json(
(req, tileset): (HttpRequest<AppState>, Path<String>),
) -> FutureResult<HttpResponse, Error> {
let json = req.state()
let json = req
.state()
.service
.get_stylejson(&req_baseurl(&req), &tileset)
.unwrap();
Expand All @@ -340,7 +342,8 @@ fn tile_pbf(
let z = params.1;
let x = params.2;
let y = params.3;
let gzip = req.headers()
let gzip = req
.headers()
.get(header::ACCEPT_ENCODING)
.and_then(|headerval| {
headerval
Expand All @@ -349,10 +352,12 @@ fn tile_pbf(
.and_then(|headerstr| Some(headerstr.contains("gzip")))
})
.unwrap_or(false);
let tile = req.state()
let tile = req
.state()
.service
.tile_cached(tileset, x, y, z, gzip, None);
let cache_max_age = req.state()
let cache_max_age = req
.state()
.config
.webserver
.cache_control_max_age
Expand Down

0 comments on commit 876a5ec

Please sign in to comment.