span8
span4
span8
span4
Provider for MapGuide FAQ.
Q) What version of FME should I use to extend MapGuide, and how is it licensed?
A) The FME Provider for Mapguide is included in FME up to and including FME 2015. The FME Provider for Mapguide will not be available in FME 2016 or beyond. You do not need a special installer for MapGuide. Access to the Provider is simply controlled by licensing. Contact mailto:sales@safe.com if you need a Provider for MapGuide license or contact Technical Support if you feel there is a problem with how your license is functioning.
Q) What versions of MapGuide are supported by the FME Provider for MapGuide?
A) Here's the info...
* Our support for MapGuide enterprise and Infrastructure Server is via FDO. As such there is no customized user interface to automatically connect FME data sources into MapGuide. Instead, you need to use C:\Program Files\FME\FMEPCConfig.exe to define data connections and then add them to MapGuide using FDO connections within Mapguide Studio or equivalent.
Note that in the documentation below, MapGuide refers to MapGuide 6.5 unless otherwise noted.
Also, whenever User Documentation is mentioned below, we are referring to the MapGuide 6.x documentation found at: <FME_HOME>\help\FMEProviderForMapGuide.chm
Q) Will any future development in the FME Provider for MapGuide address Oracle and SDE raster?
A) Not in the current FME Provider. The interfaces Autodesk used were based on OGC Simple Features for COM (SFCOM), and those did not include any notion of raster. So there is no way we can include raster functionality in the existing FME Provider for Mapguide.
Raster support may be possible as part of the FME Feature Source for MapGuide Enterprise
Q) How does FME Provider for MapGuide support reprojection between different coordinate systems?
A) Just like FME Viewer, the FME Provider does not reproject the data it reads by itself. However, it does read the coordinate system information and pass this on to MapGuide which in turn does the reprojection, if the tagged coordinate system differs from the default projection defined for the map. If FME fails to read the coordinate system correctly, you can override this and specify the coordinate system manually on the reader.
If MapGuide does not appear to be reprojecting the data, it may be that it does not recognize the coordinate system that FME is providing for the data. In this case FME can be used to reproject the data into something that MapGuide does recognize, whether by writing out a temp file such as an SDF or via a custom format or FDS. As with other diagnostic issues, it is always a good idea to use FME Viewer to test how FME is reading your data - in this case what coordinate system is being read, which is visible above the information window normally on the right.
It is also worth noting that the file <FME HOME>\Reproject\Exceptions\autodeskwkt.db is used to store references between FME coordinate system names and Autodesk coordinate system names. If you add a custom coordinate system, you will likely need to have a reference added to it in this file as well before MapGuide will recognize it. If this is required it is best if you contact support for assistance. See exceptions and coordinate systems for more info.
Q) How do I configure MapGuide datum shifts for data in Canada?
A) Often by default MapGuide 6.5 is set up for US but not Canadian datum conversions / gridshifts.
In order to configure it for Canadian data follow the steps below:
1) Make sure you have installed the FME gridshift.exe or the CD installer version of FME.
2) Edit: C:\Program Files\Common Files\Autodesk Shared\GIS\coordsys\11c\Nad27ToNad83.gdc
changing the line: '#.\Canada\Ntv2_0.gsb' to: '.\Canada\ntv2_0.gsb'
Note that getting rid of the # or comment character enables the line. Also note the change in case on Ntv to ntv, though in windows OS this probably doesn't matter.
3) Then copy the ntv2_0.gsb from C:\Program Files\FME\Reproject\GridData\Canada to C:\Program Files\Common Files\Autodesk Shared\GIS\coordsys\11c\Canada
For additional notes from Autodesk see:
C:\Program Files\Common Files\Autodesk Shared\GIS\coordsys\11c\Canada\readme.txt
Q) when I try to add a new layer from an FME data source I get the error message: "failed to enumerate tables for the requested data source..." What does this mean?
A) Unexpected characters in the source file, table or attribute names can cause this problem. Try removing all underscores, spaces or other non alphanumeric characters from your source file names, feature types or attributes.
Q) What should I know before getting started with FME Provider for MapGuide?
A) Here is a summary of introductory and background information that would be good to review before you start installing and configuring your FME Provider for MapGuide.
There are a number of things that must be correctly configured in order for the FME Provider for MapGuide to work properly. Unfortunately, depending on your configuration and what other applications are installed, the approach for getting everything working properly is not always intuitive. Hopefully the detailed info below should help you get on the right track.
To set up FME Provider for MapGuide you need FME with a Provider for MapGuide license. FME is a standard install for all licenses and the functionality is controlled just by the license itself, so you should typically be using either a recent beta or the last release.
1) First make sure MapGuide is installed and running.
2) Decide on which version of FME you wish to install. If MapGuide is the only application that your are extending, FME 2007 beta has a fix that gives you access to the FME Admin options that would otherwise require a manual workaround. See: Enabling Admin Options for more info.
3) Install FME, then the FME Provider license. You can confirm the provider license is installed if you run FME (ie Viewer) and go to help - about. This should show you FME Provider for Mapguide. See Licensing for more info.
4) Open the FME Integration Console (Start Menu > FME > Utilities), choose FME Provider for MapGuide, and click on Extend. If it is already extended by an older version of FME, you may need to Revert first and then push Extend again. See FME documentation.
5) After this, you will need to restart your MapGuide Server process, which may require a manual restart of the MapGuide service or even a restart of your server. The next time you start up MapGuide Server, FME Data Provider should show up in your list of data sources.
For more background information see our MapGuide Technology Brief
For more support information see: <FME_HOME>\help\FMEProviderForMapGuide.chm
If FME Provder is licensed and shows up in your list of data sources, but you cannot get at the Admin options, please review Enabling Admin Options and Manually Extending MapGuide
If these online docs don't solve your problem, please send your FMEAdministrator.log, your MapGuide Server logs, and FMEsdp logs, your license file, FME version and build number, a list of applications extended by FME and a complete description of what does and doesn't work. Also include your serial number in this format: Serial Number: xxxxxx and submit it and all the information to Technical Support.
Q) How can I improve the performance of FME Provider for MapGuide? ====
A) Here are some ideas for performance tuning:
For a configuration option to potentially improve your MapGuide Provider performance, try these settings in FME Administrator: FME Provider for MapGuide – Options:
Connection Pool Expiry: 1800 Connection Pool Scan Interval: 120
This will set your pool expiry to 30 minutes and your pool scan interval to 2 minutes.
Remember to stop and restart your MapGuide Server after making changes to FME Administrator Provider settings for them to take effect.
This is how the connection pool works. Basically, a connection provides access to a specific data source set up in the MapGuide server using FME Provider. A database connection typically is composed of a database name, instance, user name, password, and a list of tables that can be accessed. Connections can be shared between users. The first time a user connects to a database, there is some overhead associated with establishing that connection such as evaluating the user, password, and reading the schema information from the tables being queried. If the connection is shared, than anyone else who makes a request for access to that database can share the connection and avoid the overhead of re-establishing it. Note that the request must be for one or more of the tables that are defined as being part of that connection. Also not that at no time does this cache data, it just caches the connection instance.
For example, if you have 2 connections:
SDE_water Tables: - Rivers - streams
SDE_roads Tables: - Highways - Streets
The first user to make a request asks for SDE_Roads.Highways. His request will cause a connection to be established to SDE_roads with some extra time required to set that up. Thereafter, any user can share that connection, avoid the setup time and access the data directly. User 2 makes a request for SDE_Roads.Streets. Since this table comes from the same connection, he can use the shared connection and get his data back more quickly since it doesn’t need to be set up for him. That assumes that he is making the request within 30 minutes of the last previous request, given a pool expiry of 1800. If he makes this request after 30 minutes (and no one else has), the connection will have expired and there will be a delay similar to the one for the first user as the connection is re-established.
A third user asks for SDE_water.streams. This is not part of SDE_Roads, so there is a slight delay as this new connection is established. Thereafter, for at least the next 30 minutes, any new user connecting wont need to establish a new connection and should see better performance than the first or third users.
If you wish for us to examine our performance in more detail, turn on Debugging and Auto Error debugging in the FME Administrator - Provider Options, define a log file path and name and send us your log file after performing a few queries.
Remember that database access will always be slower than file access. On a request by request basis, FME has relatively fast access when compared to other database clients. A typical ArcCatalog view is not a just comparison. If you are looking at an ArcCatalog screen and then zoom or pan, the connection and data are already cached locally. A better comparison would be to disconnect the database connection, then time how long it takes to reconnect, select the table and see the first view of it.
Keep in mind the option of caching data for some layers locally to SDF periodically (every day or week) if that gives you the performance you need without losing significant timely accuracy. It might be a good idea to cache layers locally if they are high in volume but don't change too often, while layers which change more often but don't have a large footprint could still be accessed by FME Provider directly.
Network traffic is a big potential bottleneck that you should definitely look into. If you went from SDF files local on the MapGuide server to everything on a remote SDE this could slow things down a lot. Talk to your network admin and make sure you have a dedicated / very high speed connection between your MapGuide/FME and SDE servers.
Take another look at the scale visibility of your datasets. You may want to use FME to generalize some of your layers and have these layers visible at a wider zoom out level and the detailed stuff only visible close in (as configured in MapGuide). Also make sure you don't have massive features - thousands of points per feature - as MapGuide will have to load the whole feature even if only a corner is visible. Again, FME can chop these up. As MapGuide is a view only application, the prime concern should be display speed rather than precise feature preservation.
In terms of improving performance, the one limitation of scaling MapGuide provider for many users is that it is not multithreaded. For a large scale deployment, you may need to look at using MapGuide's scaling abilities - multiple MapGuides each with their own FME Provider. I believe one of the MapGuides gets designated as the master and distributes traffic to the others. Note that this requires multiple FME licenses. However, before you get into multiple MapGuides, it probably makes sense to do your best to optimize what you have first.
Grouping related datasets into their own connection should help so long as you have plenty of resources - RAM and disk. Take a look at your server resources. In general, I would be liberal with number of connections and expiry time until you start getting low on resources. If free memory starts to get low you may need to reduce the number of connections. Basically, a connection is an FME reader set up in memory. A new request that comes in and gets assigned to an existing connection saves the time it would take to start up a new fme and connect to sde. Too many connections and things will get cached to disk which might take longer to read than just starting a new connection. You'll have to watch your process meters to see whats happening.
An upgrade of FME may well help. We are continually improving our functionality and performance, so there are numerous fixes and performance improvements with every release. As a general rule we also do not permit degradations in performance from one version to the next, even in the pursuit of new functionality.
That said, I would caution against an outright upgrade to a production server. Your best bet is to set up a development environment, and then use some of the MapGuide test tools to stress test it (MgTester.exe from AutoDesk).
When you are ready to upgrade, you may want to consider the latest beta or get the latest version of the official release from our website which includes the latest patches which the CD version doesn't have.
Q) Does the FME Provider for MapGuide support Custom Formats?
A) Yes. Custom formats can be made accessible from within FME Provider for MapGuide. A good example is to automatically reproject data from a source coordinate system to a destination coordinate system, such as LL84. Another use would be to reformat attributes such as combine multiple columns into one or applying a code lookup to get a description instead.
However, please remember that currently all custom formats are treated as file formats and have their results cached. We are currently working on registering custom formats in such a way so that those with database sources are not cached but rather run 'live'.
The trick using custom formats in MapGuide is that you will need to manually copy any .fds you create into FME's datasources folder.
Here are the steps for setting up a universal reproject data source for MapGuide:
Note that if you have any problems with the custom format workspace, you can always turn on Destination - Redirect to Visualizer and then run the translation from within Workbench to verify what is happening to the data output.
Thats it. Now your custom data source should just work from within MapGuide. You will probably need to restart your mapguide server and then recreate any FME data sources that you want to point to this LL84 custom format. You should then be able to use MapGuide Author to add data using your new custom format data source, and the data should be reprojected to match your basemap in MapGuide.
Q) Is it better to use the FME Provider for MapGuide to directly read my data or to convert all my data to SDF format?
A) The general concensus here is that whether Provider is a good idea depends on your format. If you're using SDE (for example) then it is a simple and quick query to retrieve data. If you're using GeoDatabase (for example) then there's a performance hit in retrieving the data and you might be better off just to convert the GeoDatabase to SDF/SDF3 as a regular FME batch process. Of course it would also depend on how often your data changes and how vital it is for your data to be served up live.
Q) Where can I find more information on FME Provider for MapGuide?
A) See MapGuide and FME Whitepaper, User Documentation and Getting Started
FME Workbench reports that it can't be run outside of the ArcGIS environment
How do I prevent an FME license from being used by my GIS application?
Unable to Start ArcGIS for Desktop When FME is Extended and in Use
FME Support for MapGuide Enterprise 2011
Unable to open FME Desktop when using the FME ArcGIS Data Interoperability Edition License
"Tool Not Licensed" Error When Using the Quick Import/Export FME Interoperability Tools
FME Extension for ArcGIS not showing up in ArcToolbox
Set up FME for Linux on Amazon EC2
Creating an FME ETL Tool in a New Toolbox in ArcGIS causes an error
FME Desktop on Amazon AWS EC2 or Other Cloud Virtual Machines
© 2019 Safe Software Inc | Legal