From: Alexander Nickolsky (nickol_at_argussoft.ru)
Date: Fri Apr 26 2002 - 09:39:53 CEST
Return-Path: <owner-cavexml-outgoing_at_ethz.ch> Delivered-To: cavexml-archive_at_cartography.ch Received: from localhost (localhost [127.0.0.1]) by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0) with ESMTP id 3C99614779 for <cavexml-outgoing_at_ethz.ch>; Fri, 26 Apr 2002 10:07:24 +0200 (CEST) Received: by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0, from userid 28) id F3D1314780; Fri, 26 Apr 2002 10:07:20 +0200 (CEST) Delivered-To: cavexml-loopcheck_at_ethz.ch Received: from localhost (localhost [127.0.0.1]) by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0) with ESMTP id BE9741477B for <cavexml-loopcheck_at_ethz.ch>; Fri, 26 Apr 2002 10:07:19 +0200 (CEST) Received: by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0, from userid 96) id 8777D1477C; Fri, 26 Apr 2002 10:07:16 +0200 (CEST) Delivered-To: cavexml_at_cartography.ch Received: from localhost (localhost [127.0.0.1]) by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0) with ESMTP id 2BC4514777 for <cavexml_at_cartography.ch>; Fri, 26 Apr 2002 10:07:16 +0200 (CEST) Received: from ns.argussoft.ru (ns.argussoft.ru [195.7.171.132]) by karmail.ethz.ch (Postfix on SuSE eMail Server 2.0) with ESMTP id 6CBF514779 for <cavexml_at_cartography.ch>; Fri, 26 Apr 2002 10:07:12 +0200 (CEST) Received: from wlbs (cachet.argussoft.ru [195.7.171.199]) by ns.argussoft.ru (8.9.1/8.9.1) with SMTP id KAA20253 for <cavexml_at_cartography.ch>; Fri, 26 Apr 2002 10:41:51 +0300 (MSK) Message-ID: <004501c1ecf5$8fe44910$c7ab07c3@argussoft.ru> From: "Alexander Nickolsky" <nickol_at_argussoft.ru> To: <cavexml_at_cartography.ch> Subject: XML we use Date: Fri, 26 Apr 2002 11:39:53 +0400 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.2919.6600 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 X-Loop: cavexml Sender: owner-cavexml_at_karmail.ethz.ch Precedence: bulk Reply-To: cavexml_at_cartography.ch X-Virus-Scanned: by AMaViS perl-11
Here are two XML format ideas, first one from Dmitry Shestakov,
The second one is my. We are working together on the format.
I've just translated Dmitry's comments.
Just for the collection
=============================
<toposcheme>
<header>
<uid> Unique Name </uid> // Reference name.
<system_name> Label <system_name> // Cave name
<date> Date in Format dd.mm.yyyy </date>
<author> Author 1 </author>
<author> Author N </author>
<scale> float </scale>
<magnetic_inclination> float </magnetic_inclination>
</header>
<stations_def> // stations description
-- <include> filename</include> // URL of file to include
<station name="Station name">
<label> Desc of station </label> // Station label to draw on the map
<description> long description </description>
<dest_station> name </dest_station> // Next station name (in survey leg)
<measure>
<length> float </length> // distance
<azimuth> int </azimuth> // angle
<height_overfall> float </height_overfall> // height
<inclination_angle> int <inclination_angle> // inclination
</measure>
<side_vectors> // vectors, pointing to the nearest point on outline
<length_to_left> float </length_to_left> // distance to the left
<angle_to_left> int </angle_to_left > // angle to the left
<length_to_right> float </length_to_right> // the same to the right
<angle_to_right> int </angle_to_right>
</side_vectors>
</station>
<precision> int </precision>
<corr_azimuth>Azimuth_corr_type</corr_azimuth> // add to angles
/**
Azimuth_corr_type=
{
MountAzimuth: Azimuth=360-Azimuth,
ReverseAzimuth: Azimuth=180+Azimuth
int: Azimuth=int+Azimuth
};
*/
<corr_length > float </corr_length> // length=length*corr_length
<snap_station> // Additional data for surface stations
<name> stationName </name> //
<length> float </length> // distance
<azimuth> int </azimuth> // angle to the point with :
<latitude> float </latitude>
<longitude> float </longitude>
</snap_station>
</stations_def>
<calculated_data> // actual calculated data
// It is a place for calculated station data
<wall> // base point of the spline
<x> float </x>
<y> float </y>
</wall>
</calculated_data>
<objects> // Other objects
<layer> // Layer is a group of objects
<layer_name>LayerName<layer_name>
<object>
<name> Object_name </name>
<type> Object_type </type> // Can be predetermined type, in this
case image is unnecessary
<label> Label </label> // text to draw on a map
<image_file> URL</image_file> // where image placed
<image>xxxx</image> // image data, recorded in XML
<station_name> name </station_name> // Station where object is tied
to
<length> float </length> //
<azimuth> int </azimuth> //
<size> objects can be sizeable
<length> float</length>
<width> float </width>
</size>
<alignment> AlignType</alignment> // how the object is drawn
/**
AlignType={
byWalls, // always draw object between walls
byLeftWall, // place object between left wall and
// <size>.<width>
byRightWall // ---//-- the same for right wall
};
*/
<object>
</layer>
</objects>
</toposcheme>
=======================================================================
<topo name="Name" date="dd.mm.yyyy" ref="reference">
// name is a name of the topo, not the cave.
// date is the date of last revision.
// ref is the reference name of the cave.
<header>
<cave> Label </cave> // Cave name
<scale> float </scale>
<magnetic_inclination> float </magnetic_inclination>
<base>Name</base> // name of the base station of the topo.
//usually it is a cave entrance
Description : any other words about this topo
</header>
<style name="name" precision=float>
<method> method </method> // method can be forward,backward, surveying
compass, regular compass etc.
// or custom methods
<method value="length" k0=float k1=float/> result=k0 + k1 * (measured
value)
</style>
// Style decribes methods of measurements used.
// precision is a value 1..10 describing relative precision of the
measurement
<segment date="dd.mm.yyyy" class=name> // data from the single survey are
organized into segments
// class is the default style used by this segment
<units>
<name="name" type="length" value=float> // units used for measurement.
// and their size relative to meters or degrees
</units>
<authors>
<author> Author 1 </author>
<author> Author N </author>
</authors>
<station name="Station name" label="label" coordx=float coordy=float
virtual="yes/no" lat=float long=float>
<object name="name" hsize=float vsize=float>
</object>
Description of the station in text format
</station>
// virtual stations are not drawn on the map.
// they could be used for GPS calculations or adding surface measurements to
loop closing
<leg from="Station name" to="Station name" dx=float dy=float calc="yes/no">
// survey leg. the calc="no" parameter means not to include this leg
// into close-loop calculations.
// dx and dy are distances, calculated by close-loop or other program
<measure length=float angle=float height=float inclination=float
class="name"/>
// there could be several measurements for each leg/segment
<wall dist=float angle=float>
<wall_kind name="name">
hatching data here
<wall_kind>
// wall_kind=kind of the wall : monolith,rock, sand, collapse etc.
spline data here
</wall>
</leg>
</segment>
<object name="name" kind="object kind" vsize=float hsize=float>
Data for object graphic representation here
</object>
// kind is a kind of object - water, rock, entrance, artifact etc.
</topo>
This archive was generated by hypermail 2b30 : Tue Apr 30 2002 - 23:00:00 CEST