[postgis-tickets] [PostGIS] #2176: ST_ChangeEdgeGeom: exception on SymDifference
PostGIS
trac at osgeo.org
Wed Jan 16 01:39:02 PST 2013
#2176: ST_ChangeEdgeGeom: exception on SymDifference
----------------------+-----------------------------------------------------
Reporter: strk | Owner: strk
Type: defect | Status: new
Priority: medium | Milestone: PostGIS 2.0.3
Component: topology | Version: 2.0.x
Keywords: |
----------------------+-----------------------------------------------------
Comment(by ppll):
Replying to [comment:2 strk]:
> What's needed for this case is simplified data, starting from the
geometry of the initial edge and of the simplified edge. Hopefully Paolo
can provide that.
This is the call, topo name and edge id are just copy paste
SELECT topology.ST_ChangeEdgeGeom('eu_geom_35_topo', 81018,
SimplifyUTM(geom, 35))
FROM eu_geom_35_topo.edge WHERE edge_id = 81018;
In the attached file there is the original geometry, SimplifyUTM function
definition and the geometry after SimplifyUTM call, all geometries are
EWKB format.
Simplifyutm calls utmzone, it's the same function found in the postgis
book, anyway here is the code from my instance:
CREATE OR REPLACE FUNCTION public.utmzone(geometry)
RETURNS integer AS
$BODY$
DECLARE
geomgeog geometry;
zone int;
pref int;
BEGIN
geomgeog:= ST_Transform($1,4326);
IF (ST_Y(geomgeog))>0 THEN
pref:=32600;
ELSE
pref:=32700;
END IF;
zone:=floor((ST_X(geomgeog)+180)/6)+1;
RETURN zone+pref;
END;
$BODY$
LANGUAGE plpgsql IMMUTABLE
COST 100;
Tell me if you need other data or details. Apologies if I made any mistake
with the bug report system, first time I use it.
Paolo
--
Ticket URL: <http://trac.osgeo.org/postgis/ticket/2176#comment:4>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list