vtkGeovisCorePython missing in Paraview?

Hi,
This is referring to https://gitlab.kitware.com/paraview/paraview/issues/19623 which I would still consider a bug. You explained in your own blog how to write a filter to create a map projection (I need more than Mercator), then you removed the necessary class from the build. It exists in the PV sources and in VTK, but for some reason the PV build process does not include that tiny class… (VTK does build properly with it)
Thanks,
Chris

I would still consider a bug

Lots of VTK filter are not exposed in ParaView, that does not makes it a bug.

You explained in your own blog

This blog was written mainly by @jfavre, who is a user of ParaView. https://blog.kitware.com/paraviews-python-programmable-filters-in-geophysics/

the PV build process does not include that tiny class

You can activate them by enabling the VTK_MODULE_ENABLE_VTK_GeovisCore cmake option in your ParaView 5.8 build.

Christian,

Welcome to ParaView and thank you for your feature request.

Just to clarify, @jfavre, the author of the blog post you referenced in the issue, is a ParaView power user who regularly builds ParaView for various systems. For the article, I believe his build of ParaView included the GeovisCore module. As far as I can tell, we have not packaged this module with the ParaView binaries in the past.

That said, it should be possible to add the module to the binary installers Kitware provides, there just hasn’t been a customer request or community contribution to support this. Turning on the module in ParaView’s superbuild should be possible if you personally wish to take that on.

Also of note, a number of classes in the vtkGeovisCore have been removed for lack of community support/interest. I’m not sure if that would affect your use cases.

1 Like

Both @mwestphal and @cory.quammen were right. In ParaView 5.8 (RC1 for now), you simply have to compile with VTK_MODULE_ENABLE_VTK_GeovisCore=YES

I have updated the original script from the blog article (was using version 4.3. It is now fit for 5.8). Here is the code and an image. Use at your own risk. It is not thoroughly tested, but I have tested it in parallel. :slight_smile:
GeovisProjections.pv58.py (4.5 KB)

1 Like

Thanks a lot! I understand that with missing community support and demand those things get dropped. Its a shame you have to recompile to add the module, many in our institute enjoy the comfort of the pre-built packages and map projections is way up on the missing feature list. Many work with climate / core / mantle convection codes that are by nature 3D spherical shells.
Now unfortunately I cannot write a programmable filter without the module (or just do so with much greater effort…) because everybody uses the packages.
Hmm, if you like I could write + contribute a generic map projection filter that would work like a spherical slice, just produce 2D maps and in turn you package the GeovisCore again?

@jfavre I tried your code without much looking at the details, replaced the NetCDFReader with a spherical slice and got an error, something like AttributeError: 'vtkmodules.vtkCommonDataModel.vtkPolyData' object has no attribute 'GetExtent'

But I guess this is due to the missing lat lon regularity and everything gets a bit more complicated.

Best,
Christian