Thread Resurrect
Here's an XSD file for importing and exporting XML UWP data from the format Marc Miller is currently using with his spreadsheet.
This is probably close to the "final" format; since there's not much to add, all I can see are some possible optimization (only need the starport code shown once, only need the stars shown once...).
The master data, exported into XML, containing all worlds of the 3rd Imperium only, is 17 megabytes.
Note that there is also a lot of room for application-level "compression". Once you've extracted data from the master spreadsheet, you can cache what you need and toss the rest.
XSD Schema
</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"><?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="survey_schema.xsd" elementFormDefault="qualified"
xmlns="survey_schema.xsd"
xmlns:mstns="survey_schema.xsd"
xmlns:xs="
http://www.w3.org/2001/XMLSchema">
<xs:complexType name="Row">
<xs:sequence>
<xs:element name="Sophonts" type="xs:string" />
<xs:element name="Sector" type="xs:string" />
<xs:element name="Hex" type="xs:string" />
<xs:element name="Name" type="xs:string" />
<xs:element name="UWP" type="xs:string" />
<xs:element name="TC" type="xs:string" />
<xs:element name="Remarks" type="xs:string" />
<xs:element name="Ex" type="xs:string" />
<xs:element name="Cx" type="xs:string" />
<xs:element name="Nobility" type="xs:string" />
<xs:element name="PBG" type="xs:string" />
<xs:element name="numWorlds" type="xs:string" />
<xs:element name="Allegiance" type="xs:string" />
<xs:element name="Stars" type="xs:string" />
<xs:element name="null1" type="xs:string" />
<xs:element name="null2" type="xs:string" />
<xs:element name="Starport" type="xs:string" />
<xs:element name="Size" type="xs:string" />
<xs:element name="Atmosphere" type="xs:string" />
<xs:element name="Hydrographics" type="xs:string" />
<xs:element name="Popdigit" type="xs:string" />
<xs:element name="Government" type="xs:string" />
<xs:element name="Lawlevel" type="xs:string" />
<xs:element name="Techlevel" type="xs:string" />
<xs:element name="Popmult" type="xs:string" />
<xs:element name="Belts" type="xs:string" />
<xs:element name="GGs" type="xs:string" />
<xs:element name="St2" type="xs:string" />
<xs:element name="null3" type="xs:string" />
<xs:element name="Ag" type="xs:string" />
<xs:element name="As" type="xs:string" />
<xs:element name="Ba" type="xs:string" />
<xs:element name="De" type="xs:string" />
<xs:element name="Fl" type="xs:string" />
<xs:element name="Hi" type="xs:string" />
<xs:element name="Ic" type="xs:string" />
<xs:element name="In" type="xs:string" />
<xs:element name="Lo" type="xs:string" />
<xs:element name="Na" type="xs:string" />
<xs:element name="Ni" type="xs:string" />
<xs:element name="Po" type="xs:string" />
<xs:element name="Ri" type="xs:string" />
<xs:element name="Va" type="xs:string" />
<xs:element name="Tp" type="xs:string" />
<xs:element name="Tn" type="xs:string" />
<xs:element name="Wa" type="xs:string" />
<xs:element name="Pa" type="xs:string" />
<xs:element name="Pi" type="xs:string" />
<xs:element name="Pr" type="xs:string" />
<xs:element name="Ph" type="xs:string" />
<xs:element name="An" type="xs:string" />
<xs:element name="Cp" type="xs:string" />
<xs:element name="Ci" type="xs:string" />
<xs:element name="Di" type="xs:string" />
<xs:element name="Fo" type="xs:string" />
<xs:element name="Qu" type="xs:string" />
<xs:element name="Ux" type="xs:string" />
<xs:element name="null4" type="xs:string" />
<xs:element name="B" type="xs:string" />
<xs:element name="c" type="xs:string" />
<xs:element name="C" type="xs:string" />
<xs:element name="D" type="xs:string" />
<xs:element name="e" type="xs:string" />
<xs:element name="E" type="xs:string" />
<xs:element name="F" type="xs:string" />
<xs:element name="G" type="xs:string" />
<xs:element name="Loc" type="xs:string" />
<xs:element name="ScoutID" type="xs:string" />
<xs:element name="Stellar" type="xs:string" />
<xs:element name="M1000" type="xs:string" />
<xs:element name="M0" type="xs:string" />
<xs:element name="RoM" type="xs:string" />
<xs:element name="ZS" type="xs:string" />
<xs:element name="null5" type="xs:string" />
<xs:element name="Res" type="xs:string" />
<xs:element name="Lab" type="xs:string" />
<xs:element name="Inf" type="xs:string" />
<xs:element name="Bar" type="xs:string" />
<xs:element name="null6" type="xs:string" />
<xs:element name="Core" type="xs:string" />
<xs:element name="Group" type="xs:string" />
<xs:element name="Ethics" type="xs:string" />
<xs:element name="Symbols" type="xs:string" />
<xs:element name="null7" type="xs:string" />
<xs:element name="Population" type="xs:string" />
<xs:element name="isHuman" type="xs:string" />
<xs:element name="isAlien" type="xs:string" />
<xs:element name="Human-population" type="xs:string" />
<xs:element name="Non-Human-population" type="xs:string" />
<xs:element name="Human" type="xs:string" />
<xs:element name="Minor" type="xs:string" />
<xs:element name="Travel-Index" type="xs:string" />
<xs:element name="isHub" type="xs:string" />
</xs:sequence>
</xs:complexType>
<xs:element name="Survey_Data">
<xs:complexType>
<xs:sequence>
<xs:element name="data" type="Row" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="World_Survey">
<xs:element name="data" type="Row" />
</xs:element>
</xs:schema></pre>[/QUOTE]
XML Example -- Regina (Yes, 3 kilobytes for one system. Scandalous.)
</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;"><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns1:World_Survey xmlns:ns1="survey_schema.xsd">
<ns1:Sophonts/>
<ns1:Sector>Spin</ns1:Sector>
<ns1:Hex>1910</ns1:Hex>
<ns1:Name>Regina</ns1:Name>
<ns1:UWP>A788899-C</ns1:UWP>
<ns1:TC>Ri </ns1:TC>
<ns1:Remarks>Tp Pa </ns1:Remarks>
<ns1:Ex>(4766)</ns1:Ex>
<ns1:Cx>[8898]</ns1:Cx>
<ns1:Nobility>BcCeFH</ns1:Nobility>
<ns1
BG>703</ns1
BG>
<ns1:numWorlds>14</ns1:numWorlds>
<ns1:Allegiance>Im</ns1:Allegiance>
<ns1:Stars>F7 V M8 D M6 V</ns1:Stars>
<ns1:null1>3</ns1:null1>
<ns1:null2/>
<ns1:Starport>1</ns1:Starport>
<ns1:Size>7</ns1:Size>
<ns1:Atmosphere>8</ns1:Atmosphere>
<ns1:Hydrographics>8</ns1:Hydrographics>
<ns1
opdigit>8</ns1
opdigit>
<ns1:Government>9</ns1:Government>
<ns1:Lawlevel>9</ns1:Lawlevel>
<ns1:Techlevel>12</ns1:Techlevel>
<ns1
opmult>7</ns1
opmult>
<ns1:Belts>0</ns1:Belts>
<ns1:GGs>3</ns1:GGs>
<ns1:St2>A</ns1:St2>
<ns1:null3>1</ns1:null3>
<ns1:Ag/>
<ns1:As/>
<ns1:Ba/>
<ns1
e/>
<ns1:Fl/>
<ns1:Hi/>
<ns1:Ic/>
<ns1:In/>
<ns1:Lo/>
<ns1:Na/>
<ns1:Ni/>
<ns1
o/>
<ns1:Ri>Ri </ns1:Ri>
<ns1:Va/>
<ns1:Tp>Tp </ns1:Tp>
<ns1:Tn/>
<ns1:Wa/>
<ns1
a>Pa </ns1
a>
<ns1
i/>
<ns1
r/>
<ns1
h>Ph </ns1
h>
<ns1:An/>
<ns1:Cp>Cp</ns1:Cp>
<ns1:Ci/>
<ns1
i/>
<ns1:Fo/>
<ns1:Qu/>
<ns1:Ux/>
<ns1:null4/>
<ns1:B>B</ns1:B>
<ns1:c>c</ns1:c>
<ns1:C>C</ns1:C>
<ns1
/>
<ns1:e>e</ns1:e>
<ns1:E/>
<ns1:F/>
<ns1:G/>
<ns1:Loc>Spin 1910</ns1:Loc>
<ns1:ScoutID>788-</ns1:ScoutID>
<ns1:Stellar>F7 V M8 D M6 V</ns1:Stellar>
<ns1:M1000>Regina</ns1:M1000>
<ns1:M0>Regina</ns1:M0>
<ns1:RoM>Dii</ns1:RoM>
<ns1:ZS>Dii</ns1:ZS>
<ns1:null5/>
<ns1:Res>1</ns1:Res>
<ns1:Lab>7</ns1:Lab>
<ns1:Inf>1</ns1:Inf>
<ns1:Bar>8</ns1:Bar>
<ns1:null6/>
<ns1:Core>8</ns1:Core>
<ns1:Group>8</ns1:Group>
<ns1:Ethics>9</ns1:Ethics>
<ns1:Symbols>8</ns1:Symbols>
<ns1:null7/>
<ns1
opulation>700000000</ns1
opulation>
<ns1:isHuman>0.1</ns1:isHuman>
<ns1:isAlien>1</ns1:isAlien>
<ns1:Human-population>70000000</ns1:Human-population>
<ns1:Non-Human-population>630000000</ns1:Non-Human-population>
<ns1:Human>0</ns1:Human>
<ns1:Minor/>
<ns1:Travel-Index>3</ns1:Travel-Index>
<ns1:isHub/>
</ns1:World_Survey></pre>[/QUOTE]
"Compressed" Example
Mashing all essential data into 118 bytes on one line...
</font><blockquote>code:</font><hr /><pre style="font-size:x-small; font-family: monospace;">Spin/1910,Regina,A788899-C,Ri,Tp Pa,4766,8898,703,14,Im,F7 V M8 D M6 V,BcCe,788-,Regina,Dii,Dii,70000000,630000000,3</pre>[/QUOTE]