Custom Chloropleth


I’m trying to follow the steps in Choropleth - HEAVY.AI Docs for the NYC buildings

Using How to Custom GeoJSON & Maps on the Mac - #4 by candido.dessanti, I think I need to

  1. Put the geojson of the shapes into /opt/omnisci/frontend/geojson
  2. Modify /opt/omnisci/frontend/geojson/geoconfig.json to include the new
  3. Restart servers for the change to take affect

I’ve done this, and the entry does not appear in the ‘Select a Geo JSON’ dropdown
What am I doing wrong ?

Also, I’m assuming that:
for the ‘key’, it would be better to use a column such as ‘doitt_id’ as it is an integer, rather than using the geometry coordinates ?? as this is used to join to the data source

the geojson just needs the geometry and the key column- all the rest of the data comes from the database ??



Hi @andrew

If you are using the server with back-end rendering enabled you don’t need to load a geo-json map in the server, just load geometry data into the database thru immerse or with the copy command into a table.

to import geometries data using immerse follow this doc

to display the imported data check this

Let me know if everything is ok.


Hi Candido

I’m using the free version (as a trial)- so does that mean back-end rendering is disabled ?
I thought I read somewhere that the free version had a limit for concurrent users & that this was the main difference ?

I’ve tried loading very simple spatial data (just 2 polygons) in both shapefile and geojson (520 Bytes)
formats in Immerse - I’m understand the chloropleth dimension should be Custom SQL Dimension>omnisci_geo ?




I think the back rendering is enabled because you are on a GPU installation, and it’s allowed in the FREE version; I did a post about the Desktop version for Mac this way because that version is like a CPU only enabled on another OS.

Well, the id of you table has to be joined to dimension if the choropleth mapd as an example

omnisql> create table test_geom (test_id integer, measure decimal(10,2));
omnisql> insert into test_geom values(1,10.2);
omnisql> insert into test_geom values(2,11.2);
omnisql> insert into test_geom values(1,30.2);
omnisql> insert into test_geom values(2,99.2);

Then create a Choropleth map using the test_geom’s table and test0001 table you imported

Different from the front-end rendering, the back-end is capable to render even millions of objects without the need of transferring the objects to the client, and using the GPU is also blazing fast.


thanks Candido

I just think I’m missing something important- in Immerse, I just don’t get the same options as you.
Specifically- the available columns for dimensions & measures

I’ve also noticed this under help>about immerse

could this be the issue ?


as an update:

I had a look through the server logs- and it appears that the problem is with Vulkan
2022-04-01T09:38:11.171196 E 23210 0 0 DBHandler.cpp:535 Backend rendering disabled: Error creating Vulkan instance: Vulkan Error: VK_ERROR_INITIALIZATION_FAILED - /home/jenkins-slave/workspace/mapd2-multi/compiler/gcc/host/centos7-cuda-x86_64/render/render/GfxDriver/Drivers/Vulkan/VulkanPlatform.cpp:250

I set renderer-use-vulkan-driver=false and it seems to work with the above test file, and also the NYC building footprints one


Hi @andrew ,

I have the same options as yours I immerse; You have to choose id as dimension then omnisci_geo


then on the right of the screen select the table containing geometry

You should also see your polygons on the map.

Then come back to the left side of the screen and select your measure.


About Vulkan, just check that the path and the file you used in the VK_ICD_FILENAMES variable exists

ls -la  /usr/share/vulkan/icd.d/nvidia*
-rw-r--r-- 1 root root 140 gen  6 13:10 /usr/share/vulkan/icd.d/nvidia_icd.json

if don’t exists, try to search in the filesystem with the find command

find / -name nvidia_icd.json -t file

In the next release, the OpenGL renderer will be removed, but at least the startup scripts would set the VK_ICD_FILENAMES automatically.

Let me know if you need help to debug the Vulkan installation.


Hi Candido

Many thanks for your help- I eventually got it working with Vulkan backend rendering
Rebooting the server, rather than just stopping and starting services seemed to make a difference, and it is noticeably faster, particularly with big data sets