[Liblas-commits] hg: update to reflect current state

liblas-commits at liblas.org liblas-commits at liblas.org
Tue Apr 5 17:27:03 EDT 2011


details:   http://hg.liblas.orghg/rev/8d795670b800
changeset: 2920:8d795670b800
user:      Howard Butler <hobu.inc at gmail.com>
date:      Tue Apr 05 16:26:24 2011 -0500
description:
update to reflect current state
Subject: hg: remove

details:   http://hg.liblas.orghg/rev/78a99d13d177
changeset: 2921:78a99d13d177
user:      Howard Butler <hobu.inc at gmail.com>
date:      Tue Apr 05 16:26:54 2011 -0500
description:
remove

diffstat:

 schemas/LAS-example.xsd |  105 ------------
 schemas/LAS.xsd         |   74 +-------
 schemas/las.xml         |  141 ++++++++++++++--
 schemas/prop_tree.xml   |  410 ++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 546 insertions(+), 184 deletions(-)

diffs (truncated from 816 to 300 lines):

diff -r bbad20eed7bf -r 78a99d13d177 schemas/LAS-example.xsd
--- a/schemas/LAS-example.xsd	Tue Apr 05 11:39:13 2011 -0500
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
-    xmlns:las="http://liblas.org/schemas/LAS/example" 
-    elementFormDefault="qualified" 
-    attributeFormDefault="unqualified" 
-    targetNamespace="http://liblas.org/schemas/LAS/example" version="1.0">
-
-    <xs:simpleType name="sizeType">
-        <xs:annotation><xs:documentation>
-            The storage size type of the dimension.
-        </xs:documentation></xs:annotation>   
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="byte"></xs:enumeration>
-            <xs:enumeration value="bit"></xs:enumeration>
-        </xs:restriction>
-    </xs:simpleType>
- 
-    <xs:simpleType name="interpretationType" >
-        <xs:annotation><xs:documentation>
-            Common interpretations of the data that may be used.  This 
-            type may be extended under the expectation that clients 
-            know how to consume the data.  In the case of string-like 
-            data, use uint8_t (common byte) as the interpretation 
-            and transform accordingly.  Because nulls (or even 
-            multi-byte strings) might be allowed, there are 
-            no common string interpretations provided by defaut.
-        </xs:documentation></xs:annotation>   
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="int8_t"></xs:enumeration>
-            <xs:enumeration value="uint8_t"></xs:enumeration>
-            <xs:enumeration value="int16_t"></xs:enumeration>
-            <xs:enumeration value="uint16_t"></xs:enumeration>
-            <xs:enumeration value="int32_t"></xs:enumeration>
-            <xs:enumeration value="uint32_t"></xs:enumeration>
-            <xs:enumeration value="int64_t"></xs:enumeration>
-            <xs:enumeration value="uint64_t"></xs:enumeration>
-            <xs:enumeration value="double"></xs:enumeration>
-            <xs:enumeration value="float"></xs:enumeration>
-            <xs:enumeration value="unknown"></xs:enumeration>
-        </xs:restriction>
-    </xs:simpleType>
-
-    <xs:complexType name="rangeType">
-        <xs:attribute name="units" type="las:interpretationType"></xs:attribute>
-        <xs:attribute name="value" type="xs:decimal"></xs:attribute>
-    </xs:complexType>
-    
-    <xs:complexType name="dimensionType">
-        <xs:sequence>
-            <xs:element name="name" type="xs:string"  />
-            <xs:element name="description" type="xs:string" minOccurs="0"/>
-            
-            <xs:element name="position" type="xs:nonNegativeInteger" >
-                <xs:annotation><xs:documentation>
-                    The dimension's position in the block of point data (counting from 0)
-                </xs:documentation></xs:annotation>                
-            </xs:element>
-            
-
-            <xs:element name="active" type="xs:boolean">
-                <xs:annotation><xs:documentation>
-                    A dimension may have be holding its place in bytes but might not have actual
-                    values that mean anything.  This flag can be used to skip the dimension in
-                    that case.
-                </xs:documentation></xs:annotation>
-            </xs:element>
-            
-            <!--Specify the size and units of the dimension's storage-->
-            <xs:element name="size" type="xs:nonNegativeInteger"></xs:element>
-            <xs:element name="units" type="las:sizeType"></xs:element>
-            
-            <xs:element name="interpretation" type="las:interpretationType">
-                <xs:annotation><xs:documentation>
-                    This element describes how the data should be interpreted.  
-                    In the case of conflicting data, for example when then size is 2, the units "byte", 
-                    but the interpretation is "uint32_t", the size determines how much 
-                    precision is available.
-                </xs:documentation></xs:annotation>   
-            </xs:element>
-            
-            <xs:element name="minimum" type="las:rangeType" minOccurs="0">
-                <xs:annotation><xs:documentation>
-                    The minimum value of this dimension.
-                </xs:documentation></xs:annotation>                   
-            </xs:element>
-            <xs:element name="maximum" type="las:rangeType">
-                <xs:annotation><xs:documentation>
-                    The maximum value of this dimension.
-                </xs:documentation></xs:annotation>   
-            </xs:element>
-        </xs:sequence>
-    </xs:complexType>
-    
-  
-    <xs:element name="LASSchema" >
-        <xs:complexType>
-            <xs:sequence >
-                <xs:element name="dimension" type="las:dimensionType" minOccurs="1" maxOccurs="unbounded"></xs:element>
-            </xs:sequence>
-        </xs:complexType>
-    </xs:element>
-        
-              
-
-</xs:schema>
diff -r bbad20eed7bf -r 78a99d13d177 schemas/LAS.xsd
--- a/schemas/LAS.xsd	Tue Apr 05 11:39:13 2011 -0500
+++ b/schemas/LAS.xsd	Tue Apr 05 16:26:54 2011 -0500
@@ -1,18 +1,6 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<xs:schema xmlns:las="http://liblas.org/schemas/LAS/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://liblas.org/schemas/LAS/1.0" version="1.0">
+<xs:schema xmlns:pc="http://libpc.org/schemas/PC/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://libpc.org/schemas/PC/1.0" version="1.0">
 
-    <xs:simpleType name="sizeType">
-        <xs:annotation>
-      <xs:documentation>
-            The storage size type of the dimension.
-        </xs:documentation>
-    </xs:annotation>   
-        <xs:restriction base="xs:string">
-            <xs:enumeration value="byte"/>
-            <xs:enumeration value="bit"/>
-        </xs:restriction>
-    </xs:simpleType>
- 
     <xs:simpleType name="interpretationType">
         <xs:annotation>
       <xs:documentation>
@@ -22,7 +10,7 @@
             data, use uint8_t (common byte) as the interpretation 
             and transform accordingly.  Because nulls (or even 
             multi-byte strings) might be allowed, there are 
-            no common string interpretations provided by defaut.
+            no common string interpretations provided by default.
         </xs:documentation>
     </xs:annotation>   
         <xs:restriction base="xs:string">
@@ -41,7 +29,7 @@
     </xs:simpleType>
 
     <xs:complexType name="rangeType">
-        <xs:attribute name="units" type="las:interpretationType"/>
+        <xs:attribute name="units" type="pc:interpretationType"/>
         <xs:attribute name="value" type="xs:decimal"/>
     </xs:complexType>
     
@@ -59,19 +47,10 @@
             <xs:element name="size" type="xs:nonNegativeInteger">
                 <xs:annotation>
                     <xs:documentation>
-                        The size of this dimension (assumed to be in bytes if
-                        no units element is available).
+                        The size of this dimension in bytes.
                     </xs:documentation>
                 </xs:annotation>
-            </xs:element>
-            <xs:element name="required" type="xs:boolean">
-                <xs:annotation>
-                    <xs:documentation>
-                        Is this dimension required by the LAS Point Format?
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
-            
+            </xs:element>            
             
             <xs:element minOccurs="0" name="name" type="xs:string"/>
             <xs:element minOccurs="0" name="description" type="xs:string"/>
@@ -86,29 +65,20 @@
                 </xs:annotation>
             </xs:element>
 
-            <xs:element minOccurs="0" name="units" type="las:sizeType">
-                <xs:annotation>
-                    <xs:documentation>
-                        The units to use for size measurements for this
-                        dimension. If no units element is specified, "bytes"
-                        is the assumed unit.
-                    </xs:documentation>
-                </xs:annotation>
-            </xs:element>
             
-            <xs:element minOccurs="0" name="interpretation" type="las:interpretationType">
+            <xs:element minOccurs="0" name="interpretation" type="pc:interpretationType">
                 <xs:annotation>
                     <xs:documentation>
                         This element describes how the data should be
                         interpreted. In the case of conflicting data, for
-                        example when then size is 2, the units "byte", but the
+                        example when then size is 2,  but the
                         interpretation is "uint32_t", the size determines how
                         much precision is available.
                     </xs:documentation>
                 </xs:annotation>
             </xs:element>
             
-            <xs:element minOccurs="0" name="minimum" type="las:rangeType">
+            <xs:element minOccurs="0" name="minimum" type="pc:rangeType">
                 <xs:annotation>
                     <xs:documentation>
                         The minimum value of this dimension.
@@ -116,7 +86,7 @@
                 </xs:annotation>                   
             </xs:element>
 
-            <xs:element minOccurs="0" name="maximum" type="las:rangeType">
+            <xs:element minOccurs="0" name="maximum" type="pc:rangeType">
                 <xs:annotation>
                     <xs:documentation>
                         The maximum value of this dimension.
@@ -135,36 +105,18 @@
             <xs:element minOccurs="0" name="scale" type="xs:double">
                 <xs:annotation>
                     <xs:documentation>
-                        The scale (usually a negative log10 exponent) of this 
-                        dimension.  Used to support scaled integer types
+                        The scale of this dimension.  Used to support scaled integer types
                     </xs:documentation>
                 </xs:annotation>   
-            </xs:element>
-            <xs:element minOccurs="0" name="byteOffset" type="xs:nonNegativeInteger">
-                <xs:annotation>
-                    <xs:documentation>
-                        The byte offset to start reading this dimension from 
-                        the front of the point record.
-                    </xs:documentation>
-                </xs:annotation>   
-            </xs:element>
-            <xs:element minOccurs="0" name="bitOffset" type="xs:nonNegativeInteger">
-                <xs:annotation>
-                    <xs:documentation>
-                        The bit offset to start reading this dimension from the 
-                        calculated (or specified, using byteOffset) byte offset 
-                        of the dimension.  
-                    </xs:documentation>
-                </xs:annotation>   
-            </xs:element>            
+            </xs:element>        
         </xs:all>
     </xs:complexType>
     
   
-    <xs:element name="LASSchema">
+    <xs:element name="PointCloudSchema">
         <xs:complexType>
             <xs:sequence>
-                <xs:element maxOccurs="unbounded" minOccurs="1" name="dimension" type="las:dimensionType"/>
+                <xs:element maxOccurs="unbounded" minOccurs="1" name="dimension" type="pc:dimensionType"/>
             </xs:sequence>
         </xs:complexType>
     </xs:element>
diff -r bbad20eed7bf -r 78a99d13d177 schemas/las.xml
--- a/schemas/las.xml	Tue Apr 05 11:39:13 2011 -0500
+++ b/schemas/las.xml	Tue Apr 05 16:26:54 2011 -0500
@@ -1,19 +1,124 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<las:LASSchema xmlns:las="http://liblas.org/schemas/LAS/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://liblas.org/schemas/LAS/1.0 ">
-  <las:dimension>
-    <las:position>0</las:position>
-    <las:size>0</las:size>
-    <las:required>true</las:required>
-    <las:name>las:name</las:name>
-    <las:description>las:description</las:description>
-    <las:active>true</las:active>
-    <las:units>byte</las:units>
-    <las:interpretation>int8_t</las:interpretation>
-    <las:minimum units="int8_t" value="0.0"/>
-    <las:maximum units="int8_t" value="0.0"/>
-    <las:offset>0.0</las:offset>
-    <las:scale>0.0</las:scale>
-    <las:byteOffset>0</las:byteOffset>
-    <las:bitOffset>0</las:bitOffset>
-  </las:dimension>
-</las:LASSchema>
\ No newline at end of file
+<pc:PointCloudSchema xmlns:pc="http://libpc.org/schemas/PC/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://libpc.org/schemas/PC/1.0 libPC.xsd ">
+  <pc:dimension>
+    <pc:position>1</pc:position>
+    <pc:size>4</pc:size>
+    <pc:name>X</pc:name>
+    <pc:description>x coordinate as a long integer.  You must use the scale and offset information of the header to determine the double value</pc:description>
+    <pc:interpretation>int32_t</pc:interpretation>
+    <pc:minimum units="double" value="42.0"/>
+    <pc:maximum units="double" value="84.0"/>
+    <pc:offset>0.0</pc:offset>
+    <pc:scale>0.001</pc:scale>
+  </pc:dimension>
+  <pc:dimension>
+    <pc:position>2</pc:position>
+    <pc:size>4</pc:size>
+    <pc:name>Y</pc:name>
+    <pc:description>y coordinate as a long integer.  You must use the scale and offset information of the header to determine the double value</pc:description>
+    <pc:interpretation>int32_t</pc:interpretation>
+    <pc:minimum units="double" value="14.0"/>
+    <pc:maximum units="double" value="28.0"/>
+    <pc:offset>0.0</pc:offset>


More information about the Liblas-commits mailing list