Transform Reference

This topic provides a overview of the Transform pane, as well as a gateway to a hierarchical list of all Transform pane templates.  See also the Transform Pane topic.

 

 The current build does not do previews.   Those will be added in the next build.

 

Using the Transform pane:

 

  1. Choose the component to use.  Components that are layers in the active window will be available.
  2. Choose a field within that component.   The pane will populate with templates that can be used with fields of that data type.
  3. Double-click the desired template.
  4. The pane will display parameters for whatever operation in that template is chosen.  Some templates have many operations.
  5. Choose the desired operation with parameters as desired.
  6. Choose the Action desired if a mode other than replace selection is desired.
  7. Press the Transform button.

 

The Transform pane remembers prior choices.  We can change the Field used to any field of the same data type in the chosen component.   To change types or components click the up arrow button to move back to the top level.

 

The Transform pane also remembers context.   If we have been using Arithmetic with a map window, we can click open a table window (leaving the map window open) and do a different transform operation with that table window.  When we click on the map window to make it the active window again, the Transform pane will be loaded with Arithmetic exactly as we left it.

 

Transform templates that recently have been used automatically (for the last ten templates) get added to the list of available templates for a given data type.  Pin a recently used template to the list by clicking the white pushpin icon to turn it dark.  Unpin a pinned template by clicking the dark pushpin icon to make it white. Pinned templates remain in the list.

Index Required

To use the Transform pane the table must have at least one identity index in the table, such as the usual btree index on the mfd_id identity field. This is easy to add, if necessary, with one click in the Schema dialog. See the Add an Index to a Table topic.

 

Transforms on tile fields that depend on tile placement also require that the table have a spatial index on the picked tile field.

Operates on the Active Window, Specified Layer

The pane automatically configures for whichever window has the focus when the pane is open.  Click a different window to move the focus to that window and the pane automatically adjusts.  

 

When working with an active window like a map that has more than one layer, choose the layer desired from the pull down list of components in the topmost box of the pane.  The layer picked in the pane can be different from whatever is the active layer in the map.

 

The Transform pane opens to a top level list of pre-built commands, called templates, that may be used with the data type of the specified source field.  

 

Templates will automatically adapt to the data type of the source field.  The Filter box can be used to narrow down a long list of templates, or to find a template that does a particular operation.  The Filter box searches within templates for the names of operations within templates, as well as the top level names of templates.

Two Step Workflow

The Transform pane uses two step workflow.  

 

Step 1: Pick a layer and a field.  The pane then shows a list of templates that can be used with the data type of that field.  Pick a template to launch it.

 

Step 2: The template opens with options for operations and parameters that work with the data type of the source field.  Without returning to Step 1, we can change parameters, choose a different layer in the map with fields of the same data type, or choose a different template that works on fields of the same data type.

 

Two step workflow ends up being faster than single step, because much workflow is iterative, doing the same thing to a different field, or making a slight change and applying the same operation.   After the initial step we can rapidly repeat the second step over and over, with easier recycling of settings.  For example, once we choose a numeric field in the first step we can very rapidly apply operation after operation to many different numeric fields in different layers, with most settings remaining the same, persisting into the next operation.  

 

 

The Transform pane opens by default with the currently active component or layer loaded in the top box.  We can change that to any layer in the currently active component.    Changing the focus to another window will change the active component to whatever is the active layer in that window.   The Transform pane will list all templates that can be used with the data type of the chosen field, and will also show a list of pinned or recently used templates.  Templates have a lightning bolt icon.   Pinned templates have a dark pushpin.  Recently used templates have a light pushpin and a "redo" icon.

 

Component

The name of the component the template is using.  Automatically set to the active window.  When the active window has more than one layer, we can choose the component desired from a pull down list in the box.

Field

The field on which the template operates, also called the source field.   Choose any field from the active component.  When a drawing is the active component, the pane can operate using any field within the drawing's table.  Likewise, when a drawing's table is the active component, the pane can operate using the geometry field in that table, to transform object geometry displayed in the drawing.

Filter

Reduce long lists of templates, and find which template hosts a desired operation by entering text to filter by.  The pane will only show templates that have in their names, or in the names of options they provide, the text entered into the filter box.  

Templates

Templates provide commands that can be done with the chosen type of field.  Templates often include many operations or options within them.   Operations that do similar things or use similar parameters are grouped together within a template, to allow parameter and option choices to persist as much as possible within repetitive or iterative workflow using similar operations. Double-click a template to launch it.

Recent

The ten most recently used templates together with their secondary operational choices appear as shortcuts, such as the contains option within the Search template for text.   Double-click a recently used item to launch it.
  
The list of recently used templates persists within the same Manifold session even if we close the project and open a new project.  However, the list of recently used templates will disappear if we close Manifold and then launch a new Manifold session.

Pinned

Recently used shortcuts appear with a white pushpin.  Pinned shortcuts appear with a black pushpin at the top of the list.  Click a white pushpin to turn it black, and to pin that shortcut to the top of the template list. To unpin a shortcut, click the black pushpin to turn it white.   If the cursor is on a recent or pinned shortcut, the spacebar toggles the pushpin color.
  
Pinned shortcuts will persist at the top of the templates list for fields of that data type, even if we close and restart Manifold in a new session.   

(tooltips)

Hover the mouse cursor over a template to get a tooltip with a brief description of the template, usually providing some examples of operations it can do.

Cursor

Click a template to move the row cursor onto that template.  Move the cursor using the up and down arrow keys.  When we move the cursor onto a template, that puts the focus on that template.

Edit Parameters

Click to launch the template indicated by the cursor.

 

Picking a template launches it for use, with options and controls appearing as required for the data type of the chosen field and the operation desired.  The name of the template in use will appear at the top of the pane, with controls and parameter boxes appearing in the pane as required.

Pick a Template

Double-click a template within the list to launch that template using the specified component and source field.  We can also repeat-click a template, or focus on that template and press Enter, or focus on that template and press the Edit Parameters button.  That launches the template within the pane.

 

 

The pane will automatically configure to show options and parameter boxes that work with the chosen operation.  Templates will automatically adapt to the data type of the source field.  

Options within Templates

The Transform pane often groups many similar operations within a single template, allowing choice of what specific operation to use once the template has been chosen.    For example, the Reshape transform template for geometry fields alters the shape of objects using the specified operation and parameters.   

 

 

Choosing an operation within Reshape, such as rotate, will automatically configure the pane with controls for that operation, such as an Angle box that allows setting the desired rotation angle value, and a Unit box that allows choosing Arc Minute, Arc Second, Degree, or Radian as the unit of measure for the rotation angle value.

 

Grouping transforms by data type and similar functionality allows rapid application and reapplication of similar Reshape or other operations functions by changing a single condition or value, without having to repeatedly choose and re-choose parameters that have not changed.

Fields, Values or Expressions

Wherever transform templates use values, such as the Angle value used by the rotate operation, we can choose a field, enter an explicit value, or an expression to specify the value.  When entering an explicit value the icon in the box will indicate what data type is expected, for example showing Ab for text values and 123 for numbers.

 

 

For example, if we the divide (/) operation within the Arithmetic template provides a Value box to enable entering a value by which the source field will be divided.  If we want to divide numbers in a Population field with numbers in a SQKM field, to get a population per square kilometer, we can choose the SQKM field.  

Choosing a Destination for Results

A major convenience of the Transform pane is the ability to put the result of the transform either into the same field, or into a new field within the same table, or into a new table that is automatically created.   For extra convenience, when putting geometry or tile results into a new field within the same table the pane can automatically create a new drawing or image based on that new geometry or tile field.   Likewise, when putting geometry or tile results into a new table, the pane can automatically create a new drawing or image based on that new table.  Super!

 

 

By default, transforms that create the same number of records as in the source table will write the result to the same field.  We can choose either New Field or New Table as a different destination.

 

 

For example, if we are creating centroid points from areas we might choose the New Field option to write the results into a new field of the applicable data type within the same table.   In the illustration at left above, we write resulting point geometries to a new field that we have named Geom_centroids within the same table.  If we like, we can enter the name of a new drawing to be created (thus creating two drawings from two different geometry fields in the same table, as illustrated in the Example: Add a Second Computed Geom Field to a Table topic).    If we do not enter the name of a new drawing, no new drawing will be created.

 

Or, if we prefer, we can choose the New Table option to create a new table and to put the result into that new table.   We can name the new table and if the results are geometry or tile results the pane can automatically create a new drawing or image based on that new geometry or tile field.

Typical Controls and Parameters

Up one level.  Return to the main Transform pane to allow choosing the component or layer and a field.

<component name>

Gives the name of the component or layer that the template is using.   Change to any other layer in the same component that also has a field of the active data type.

Field

The subject/source field on which the template operates.   Choose any other field of the same data type.

Operation

Choose the operation option to use within this template.   Some templates can have very many operations.  

<parameter boxes>

Different templates, and different operations within templates, will automatically display the parameter boxes required for the operation.

Unit

Units of measure that can be used for the operation, based on the projection in use by the component.   Projections such as Latitude / Longitude that use angular units of measure will offer a choice of Arc Minute, Arc Second, Degree, or Radian, automatically converting the chosen unit into whatever unit is used by the projection (usually degrees).   Projections such as Pseudo Mercator that use linear units of measure will offer a very long list of all linear units of measurement known to Manifold, with Meter appearing by default.  The template will automatically convert the chosen unit into whatever linear unit (feet, survey feet, etc.) is used by the projection.   This can make it very easy to apply operations like shift: if we want to shift some objects three miles we can choose Mile as the unit of measure and the shift operation using 3 in the  X and Y boxes will shift objects by three miles even if the drawing's projection uses meters or feet for the coordinate system.

Field, Value, or Expression

Value boxes, such as the X and Y boxes for the shift operation, allow us to choose values from a different field, explicit values we enter, or values generated by an  expression that is a snipped of SQL.

Collation  

A Collation option appears with some templates applied to text fields, for example, the Replace template that is used for text search and replace operations.   It is primarily used to specify case or no case searches.  Press the collation picker button to choose a different collation, for example, neutral for case sensitive search and replace.   Various collations offer different languages and different settings, such as reckoning accents on characters or not.

Result

Specify the destination for the result of the transform.

 

  • Same Field - Appears as the default when the template creates the same number of records as the source component.  Place the result of the transform into the same field that was used as the source of the transform.  This overwrites prior values in that field with new values that are the result of the transform.

  • Existing Field - Choose an existing field in the same table that is the same data type. A list of existing fields will appear as choices when the template creates the same number of records as the source component.  Place the result of the transform into the specified field.  This overwrites prior values in that field with new values that are the result of the transform.

  • New Field - Create a new field of the specified type in the table, and populate it with the results of the transform.   Appears as a choice when the template creates the same number of records as the source component.   The New Drawing box appears when the new field is a geometry field, and allows specifying the name of a new drawing to be created that is based on that new geometry field.

  • New Table - Create a new table using the name specified in the New table box, and create a new field in that table into which the result of the transform will be placed.  Appears as the only choice when a transform creates a different number of records as the source component.  The New Drawing box appears when the new field is a geometry field, and allows specifying the name of a new drawing to be created that is based on that new geometry field.

 

Result Type

The data type to use for the field that will hold the result.   Appears when results are sent to a new field or a new table and there is an option as to what the data type can be.   For example, numeric results will usually allow a choice of any numeric data type, such as various integer or floating point numeric data types.   Geometry results will usually allow a choice of Manifold's native geom type, geommfd type, or geomWKB type.

New Drawing

Appears when geometry results are sent to a new field in the same table or sent to a new table.  If not left blank, automatically creates a new drawing that uses the geometry field used for results.

New Table

Appears when geometry results are sent to a new table.  The name to use for the new table.

Resources

A choice of CPU and GPU parallelization resources the system is allowed to use:

 

  • all CPU cores - Allow parallelization up to using all CPU cores (threads) with no use of parallel GPU allowed.
  • all CPU cores, all GPU cores -  Allow parallelization up to using all CPU cores (threads) and parallel use of all GPU cores.
  • one CPU core - Allow use of only one CPU core (thread) with no use of parallel GPU allowed.
  • one CPU core, all GPU cores - Allow use of only one CPU core (thread) and parallel use of all GPU cores.

 

CPU "cores" are used in the Windows meaning of the word core, meaning hyperthread for CPUs that support hyperthreading when hyperthreading is turned on in the BIOS.   Since most modern CPUs and systems support hyperthreading, when Windows reports the number of cores it is really reporting the number of threads.

 

GPU cores are either used fully parallel for all cores or GPU is not used at all.

 

The Resources setting puts limits on what the system is allowed to use and does not force parallelization if that would result in slower operation.   Manifold will optimize on the fly to decide whether a given operation at that moment of machine loading and data in use will go faster if parallelized.   For example, on a 48 core CPU Manifold will not launch 96 parallel threads to add one plus one to get two, since that would be slower than simply doing the addition in one thread.

Transform selection only

Check to apply the transform only to selected records (objects).    

 

Operations such as clip will in addition have a "selection only" option box, such as Clip with selection only, that allow using only selected objects in the clipping drawing.  

Transform

Apply the transform template.

Edit Query

Pop open a Command Window loaded with an SQL query that accomplishes what this template does given the current settings.

Result Destinations

When presenting available Result destination options, the Transform pane automatically adapts to any restrictions, such as read-only limitations, on possible destinations.   For example, attempting to perform a transform on a computed field or on the built-in mfd_id identity field disables the Same Field result option. Attempting to perform a transform on a table that cannot alter its schema (common for result tables of queries, or for read-only tables in remote databases) disables the New Field result option.

 

The default name for a new field is set to a blank string to force entering it before running the transform. After the transform is run, the field name is left unaltered so that repeating the transform without any changes quickly fails with a name already in use error and does nothing, alerting the user to alter the name or to choose a different Result destination. The default names for new components likewise are set to blank strings to force entering them, and after the transform is run the component names are left unaltered so that repeating the transform without any changes quickly fails, alerting the user to change names or to choose a different destination.

Indexes in New Result Tables

Sending transform results into a new table automatically creates an autogenerated identity field and a unique index on that field within the new table that is created.   When such new tables are created in a Manifold .map project or data source, the autogenerated identity field and index will be the usual mfd_id and mfd_id_x field and index.   When such new tables are created in some external data source, such as a DBMS, whatever facilities available within that data source will be used to create an autogenerated identify field and unique index.

 

If the target database does not support autogenerated fields, the transform will fail with an error message.   Manifold supports autogenerated fields in the vast majority of databases to which Manifold can write.   The only notable exceptions are databases that use the Microsoft Jet engine, namely Access and Excel files.

 

However, for Access and Excel, in any event it is a much better idea to copy data into the Manifold .map project, perform the transform within the .map project, and then copy the result back into the Access or Excel file.   That is because Jet is fragile: performing the transform within the Manifold .map instead of directly on the data stored in place within the Access or Excel file limits the amount of time the Jet database is being written to, which helps ensure its integrity.   That is especially important when the Jet database is being opened from a network share.  

 

A limitation on creating new tables to accept the results of a transform occurs with tile results:   If the target database does not support spatial indexes that are required for the resulting field, the transform will fail with an error message.  Since at the present time only .map project files support creating spatial indexes on tile fields, this requirement limits the creation of new tables by the transform pane for the results of transforms to new tables within a .map project file.  This limitation may be removed in future builds.   It does not apply to new tables created to host geometry fields added by a transform, since creating new tables with a new geometry field can be done both within .map projects and also within most external databases.

Fields Copied into New Result Tables

When sending transform results into a new table, all fields from the existing source table are copied over into the new table along with the result field, except for geometry and tile fields.

 

When the result field of a transform is a geometry data type, the new table excludes all other original geometry fields and creates a spatial index only on the new geometry field. When the resulting field is a tile data type, the new table excludes all other original tile fields and creates a spatial index on the new tile field.

 

The copy/exclude logic arises from the most likely circumstances of workflow.   If in addition to the result of the transform we want to retain all prior geometry or tile fields in the table, which could be a large amount of data, the most effective way to do that is simply to save the result to a new field in the same table.  There is no need to create a new table.

 

In contrast, if we want to place the result in a new table, it is less likely we care about other geometry or tile fields in the prior table.  For example, it is often the case we may save intermediate transform results as new geometry or tile fields in the same table, and then when we save to a new table we want to start a new chain of operations and results starting with the field saved to the new table, with any prior geometry or tile fields left behind in the old, source table.

 

If we want to retain all prior geometry or tile fields in a new table, the straightforward way to do that is to first copy and paste the original table to make a copy, and to then apply the transform to that copy, which allows us to save the result as a new field into that table.  

Filter Box

Templates can contain lots of functionality.  The Arithmetic template, for example, provides over two dozen different transform operations.   If we cannot remember which template hosts the logarithm operation, we could enter the text log into the Filter box to reduce the template list to only those templates that have that text (case insensitive) in their top level names or within any secondary options.   

 

 

The box filters templates based on searches down into operational choices within templates.   Entering log thus filters the template list not only to the top level Bit Logic recently used template, but also includes the Arithmetic template in the filtered list, since that template has operations named logarithm (log), logarithm binary (log2), and logarithm decimal (log10), all of which have the text log within their names.

 

To facilitate easy use of the filter box, template options will often include alternate names, abbreviations, or functional terms within ( ) parentheses, which are also checked by the filter box.  For example, entering log2 sign in the box will filter to the Arithmetic template, which contains an operation named logarithm binary (log2).

Choosing a Different Template or Component

After doing a transform we can stay in the same template to do another transform, perhaps choosing a different field of the same type, or a different operation or different values, or we can press the Up button to go up one level to choose a different template, a different layer in the same component, or a different data type field.

Pinning Favorites

If we frequently use a particular template, after any use when it appears in the frequently used list, we can click the white pushpin icon to make it a dark pushpin, thus pinning the template as a favorite to always appear in the templates list.  Pinned templates always appear at the top of the templates list.  To unpin a template, click the dark pushpin icon to make it a white icon again.

Dynamic Updates

The Transform pane dynamically updates itself given any changes in the table's schema.  For example, if while a Transform pane is open we choose Edit - Schema and then add a new field to the table the available fields in the Expression tab's expression builder will be updated with the new field, and  the pane will adjust and start offering the new field in lists for parameter values.

 

If we pick the field for use as a parameter value and then delete it from the table, the pane will adjust again and switch the parameter value referencing the now deleted field to use a constant value or a different field, depending on the parameter.

 

If we open a map and start adding or removing layers, the panes will automatically adjust to all changes.  Changing the active layer in a map has no effect on the panes, and adding a new layer has a minimal effect:  the new layer becomes available for use but the picked layer does not switch to the new layer.  Deleting a layer only has an effect if that layer was the layer picked in the pane.

 

If the Transform selection only box is checked, we can dynamically select or unselect items in the subject window and the Transform template will be dynamically applied to the selection as it is.   For an example of that effect, see the Labels topic.

Simultaneous Use of Other Facilities

When we have the focus on an open  window and we open the Select pane or the Transform pane, that pane applies to the window that has the focus.  We can open other windows and do other work with Manifold, going back and forth between the other work and the Select and Transform panes and the panes will automatically adapt. 

Context Saved

Switching between component windows automatically saves and restores the state of the Select and Transform panes for each window. For example, we can open a drawing, start preparing a transform, decide to take a look at the records in a different table, open that table in a new window, and then when we return to the drawing, the Transform pane will be in the exact same state as we left it. We can have several alternative transforms or selects being prepared for different windows and switch between them freely.

 

Performing a select or transform does not clear the relevant pane: the pane remains in the same state where the operation can be repeated with or without modifications.

Time Readout

Since many operations complete nearly immediately, after clicking the Select or Transform button, we might wonder if we clicked the button.  To show that we did indeed click the button and that the operation has already finished, the pane shows the time it took for the operation to complete next to the clicked button.  After 10 seconds, the time readout disappears, ready to appear with a new readout the next time we click the button.

 

The pane also logs the time for each operation into the Log window.  The log message includes the names of the used layer and field, the name of the template, and the values of key parameters.

Templates by Data Type

Transform - Expression

Introductory topic to using expressions in the Transform pane

Transform - Binary

Transforms for variable length binary fields, of type varbinary.

Transform - Boolean

Transforms for Boolean fields, of type boolean.

Transform - Datetime

Transforms for date and time fields, of type datetime.

Transform - Geometry

Transforms for geometry fields, of type geom, geommfd, or geomwkb.

Transform - Numbers

Transforms for numeric fields, of type float32, float64, int8, int16, int32, int64uint8, uint16, uint32, or uint6.

Transform - Numeric Vectors

Transforms for numeric vectors, that is fields with ordered sets of multiple numbers, of x2 type float32x2, float64x2, int8x2, int16x2, int32x2, int64x2uint8x2, uint16x2, uint32x2, uint6x2, of x3 type float32x3, float64x3, int8x3, int16x3, int32x3, int64x3uint8x3, uint16x3, uint32x3, uint6x3, or of x4 type float32x4, float64x4, int8x4, int16x4, int32x4, int64x4uint8x4, uint16x4, uint32x4, uint6x4.

Transform - Text

Transforms for variable length text fields, of type nvarchar or varchar.

Transform - Tiles

Transforms for raster data fields, of type tile.

Transform - UUID

Transforms for Universally Unique IDentifier (UUID)  fields, of type uuid.

Other Transform Topics

Transform Pane

Getting started with the Transform pane.

Transform Topics

A list of topics covering various aspects of using the Transform pane.

 

Notes

Zoom to Fit - If we open a drawing and then open the Transform pane and apply a template, if we do not see anything in the drawing it could be that the results of the preview are not in view.  We can do a View - Zoom to Fit command to make sure that we can see all objects in the drawing in the window we are using.

 

Protections against NULLs - Many transforms protect against unexpected results when encountering NULL values. For example, attempting to append a text value to a text field using Concatenate treats NULL values as empty strings, in order to keep the field value unchanged instead of turning it into a NULL. Sometimes such a protection is undesirable and whether to have it or not depends on the typical use of the transform. Current protections have been added based on engineering judgement.  Anyone finding some of the protections that have been added undesirable, or finding cases where such protections are absent but are required, should please send in a note.

 

Pass through of unaffected geometry - Geometry transforms that only make sense for a particular geometry type keep geometry values of other types unchanged whenever this makes sense. For example, reversing lines will keep areas and points unchanged instead of turning them into NULLs.

 

Uneven X and Y scales are OK - Geometry transforms that operate on distances also automatically compensate for uneven X and Y scales. Previously, if a coordinate system of a geometry field had different scales by X and Y, creating a buffer would create a circle in the coordinate system of the drawing which would become an ellipse if the scales for X and Y were made the same. Same for other distance computations. Now the transforms make the X and Y scales even prior to computing the buffer and then force the computed buffer back to the scales used in the coordinate system. This makes the results of computations independent of the scales used in the coordinate system, which is much more reasonable.

 

Autoselect in Project pane - Creating a new component using a transform automatically selects that component in the Project pane.

 

Why do some templates only allow a (new table) Result option?   Only templates which result in changes within the same record, without adding or removing any records, can offer an same field or new field within the same table option.   If a template must create additional records or delete some records it can only be implemented using the (new table) option.   The new component that is created can have a different structure or different number of records than the context component.

 

A good example is considering the different operation of the Convert to Point template and the Decompose to Coordinates template.  

 

 

We begin with our Objects sample drawing above.  

 

 

We can see in the illustration above what points would be created by the Convert template with a Convert to setting of point.    The resulting objects are multipoints, that is, branched point objects.  Using the Layers pane, we have set the opacity of the Objects layer to 30% in the illustration above, so the points in the layer above can better be seen.

 

 

The illustration above shows the result of the Split template using coordinates as the Split into option.  Both the Split template and the Convert template seem to do the same thing, at least visually, creating a point object at each coordinate which defines an object.  But the Convert - point template allows a choice of either Same Field New Field, or New Table, while the Split - coordinates template allows only the New Table option.  Why?

 

The answer is the Convert - point template creates multipoint objects, where a single geom in a single record encodes all of the points created for whatever was the original object in that record, while the Split - coordinates template creates a new, standalone point object for every coordinate.   

 

We can see the difference between the two by using Style to color the points based on their mfd_id field.  Points that are really multipoints, that is, all the same, single object, will be colored the same color, while those points which are parts of different objects will be colored differently.

 

 

In the sample Objects drawing, the table has seven records, one record for each of seven objects, with each record containing a geom that specified an area, a line or a point.  The Convert - point template replaces the seven geom values in those seven records with seven altered geom values which encode multipoint objects.    The illustration above shows the result, with multipoints colored by their mfd_id field.   What appear to be three separate point objects at the vertices of the triangular area are in fact just one point object, a multipoint.  The multipoint geom for the triangle shown above with green points contains a multipoint that encodes three points in one geom.

 

The result of the template for the line below the triangle is a geom with a multipoint that contains the five points at the coordinates of the line, and so on.   The Convert - point template can have a Same Field option because it simply replaces the geom field in each record with an modified geom field.   It does not add or delete records or otherwise change the table's structure.

 

 

In contrast, the Split - coordinates template, with results shown in the illustration above, takes a table of seven records and builds a new table that has 27 records, with each record containing a geom that encodes a single point. Each separate point object is colored using a different color in the illustration above.  Because all of the points are colored differently we an see they are all different objects.  There is no Same Field option for the Result of that template, because the template must add records to the table, doing more than simply updating an existing field in existing records.  It must create a new table, so the only option is to have a New Table choice for the result.

 

Tech Tip: A totally cool thing about the Transform pane is that we can write SQL expressions into the combo boxes that appear for various templates.   Most combo boxes will allow us to choose a field from a pull down list of fields of the appropriate type.  We can also enter a fixed value like a number or a string.   But we can also enter an SQL expression using the combo boxes or the Expression tab, for example, like using a CAST expression in the Replace : text operation shown in in the Transform - Text: Replace topic.  This allows us to combine the convenience of pre-built templates together with the ability to express exactly what we want in a line of SQL.

 

Units of measure - Some templates use combo boxes within which we can specify a distance or other value using units of measure.  Such templates allow us to specify the unit of measure.

 

Spatial overlays - Spatial overlays that once were done using Transform templates are now done using the Select pane or the Join dialog.   See the Spatial Overlays using Select or Join topic.

 

Videos

Select and Transform Part 1

 

Select and Transform Part 2