1"use strict";(globalThis.webpackChunkvrgs_docs_v_3_1=globalThis.webpackChunkvrgs_docs_v_3_1||[]).push([[938],{95139(e,s,i){i.r(s),i.d(s,{assets:()=>c,contentTitle:()=>o,default:()=>h,frontMatter:()=>l,metadata:()=>n,toc:()=>d});const n=JSON.parse('{"id":"trees/data/mesh-attributes","title":"Attributes (Meshes and Point Clouds)","description":"Right-click commands for an attribute layer under a mesh, point cloud, satellite image or tiled model in the Data tree: clustering, neural-network classification, cross plots, the calculator, filtering and colour scales.","source":"@site/versioned_docs/version-3.4/trees/data/mesh-attributes.md","sourceDirName":"trees/data","slug":"/trees/data/mesh-attributes","permalink":"/docs/trees/data/mesh-attributes","draft":false,"unlisted":false,"editUrl":"https://github.com/vrgeoscience/vrgs_docs_v3/tree/master/versioned_docs/version-3.4/trees/data/mesh-attributes.md","tags":[],"version":"3.4","sidebarPosition":4,"frontMatter":{"id":"mesh-attributes","title":"Attributes (Meshes and Point Clouds)","description":"Right-click commands for an attribute layer under a mesh, point cloud, satellite image or tiled model in the Data tree: clustering, neural-network classification, cross plots, the calculator, filtering and colour scales.","sidebar_label":"Attributes","sidebar_position":4},"sidebar":"docs","previous":{"title":"Point Clouds","permalink":"/docs/trees/data/point-clouds"},"next":{"title":"Tie Points","permalink":"/docs/trees/data/tie-points"}}');var r=i(74848),t=i(28453);const l={id:"mesh-attributes",title:"Attributes (Meshes and Point Clouds)",description:"Right-click commands for an attribute layer under a mesh, point cloud, satellite image or tiled model in the Data tree: clustering, neural-network classification, cross plots, the calculator, filtering and colour scales.",sidebar_label:"Attributes",sidebar_position:4},o="Attributes (Meshes and Point Clouds)",c={},d=[{value:"Item Context Menu",id:"item-context-menu",level:2},{value:"Actions",id:"actions",level:3},{value:"Transforms submenu",id:"transforms-submenu",level:3},{value:"Selection submenu",id:"selection-submenu",level:3}];function a(e){const s={a:"a",code:"code",em:"em",h1:"h1",h2:"h2",h3:"h3",header:"header",li:"li",p:"p",strong:"strong",ul:"ul",...(0,t.R)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.header,{children:(0,r.jsx)(s.h1,{id:"attributes-meshes-and-point-clouds",children:"Attributes (Meshes and Point Clouds)"})}),"\n",(0,r.jsxs)(s.p,{children:["Right-click commands for an ",(0,r.jsx)(s.strong,{children:"attribute layer"})," under the ",(0,r.jsx)(s.strong,{children:"Attributes"})," node of a mesh, point cloud, satellite image or tiled model in the ",(0,r.jsx)(s.strong,{children:"Data Tree"}),". The ",(0,r.jsx)(s.strong,{children:"Attributes"})," node itself has no menu; right-click a layer under it. Tick a layer to colour the object by it. A point-cloud layer with a filter applied is badged ",(0,r.jsx)(s.strong,{children:"Filtered"}),"."]}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsxs)(s.em,{children:["Source resources: ",(0,r.jsx)(s.code,{children:"IDR_DT_ATTRIBUTES"}),"."]})}),"\n",(0,r.jsx)(s.h2,{id:"item-context-menu",children:"Item Context Menu"}),"\n",(0,r.jsx)(s.p,{children:(0,r.jsx)(s.em,{children:"Right-click an attribute layer under a mesh or point cloud."})}),"\n",(0,r.jsx)(s.h3,{id:"actions",children:"Actions"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"K-Means Clustering"})," \u2014 K-Means Clustering ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_KMEANS"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"ANN Classify"})," \u2014 Classify the points or vertices with an artificial neural network trained on the attribute values. ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_ANNCLASSIFY"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"UMAP Projection"})," \u2014 UMAP Projection ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_UMAPPROJECTION"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Create Discrete Colourmap"}
1)," \u2014 ",(0,r.jsx)(s.em,{children:"(mesh layers)"})," Build a discrete colour map from the layer's distinct values and add it to the ",(0,r.jsx)(s.a,{href:"/docs/trees/collections/colour-maps",children:"Colour Maps"})," collection. ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_DISCRETECMAP"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Cross Plot"})," \u2014 Cross Plot ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_CROSSPLOT"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Calculator"})," \u2014 Open the attribute calculator to derive new attributes from expressions. ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_CALCULATOR"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Replace Filtered Values"})," \u2014 Replace filtered values ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_REPLACEVALUE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Export Histogram"})," \u2014 Export histogram ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_EXPORTHISTOGRAM"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Export Attribute"})," \u2014 Export the attribute with positions ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_EXPORT_ATTRIBUTE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Copy Color Scale to Clipboard"})," \u2014 Copy color scale to clipboard ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_COPYCOLOURSCALE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Save Color Scale to Image..."})," \u2014 Write the attribute's colour scale to an image file, for use in a figure. ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_SAVECOLOURSCALE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Move Up in List"})," \u2014 Move up in list ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_MOVEUPLIST"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Move Down in List"})," \u2014 Move down in list ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_MOVEDOWNLIST"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Remove Common Prefix"})," \u2014 Remove common prefix ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ITEM_REMOVECOMMONPREFIX"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Delete"})," \u2014 Delete the selected attribute ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIBUTES_DELETE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Add Graph Network"})," \u2014 Add graph network ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_DEBUG_ADDGRAPHNETWORK"}),")"]})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"transforms-submenu",children:"Transforms submenu"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Normalize"})," \u2014 Normalize ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_NORMALISE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Z Score"})," \u2014 Z Score ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_ZSCORE"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Log Transform"})," \u2014 Log Transform ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_LOG"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Square Root"})," \u2014 Square Root ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_SQUAREROOT"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Exponential"})," \u2014 Exponential ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_EXPONENTIAL"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Cox-Box Transform"})," \u2014 Deskew with a Cox-Box Transform ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_COXBOX"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Clamp to Filter"})," \u2014 Clamp to Filter ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_TRANSFORMS_CLAMPTOFILTER"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Clip to Filter"})," \u2014 Clip to Filter ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_TRANSFORMS_CLIPTOFILTER"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Clip"})," \u2014 Clip attribute to specified limit ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_ATTRIB_TRANSFORMS_CLIP"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Compress"})," \u2014 Compress ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_TRANSFORMS_COMPRESS"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Replace Isolated"})," \u2014 Replace isolated ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_TRANSFORMS_REPLACEISOLATED"}),")"]})]}),"\n"]}),"\n",(0,r.jsx)(s.h3,{id:"selection-submenu",children:"Selection submenu"}),"\n",(0,r.jsxs)(s.ul,{children:["\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Filtered"})," \u2014 Filtered ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_SELECT_FILTERED"}),")"]})]}),"\n",(0,r.jsxs)(s.li,{children:[(0,r.jsx)(s.strong,{children:"Unfiltered"})," \u2014 Unfiltered ",(0,r.jsxs)(s.em,{children:["(",(0,r.jsx)(s.code,{children:"ID_SELECT_UNFILTERED"}),")"]})]}),"\n"]})]})}function h(e={}){const{wrapper:s}={...(0,t.R)(),...e.components};return s?(0,r.jsx)(s,{...e,children:(0,r.jsx)(a,{...e})}):a(e)}},28453(e,s,i){i.d(s,{R:()=>l,x:()=>o});var n=i(96540);const r={},t=n.createContext(r);function l(e){const s=n.useContext(t);return n.useMemo(function(){return"function"==typeof e?e(s):{...s,...e}},[s,e])}function o(e){let s;return s=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:l(e.components),n.createElement(t.Provider,{value:s},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.