diff --git a/lib/pc_point.c b/lib/pc_point.c index cf7b990..ecdcd55 100644 --- a/lib/pc_point.c +++ b/lib/pc_point.c @@ -88,7 +88,7 @@ pc_point_get_double(const PCPOINT *pt, const PCDIMENSION *dim, double *d) val = pc_double_from_ptr(ptr, dim->interpretation); /* Scale value */ - if ( dim->scale ) + if ( dim->scale != 1 ) val *= dim->scale; /* Offset value */ @@ -127,7 +127,7 @@ pc_point_set_double(PCPOINT *pt, const PCDIMENSION *d, double val) val -= d->offset; /* Scale value */ - if ( d->scale ) + if ( d->scale != 1 ) val /= d->scale; /* Get pointer into byte buffer */ @@ -352,4 +352,4 @@ pc_point_to_geometry_wkb(const PCPOINT *pt, size_t *wkbsize) if ( wkbsize ) *wkbsize = size; return wkb; -} \ No newline at end of file +} diff --git a/lib/pc_schema.c b/lib/pc_schema.c index 50f5c60..964479e 100644 --- a/lib/pc_schema.c +++ b/lib/pc_schema.c @@ -113,6 +113,8 @@ static PCDIMENSION* pc_dimension_new() { PCDIMENSION *pcd = pcalloc(sizeof(PCDIMENSION)); + /* Default scaling value is 1! */ + pcd->scale = 1.0; return pcd; } diff --git a/lib/pc_val.c b/lib/pc_val.c index aadf80f..6c0c3e8 100644 --- a/lib/pc_val.c +++ b/lib/pc_val.c @@ -16,7 +16,7 @@ double pc_value_scale_offset(double val, const PCDIMENSION *dim) { /* Scale value */ - if ( dim->scale ) + if ( dim->scale != 1 ) val *= dim->scale; /* Offset value */ @@ -30,7 +30,7 @@ double pc_value_from_ptr(const uint8_t *ptr, const PCDIMENSION *dim) { double val = pc_double_from_ptr(ptr, dim->interpretation); - return pc_value_scale_offset(val, dim); + return pc_value_scale_offset(val, dim); } double @@ -179,4 +179,4 @@ pc_double_to_ptr(uint8_t *ptr, uint32_t interpretation, double val) } } return PC_SUCCESS; -} \ No newline at end of file +}