ThinkGeo.com    |     Documentation    |     Premium Support

ERROR with OgrFeatureLayer (URGENT)

 Hi,


I get thsi error when I want to use the FDO I have reference the DLL inside my project and I have put the dll inside system32, WOW,...


 


I am concern with the name that is  MapSuiteFdoExtension.dll when the dll name is FdoExtension.dll...?


 


 {"Could not find MapSuiteFdoExtension.dll assembly.":null}


 


thanks


 


jm



Hi Jean-Marie, 



The MapSuiteFDOExtension.dll should exist in the System32\MapSuiteFdoExtensionX64 (or MapSuiteFdoExtensionX86) folder. 

Are you compiling a x86 or x64 project? 

You may need to move the MapSuiteFdoExtension folder depending on what bit type you are compiling as. For more information please reference:

C:\Program Files (x86)\ThinkGeo\Map Suite Mvc Full Edition 6.0\Developer Reference\System32\Readme.txt 



The FdoExtension.dll is the dll you reference within your project, and this dll makes calls to the 'FDO' dlls that exist in the System32/SysWOW64 directory.



H, 
  
 i is FDO support DXF from Autocad?

Hi Jean-Marie,  
  
 According to our current Data Format Guide, Autocad DXF is not a supported format.  
 wiki.thinkgeo.com/wiki/Map_Suite_Data_Format_Guide 
  
 The FDO Provider for OGR does have support for the Autocad DXF format but this was not implemented in our wrapper of FDO. 
  
 I am in the process of finding out why this particular format was not included in our implemenation but for your reference here is the source for information about the FDO Provider for OGR: fdo.osgeo.org/fdoogr/index.html  
 and 
 the list of formats supported in the FDO Provider for OGR: gdal.org/ogr/ogr_formats.html

Hi Ryan, 
  
 let me know if you have any AutoCad support available for me to use. 
  
 Thanks. 
  
 jm

Hi Jean-Marie,  
  
 Unfortunately I don’t have access to a viable AutoCad file to test with but you are welcome try out any files you have access to. As you know the FDO extension can provide support for many data formats but unfortunately we don’t have the resources to source examples of each of these formats to verify their functionality.

Hi, 



I am also very interested in this aspect of MapSuite, albeit specifically for WPF, but I don't think that matters too much in this discussion. 



I have been in touch with Moritz recently regarding this and highlighted that there may be some mileage if; 



1) DXF via FDO / OGR were enabled in OgrFeatureSource / Layer - I think that OGR supports DXF "for free" 

 


The FDO Provider for OGR does have support for the Autocad DXF format but this was not implemented in our wrapper of FDO. 


2) The style information were available as a Feature column 



I hope that this is as simple as I imagine as it would give MapSuite a very strong selling point, even if it were to forego DWG support and caveat DXF support, and I would be interested what your thoughts are.



Hi Kris, 
  
 Thank you very much for providing further information on DXF here, I think you are correct, the DXF can be opened with OgrFeatureLayer, just as you mentioned, the OGR supports DXF for free. However, I’m not sure how the style information stored as a feature column in the DXF, we will do a further information and update the answer here. 
  
 Thanks, 
 Johnny 


Hi Johnny,


Firstly;

is DXF via OgrFeatureSource / Layer now supported in MapSuite?

if so, can you give me a code example of how I can do this - my issue so far has been that I don't seem to be able to set the parameters correctly to initialise the layer.


Secondly;

My thought was that it would be possible for OgrFeatureLayer / Source to provide the style information as thought it were a Feature "property" or column (even though it actually isn't), in as much as that it would be a readonly property that could be specified like this, perhaps;


OgrFeatureLayer ogr = new OgrFeatureLayer(...);

ogr.Open();

var featuresWithStyle = ogr.FeatureSource.GetAllFeatures(new [] { "Style" });

// alternatively

// var featuresWithStyle = ogr.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns); 


Also, I think that it may be usefull to be able to provide all of the properties / columns that OGR can, plus the faux Style property that I propose, using the second call


var featuresWithStyle = ogr.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns);


I would expect this call to give me these properties in each Feature;



        
  • Layer *

  •     
  • SubClasses *

  •     
  • ExtendedEntity *

  •     
  • Linetype *

  •     
  • EntityHandle *

  •     
  • Text *

  •     
  • Style


* (see gdal.org/ogr/drv_dxf.html)


What do you think?



Hi Kris,  



The code as below shows how to use the “OgrFeatureLayer” to open .dxf file. 



             OgrFeatureLayer layer = new OgrFeatureLayer(@"..\..\..\SampleData\Data\Forest Images Art Disk animals.dxf", "FID", "OGRSchema", "entities", "GEOMETRY");                          // Set the CurrentExtent to Full extent.             layer.Open();             fullExtent = layer.GetBoundingBox();             Collection<feature> features = layer.FeatureSource.GetAllFeatures(ReturningColumnsType.AllColumns);             layer.Close();  



We can get any column property you want if they exists in .dxf file. 



But in our test file, we don't have all the properties listed in your post.  



We can help you to make sure that if you upload an available dxf file for test.



Regards, 



Don</feature>



Hi Don,


Thank you for the example.


The columns that I listed are just the standard columns that OGR will give you if you open a DXF file (see gdal.org/ogr/drv_dxf.html)


Unfortunately, I have not had any success connecting to my dxf files, but I want to throw an idea out there.


I am using WpfDesktopEdition version 6.0.0.0. I have noticed that in \System32\MapSuiteFdoExtension the FDOExtension references FDO.dll version 3.5 and gdal16.dll version 1.6.


I then looked on the FDO website and found that version 3.5 does indeed include gdal16.dll (see fdo.osgeo.org/content/downloadsfdo.osgeo.org/content/fdo-350-downloads)


Finally, I looked through the gdal website and found that DXF support was not introduced into OGR until gdal version 1.7, although, on an aside, they withdrew this version because of a problem with one of the drivers - so maybe don't use that one :) (see trac.osgeo.org/gdal/wiki/DownloadSourcetrac.osgeo.org/gdal/wiki/Release/1.7.0-News)


I am not sure if I should get an updated version of MapSuite or something else, but as far as I can tell, there wiil be no support for DXF in my environment because the version of FDO, GDAL and OGR that is used doesn't support it.


There are a couple of other releases of FDO that have happened since 3.5; maybe MapSuite could be built against a later version? This would provide more formats and bug fixes (and, obviously, a logistical nightmare for you when the API changes)


Kris



Hi Kris, 
  
 Yes, we rebuild the Fdo project with version 3.6, and gdal version is 1.7 at development branch since 6.0.191.0, you can get the latest version 6.0.303.0 in development branch and have a try. 
  
 Regards, 
 Edgar

Hi Edgar,


I have downloaded the WPF development build 6.0.303.0 (helpdesk.thinkgeo.com/FileIt...5cebfa024b) but could not find the updated files for the System32 folder.


What else do I need to do?


Kris



Hi Kris,


Sorry for the inconvenience, You can get the updated assemblies from wiki.thinkgeo.com/wiki/Map_S...cies_Guide as following diagram



Regards,


Edgar



Hi Edgar,


Thanks for the links, I will give this a go and let you know how I get on.


Kris



No Problem, please let us know if there is anything wrong. 
  
 Thanks, 
 Johnny

Hi Johnny, 
  
 I have tried using the updated FDO package, but this doesn’t seem to be able to open my files. 
  
 I have had to work around this and I can connect directly to the file using gdal 1.9 and read all of parts out, which I notice is deployed in Windows\SysWOW64\Map Suite 6.0\GeoRasterProjectionX86;’ it seems that it is gdal 1.7 that is being used in the FDO extension. 
  
 Do you have plans to upgrade the FDO extension to use gdal 1.9, maybe for version 7 in May? 
  
 I haven’t tried using gdal 1.7 to connect to my files directly, but it may be that this will solve my problem. 
  
 Let me know what you think, 
  
 Kris

Hi Kris, 
  
 Thanks for let us know the result of your investigation, we have been working on upgrading the FDO extension to the gdal 1.9 now, and try to complete it as soon as possible, maybe it can be finished early next week, and then integrated it into our "Development Branch". In other words, it will also be avaiable in upcoming 7.0 release in May. Any new progress, I will update it here. 
  
 Thanks, 
 Johnny

Hi Johnny, 
  
 Thanks for letting me know. Once it is available I will try to schedule some time to test it out. 
  
 Kris

Hi Kris, 
  
 we have update the FDOExtension to the latest version, but haven’t public to our website, because we get some problem when testing GeoDatabase with Fdo.OGR. Please wait for some time, if i get something, i will update it here. also if you have a workable demo using GDAL1.9, can you send it to us, so that we can do a compare. 
  
 Thanks, 
 Johnny