610 N. Whitney Way, Suite 160
Madison, WI 53705, U.S.A. Phone: (608) 238-2171, Fax: (608) 238-9241 Email: info@powline.com |
||||
|
The following discussion applies to the 32 bit edition of PLS-CADD only. The x64 edition is only limited by the amount of memory in your computer.
Several industry trends are contributing to a desire to load ever larger XYZ point files into PLS-CADD. The wide availability of reasonably priced high performance LiDAR systems is one of them. Another is the use of PLS-CADD as a vegetation management tool. In both cases the resulting files can be a challenge to work with. This technical note will answer some commonly asked questions as well as give you the background information necessary to make intelligent decisions about managing this mass of data.
For the sake of efficiency PLS-CADD stores XYZ data sequentially in a single piece of memory (an array). This provides for extremely fast operation, but imposes the requirement that the system have a contiguous piece of memory that is large enough to store all of your points. When Windows cannot supply this memory you run into trouble.
One frequently asked question is: "how many points can I load"? The answer can be arrived at via a simple formula:
Maximum # XYZ Points = (Largest available memory block) / (Size of XYZ Point)
Each XYZ point consumes 48 bytes (assuming there are no plan or profile comments associated with it). The size of the largest contiguous block depends on which version of Windows you are running as shown in the table below:
Operating System | Service Pack or Hotfix | Largest Contiguous Block (MB) | Total Available Memory (MB) | Number of XYZ Points (millions) |
---|---|---|---|---|
Windows 2000 | SP4 | 1133 | 1981 | 23.6 |
Windows XP | SP2 | 550 | 1969 | 11.4 |
Windows XP | SP2 w/hotfix 894472 | 809 | 1987 | 16.8 |
Windows XP | SP3 | 800 | 1961 | 16.7 |
Windows Vista | RTM and SP1 | 1668 | 1935 | 34.7 |
Windows Vista x64 (also XP x64) | RTM and SP1 | 2047 | 3999 | 42.6 |
Windows 7 | RC | 1570 | 1923 | 34.2 |
Note that these limits are taken from clean installs of Windows. It is possible that dramatically less memory may be available and a correspondingly fewer number of points may be loaded if the system has other software installed that is poorly behaved. In other words, the limits given above are the best that you can hope to achieve.
The memory sizes listed are virtual memory, not physical memory (RAM). In all cases, we recommend you have at least 2GB of RAM installed in the system. The virtual memory is also known as the address space. The amount of address space that Windows makes available to PLS-CADD is ultimately what governs how many points you can load.
You will note that Windows XP SP2 took a large step backwards in terms of the number of points which may be loaded. This is due to a bug in the original Windows XP which was fixed in Service Pack 1 and subsequently reintroduced in Service Pack 2. Microsoft has a hotfix available which fixes this problem in SP2. One of the primary benefits of Windows Vista is the increase in the number of points that may be loaded.
Consider two different scenarios: In the first PLS-CADD asks Windows for a large piece of memory and in the other PLS-CADD starts by asking for a small piece of memory and then repeatedly tries to grow it until it is the same size as the large chunk. Due to a problem known as fragmentation, you can often get twice as much memory in the former scenario as you could in the later. Restating this in a PLS-CADD context, it is better to preallocate enough memory for the maximum number of XYZ points you could have than it is for PLS-CADD to repeatedly attempt to grow your XYZ memory as you add points. The F1/Survey and Terrain Features/Preallocate memory for XYZ points feature allows you to do just this. The only caveat is that you should not preallocate any more memory than you need since the memory reserved via preallocation is not available for other data such as raster or vector attachments, PFL points, etc. The preallocation dialog is shown to the right.
What can you do if you have preallocated memory and still cannot load all of your points? Here are a few suggestions:
Just because you can load points doesn't necessarily mean you should. Each XYZ point occupies memory that could otherwise be used for PFL points, raster and vector attachments, etc. Further, many operations in PLS-CADD take a little more time with each additional point you load. So, you want to have enough points to build an accurate profile and detect all possible clearance violations, but no more than that.