ThinkGeo.com    |     Documentation    |     Premium Support

Deserialization of Shapes With UTM Projections Fails

Hi,


I've just made some tests with Serialization on shape files that have UTM projections as opposed to Geodetic Lat/Long and found that there is a problem when reading these files back.


To test, I created a basic rectangle shape file that lies offshore Southeast coast Brazil.  This shape file was in WGS-84 Lat/Long.  I then used a well-known conversion utility to convert that shape file to a UTM projection in Zone 24S.  I then serialized both files as separate layers using code similar to that found in the post "FindFeatureLayer fails with Serialization".  Once I read back the XML files, the Lat/Long file would display on the screen fine, but the UTM Projected file did not display.  The UTM Projected file also did not produce any errors on loading so I am assuming it is actually in memory, but somehow projected incorrectly.  In fact, when I try and Track to the Shape, the graticule labels all go to N/A.


Attached is a zip file containing the two shape files and also excerpts of the 2 serialized output files.  For note, I also did this test on a large number of files I received from clients that were UTM projected and Lat/Long and it was the same behaviour each time - the UTM projected files did not display after deserialization.


I am using build 5.5.128.0, but have also tested back to 5.5.107.0 with the same results.


Thanks,


Damian



ShapesToTest.zip (15.4 KB)

Damian,


  I did a test using your shapefiles and I am not getting any of the problems you describe. I use the regular Serialization as described in the guide wiki.thinkgeo.com/wiki/Map_Suite_Serialization_Guide


 It seems that you are using another technique for serialization. Could you send us the code you are using? Thank you.



Hi Val,


I'm still using the same serialization methods that we've discussed over the last several forum topics with Cui and Gary. 


See attached a simple project that you can test with the files I previously provided.  If I am doing something wrong in the code to handle the projection, please let me know.


I'm using Dev 5.5.128.0 for my testing.


Regards,


Damian



UTMShapeErrorTest.zip (227 KB)

Damian,


 Thank you for the attached sample. Now we have something concrete to work on. We will update you with our findings.



Damian,


 Thank you for your attached sample UTMShapeErrorTest. I have it running but you indicate us clearly what are the steps to follow to encounter what is going wrong. I am having problems narrowing down the problem. Thank you.



Hi Val, 
  
 Here are the steps: 
  
 1.  Click Add Shape File and then load the BigBox_UTM24S.shp file.  Verify you see the shape on the screen.  You will have to zoom in as it’s off shore Brazil.  It’s handy to load in some reference like Countries02.shp as well. 
 2.  Click Save to XML.  This will serialize out to a file in the project build dir.  All layers are removed and the screen will be blank. 
 3.  Click Read from XML.  This will deserialize the file in the project build dir.  However, you should not see the Box shape.  If you loaded Countries02.shp in step 1, you will see that. 
 4.  Close the program and then Repeat the process using the BigBox.shp file.  You should find in step 3 that the Box is visible.  The only difference between the shape files is that BigBox is WGS84 Lat/Long and BigBox_UTM24S is WGS84 projected in UTM24 south. 
  
 Regards, 
 Damian

Damian,


 Thank you for your additional information. Now I could clearly identify the problem. I will have the Development Team look at that and I will let you know their findings.



Hello Damian, 
  
 I’m glad to say we have fixed this problem, please get the version 5.5.149.0 or higher for a try. 
  
 Regards, 
  
 Gary

Excellent Gary.  My first test here comfirms it’s working properly. 
  
 Regards, 
 Damian

Hello Damian, 
  
 You are welcome, please feel free to let us know your problem. 
  
 Regards, 
  
 Gary