I noticed in the code, when an intersection presents itself, the
following SQL is defined:
sql = "
CREATE TEMPORARY TABLE intersection AS
SELECT fid, substr(geometry,1,8) AS point
FROM feature_edge, edge
WHERE feature_edge.tlid = edge.tlid
AND fid IN (#{in_list})
UNION
SELECT fid, substr(geometry,length(geometry)-7,8) AS point
FROM feature_edge, edge
WHERE feature_edge.tlid = edge.tlid
AND fid IN (#{in_list});
CREATE INDEX intersect_pt_idx ON intersection (point);"
It appears that the SQL is hard-wired to expect a certain number type.
Does anyone have an opinion about whether "substr(geometry,1,8)" and
"substr(geometry,length(geometry)-7,8)" need to be modified? I'm
thinking if there was a problem between geometry that is packed vs.
unpacked, the same dichotomy presents problems in the above SQL.