GDAL - assign a projection to a tif

per file:

gdalwarp -t_srs "EPSG:4326" input.tif output.tif

and a batch:

@echo off
mkdir processed
for %%F in (*.tif) do (
	echo processing %%F
	gdalwarp -t_srs "EPSG:4326" %%F processed\%%F
)
pause

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'
  LANGUAGE c IMMUTABLE STRICT
  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.';