ThinkGeo.com    |     Documentation    |     Premium Support

Serialization of Overlays

Hello,


I've just converted over to the GeoSerializer classes and am having some troubles with some objects serializing to file.


I've been attempting to serialize Overlays in their entirity and when I do this, I get an ArgumentException error like the following:


"Invalid name character in 'pBM='.  The '=' character, hexadecimal value 0x3D, cannot be included in a name."


I've also gone down a level to serialize ShapeFileFeatureLayers and this works for some shapes and not others.  The errors there are similar:


"Invalid name character in 'e0W='.  The '=' character, hexadecimal value 0x3D, cannot be included in a name."


What is this error caused by?


Here is a stack trace from an Overlay layer.


   at System.Xml.XmlWellFormedWriter.CheckNCName(String ncname)

   at System.Xml.XmlWellFormedWriter.WriteStartElement(String prefix, String localName, String ns)

   at System.Xml.XmlWriter.WriteElementString(String localName, String ns, String value)

   at System.Xml.XmlWriter.WriteElementString(String localName, String value)

   at ThinkGeo.MapSuite.Core.XmlGeoSerializationFormatter.fy8=(GeoObjectNode gC8=, XmlWriter gS8=)

   at ThinkGeo.MapSuite.Core.XmlGeoSerializationFormatter.fy8=(GeoObjectNode gC8=, XmlWriter gS8=)

   at ThinkGeo.MapSuite.Core.XmlGeoSerializationFormatter.fy8=(GeoObjectNode gC8=, XmlWriter gS8=)

   at ThinkGeo.MapSuite.Core.XmlGeoSerializationFormatter.SaveCore(GeoObjectModel model, Stream stream)

   at ThinkGeo.MapSuite.Core.GeoSerializationFormatter.Save(GeoObjectModel model, Stream stream)

   at ThinkGeo.MapSuite.Core.GeoSerializer.Serialize(Object serializationObject, Stream stream)

   at EMU.SerializationFunctions.WriteSerializedOverlay(FileStream output, String version, Overlay overlay, String overlayName) in C:\Users\dhite\Documents\Visual Studio 2010\Projects\EMU\EMU\Serializers\SerializationFunctions.cs:line 299Error Writing to File in Overlay Layer: RxSpatialQueryResultOverlay

 


I am using Development build 5.5.56.0


Thanks,

Damian



Hi Damian, 
  
 Thanks for your post. Our GeoSerializer is a new class and we are keeping enhancement it. 
  
 Your information is very important for us. 
  
 Sorry I haven’t succeed to reproduce your problem local, could you create a really simple project for reproduce this and we can quickly fix this for you. 
  
 Regards, 
  
 Don

Don,


I will try and put together a small project for you. 


Given that it will take some time to do that, can you please tell me what 'pBM' is?  What kind of values should this contain?


See below screen shot, I did find the pBM value in the non-public members.  It's set to the same name as my Overlay.  Is that right?


 


 




Don,


Here is a test program attached as a zip file.


Note, you will need to add the countries02.shp dataset to the data directory.


Error produced is identical to the aforementioned.


Regards,


Damian



Hi Damian, 
  
 Thanks for your application! I have made it works and reproduced your problem local. 
  
 Sorry maybe I cannot solve this issue, but I will sent this to our GeoSerializer developer and ask him solve it quickly. 
  
 Tomrrow I will update the status if we solve this or we need more time for it. 
  
 Regards, 
  
 Don

Hi Damian,  
  
 Thanks for your report, our developer have fixed this issue.  
  
 Please get the fixed code in 5.5.63.0 developer build or any higher version. 
  
 And the ‘pBM’ is an encrypted word, don’t worry about that. 
  
 Any question please let us know. 
  
 Regards, 
  
 Don

Hi Damian,  
  
 Thanks for your report, our developer have fixed this issue.  
  
 Please get the fixed code in 5.5.63.0 developer build or any higher version. 
  
 And the ‘pBM’ is an encrypted word, don’t worry about that. 
  
 Any question please let us know. 
  
 Regards, 
  
 Don

Hi Damian,  
  
 Thanks for your report, our developer have fixed this issue.  
  
 Please get the fixed code in 5.5.63.0 developer build or any higher version. 
  
 And the ‘pBM’ is an encrypted word, don’t worry about that. 
  
 Any question please let us know. 
  
 Regards, 
  
 Don

Thanks Don, 
  
 I’ll check back later today.  The dev build is currently 5.5.62.0 so I don’t guess it’s been loaded to the site yet. 
  
 Damian

Hi Don,


When loading in 5.5.63.0, I get a build error on the WinformsMap component.  Below is a screen shot.


Additionally, although I am now able to save most of my files, I can not load them successfully.  Please advice as to what further information you need on this.  I would imagine the same test program I sent earlier would suffice if you add a load button and deserialize code.


I note that when I can't save a file it is because I have loaded a shapefile with a projection other than the internal projection and have used the Proj4Projection method to convert it to the internal.


 



 


Regards,


Damian



Hi Don, 
  
 Sorry about the last post on the build error.  I just needed to reload my session and the error went away. 
  
 As for the reading back from file, I still have issues.  I will start a new post for this one to keep things clean. 
  
 Thanks, 
 Damian

Damian, 
  
 Thanks for your update. We also haven’t reproduced the exception, so I think that should be some problem from VS. 
  
 I will view your other post and keep focus on your problem. 
  
 Regards, 
  
 Don