Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml

AspAutocadCDot netExcelFox proHtmlJava
LinuxMathcadPhotoshopPhpSqlVisual studioWindowsXml

Manifold - Security and Access Control

autocad



+ Font mai mare | - Font mai mic



Security and Access Control

Manifold System is designed to utilize Windows security and access control methods. The correct, most reliable path to security is to learn to use the security features in your operating system. The best way to assure fast, easy and reliable access control is to learn to use the access control features in your version of Windows.

Security and access control when doing GIS in Manifold revolves around sensible structuring of your Windows file system, organization of files and control over various resources such as network access to files, read/write permissions and more. Real security in Windows requires at least Windows NT 4.0 and is best done with Windows 2000 or XP.



For best management of security and access control, manifold.net recommends either Windows XP or Windows 2000 within a native Windows 2000 domain integrated with Active Directory. A Windows 2000 domain with Active Directory can operate with well over a million users. Informed use of Windows 2000 and features like Active Directory or Policies will provide enterprise-class security and access control capabilities. These concepts will apply, of course, to modern Windows operating systems such as Windows XP.

Windows 2000 / XP Resources

Windows domains integrated with DNS - Domains in a Windows network are large and secure.

Single or Multiple Domains - Enterprises can organize using a single, large domain or multiple domains with trust relationships between the multiple domains.

Subdividing Domains into Organizational Units - Individual domains can be easily subdivided into organizational units. Control over those local organizational units can be delegated to local administrators using a simple wizard.

Active Directory QoS Bandwidth Control - Allocate priority bandwidth to given users based on Quality of Service (QoS) of the network link, who they are, time service required, etc.

User and Machine Groups - Both users and machines can belong to groups within Windows.

Groups within Groups - A simple way of organizing access and other permissions is to put groups inside of other groups.

Organizational Units - OU's are used to create users with different account policies, to give control of certain user and/or machine accounts to a set of users, and to control user desktops through group policy objects.

Sites - Windows sites can help an enterprise get organized geographically to improve network performance by compressing replication information that must travel through slower or costly WAN links.

Distributed File System - A handy replacement for NT's directory replication service.

Encrypting File System - Keep files encrypted.

Sophisticated Security Settings - Windows provides a very wide range of security options that may be applied to fit any organizational or operational need.

Integrated support for Smart Cards - Smart cards authenticate users by providing a personal security certificate when inserted into the smart card reader. Windows now includes support for numerous smart card readers and media.

For information on configuring these and other security and administration features in Windows please consult any of the many books published on Windows 2000 and Windows XP.

Performance Tips

Manifold includes many capabilities previously found only on software that costs tens of thousands of dollars per license. That the software includes such sophisticated capabilities does not imply that any personal computer, no matter how limited or slow, will be able to adequately support use of such capabilities. In particular, work with large images will require lots of RAM and a fast processor. The thousands of dollars we save by purchasing Manifold can be invested into more RAM and more powerful processors that can serve us in other applications as well.

Most Manifold projects using vector drawings on modern computers will operate so fast that thinking about performance is not necessary. When working with large projects or large images, though, we may want to squeeze every bit of performance out of our systems. The following tips will help you achieve the greatest possible performance on your desktop when working with large maps. Many of these suggestions are generic suggestions that will help you create and operate the fastest Windows system possible.

Hardware

Install lots of RAM memory, enough to maintain your entire project in RAM memory if possible. It does no good to have a fast processor if the fast processor is waiting around for virtual memory to be paged back in from hard disk. Don't forget to include RAM required by Windows and background processes. Memory is very inexpensive, so install two or three gigabytes. On older systems, install the maximum allowed, usually 1.5 gigabytes. On newer systems, install as much as you can afford, using two or three gigabytes if you plan on working with large projects or multiple Manifold instances.

Install a fast processor. If your budget allows a choice between substantially more RAM or a slightly faster processor, get the RAM. If you are working with very large images and surfaces that will not fit into RAM, then it is more important to install a significantly faster processor and a really fast disk drive.

Install a very large disk drive. Large disk drives are faster than smaller drives, because the average access time given is calculated over a larger capacity. It's better to install a larger, reasonably fast drive than a smaller drive that promises extra-fast transfer. Better still, get enough memory to never have to hit disk. An additional bonus to a large disk is that if you have 100 gigabytes of free space you will not hesitate to save interim versions of a project. Frequently saving projects is cheap insurance against undoable user errors and other time wasters.

Get a fast hard disk, spinning at 7200 RPM or faster and using ATA100 or more recent interface. This is especially important if you will work with large images or drawings, which will involve a lot of disk accesses.

Think twice before buying SCSI. It's often faster to use the latest generation EIDE drives and to spend the money saved over SCSI on larger drives and more drives (for independent action when using page files and temp files). Keep your system page file, TEMP folder and user profile directories on a separate drive than your working files.

If money is no object, consider installing multiple disks in a RAID configuration for maximum disk throughput. For very large images and surfaces this might not be such an expensive option as it sounds, since large, fast hard disks can now be had for $100 each.

For 3D terrain windows get a fast graphics card with OpenGL support in hardware and lots of local graphics memory. It is critically important to use good drivers. Quite often the fastest drivers for your version of Windows will be supplied by the chip vendor who makes the graphics chip in your graphics card. This can make the difference between smooth 'fly through' motion and very jerky a-few-seconds-per-frame motion in terrain views. See the discussion in Terrains .

If you must work with other applications running in background (mission critical stuff like WinAmp or Media Player), get a dual-processor machine so at least one of the processors is available for Manifold. Run Windows XP, 2000 or NT as your OS with dual-processor machines.

Use a large video display with high resolution. Larger, high-resolution displays will allow you to keep more panes, toolbars and windows open at the same time. Work goes faster when all controls are in sight. If you are stuck with a small screen or low resolution, learn to use the ALT-SHIFT keyboard shortcuts to rapidly open and close panes. See the Windows topic for tips on keyboard shortcuts.

Operating System and other Software

Very important: Go to the Windows Control Panel Display dialog Effects tab and make sure that the Show window contents while dragging check box is not checked. Checking this box will greatly slow down the system when displaying complex maps and images.

Use any version of Windows XP. As a second choice use Windows 2000. In a pinch, Windows NT will do although some display functions will be much slower in Windows NT due to the older display systems used in NT. Windows XP and 2000 provide much better utilization of large memory than do Windows Me, 98 or Windows 95. Avoid Windows 95.

Use NTFS for the file system. Do not use FAT or FAT32 (FAT file systems have serious drawbacks in terms of security, safety and performance).

Avoid creating many partitions. Ideally, set up one partition for the entire drive C:.

Set up a fixed-size Windows page file that is far larger than ever will be necessary, several gigabytes or larger in the case of projects involving very large images. This is faster than a dynamically re-sized page file. In Windows 2000 open System in the Control Panel. In the Advanced tab click Performance Options and under Virtual memory click Change. Set the Initial size the same as the Maximum size. In Windows XP, open System in the Control Panel, then in the Advanced tab's Performance section click Settings. In the resulting Performance Options dialog's Advanced tab's Virtual Memory section click Change and then set the Initial size the same as the Maximum size. In both cases the size should be very large, over 2000 MB if possible.

Allow a large enough page file for multiple instances of Manifold if you will be launching more than one instance of Manifold and copying and pasting between them. More than 2.5 gigabytes per Manifold instance is not necessary.

Install the latest version of Internet Explorer. IE installs fresh versions of Windows system facilities such as VBScript and JScript scripting engines, the XML parser and other facilities that are used by Manifold. As newer versions of IE install faster and better facilities, your Manifold installation will also become faster and better.

Avoid running other applications in background.

Minimize the use of memory-resident services. Keep only absolutely vital services on the traybar. The only program sitting on traybars at manifold.net is a readout for system time. A few systems have a volume control icon and some systems have an icon indicating the status of a local SQL Server or MSDE. Compare that to the collection of seven or eight icons often seen in traybars when many intrusive, memory-resident consumer applications have been installed.

Very important: Do not operate a virus checker in real-time scanning mode. Instead, schedule a regular weekly or nightly virus check. Real-time virus scanning will have a serious impact on system performance because the virus scanner will analyze all of the many temp files created by Manifold in the normal course of work. This tip is especially important when working with large images or surfaces.

When running WinAmp or Windows Media Player at the same time as Manifold, switch off visualization modes to reduce processing overhead. Switch off the equalizer or effects as well if you need every processor cycle. If you do not have enough RAM to avoid frequent paging to disk, run your audio playlist over your local network using a different machine as a disk server to avoid tying up the local disk.

If you have multiple hard disks, keep your TEMP directory and page file on one disk and your applications and .map files on a different disk. When working with very large images and surfaces it helps to keep the TEMP directory and system page file on physically separate hard disks. This allows the disk drive heads to seek independently from each other as various files are used. This is less of a factor if you have so much RAM that disk accesses are minimized, and more of a factor when working with large projects that don't fit into RAM.

When working with server-based OLE DB providers such as SQL Server and Oracle, users are strongly encouraged to maintain primary keys in all tables linked into the Manifold project. A side effect of how such servers interact through OLE DB is that if the table does not have a primary key, performance will be greatly reduced.

Learn how to operate and administer Windows proficiently. Use a good Internet search engine (such as google.com) to find web sites that teach how to tune your Windows system for maximum performance. If your Windows system is tuned for faster operation then applications that run within Windows, such as Manifold System, will also be able to run faster. Simple Windows maintenance such as defragmenting hard disk storage can result in noticeable improvement in Windows performance.

Manifold System

Re-project drawings, images, and surfaces into the same projection specified in maps that use these drawings, images and surfaces. All projection parameters must be the same for this to help and not just the name of the projection in use. This is critically important when working with very large images and surfaces. If this is not done then everything from displaying maps in their own window or displaying a layout that includes the map can end up being very slow.

If a map will consist of a large image (or surface) and several drawings in a different projection, create the map using the image and then add the drawing layers. The map will then use the same projection as the image. Large images and surfaces are much slower to re-project on the fly than are drawings, so it is faster for the map to use the same projection and to re-project the drawings for display than the other way around. When working with large images, it is critically important to use the projection of the image for any maps that contain that image.

Turn off any layers you don't need to see in a map.

Close any unnecessary map, drawing, or image windows. Every window that is open will need to be redisplayed on any changes.

When doing analytic work that does not need much visual interaction, use smaller map windows and zoom far into the map so relatively few objects are on screen. The fewer objects that are visible, the fewer need to be computed for rendering and redrawn.

Uncheck View - Refresh Auto so no refreshes occur unless you command them with Refresh.

Don't use high-resolution data when you will zoom out to levels where the details blur together. Resample the data with Normalize Topology (for drawings) using a lower Location Precision value to create a lower resolution equivalent that makes sense at the zoom level you need. For example, don't use high-resolution shoreline data if the map will show an entire world at once. The details will not be visible on screen, but Manifold will still need to re-compute the display based on a huge level of detail. Working with lower resolution data will also make many commands, such as Dissolve , operate much faster. Many drawings, such as those destined for thematic presentation, can be made ten times less complex/smaller without any objectionable visual effects.

Don't use raster images when drawings are more accurate, faster, and provide more information content. See the Images can be Inefficient essay.

When working with images stored in 'lossy' formats such as .jpeg, resample (resize) the image down to the level of resolution truly kept with the .jpeg compression. Expanding the compressed image to a large size with many pixels in X and Y is a mirage, because the detail for high resolution has already been lost. You may as well enjoy the faster speed obtained by using image at a pixel resolution commensurate with the true image information it actually contains.

If you only need to work with part of a large data set, take a moment to cut that part out as a separate drawing or image or terrain and then work with only the necessary part.

Uncheck the Preview box in image commands with large images if you don't need to see a preview.

RGBa images are larger and take more time to display than ordinary RGB images. Don't use RGBa images unless you need to use RGBa pixel transparency , or if ordinary invisible pixels within an RGB image can do the job.

Use Zoom Ranges to present the level of detail required - Suppose we would like to show a national map for user orientation when zoomed out but we would also like to show very detailed shorelines when users zoom in. Create a map using two drawings: a highly detailed drawing plus a second, low resolution drawing created from the first by generalizing with Normalize Topology to a lower Location Precision value. Assign zoom ranges to the drawings so that the low-resolution drawing is the only drawing displayed when zoomed out and the high-resolution drawing is the only drawing displayed when zoomed in. When users browse the map in a zoomed out view the display will be fast because a fewer number of coordinates need be used to display the low-resolution drawing. When users are zoomed in the high-resolution drawing will become visible; however, only a portion of the high-resolution drawing will be seen in a zoomed in view so the display will still be fast.

Store the .map file used on a fast, local hard disk - When Manifold operates it accesses the .map file and any temp files created. If the .map file is located on a slow hard disk or on a different machine that must be accessed via a local area network then performance will not be as fast as if the .map file was immediately available on a local, fast hard disk. If you have a very fast network and fast servers this effect might not be significant.

When importing drawings, don't import data fields that will never be used. Many data fields will slow the system down. If a drawing has been imported with superfluous data fields, edit tables using Design to eliminate the unnecessary fields. When working with commands such as Dissolve , check the Transfer Rules for the tables being used to make sure that no fields are being transferred that are not necessary to transfer.

Uncheck the Compress .map files to save space option in Tools - Options to eliminate .map file compression. This will result in larger .map files on hard disk, but saving .map files and opening .map files usually will be a much faster process. Oddly enough, if a project includes very large images or surfaces and you have a very fast processor, it may be faster to use compression because the time to fetch and decompress a smaller sized file may be shorter than the time required to fetch a larger, uncompressed file.

Always acquire and install the latest edition of Manifold System or the latest Service Pack. Each new build of Manifold System includes optimizations and other improvements. Some optimizations will result in dramatically faster performance in the functions that have been optimized.

When working with large images and surfaces, keep the image or surface stored in a Manifold .map file. When a large image or surface is opened for the first time after it is imported Manifold will build a series of intermediate views that are used for faster panning and zooming at less than full resolution. Building these intermediate views takes time, so the first time a large image or surface is displayed the window will open very slowly. After that, viewing will be fast. If the image or surface is stored in a .map file, the intermediate views will be stored in the .map file as well (as a built-in part of the saved image or surface). Opening an image or surface already saved in a .map is therefore fast even the very first time the image or surface is opened.

The User

Read the documentation and learn as much as you can so you are always using optimal methods.

Take a few minutes to think about a task before launching into it. There are often many different paths to the same end within Manifold. A good plan will help you choose the best path and avoid unnecessary work.

Don't fall into the trap of making projects more complicated than they need to be. Most GIS projects follow the 80 / 20 rule, where 80% of the desired result comes from 20% of the implementation effort. Do that 20% first and then try it out. You might find that you are happy with the result.

Try to find a pre-existing data set that provides what you need before you invest time into building your own. Some people waste weeks of time digitizing raster scans without realizing they could download 1:24,000-scale SDTS maps from USGS that provide the same thing for free.

Save your work regularly in separate projects so you never have to waste time redoing an entire project after a system crash or undoable user error at some stage.

Memorize keyboard shortcuts and use them in combination with mouse moves. For example, experts will keep the left hand on the keyboard for CTRL-C and CTRL-V to Copy and Paste while the right hand moves the mouse to select items and manipulate windows and other mouse-based controls. The ALT-SHIFT keyboard shortcuts used to open and close Manifold panes are especially important if you have a small screen. See the Windows topic for tips on keyboard shortcuts.

Learn to write scripts. Automating a task so that it takes care of itself while you are at lunch or at home is a wonderful time saver. At times a very simple script can replace a long sequence of commands using pre-built tools. When scripting, write the simplest code that works and use it. Write scripts so their internal functioning is obvious and include plenty of comments to boot. The objective is simplicity and maintainability.

Get plenty of sleep and exercise regularly. Fatigue causes errors and panic. Good health will help you think clearly and execute with authority.

Manifold was originally developed on Intel and AMD processors with average performance of 450Mhz to 650Mhz Pentium III's with 128MB to 256MB of RAM. Most development was done using Windows 2000 and Windows XP. Faster machines were deliberately avoided to force a very conservative perspective into development for core system functions. Given enough RAM for the task, required performance with such systems will be acceptable. If you work with smaller projects involving drawings and small images, RAM in the range of 512MB will be adequate. If you are planning on working with larger images or larger projects it is very important to add enough RAM capacity (one to three gigabytes) to handle the greater demands that will be placed on your system. As processor speeds continue to improve performance on state-of-the-art machines will become dazzlingly fast.

At this writing, a 1.8 Gigahertz AMD Athlon XP machine with two or three gigabytes of RAM, 80 gigabyte hard disk and a really fast NVIDIA graphics card can be assembled for a few hundred dollars. Such a machine will run Manifold in most tasks with very good performance. As machines get faster so that 2 or 3 Gigahertz processors are considered entry level life will get even better.

See the essay on Using RAM and other Machine Resources for the Manifold 'spin' on this topic.

Very Large Jobs

No matter how fast Manifold can operate it will always be possible to ask Manifold to perform a task that will take a very long time to accomplish. Some jobs can seem to take an unreasonably long time if, without realizing it, we have suddenly increased the amount of data involved as compared to previous tasks.

Raster data and images can involve dramatically greater work for what appears to be a small increase in image size because the data in images increases as the square of any increase in height and width of the image. An image that's 40% larger takes 100% more work to manipulate. An image that is twice as big will take four times the work. For raster data such as DEMs it is easy to forget that scaling up from a 100 x 100 image to a 1000 x 1000 image will end up requiring 100 times as much work. What used to take one second can take 100 seconds with the larger image.

Many networking and geometric problems involve geometric growth in computation requirements. What appears to be a small increase in the problem can increase computation time from seconds to days. For example, growing the size of a road network so that it covers an entire state instead of a few counties could lead to a tenfold increase in the height or width of the map. The additional area of the map can easily add 100 times as many road nodes and links and thus lead to a million-fold increase in computation time for certain complex network tasks.

When performing computations that grow geometrically it is important to increase the size of the task in small steps. Begin by verifying your procedure with a very small subset of the data and then increase the size of the problem in small steps so you can see where asymptotic growth in computation requirements begins. Note also that increasing the size of jobs will likely also place greater demands on system RAM.

As memory requirements increase, at some point a machine will run out of available RAM and begin paging to disk. At that point processing will become profoundly slower. See the Using RAM and other Machine Resources essay for why. To avoid this effect, use a machine that is better scaled to the task at hand or reduce the size of the job to what will fit into the machine being used. It is unrealistic to expect a machine with 128MB of RAM to be able to process large tasks as efficiently as one equipped with 1GB of RAM.

Some specialized tasks with large maps will take days to accomplish. People worldwide launch such jobs every day with Manifold using a spare machine that is left 'cooking' for a few days to accomplish a desired task. They're happy because such things used to require weeks with older software or hardware. Run some experiments before launching such large jobs so you know what to expect.

Memory and Large Files

When Manifold opens a very large .map file not all of the contents of the .map are brought into memory at once. Components will be brought into memory as needed from the .map file stored on disk. Once they are in memory accesses will occur faster than in the initial usage since, of course, RAM memory is thousands of times faster than hard disk.

The advantage of having lots of RAM in a computer is that Windows editions such as Windows XP or Windows 2000 will leave items in memory until the memory is needed for something else by Windows. If we have ample RAM, as we work with a project the various components will end up in RAM and will stay there.

If you do not have enough RAM to run projects in memory, no matter how fast a processor you have you will have much less performance if the system begins paging to disk. That is why RAM is more important than processor speed until you have enough RAM so you never have to page to disk.

Notes

People are sometimes amused that we include the user as part of our performance tips. However, the greatest gains in performance are usually achieved by using a better method or algorithm. More often than not the sole factor in whether a better method is used is the expertise and clarity of mind that can be mustered by the user. A healthy, well-rested, expert user is the best performance accelerator around.

By mentioning certain brands we don't mean to imply anything negative about other brands. At this writing, the current generation of machines being installed at manifold.net use NVIDIA graphics engines and AMD Athlon processors. NVIDIA has done a super job of writing good code for Windows and exploiting the Athlon, a phenomenally well implemented, super-pipelined, seventh generation x86 processor. AMD's Athlon is unusually good at floating-point operations, so we obviously like it.

However, Intel continues to be a major power in processors and no doubt will respond to AMD's competitive stimulus with advances of its own. Likewise, we expect that NVIDIA's masterful driver work will inspire other graphics processor vendors to pay better attention to writing effective drivers. Leadership positions in CPUs and graphics engines can change overnight, and often have.

From a software perspective, we love seeing the processor and graphics vendors work harder to offer more performance at lower price!

See Also

See the Memory Requirements topic for RAM and hard disk memory requirements.

See the Limitations topic for general notes on Manifold limitations when operated in various Windows systems.

Memory Requirements

Your computer's memory includes Random Access Memory (RAM) and hard disk memory. Manifold System uses both types of memory together with the Windows operating system and any other applications that may be running at the same time. Regardless of the amount of RAM or free hard disk space available, there are certain fundamental limits that cannot be exceeded:

No single image or surface can exceed 16 EB (exabytes) in size. Since one exabyte is 2^64 bytes, about a trillion gigabytes, as a practical matter there is no size limit for images and surfaces. One will run out of disk space billions of times sooner than the image size limit is approached.

For components other than images or surfaces (drawings, scripts, tables, labels, comments), no single component can exeed 4 GB (gigabytes) in size. Projects are not limited in size, but no single component of these types in the project can exceed 4 GB.

The intrinsic limits on images, surfaces and other components are so large that they will likely exceed the processing capacity and disk storage capacity of most machines in common use.

Hard Disk Free Space Requirements

There are three demands for hard disk free space made by Manifold:

Project files - There must be enough free space on hard disk for the size of project (either compressed or uncompressed) when it is saved as a .map file. Obviously, if we have only 500MB of free space on disk we will not be able to save a .map file that is 1 gigabyte in size.

TEMP files - When Manifold opens a .map file it creates one or more temporary copies in the Windows TEMP folder to allow abandoning edits (that is, to close a project without saving any changes), to enable operation of Undo and for other purposes. Such temporary files can temporarily require four times the size of the project in uncompressed form. Thus, to work with a 1 gigabyte project in all circumstances we should allow at least four gigabytes of free space on hard disk.

System paging file - Microsoft Windows automatically uses virtual memory by swapping processes out to a hard disk file called the system paging file or pagefile. If we have only 512MB of RAM but want to run applications that require 1.5 gigabytes or RAM, Windows will automatically swap parts of the executing processes back and forth between RAM and the paging file so that at any one instant only 512 MB of RAM is used. There must be enough free space on hard disk for as large a pagefile as is necessary for Manifold and any other applications that are running.

Some users have multiple disk drives or have organized a single disk drive as multiple volumes. Make sure you have enough free space on all disk drive volumes involved if the project files, TEMP files and paging file are on different disk volumes. For example, a user might think there are tens of gigabytes of free space available on an E: disk volume where project files are kept without realizing that there is no free space on the C: disk volume where the Windows TEMP files and paging file might be kept.

RAM and Virtual Memory Requirements

For performance reasons it makes sense to have as much RAM as possible. It is a good idea to have somewhat more RAM than the maximum project size to allow RAM for Windows and for other applications that may be running in background.

To work with large projects, one must have a system pagefile can expand to as large a size as is necessary and the free disk space available to host large pagefiles if need be. In addition, it is critically important to have enough free disk space for all TEMP files that must be created by Manifold.

Geometric computations and many other functions use virtual memory for temporary computational requirements. Such virtual memory will be automatically switched by Windows between RAM and disk but can never exceed 2 GB. This requirement for internal computational storage space means that while components and projects can be very large, the temporary storage space limitation of 2 GB may prevent some computational operations from proceeding to completion with very large data sets. For example, when creating buffer zones each buffer zone must be able to fit into Windows virtual memory. Running the Buffers transform operator on a drawing therefore will not work unless the buffers to be created will require no more than 2 GB for the buffer zone objects.

Although 2 gigabytes, of course, is enough for an immensely large number of buffer zone objects it may not be enough for, say, creating a buffer zone around every object in a 3 or 4 gigabyte drawing. In such cases, divide up the job into smaller parts and perform each in turn.

Saving and Loading Projects

Manifold will often encounter peak demands for memory when opening or saving a project because it is at that time when reserve copies of projects are being made or are being utilized to allow abandonment of imports or exports or edits, or to Undo operations. When operating with limited amounts of free disk space it is possible for disk space requirements to exceed the amount of free space that is available on disk.

Free hard disk space available might change between the time a project is saved and when later it is opened. For example, we may have created a very large project and saved it and then later used up free space on our hard disk so that little or no free space is available. In such cases we might not be able to open large projects that were previously saved because we no longer have sufficient free space on disk for the TEMP files that must be created when the project is opened.

A Note on .map File Compression

Saving .map project files in compressed form will save a lot of space on disk for routine storage of .map files. However, it does not save any space in TEMP file usage or other memory requirements because all operational work is done on the uncompressed data. The relatively small size of compressed .map files may catch users unaware as their files expand, possibly by a factor of ten, into operational use.

For example, a compressed .map file may be 200 MB, but it could easily expand by a factor of seven when uncompressed into a 1.4 gigabyte project. A 1.4 gigabyte project could require almost six gigabytes of free space on disk for temp files. If we planned on needing only 800MB of free disk space based on the compressed size of the project, we might think we had plenty of free disk space if we had four gigabytes free space available. However, that would be too little to deal with a project of this size once it is uncompressed and in active use.

Tech Tip

If for any reason you crash Windows or crash Manifold by attempting to work with very large projects without enough free disk space you could end up with some large files in your Windows TEMP folder. Delete these before continuing work so that you do not waste disk space on unnecessary TEMP files.

See Also

See the Performance Tips topic for general advice to squeeze the most performance and capacity from your computer system.

Manifold System is designed to take advantage of modern computer systems, which often feature lots of inexpensive memory. See the Using RAM and other Machine Resources essay for information on the technical tradeoffs between using RAM and other resources.

See the Limitations topic for general notes on Manifold limitations when operated in various Windows systems.

Using the Manifold ODBC Driver

When Manifold is first launched the system will install the Manifold ODBC driver that allows other applications to access tables and queries in Manifold .map project files. Linked and shared components (components used in Enterprise Edition ) are handled transparently. The driver uses the internal Manifold SQL engine and supports intrinsic columns as well as spatial, geocoding and other extensions available within the main system.

The Manifold ODBC driver operates in read-only mode and has been tested to work with various versions of Microsoft Office applications such as Access and Excel, the Microsoft OLE DB Provider for ODBC, a wealth of various development tools and utilities and, of course, Manifold System itself. This makes it possible to have a .map file that includes a table linked from another .map file.

Configuring a Data Source

The first time Manifold is launched it will automatically install the Manifold ODBC. This will add the driver to the Drivers tab of the Data Sources (ODBC) Control Panel applet (located under Administrative Tools in Windows 2000 and Windows XP).

To add a data source, go to the User DSN page within the Data Sources (ODBC) applet and click Add. Select the Manifold Project Driver and click Finish. In the Manifold ODBC Driver dialog type the name to use for the data source, for example, 'My Manifold Connection' and select the .map file to be used. Check the Translate Unicode data to ANSI option if the data source will be used with applications that do not support Unicode columns. Click OK. We can now use the created data source from within other applications. We can also add data sources using the ODBC applet's System DSN and File DSN pages if desired.

To configure an existing data source, locate it within the Data Sources (ODBC) applet and click Configure. We can then make changes, such as changing the path to the .map file or changing the status of the Translate Unicode data to ANSI option and click OK to accept changes.

To remove an existing data source, locate it within the Data Sources (ODBC) applet and click Remove.

Use with Enterprise Edition

Components linked into an Enterprise Edition project are said to be shared components. Shared components may be cached or uncached, as described in the Cached and Uncached Components topic. When working with the Manifold ODBC driver from another application, keep in mind the following two rules:

The Manifold ODBC driver works only on machines on which Manifold is installed. For example, if machine A has Manifold installed but machine B does not have Manifold currently installed, then an application running on machine A will be able to work with Manifold .map files on either machine A or machine B using the ODBC driver. However, it will not be possible for an application on machine B to work with .map project files stored on either machine A or machine B.

The license status of the local Manifold installation specifies the degree to which the ODBC driver can access uncached Enterprise server components. For example, if machine A has Manifold Enterprise Edition installed and machine B has Professional Edition installed then machine B will not be able to access uncached shared components stored in .map files on machine A.

Accessing a .map file containing shared components from the Manifold ODBC driver is analogous to accessing the .map file from a local Manifold System application on this machine. The Manifold ODBC driver works by utilizing the facilities of whatever Manifold System program has been installed on the machine so the ODBC driver has the same capabilities as running Manifold System interactively on that machine.

Shared components that are cached may be accessed like all other components. Shared components that are uncached will be transparently fetched from the Enterprise server or will appear empty depending on whether the machine has an Enterprise Edition license. If the machine has an Enterprise Edition license and the Get latest versions of shared components after opening file option is on for the current user, loading the .map file through the Manifold ODBC driver will also fetch the latest version of shared components that are cached.

For Experienced GIS Users

This topic introduces Manifold to experienced GIS users. It assumes you have a lot of experience working with previous Manifold, ESRI or MapInfo GIS products.

This topic provides a brief survey of Manifold that may allow GIS experts to more efficiently digest the rest of the documentation. After reading this topic, experts should continue to read other topics, even introductory ones, in the suggested order, beginning with the Introduction .

The minimum amount of reading, even for experts, is to read all of the topics in the Introduction chapter as well as all of the topics in the Examples chapter at the end of the Help file. Manifold does many things different than older GIS packages, so even if you know GIS very well do not skip the introductory reading.

Manifold Editions

There are three versions of Manifold System available for licensing. Professional Edition includes almost everything in this Help file. Professional Edition with Debugger adds a visual debugger. Enterprise Edition provides facilities for multi-user work in teams and centralized storage of components within enterprise database servers. Enterprise Edition also includes the Debugger (which is optional for Professional Edition) and provides the ability to save to .e00. See the Enterprise Edition and the Debugger topics for more information.

The optional Manifold Geocoding Database product is required to turn on the geocoding engine built into Manifold System. Geocoding will not work unless you purchase and install the geocoding database.

This documentation is written so that it may be used with all three editions of Manifold System. Topics that are unique to Enterprise Edition are so marked.

Manifold is Different

Manifold's user interface is not at all like ESRI or other traditional GIS products. Manifold's user interface is based primarily on Microsoft style as well as user interface standards that are prevalent in professional quality, mass-market applications. Using a more widespread interface style opens GIS to many more people.

Although the user interface is different, experienced GIS people will be able to re-cycle a lot of conceptual ideas. For example, the experienced reader knows what a projection is and that projected coordinates are linear measures, not degrees. Please, however, do not let this general familiarity with the subject matter mislead you into attempting to use the product without reading the documentation.

Even if you consider yourself to be a Windows power user, please read the Windows topic. This describes key Windows and Manifold power moves. It's wise to learn keyboard shortcuts for opening and closing panes, and to learn how to hot scroll.

Manifold makes heavy use of Copy and Paste As to convert information into different forms. For example, we Copy a geocoded table and then Paste As a drawing to create a drawing from the geocoded table. Labels components are created that show fields by copying a drawing and pasting it as a labels component. Images may be pasted as tables. Please take time to review the Copy and Paste As topic for more on this essential method.

Note: If you've Pasted something into a drawing and don't see it, try Zoom to Fit to make sure it is not outside the window at the current zoom and pan setting.

Terminology

Manifold uses mass-market terminology to refer to points, lines and areas. This is what most of the world's mathematics and computer community uses. Some traditional GIS packages, such as ESRI's, use different terms:

Manifold

ESRI

Areas

Polygons

Lines

Arcs

Points

Points

Surface

Grid

The above are non-trivial differences in terminology that affect GIS users everywhere due to the prevalence of ESRI terminology and its effect on traditional GIS nomenclature. See the essay titled Terminology in GIS for why Manifold uses the more popular terms. Manifold also replaces some traditional GIS words with words that are more prevalent in computing:

Manifold

Traditional

Image

Raster data

Drawing

Vector data

Tracing

Vectorization

Coordinate

Inflection point, or Node

Network

Graph

Node

Vertex

Link

Edge, or Arc

Manifold follows accepted modern network terminology so that the English language versions of Manifold use the word 'network' instead of 'graph,' 'nodes' instead of 'vertices' and 'links' to mean the connections between nodes in a network.

Although in casual usage most GIS systems refer to the files they produce as 'maps', Manifold uses this word to refer to a specific type of component that contains other components in layers and which may be re-projected on the fly. Manifold uses the word 'drawing' to refer to a vector item and 'image' to refer to a raster item.

Advice to ArcInfo Users

Manifold takes a different structural approach than ArcInfo that requires some conceptual adjustment. Unlike older GIS packages, Manifold does not build topological relationships into the data set: rather, topological relationships are computed on the fly as needed. There is no need for users to worry about maintaining topology within drawings and maps in the low-level way that was done earlier. Manifold will do this for you automatically.

Years ago when computers were weak it made good sense to embed topological relationships into the data sets themselves. In modern times it is better to compute topology on the fly. Doing so uses the intelligence of the machine to free the user from having to worry about low-level structural details. It allows us to mix points, lines and areas in the same drawing and to move objects about interactively with great freedom.

We ask ArcInfo users to approach Manifold without worrying about the details of how something is done internally and to just take it on faith that Manifold will compute topological relationships correctly when needed. We suggest a focus on the higher levels of function while learning the system.

Accuracy

Manifold maintains all geographic geometric information using double-precision floating-point numbers. This provides accuracy better than 1/250,000,000 of a meter (literally, less than a two hundred fifty millionth of a meter) at the Equator.

Files and Project Organization

Manifold's documents are projects, which are saved in a .map file. Projects consist of components like drawings (vector data like ESRI shape files), images (raster data, like a GeoTIFF), surfaces (typically, terrain elevation data like a DEM), tables (data attributes for drawings or simply independent database tables) and other items. Create a new project with File - New.

The project is a single Manifold .map file. The project .map file contains in one file all of the vector, raster and other data imported into the project. There are three exceptions to keeping all data in the project file. The first exception is that tables can be either imported into the project or they can be left as external tables that are dynamically linked into the project. The second exception is that linked drawings are automatically created on the fly from an external geocoded database table.

The third exception is the use of Enterprise Edition to save components within Enterprise servers. Enterprise Edition allows control over whether shared components are cached or not cached. If they are not cached, they will take up no space in the local project but rather will be stored only on the Enterprise server.

Some people think it is wasteful to import everything into a single file. In an era of nearly free hard disk storage it's no big deal and greatly simplifies exchanging maps: no more scrounging around to see if you remembered all the files you need to make your map. People who disagree are always free to use Enterprise Edition so that all components can be stored on a centralized Enterprise server.

Note: The three-letter .map file extension may be used by other applications on your computer. When you install Manifold it will automatically tell Windows to open .map files with Manifold. If you would prefer to retain the assignation of files ending in .map to some other application, in Windows Explorer right click on a .map file and choose Open with and then Choose Program. Choose the program you wish to use to open .map files and check the box Always use this program to open these files and press OK.

Basic Steps to Running Manifold

Launch Manifold and note that the project pane is open (it is by default and can be toggled on/off with SHIFT-ALT-P).

Import the drawings to be used. ESRI users will import .shp or .e00 files, for example. When importing from .shp you may need to set the datum manually, since shapefiles do not save projection info.. See the Import a Shapefile example.

To show drawings in layers, create a map that contains those drawings as layers.

To change colors or otherwise format, click on the layer to be formatted and change settings in the format toolbar.

To print something, either use File - Print for casual printing or create a layout for more sophisticated printing and then print the layout.

Importing Files

Import vector data into drawings or raster data into images by clicking File - Import. There are importers for every GIS and raster image format in common use as well as lots of uncommon formats. If there is a format you need that is not currently supported send a note to sales@manifold.net so we can consider adding it to the release in a Service Pack.

Whenever a drawing is imported from a GIS format like MapInfo .mid/.mif or ESRI .shp that has both geometric data and data attributes in the format, both a drawing and an associated table will be automatically created. Please read the specific importer topic for the file format you are importing within the Import and Export section to see how Manifold handles details for your format.

This topic mentions 'drawings and images' as a shorthand way of referring to typical components. Other components are surfaces and labels components. However, since 'drawings, surfaces, images or labels' is a bit much we shorten the phrase at times.

Importing Projected Drawings, Surfaces or Images

Manifold automatically will import projection information from those GIS formats that save it. When importing projected drawings or other components from formats that do not save projection information, we will have to provide the missing information manually.

As an experienced GIS user, you know it is a bad idea to save projected data in 'dumb' formats like AutoCAD .dxf or ESRI .shp because such formats as commonly used do not save the projection parameters that are necessary to make sense of the data. If you encounter projected data saved in such formats, keep an eye out for any accompanying documentation that describes the projection parameters used.

To import a projected drawing, image or surface from a dumb format:

1. Import the drawing, image or surface using File - Import. Use default settings.

2. Open the component thus created.

3. Use the Edit - Projection - Current Projection dialog (called by pressing the Current Projection button within the Edit - Properties dialog) to specify the projection information that should be used.

The Edit - Projection - Current Projection dialog allows us to manually provide the correct projection information into the coordinates properties. Manifold will then be able to make sense of the data just imported.

Do not confuse the use of a chosen projection view in a map window (via the View - Projection dialog) with the use of Edit - Projection - Current Projection in a drawing window to specify projection information missing from dumb formats. If a projected drawing is imported from, say, .shp format and you fail to tell Manifold the correct projection to use, that drawing has not yet been correctly imported. Subsequent use of the drawing in maps may cause bizarre effects or lengthy delays as the system attempts to compute a new projection for the map based on fundamentally inaccurate coordinates.

Default Use of Orthographic

Every drawing and image in Manifold exists in some geographic context. This is so even if we intend to use Manifold as a CAD or image editor to work with drawings and images in non-geographic contexts. By default, files such as .dxf that are not in latitude / longitude degrees are imported as if each unit was equivalent to one meter. The scale factor can be changed during import or at any time afterwards. The file is imported into Orthographic projection and positioned with its lower left corner at the intersection of the Equator and Prime Meridian (zero longitude and zero latitude).

When importing images from geographically mute formats such as .jpeg or .bmp the image is automatically georeferenced to the (0,0) lat/lon origin using Orthographic projection as well. Manifold is so accurate that each pixel of a 4800 DPI image can have its own distinct lat/lon geographic location. Of course, if an image originates in a geographically aware format such as GeoTIFF it will automatically be georeferenced to the correct location. Images may be georegistered using drawings or other images that are already georegistered.

Re-Projecting a Component

We can permanently change the native projection of drawings, images, surfaces, or labels by opening the component and then using the Edit - Projection dialog to change the projection. See the

Maps

A special type of component is a map. A map shows drawings, images, surfaces and labels components in layers. After importing the various drawings and images we need into the project we create a new map by using File - Create - Map to add it to the project. The File - Create - Map dialog will offer up a list of components we can include in the map.

Double click on a component in the project pane to open it in its own window. When we first open a map we'll see it uses the projection of one of the components used to create it. When a map is first created, it will use the projection of the largest image or surface used to create it. If there are no surfaces or images in the map, the map will be created using one of the projections of the drawings it contains. At any time we can change the projection used by the map, although it makes sense to use the projection of one of the large components in the map to avoid any performance loss resulting from the need to re-project components on the fly.

Use View - Projection to specify what projection the map should use. Maps can use whatever projection we like even if the drawings and images they contain use different native projections. Changing the projection used by a map does not change any data or the native projection used by any drawings or images the map contains. Projections shown by a map are computed 'on the fly' without any change in the original data. We can change them however often we like without any decrease in accuracy.

There are two ways to change the projection used by a map:

Use the View - Projection dialog to set any projection

If we want the map to use the native projection used by one of the components it contains, right click on that component's layer tab and choose Use Projection from the context menu that pops up.

Add drawings, images or labels components to a map by dragging and dropping them from the project pane into an open map window.

Control layers in a map by either dragging layer tabs in the map window or by using the View - Panes - Layers pane. Right click onto layer tabs for useful context menus. The Layers pane is much more useful than the layer tabs when there are many layers in a map. Each layer is a different drawing or image. Individual layers may be set to a desired layer opacity from the layers pane.

We can open as many windows into a map as we like. Each window is an independent view with its own pan and zoom.

Creating New, Blank Components

If at all possible, click open the map in which a new, blank component is to be used before creating that component. That will assure the new component is created using projection parameters that are a good match to the map.

The File - Create menu will add a 'blank' component to the project. If a drawing, image, labels or map window is open when the File - Create menu is used, the projection of the window that is open will be used to create the new compon.

The File - Create dialog takes the projection parameters for the new component from whatever window is active at the time the new component is created. If the project pane is active, the component will be created using the system default projection of Orthographic centered at the 0,0 world latitude/longitude origin. If a map window or other component window is active when the new component is created, the new component will be created using whatever projection is used by that active window. This context-sensitive setting of default projection parameters makes it much easier to create new components using projection parameters that are hassle-free by default.

When creating new, blank components to use as layers in maps it therefore makes sense to click open the map and to have it the active window when the File - Create command is invoked. This will automatically create the new component with projection parameters that match those in use in the map. This is a very important step to assure easy compatibility between the projections of newly created components and the map.

Another way to create blank components is with a right-click on a map's layer tabs and choosing Add to create a new component and add it as a layer to the map.

Projections and Performance

Maps re-project drawings and images on the fly into whatever projection is desired of the map. That can be a computationally intensive process when maps include many different images and drawings as layers and when the various drawings and images use different native projections. Maps can work much faster if the projection they use is the same as that used by the images and drawings they contain because then there is no need to re-project on the fly.

If we will be using drawings and images within the same map using the same projection it makes sense to re-project the drawings and images into the projection we use in the map. This is especially true if the map contains big images.

Drawings and Images

We can open any drawing, surface or image in its own window by double clicking on the component in the project pane. Drawings, surfaces and images opened in their own windows are shown using whatever native projection they use. If we wish to change the native projection used by a component we use the Edit - Projection dialog to change it. This is a permanent change in the structure of the data.

If desired we can use Manifold as a pure CAD editor or as a pure image editor (like PhotoShop) without worrying about any geographic contexts. When we import drawings or images from non-geographic formats such as .dxf or .jpeg they automatically are brought into Manifold as Orthographic projections georeferenced to the (0,0) world lat/lon origin.

For CAD work, we can combine CAD drawings with each other in multiple layers in a 'map' just like AutoCAD allows use of multiple layers. For general-purpose image editing like Adobe PhotoShop we can combine images in layers in a map as well. If we switch the status bar read out from lat/lon to X.Y coordinate readout the 'map' window will look just like any CAD editor's or photo editor's main workspace window. We'd never know that on a theoretical basis these drawings and images exist just off the coast of Africa or that technically they are in a projection. Remember, even at the thousandths of an inch resolution implied by 4800 DPI scanned images there is no difference over a few meters between an Orthographic projection and an unprojected coordinate system.

That every drawing and image are georegistered to some geographic default has no downside even if we never intend to use them in a geographic context. However, when it comes time to georegister an image or a CAD drawing (like a factory plan blueprint) it is very convenient that they are already georegistered to some default projection and location. Georegistering an image, for example, becomes a simple matter of moving it to the right place at the right scale and orientation and, if necessary, warping it using numerical transforms to match it to known-good geographic data.

Images may be grayscale, palette, RGB or RGBa images and may be freely converted between the various image types using Image - Convert To. An image must be an RGBa image to use per-pixel transparency.

Linked Drawings

Linked drawings are drawings that are created on the fly from external, geocoded database tables. Linked drawings can contain points and lines. Linked drawings are mainly used within Manifold IMS applications to create layers that dynamically change based upon the contents of database tables. The classic application for a linked drawing is to create a web site that shows the locations of vehicles, where each vehicle location is specified in a record in a database table residing in, say, a SQL Server or Oracle database table.

Selection

Manifold has very rich, regularly organized ways of doing selections that are employed throughout the system. These selection methods must be mastered. Please do not attempt work with Manifold without thorough study of the Selection topic.

Formatting

Formats in drawings may be manually specified or automatically derived from the contents of data fields using thematic formatting. Use the Format toolbar to manually set formatting. Lines, areas and points in drawings may be formatted using foreground and background color, thickness or size, and style. All objects of a given type (line, area or point) in a drawing will all be formatted the same way. Text labels in labels components will also have the same format used throughout the labels component. To employ different formats for objects in a map, use multiple drawings.

Thematic formats may be set for foreground color or background color for points, lines or areas. To do so, click into the color well and choose Theme. See Thematic Formatting . Thematic formats to automatically color maps so no two adjacent regions share the same color may automatically be set using the Drawing - Color menu command.

The format toolbar is also used to set many of the display characteristics of elements added to print layouts. For example, we choose the font for a text box in a layout by first selecting it for editing (using CTRL-ALT click) and then making our choices in the format toolbar.

Labels

Text labels are hosted in Labels components. Multiple labels components are stacked in map layers to create the label effects desired. Each labels component is formatted using the same format throughout the entire layer. To create labels that automatically show field information, we Copy a drawing and then Paste As a labels component to create a labels component that shows labels at the position of every object in the drawing. If we want to create labels for only some of the objects in the drawing, we first open the drawing and select some of the objects and then Copy them. The subsequent Paste As will paste labels only for the copied objects. See the Labels topic for more information.

Georegistration

We georegister images and CAD drawings using the View - Panes - Control Points pane. We can georegister an image to a drawing, a map or to another image. We can georegister drawings to images, drawings or maps. The usual task is to georegister a target image to a reference drawing using features that are visible in both as control points.

We can also georeference an image without needing a pre-existing drawing if we know the latitude / longitude coordinates of at least two features in the image. For example, we may have an image of a scanned paper map where we have used a GPS device to determine the exact coordinates of a few features in the map. We can use these coordinates to georegister the image so that it can be traced into a drawing.

See the Georegistration topic for details.

Layer Restrictions

When working with maps, individual layers in maps can be specified as selectable, editable or clickable using layer restrictions. This is an extremely important capability when creating sophisticated web sites where we do not want background layers to respond to clicks for tools such as the Info tool, and is very useful for interactive work in Manifold when we do not want to accidentally select or edit items in a background layer. See the Layers and Commands topic for more information.

Vectorization

Creating vector drawings from raster images is an interactive process within Manifold. Vectorizing is called tracing within Manifold. We use this term because everyone understands the idea of laying a sheet of tracing paper onto a photograph and then drawing lines with a pencil to outline what is seen in the photo. This is a much more accessible word for new users than 'vectorization.'

When tracing images to create objects in drawings there are several key controls we leave open for use:

The View - Panes - Tools Properties pane is used to set tool properties such as sensitivity threshold for Snap and Touch Select and other tools we will use.

The View - Panes - Layers pane will likely be left open to allow us to move quickly between layers in the map.

The Tracing toolbar contains tools specific to vectorizing.

The Tools toolbar contains editing tools for drawings and images. Drawing tools are used to create areas, lines and points. Image tools are used to interactively edit the colors of pixels. When a drawing window or layer in a map is active the drawing tools will automatically be created.

The speed, ease and quality of tracing depend almost entirely on the characteristics of the raster image being traced into a vector drawing. A very, very few raster images may be automatically traced with satisfactory results. Most images have so much pixel junk that fully-automatic tracing creates such unsatisfactory vector objects that it would have been quicker to create objects using heads up digitization than to correct all the errors in the automatic process.

Manifold has numerous tools with sophisticated tool properties that are designed to increase the speed and accuracy of heads-up tracing. All tracing happens within a map that includes at least one raster layer being traced and an active drawing layer in which objects are created. A typical scenario is to use several different drawing layers (say, with a layer for lines and a different area for points) and clicking each when we want the new objects to be created in that layer.

Most tracing is done using free-hand addition of lines and points into a drawing layer while using an image layer as a guide. If desired, automated tools may be used. The main automated tracing tools are:

Trace Point - Point and click and automatically create a point at the center of a pixel cloud.

Trace Line - Point and click to automatically create a line long the center of line-shaped pixel cloud.

Insert Point - Create a point freehand at a given location.

Insert Line - Create a line freehand at a given location.

Manifold includes a Trace Area tool to point and click to create an area within pixel regions. Depending on the quality of the raster image it may be faster to simply insert points and lines using the above tools and then create areas using the lines. See the Tracing topic for details.

Surfaces and Terrains

Surfaces are 2D visualizations of terrain elevation data or other abstract data. Terrain elevation data may be imported into Manifold from a variety of formats. Surfaces are always imported together with an accompanying Terrain component, which shows the data in a 3D view. We can create additional terrains for each surface (at no cost in storage) that show the same surface colored using different thematic palettes.

Surfaces may be viewed in shaded relief or otherwise used like 2D images and can be dragged and dropped as layers into maps. They may also be copied and pasted as images. The appearance of the surface is governed by the View - Display Options settings for the surface. Some of these options provide analytics. For example, a surface can be seen using slope or aspect calculations.

Terrains may be seen in 3D by double clicking open the terrain. When seen in 3D, a wide variety of options can be applied to the appearance of the terrain. Options include automatic coloring by value or overlay in high resolution with images or drawings.

See the Surfaces and Terrains topic for details.

Tables and Database Management

Manifold has absolute immense database capabilities that dwarf any other general purpose GIS. Database operations begin by importing or creating tables. When importing a drawing one or more tables will automatically be created in association with that drawing.

Manifold can import tables from almost any source. When a table is imported into Manifold both the table and the data it contains are brought into the .map project file and maintained by Manifold. Take time to study the numerous capabilities of Manifold tables. The context menus available when right clicking onto columns, rows, and cells provide a wealth of services, such as more like this searches. Table menus also include important capabilities such as filters, grouping and sorting which may be multilevel.

Tables may also be linked into a project. Linked tables stay outside the .map file within their original database files or database provider. If the file format or provider is one supporting multi-user accesses, Manifold can open those tables and use them even as other applications may update them.

Manifold has three methods for reaching out to either import or to link to a table. Using File - Import - Table may be used to open any of the basic database file formats commonly used within Microsoft Office installations. This method uses an internal copy of Microsoft's 'Jet' database engine to open and read in the files.

For more extended access to database files or providers, using File - Import - Table to open files of type OLE DB data sources or ODBC data sources. This will use Microsoft's OLE DB or ODBC technology to get tables from any source for which there is an OLE DB provider on the system or an ODBC driver. OLE DB providers are now replacing the older ODBC technology. By default, Manifold installs the standard suite of Microsoft OLE DB providers.

When linking to an external table we can use either File - Link - Table to use Jet as the engine maintaining the link or to link via OLE DB or ODBC.

Any table in a project may be linked to another table via a relation so columns from the one table become visible in the other table. Open a table in table window and then choose Table - Relations from the menu. Choose the table that is to be linked and the key fields in each table that will be matched to form the relation. Choose the fields from the linked table that are to be included when the table is displayed.

Relations in Manifold are like forming a relation in classic relational databases except that the relation formed is a 'soft link' by default. In a classic relation, deleting a record in one table will also delete it in the table linked by a relation. When tables are linked in Manifold using the Tables - Relations dialog deleting a record in one table will not delete the linked records in other tables by default.

When a drawing is imported into or created within a project a table for it is created automatically. The table will contain at least one field, the object ID field, that is a key field connecting each object in the drawing to a row in the table. If drawings are imported with additional data fields for each object, those fields will appear in the table as well. Imports from some formats, such as SDTS, may also create additional tables that are joined by relations to the drawing's table.

Objects in drawings may also be connected to records in external tables by using relations. The process is simple. First, import the drawing. This will create both a drawing and the drawing's table. Next, link the external table into the project using File - Link - Table. Finally, open the drawing's table and use Table - Relations to form a relation between the drawing's table and the external table using some field in each to match up records.

Transfer Rules

Many editing / transformation operations in drawings (see Transform Toolbar - Drawings and Drawings - Dissolve , for example) will create new objects from existing objects. When new objects are created from existing ones the system must know how to transfer data attribute fields from the existing objects into the new objects. The Transfer Rules dialog in tables sets forth the rules to be used for each particular column.

Queries

Manifold includes full SQL / DDL / DML language capability. Create a query using File - Create - Query and then double click on it to open it for editing. Henceforth, when the query is run by right clicking on it and choosing Run it will execute the SQL statement and display the results as a table. Action type SQL queries may also be created in this way. Queries may be opened for editing and Run at the same time so that the SQL query and the table it produces may be seen at the same time.

Manifold SQL provides numerous extensions, including both spatial and fuzzy logic extensions. See the Queries topic for more and the Manifold SQL Extensions topic for details on extensions.

Decision Support System

The Decision Support System is a means of ranking records in tables by how they score in flexible queries. Flexible queries use flexible profiles as criteria instead of fixed criteria as used in traditional SQL.

US Street Address Geocoding

Manifold includes a geocoding engine designed to work with US street addresses. Installing the optional Manifold Geocoding Database will enable the geocoder. Most users will operate the geocoder by first standardizing their addresses and then geocoding them. The output of the geocoder is a geocoded table, which can then be copied and pasted as a drawing.

Manifold's geocoder is also supported with specialized SQL extensions listed in the Manifold SQL Extensions topic. These may be used within spatial queries either interactively or from within Manifold IMS in web sites. The geocoder is also accessible from scripting objects.

Charts

Manifold provides two main charting systems:

Minicharts are used with drawings to portray a small chartlet for each object in the drawing. These should be used with restraint to avoid overwhelming the viewer.

Charts are created from tables. They show the contents of tables with multiple series (fields) grouped as desired.

Analytics

Manifold has many methods of analysis.

Analyses that create numbers are often done using ViewBots , which are one-line analytic instruments that can be set to look at the contents of a drawing or other component. ViewBots are a spectacularly useful pat of Manifold.

Analyses in tables may also be done using Active Columns , where the column dynamically reports the result of a formula.

SQL may also be used for analyses, especially when using computational queries or crosstab queries to explore grouping.

Analysis involving the creation of new objects, such as drawing a Voronoi tiling, will normally be accomplished using Transform toolbar operators. The transform toolbar is also used with tables to perform computations on fields and to manipulate the table.

Transformation of images may be done with the transform toolbar as well as with Image menu tools.

Some analytic operations are implied: for example creating a slope or aspect map from a surface is a simple matter of changing the display option for the surface to Slope or Aspect.

Programming

There are many capabilities within Manifold that may be programmed in an 'ad hoc' way. For example, Active Columns allow inclusion of an ActiveX program that computes the results seen in a table's column. For programming in the classical sense, Manifold approach to customization and programming takes one of two pathways:

Scripting within Manifold is accomplished using Visual Basic Scripting Edition within Manifold's drag and drop scripting environment to create event-driven, forms-based scripts. Scripting using straight scripting text may be accomplished in any ActiveX scripting language if it is installed on the system. By default, Manifold uses VBScript and Javascript. If their scripting engines are installed on your system, you may also use other scripting languages such as PERL, Python or REXX. Cool!

Programming from external programs can use any Microsoft compatible language and development system, most likely Visual Basic or Visual C++. Manifold itself is written entirely in Microsoft Visual C++ within the Visual Studio development environment.

Manifold does not use VBA because we feel it is neither right for beginners nor suitable for experts. VBA is too clumsy for casual usage while being inadequate for professional programming. VBScript is a better choice for beginners and real VB or VC++ the right choice for professionals.

Our feeling is that industry-standard scripting languages have attained far greater support among computing users for casual usage. By using any ActiveX scripting language for scripts in Manifold we provide a wide range of exquisite scripting languages to our users, all for free.

For professional program development, we feel that serious programmers already have invested in either VB or VC++ for program development. Using these languages, therefore, represents no additional cost for professional programmers while gaining the power and flexibility of a real compiled language and serious development environment.

Manifold also provides an optional Debugger similar to those used in professional programming environments. The Debugger is an option for Professional Edition and is included within Enterprise Edition. The Debugger allows stepping through multiple scripts with automatic stops at breakpoints, paused execution and stepping into, over and out of routines. The Call Stack, Variables and Watches panes provide dynamic, editable displays of variables, functions, computed values and contexts.

See the Programming Manifold topic for more information.

Printing

Any component may be printed by opening it in a window and choosing File - Print. For more sophisticated printing composition, a layout component is created and opened and any other components to be printed are dragged and dropped into that layout. See the Printing topic.

Print layouts are highly WYSIWYG (What You See Is What You Get) so there is no need for a print preview.

Internet Map Server

Manifold includes a powerful Internet Map Server (IMS) that can be used to create highly sophisticated map-enabled web sites. Many classes of web sites can be created with no programming required. Manifold IMS works on Microsoft Internet Information Server (IIS) machines.

To create a web site using Manifold IMS, create a Manifold project containing the component (normally a map) that you want to be published. Open the map and choose File - Export - Web Page. Choose the options desired and press OK. Manifold will automatically create the necessary .asp files required for the web site.

Although the GIS part of creating a web site with Manifold IMS is very simple, the Microsoft IIS side of operating web sites must be understood by the webmaster.

Learning Manifold

The best path is to begin at the Read Me First topic and to then go through the Introduction book. Do not skip the Windows topic or other topics in the Introduction.

We suggest working through all of the Examples in sequence. As time permits, read through the topics in the Drawings , Images , Maps , Labels , Tables , Surfaces and Terrains and Queries books. It is OK to skip the detailed reference topics on various transform operators during a first reading.

Enterprise Edition

Manifold System Release 5.50 Enterprise Edition also allows storage of components within centralized databases. With Professional Edition, every component that is in use in a Manifold project (with the exception of linked tables) is saved in a .map file that is used by one user at a time. If different users want to use the same drawing they must make a copy of it for use within their map files.

With Enterprise Edition, components may be saved within a centralized database, the Enterprise server, so that the same component can be shared by more than one user at a time. Enterprise users can also keep a single copy of a component within the Enterprise server and use it within many different projects. Enterprise Edition also includes the script Debugger, which is an optional product extension for Professional Edition. See the Enterprise Edition topic for more information.

Notes

The reasoning behind Manifold's user interface is explained in the essay titled User Interface Design . Other Essays present a radical Manifold spin on various topics in GIS that may amuse or irritate the expert reader.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1153
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved