Fixed
Details
Assignee
Ricardo StuvenRicardo StuvenReporter
Nathan StultsNathan StultsComponents
Fix versions
Affects versions
Priority
CriticalWho's Looking?
Open Who's Looking?
Details
Details
Assignee
Ricardo Stuven
Ricardo StuvenReporter
Nathan Stults
Nathan StultsComponents
Fix versions
Affects versions
Priority
Who's Looking?
Open Who's Looking?
Created February 24, 2009 at 9:06 PM
Updated March 8, 2009 at 10:20 PM
Resolved March 8, 2009 at 10:20 PM
The Geomery data type for the PostGIS dialect does a manual transformation of a BOX result from PostGIS, which is returned when the Envelope projection is used. Data point 4 is incorrectly created using to longitude points. Currently, the string format used is this:
string wkt = string.Format(
"POLYGON(({0} {1},{2} {1},{2} {3},{0} {2},{0} {1}))",
min[0], min[1], max[0], max[1]);
The fourth data point is formatted as {0} {2} - which equals min[0] and max[0] - both of which refer to longitude points. To match what PostGIS returns from st_AsEWKT, the format should be:
string wkt = string.Format(
"POLYGON(({0} {1},{0} {3},{2} {3},{2} {1},{0} {1}))",
min[0], min[1], max[0], max[1]);
Both of these formats cause the Envelope Projection unit test to pass. I am including a patch for the change (although probably not needed), but the unit test should probably be modified to detect the problem. I can't compile the solution without heavy modifications due to missing references, so I'm not including that.