GIS rocks...

Just digged out some data examples i worked with at the museum of zoology long time ago...

A simple visualisation of a 3d scanner data dumped to a an xyz txt file.

Spatial index in postgis

--create geom index
CREATE INDEX mytable_geom_gist
  ON public.mytable
  USING GIST (geometry);

--vacuum analyze
VACUUM ANALYZE public.mytable;

Use PostGIS 2.x in manifold GIS 8.0.x

Solution applies to manifold 8.0.29 and older versions.

In PostGIS 2.x some spatial functions changed names and so far manifold has not been updated to reflect that. When linking the PostGIS data with AOI windowing, manifold tries to call a function called SetSRID - the equivalent is now st_setstrid. This pretty much may prevent users from using newest pgsql/postgis combo with manifold as obviously a db reports an exception.

In order to make things work, it is required to add a fake SetSRID function to PostGIS, so manifold is happy again. To do so, just review the code of the native st_setsrid function and create its SetSRID equivalent:

CREATE OR REPLACE FUNCTION SetSrid(geometry, integer)
  RETURNS geometry AS
'$libdir/postgis-2.0', 'LWGEOM_set_srid'
  COST 1;
ALTER FUNCTION SetSrid(geometry, integer)
  OWNER TO postgres;
COMMENT ON FUNCTION SetSrid(geometry, integer) IS 'args: geom, srid - Sets the SRID on a geometry to a particular integer value.';

Debugging Corel X7 .NET AddOn

There are 2 ways of debugging an X7 AddOn I am aware of:

  • Attach to a running Corel process: Debug\Attach to Process - find Corel.exe

  • Set the debug options in the project's properties, so when hitting F5 CorelDRAW is launched first

The expected behavior is now pretty obvious:

Note: When going for the latter option, make sure the path in the AppUI.xslt points to a dll that is created when compiling the project. Otherwise VS will not see the dll being loaded and debugger will not hit any breakpoints (when going for the former option, in order to avoid a need to copy a dll over and over again do debug it, it is worth adjusting the path too ;)