Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
shanemichelon
Partner - Creator II
Partner - Creator II

GeoReduceGeometry error (Qliksense)

Hi community.

I have been playing with maps recently and specifically, trying to load Australian Postcodes.  I have a kml file, but I get an error:

The Hypercube results are too large

I can accept that this may be the case as the file is quite large.

So, I tried using Georeducegeometry.  However this always gives 'invalid expression'.

To test it, I loaded a smallish world map kml file which displays fine in a map.

When I tried to do georeducegeometry on this working and much smaller file,  I still get the invalid expression error:

GeoReduceGeometry(world.Area) as [Area]

I even tried reducing the table to a single row, but that fails too.

What is the correct format for georeducegeometry?  Working map data does not seem to like this function.

I have attached the sample kmls for reference.

If anyone can help with getting an area based map of Australia Postcodes working, it would be great

Thanks!

1 Solution

Accepted Solutions
Ralf-Narfeldt
Employee
Employee

Hi,

the GeoReduceGeometry function is an aggregating function, so you need to use a Group By when you use it in the load script, otherwise you get the Invalid Expression error.

Additionally, there is a second parameter to set the level of reduction, between 0 to 1, with 0 = no reduction and 1 = maximal reduction.

GeoReduceGeometry - script and chart function ‒ Qlik Sense

I'll see about improving the help for the geospatial function topics to include examples.

Map:

LOAD

    world.Name,

    world.Point,

    world.Area

FROM [lib://myData\world.kml]

(kml, Table is [World.shp/Features]);

Map2:

LOAD world.Name, GeoReduceGeometry(world.Area,0.5) as [Area] resident Map Group By world.Name;

View solution in original post

5 Replies
Not applicable

Hi,

I do not know about GeoReduceGeometry but one way to use the Australian postcodes is to use IdevioMaps (se http://bi.idevio.com). There Australian postcode are included in the product, simplified and ready to use. You do not even need to load the areas but use the postcodes as the dimension in an AreaLayer and it will automatically find the areas and display them for you (under Location Settings, set that you mean postal areas and country is Australia).

One note about simplification is that to get a good result you need to do the simplifications topologically, not one area at a time. Otherwise you will generally get gaps and overlaps between areas.

Drop a message to info@idevio.com to get an evaluation license.

/Johan

Ralf-Narfeldt
Employee
Employee

Hi,

the GeoReduceGeometry function is an aggregating function, so you need to use a Group By when you use it in the load script, otherwise you get the Invalid Expression error.

Additionally, there is a second parameter to set the level of reduction, between 0 to 1, with 0 = no reduction and 1 = maximal reduction.

GeoReduceGeometry - script and chart function ‒ Qlik Sense

I'll see about improving the help for the geospatial function topics to include examples.

Map:

LOAD

    world.Name,

    world.Point,

    world.Area

FROM [lib://myData\world.kml]

(kml, Table is [World.shp/Features]);

Map2:

LOAD world.Name, GeoReduceGeometry(world.Area,0.5) as [Area] resident Map Group By world.Name;

kaanerisen
Creator III
Creator III

Can you try this:

aus_temp_map:

LOAD

    "Aus Postcode Boundaries 2015.Name",

    "Aus Postcode Boundaries 2015.Point",

    "Aus Postcode Boundaries 2015.Area"

FROM [lib://desktop/Aus Postcode Boundaries 2015.kml]

(kml, Table is [POA_2011_AUST_2013_11_26_14_20.kmz/POA_2011_AUST_2013_11_26_14_20.KML]);

aus_map:

Map2:

LOAD "Aus Postcode Boundaries 2015.Name",

GeoReduceGeometry("Aus Postcode Boundaries 2015.Area",0.9) as [Area]

resident aus_temp_map

Group By "Aus Postcode Boundaries 2015.Name";

drop table aus_temp_map;

shanemichelon
Partner - Creator II
Partner - Creator II
Author

Thankyou!  I was unaware of the fact that it was an aggregation.  The group by worked perfectly and the large dataset now displays correctly.

The Help was not very clear on that fact!

tanvi_madan1
Partner - Contributor III
Partner - Contributor III

Thanks for Post. 

This helped to resolve my hyper cube issue. GeoReduceGeometry() works perfectly fine.

 

Regards,

Tanvi Madan