13 KiB
1.4.0 (2017-03-21)
API Changes
- Allow for override of
target_area
andtarget_geoms
inOBS_GetMeta
(#276). This allows the interface to work with points and sparse areas much btter. - Allow for override of
max_timespan_rank
andmax_score_rank
on an item-by-item basis for metadata. numer_description
,geom_description
,denom_description
,numer_t_description
,denom_t_description
andgeom_t_description
now returned as part ofOBS_GetMeta
.
Improvements
- Reduced amount of simplification done on input geometries (from 0.0001 above 500 points to 0.00001 above 1000 points).
- Added tests to confirm that accurate results are returned from automatic boundary selection
1.3.5 (2017-03-15)
No changes. Artifact to allow for data update.
1.3.4 (2017-03-10)
Bugfixes
- Remove erroneously committed
RAISE NOTICE
inOBS_GetData
1.3.3 (2017-03-10)
Bugfixes
- Resolve divide-by-zero errors in cases where the intersection of an Observatory geometry and user geometry has 0 area (#265)
- Run MakeValid on geometry's when intersecting, if necessary (#268)
Improvements
- Add performance tests for multiple columns in
OBS_GetData
- Major performance boost for
autotest.py
through the use of multi-columnOBS_GetData
instead of separateOBS_GetMeasure
calls for every single measurement. (#268) - Major performance boost for
OBS_GetData
in cases where multiple columns are requested. Previously, each additional column would result in a linear slowdown, even if geometries could be reused. (#267)
1.3.2 (2017-03-02)
Bugfixes
- Accept "prenormalized" as well as "predenominated" to bypass normalization. This fixes issues with Camshaft.
1.3.1 (2017-02-16)
Improvements
- It is now possible to obtain measures that are averages or medians over arbitrary polygons (#254.
- Added test point for Australian data
OBS_GetLegacyMetadata
now returns median and averages in cases where it is called for measures for polygons
1.3.0 (2017-01-17)
API Changes
OBS_GetMeasureDataMulti()
is now calledOBS_GetData()
OBS_GetMeasureMetaMulti()
is now calledOBS_GetMeta()
- Additional signature for
OBS_GetData
which can take an array ofTEXT
, mimicking functionality ofOBS_GetMeasureByID
Improvements
- Generate fixtures from
obs_meta
- Remove unused table-level code
- Refactor all augmentation and geometry functions to obtain data from
OBS_GetMeta()
andOBS_GetData()
. - Improvements to
OBS_GetMeta()
so it can still fill in metadata in cases where only a geometry is being requested. OBS_GetData()
returns two-column table instead of anonymous record.OBS_GetData()
can return categorical (text) and geometries
Bugfixes
- Remove unnecessary dependency on
postgres_fdw
OBS_GetData()
now aggregates measures with mixed geoms correctly
API Changes
1.2.1 (2017-01-17)
Improvements
- Support Point/LineString in responses from
OBS_GetBoundary
. (#243)
1.2.0 (2016-12-28)
API Changes
- Added
OBS_GetMeasureDataMulti
, which takes an array of geomvals and parameters as JSON, and returns a set of RECORDs keyed by the vals of the geomvals. - Added
OBS_GetMeasureMetaMulti
, which takes sparse metadata as JSON (for example, the measure ID) and returns a filled-out version of the metadata sufficient for use withOBS_GetMeasureDataMulti
.
Improvements
- Move tests to 2015
- Fixes to
_OBS_GetGeometryScores
to avoid spamming NOTICEs about all pixels for a band being NULL - Tests for
_OBS_GetGeometryScores
with complex geometries - Performance tests for
OBS_GetMeasureDataMulti
- Return both
table_id
andcolumn_id
from_OBS_GetGeometryScores
1.1.7 (2016-12-15)
Improvements
- Use simpler raster table and simplified
_OBSGetGeometryScores
functions to improve performance - In cases where geometry passed into geometry scoring function has greater than 10K points, simply use its buffer instead
- Add
IMMUTABLE
to_OBSGetGeometryScores
- Add tests explicitly for
_OBSGetGeometryScores
in perftest.py - Yields a ~50% improvement in performance for
_OBSGetGeomeryScores
.
1.1.6 (2016-12-08)
Bugfixes
- Fix divide by zero condition in "denominator" branch of
OBS_GetMeasure
when passing in a polygon (#233).
Improvements
- Use
ST_Subdivide
to improve performance when functions are called on very complex geometries (with many points) (#232) - Improve raster scoring to more heavily weight boundaries with nearer to correct number of points, and penalize boundaries with lots of blank space (#232)
- Remove some redundant area calculations in
OBS_GetMeasure
(#232) - Replace use of
format('%L', var)
with proper use ofEXECUTE
and$1
etc. variables (#231) - Add test point for Brazil (#229)
- Improvements to performance tests
(#229)
- Support simple and complex geometries
- Handle all code branches
- Add ability to persist results to JSON for graph visualization later
1.1.5 (2016-11-29)
Bugfixes
- Return
NULL
instead of raising an exception when a measure is requested for a geometry where it does not exist (#220).
1.1.4 (2016-11-21)
Bugfixes
- Fix duplicate subsections with only a partial set of measures appearing from
OBS_GetLegacyMetadata
(#216).
1.1.3 (2016-11-15)
- Temporarily ignore EU data for the sake of testing
1.1.2 (2016-11-09)
Improvements
- Update public
OBS_GetMeasure
to use highest ranked boundary, aiming for 500 geoms. (#190) - Update test generation to capture our raster tiles
- Standardize the way we generate our test points for
autotest.py
- Add points for epa and eurostat
- Should support database dump generated 20161109
API Changes (Internal)
- Add internal
_OBS_GetGeometryScores
1.1.1 (2016-10-14)
Improvements
- Test points for Canada and France (#204)
1.1.0 (2016-10-04)
Bugfixes
- Fixed some minor errors in test suite
Improvements
- We now generate test fixtures from local data instead of remote server (#120)
API Changes
- New function,
OBS_LegacyBuilderMetadata
, which resolves (#133) - Creates "dimensional" metadata grabbing functions
(
OBS_GetAvailableNumerators
,OBS_GetAvailableDenominators
,OBS_GetAvailableGeometries
,OBS_GetAvailableTimespans
) which will be used for obtaining metadata in the replacement for the Data Library (CartoDB/design#104). This is also referred to here (CartoDB/design#68).
1.0.7 (2016-09-20)
Bugfixes
NULL
geometries or geometry IDs no longer result in an exception from any augmentation functions (#178)
Improvements
- Automatic tests work for Canada and Thailand
1.0.6 (2016-09-08)
Improvements
- New function structure for Table-level functions which allows to separate the framework logic from the observatory measure functions.
1.0.5 (2016-08-12)
Improvements
- Integration tests moved to
src/python/test/
, and can be run without hitting any HTTP SQL API.
1.0.4 (2016-07-26)
Bugfixes
- Always default arguments to
NULL
, which prevents duplication & overwrite by dataservices-api (#173)
1.0.3 (2016-07-25)
Bugfixes
- Raise exception instead of crashing when
OBS_GetMeasure
is passed a polygon in combination with a non-summable measure (cartodb/issues #9063) - Unnecessary dependencies on cartodb and plpythonu removed (#161)
- Tests forced to run in-order on all systems (#162)
- Area normalization done by square kilometer instead of square meter for polygons (#158)
postgres-fdw
installed as required in unit test environment (#166)
Improvements
- Added tests to make sure all functions can handle explicit NULL as default (#159)
- Buffer and snaptogrid used to be far more liberal accepting problem geoms (#170)
1.0.2 (2016-07-12)
Bugfixes
- Fix for
OBS_GetCategory
outside the US (#135) OBS_GetMeasure
now respects thenormalize
parameter even when passed a multi/polygon. Previously, no normalization was erroneously assumed.
Improvements
- Automated tests cover Mexico data
obs_meta
is now provisioned during unit testsobs_meta
is now used during end-to-end testsOBS_GetMeasureByID
usesobs_meta
internally, which should help performanceOBS_GetCategory
usesobs_meta
internally, which should help perfromanceOBS_GetCategory
will pick the correct category for an arbitrary polygon (the category covering the highest % of that polygon)OBS_GetMeasure
has been updated to useobs_meta
internally, which should help performanceOBS_GetMeasure
now can be passed "none" and skip normalization by area or denominator for points- Fixtures are only loaded at the start of the unit test suite, and dropped at the end, instead of at the start/end of each individual test file
- Comment noisy NOTICEs (#73)
1.0.1 (2016-07-01)
Bugfixes
- Fix for ERROR: Operation on mixed SRID geometries #130
1.0.0 (6/27/2016)
- Incremented to 1.0.0 to be in compliance with SemVer, which disallows use of 0.x.x versions. This also reflects that we are already in production.
API Changes
- Added
OBS_DumpVersion
to look up version data (#118)
Improvements
- Whether data exists for a geom now determined by polygon intersection instead of BBOX overlap (#119)
- Automated tests cover Spanish and UK data (#115)
- Automated tests cover
OBS_GetUSCensusMeasure
(#105)
Bugfixes
- Geom table can have different
geomref_colname
than the data table (#123)
0.0.5 (5/27/2016)
- Adds new function
OBS_GetMeasureById
(#96)
0.0.4 (5/25/2016)
- Updates queries involving US Census measure tags to be more generic (#95)
- Fixes tests which relied on an erroneous subset of block groups (#95)
0.0.3 (5/24/2016)
- Generalizes internal queries to properly pull from multiple named geometry references
- Adds tests for Who's on First boundaries
- Improves automatic fixtures testing script
0.0.2 (5/19/2016)
- Adds Data Observatory exploration functions
- Adds Data Observatory boundary functions
- Adds Data Observatory measure functions
- Adds script to generate fixtures for tests
- Adds script for the automatic testing of metadata
- Adds full documentation for all included functions
- removes
cartodb
extension dependency
0.0.1 (5/19/2016)
- First iteration of
OBS_GetDemographicSnapshot(location Geometry(Point,4326))