mvc show pdf in div : How to add text to pdf file application software utility azure html windows visual studio 508TM12-A111-part1324

ShakeMap Manual 
 
Version 1.0  6/19/06 
for an event in a version-specific directory) we can recreate any version of an event.  Here is the 
a listing of a southern California event: 
mysql> select program,flags from shake_runs where 
evid='14007388' and version=4 order by lastrun; 
+----------+------------------------------------------------+ 
| program  | flags 
+----------+------------------------------------------------+ 
| retrieve | 
| grind 
| -qtm -boundcheck 
| mapping  | -timestamp -notchecked -plotests -tvmap -itopo | 
| genex 
| -zip -metadata -shape shape 
| transfer | -www -ftp -push 
| scfeed 
+----------+------------------------------------------------+ 
6 rows in set (0.01 sec) 
By running these programs, with these flags, on the preserved input data and the preserved
configuration files, we could re-create version 4 of this event.
Keep in mind:
1)  transfer sets a new version unless you tell it not to with -noversion.
2)  Versions can be created by setversion. setversion will also delete, modify, or query the
version information for an event. 
3)
 
The default invocation of setversion (i.e., “setversion –event <event_id>”) does nothing. Use 
the magnitude-dependent flags in ‘shake.conf’ to configure setversion to save the data for 
significant events without filling your disks up with data from a lot of magnitude 3.5 
earthquakes. 
4)
 
transfer has a -forget flag that will prevent its flags from being saved in the database. This is 
useful for cancel, and pending, or if you are doing something unorthodox. grind also has a -
forget flag. All of the programs probably should.
End of Digression 
The ‘shake_flags’ table has the following structure: 
mysql> describe shake_runs; 
+---------+-----------+------+-----+---------+-------+ 
| Field 
| Type 
| Null | Key | Default | Extra | 
+---------+-----------+------+-----+---------+-------+ 
| evid 
| char(80)  | 
| PRI | 
| program | char(80)  | 
| PRI | 
| lastrun | datetime  | YES  | 
| NULL 
| version | int(11) 
| PRI | 0 
| flags 
| char(255) | 
+---------+-----------+------+-----+---------+-------+ 
5 rows in set (0.00 sec) 
SOFTWARE GUIDE 
111
 
Running ShakeMap 
How to add text to pdf file - insert text into PDF content in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
XDoc.PDF for .NET, providing C# demo code for inserting text to PDF file
how to add text to pdf file with reader; add text box in pdf document
How to add text to pdf file - VB.NET PDF insert text library: insert text into PDF content in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Providing Demo Code for Adding and Inserting Text to PDF File Page in VB.NET Program
add text field to pdf; how to add text to a pdf file in preview
ShakeMap Manual 
Version 1.0  6/19/06 
Most of the columns are self-explanatory: the event id, the program name, the date/time of the 
last run, the version, and the invoking flags (sans the ‘-event <event_id>’ and ‘-verbose’ flags). 
Note that the primary key consists of (evid, program, version). 
Version information is stored in the ‘shake_version’ table: 
mysql> describe shake_version; 
+---------+-----------+------+-----+---------+---------------+ 
| Field 
| Type 
| Null | Key | Default | Extra 
+---------+-----------+------+-----+---------+---------------+ 
| evid 
| char(80)  | 
| PRI | 
| version | int(11) 
| PRI | NULL 
| auto_increment| 
| lddate  | datetime  | YES  | 
| NULL 
| comment | char(255) | YES  | 
| NULL 
+---------+-----------+------+-----+---------+---------------+ 
4 rows in set (0.00 sec) 
The columns are obvious except for ‘comment.’ If the version was created by transfer, the 
comment will be “Automatic call from within transfer.” If you use setversion to make the 
version, you can give a comment on the command line. 
3.4.3.4  Passwords and mydb.conf 
The configuration line for MySQL access in mydb.conf will look something like this: 
database : mysql shakemap shake password 
where you would substitute your database name for ‘shakemap’ and the username of the user 
running ShakeMap for ‘shake.’ E.g., ‘jims_database’ and ‘jim’ if user jim is experimenting with 
his own version of ShakeMap. See the section “Installing and Configuring MySQL” for 
instructions on giving jim his own database. If you are running MySQL on a remote machine, 
your config line will look something like this: 
database : mysql database=shakemap;host=machine.domain.org 
shake password 
In the password file (‘<shake_home>/pw/passwords,’ by default), you will need a line: 
shakemap shake <mysql_password_for_user_shake> 
or, if you are using a remote database server: 
database=shakemap;host=machine.domain.org shake 
<mysql_password_for_user_shake> 
SOFTWARE GUIDE 
112 
Running ShakeMap 
VB.NET PDF Password Library: add, remove, edit PDF file password
This VB.NET example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = True ' Add password to PDF file.
how to add text boxes to pdf; how to add text fields in a pdf
C# PDF Password Library: add, remove, edit PDF file password in C#
This example shows how to add PDF file password with access permission setting. passwordSetting.IsAssemble = true; // Add password to PDF file.
adding text fields to a pdf; add text boxes to pdf
ShakeMap Manual 
Version 1.0  6/19/06 
with the obvious substitutions to make it work in your environment (or jim’s). Yes, the 
“database=shakemap…)” bit looks wrong, but the password module is comparing strings with 
what is found in “mydb.conf” and this is what is required to make it work. 
3.4.3.5  Backing up the MySQL database 
Because we are maintaining a database, and because what we keep in our database is important, 
it is probably a good idea to do database backups on a regular basis. There are a number of ways 
to do this with MySQL, including logging every transaction in a way that lets you recreate the 
database after any failure. See the MySQL documentation for details if you would like to 
implement a more robust backup system than is described here. 
The mysqldump program allows one to dump one’s tables to a file as a set of SQL statements that 
can then be used to recreate the tables. For example: 
 mysqldump  --add-drop-table  -u  admin  shakemap  > 
shakemap.sql 
The file so created can then be used to restore the database (or to transfer the data to another 
system): 
 mysql  -u  shake  -p  shakemap  <  shakemap.sql 
Password: 
Note that the user names and database name may need to be changed on your system. Also note 
that for mysqldump we use the ‘admin’ user that we created in the section “Installing and 
Configuring MySQL”. This user does not need a password because its only SQL permission is 
SELECT. 
We have included a program ‘mysqlbu’ in the directory <shake_home>/util. This program 
performs the database dump, compresses the output and, optionally, copies the output to another 
machine for safekeeping. (The program contains hard-wired path and machine names, though, so 
you will have to hack modify it for your system.) ‘mysqlbu’ can be run daily – it will create a 
different file for each weekday. The program also prints an error summary that can be piped to a 
mail program. We run it with a crontab entry that looks like this: 
0 2 * * * /home/shake/bin/mysqlbu | mail –t shake_admin 
Which  runs  mysqlbu  at  2:00  AM  every  day,  and  mails  the  status  report  to  the  user 
‘shake_admin.’ 
3.4.4  A Note about Shake Flags 
Because ShakeMaps are often generated (or regenerated) automatically, there needs to be some 
way to preserve manual modifications.  For instance, a certain event is run by the queue, and 
SOFTWARE GUIDE 
113 
Running ShakeMap 
C# PDF File & Page Process Library SDK for C#.net, ASP.NET, MVC
Read: PDF Text Extract; C# Read: PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF; C# Protect: Add Password
add text to pdf reader; add text to pdf in preview
VB.NET PDF Text Extract Library: extract text content from PDF
this advanced PDF Add-On, developers are able to extract target text content from source PDF document and save extracted text to other file formats through VB
adding text to pdf in acrobat; adding text field to pdf
ShakeMap Manual 
Version 1.0  6/19/06 
then the operators decide that the scale should be larger, so they run the event manually, using 
the -latspan flag to grind.  If this information were not preserved, any subsequent automatic run 
of that event would revert to the original settings.  Thus, we created the “shake_flags” database, 
which keeps track of the parameters with which each program was last run.   The program 
‘shake’ and ONLY the program ‘shake’ (this is important) reads that database and uses the flags 
found there when running each of the subprograms. 
This can result in confusing behavior.  For instance, if you were to make some changes to the 
Web pages for a particular event, and then run transfer with only the -www flag (because only 
Web changes were made), the next run of shake on that event would run transfer with only the -
www flag, which would not update the ftp site, which might lead to confusion. 
Because transfer is often used this way, it has the -forget flag, which effectively prevents it from 
updating the shake_flags database for that run.  ‘shake’ has the -default_fl flag which causes 
shake to ignore the “shake_flags” database and use the default flags for each sub-program as 
specified in the config file. 
Keep this in mind when you are manually running events.  You have been warned. 
3.4.5  A Note about CSV Databases 
The “shake_flags” and “earthquake” databases are currently implemented as CSV (comma-
separated value) databases through the DBD::CSV PERL module.  This implementation has the 
advantage of being simple and fast and the files can be manually edited (if you’re very careful). 
It has the huge disadvantage of being totally at the mercy of program and system errors.  Killing 
a program with Control-C can screw up your entire database.   We will probably replace this 
system with a big heavyweight database like MySQL or Postgres, which is total overkill, but 
which provide some degree of transaction safety and data integrity.  In the meantime, you should 
back  up the earthquake and  “shake_flags” databases (found in  the  “database”  directory) 
periodically. 
3.4.6  A Note about Estimates and Flagged Stations 
‘grind’, unless directed otherwise, will attempt to make estimates of ground-motion (based on an 
attenuation relation of your choosing) and will flag (i.e. cause not to be included in the maps) 
stations that appear to be outliers.  It will put these estimates and flagged stations into files in the 
“ShakeMap/data/<event_id>/richter” directory.   If a file called “estimates.xml” exists in the 
“ShakeMap/data/<event_id>/input” directory, these estimates will be used instead of those 
produced automatically by ‘grind’ (but ‘grind’ will still compute the estimates for the purpose of 
flagging outliers).  If a file “flagged_stations.txt” is in the “input” directory, it will be used in 
preference to the one computed by ‘grind’.  Thus, if “estimates.xml” and “flagged_stations.txt” 
are in the “input” directory, ;grind’ will use them, and not compute its own. 
So, if you compute estimates via some external program and place them in the input directory, 
grind  will use them, but  will flag  outliers  based on its  own  model.   If you are using a 
sophisticated slip distribution model, you probably want to compute your own outliers and put 
them in a file “flagged_stations.txt” in the “input” directory, too. 
SOFTWARE GUIDE 
114 
Running ShakeMap 
C# PDF Text Extract Library: extract text content from PDF file in
How to C#: Extract Text Content from PDF File. Add necessary references: RasterEdge.Imaging.Basic.dll. RasterEdge.Imaging.Basic.Codec.dll.
add text to pdf file; add text to pdf document online
C# PDF insert image Library: insert images into PDF in C#.net, ASP
using RasterEdge.Imaging.Basic; using RasterEdge.XDoc.PDF; Have a try with this sample C#.NET code to add an image to the first page of PDF file.
adding a text field to a pdf; how to insert text box in pdf file
ShakeMap Manual 
Version 1.0  6/19/06 
Finally, unless “estimates.xml” and “flagged_stations.txt” are in the input directory, grind will 
always recompute the estimates and outliers.  The files in “richter” are regenerated with each 
run.  We do this because the input data could change (e.g. additional data arrives or the event 
magnitude is revised), and the estimates should reflect this fact. 
3.4.7  A Note about Finite Faults 
Events now accept an optional finite fault file that will be used in generating estimates (for real 
events or scenarios), and can be plotted on the map using the xyaddon feature in “mapping.conf”. 
The filename must end in “_fault.txt” and should be placed in the event's input subdirectory. 
The finite fault file is composed of a set of (latitude, longitude) points defining the surface trace 
of a fault. For example, two points can define a simple strike slip fault. A closed polygon (first 
and last points identical) can represent a dipping fault.  NOTE: The reverse order of the points 
((latitude, longitude) or (y,x) rather than (x,y) is an unfortunately legacy format that would be 
difficult to correct given the number of ShakeMap scenarios already in existence. 
ShakeMap computes distance-to-fault to each line segment in the fault and uses the closest 
distance. A point inside a closed polygon is considered to be at zero distance. Note that the 
default ShakeMap regression computes Joyner-Boore distance (to the surface projection of the 
fault), so fault depth is ignored. 
The file should be formatted as the input of the GMT 'psxyz command' (a '>' header, followed by 
space-delimited lon-lat pairs.) 
3.4.8  Sending Email 
There are two options for sending email.  One uses the program ‘shakemail’ to send a text 
message notifying the user group that a ShakeMap has been made, details about the source, and a 
link to the Webpage.  Two uses the program ‘shakemail_attach’.  This program sends the above 
text message, but it also attaches a JPEG version of the intensity map.  ‘shakemail_attach’ must 
be run after ‘genex’. 
3.4.9  Scenarios 
ShakeMap now supports the generation of earthquake scenarios.  The user need only create the 
appropriate *_dat.xml, event.xml, and (optionally) “estimates.xml: and finite fault files (see item 
1, above) in an input directory.  The scenarios are distinguished from real earthquakes in one of 
two ways: A) through the conscientious use of the -scenario flag in the many programs (not 
recommended,  or  B)  by  ending  the  event  id  with  "_se"  (e.g.  <SHAKE_HOME>/data/ 
myscenario_se/input) (highly recommended). 
Scenario earthquakes are distinguished from real ones by a truly stunning number of appearances 
of the word "Scenario" on the maps and Web pages, including a big one emblazoned across the 
SOFTWARE GUIDE 
115 
Running ShakeMap 
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
Also able to uncompress PDF file in VB.NET programs. Offer flexible and royalty-free developing library license for VB.NET programmers to compress PDF file.
add text pdf reader; how to insert text into a pdf file
VB.NET PDF insert image library: insert images into PDF in vb.net
try with this sample VB.NET code to add an image As String = Program.RootPath + "\\" 1.pdf" Dim doc New PDFDocument(inputFilePath) ' Get a text manager from
add text to pdf in acrobat; adding text fields to pdf acrobat
ShakeMap Manual 
Version 1.0  6/19/06 
face of the maps themselves.   We do this to prevent the misunderstandings in the press and 
public that would surely occur if we were any less zealous.  Trust us.  Scenarios have their own 
place on the archive page, distinct from the real earthquakes, and they will not appear in the real 
event lists or on the homepage. 
Most of the programs are now scenario-savvy.  ‘Shakemail’, for instance will not email scenarios 
unless you force it to.  ‘Transfer’ will transfer to Web sites (-www) and ftp sites (-ftp) but will not 
push (-push) unless you force it to.  Run the various programs with -help to see the new scenario-
related options and behavior. 
To create a new scenario, the most straightforward way is: 
1)  Create a new event subdirectory (say, “data/1857_se”) and a new “input/” directory under 
that ('data/1857_se/input'). 
2)  Copy the “event.xml” file from an existing event over to the new input directory, and modify 
the parameters. (Don't forget to change the 'id' field.) 
3)  Add a finite fault file, if desired (see Finite Faults, above.) 
4) In the file “database/shake_flags”, add a line describing your new scenario. Most of the flags 
for scenarios are optional, except for the '-scenario [scenario-description]' in the 'tag' 
field. 
5) Run 'shake -event <1857_se> -dryrun' just to make sure all the flags are correct. Then run it 
without '-dryrun'. 
Note: Because the estimate grid for a scenario is much finer than the usual (non-scenario) grid 
and requires lots of computation, ShakeMap will compute the grid once and store it for future 
use. Use the ‘grind’ -forcests flag to recompute the estimate grid (when changing a regression 
parameter, for example.) 
3.5  Common Problems 
We welcome contributions to this section. Please let us know about problems you have had with 
ShakeMap, and your workarounds (if any). 
3.5.1  Shake flags database causes confusion 
See “A Note about Shake Flags,” above. 
3.5.2  Files in incorrect format 
When configuring region-specific files, make sure to create files following the formats in the 
example (i.e., southern California) files. If the code is written to read a space-delimited file, 
commas will cause problems and vice versa. For the GMT files make sure you have the latitude 
and longitude in the correct columns. 
SOFTWARE GUIDE 
116 
Common Problems 
C# PDF File Split Library: Split, seperate PDF into multiple files
page of your defined page number which starts from 0. For example, your original PDF file contains 4 pages. C# DLLs: Split PDF Document. Add necessary references
how to add text fields to a pdf document; add text pdf file
VB.NET PDF File Merge Library: Merge, append PDF files in vb.net
by directly tagging the second PDF file to the target one, this PDF file merge function VB.NET Project: DLLs for Merging PDF Documents. Add necessary references
add text field pdf; adding text to a pdf document acrobat
ShakeMap Manual 
Version 1.0  6/19/06 
3.6  XML Formats in ShakeMap 
3.6.1  About XML 
XML is a system for tagging text to indicate the structure of information in the text. XML started 
as a generalization of HTML (or a simplification of SGML, depending on your perspective), and 
XML markup is similar in appearance to HTML tags. However, in XML the tags are defined on 
a per-application basis. With this flexibility, XML can be used as a means of structuring data in a 
cross-platform, human-readable form, in addition to its use handling textual documents. 
A  complete  specification  of  XML  is  available  at http://www.w3.org/TR/REC-xml 
(http://www.w3.org/TR has a number of interesting documents) and an annotated version is at 
http://www.xml.com/axml/axml.html
However, preparing XML files for ShakeMap does not require knowing the specification. For 
working with ShakeMap, it will probably be enough to get a short summary, in particular 
contrasting XML with the more familiar HTML. 
An XML file starts with a declaration line: 
<?xml version="1.0" encoding="US-ASCII" standalone="yes"?> 
Version refers to the XML standard to which the file is written. Currently, "1.0" is the only 
option. Encoding refers to the character set in which the file is written. Standalone indicates 
whether the XML file is free of references to outside definitions in other XML files. 
Following the declaration is an optional Document Type Definition (DTD) block, which may 
refer to a definition in another file: 
<!DOCTYPE earthquake SYSTEM "earthquake.dtd"> 
or present the definition in place: 
<!DOCTYPE earthquake [
... DTD description ... 
]> 
Then the XML itself starts. XML tags look a lot like HTML tags with a tag label and possibly 
attributes: 
<tag att1="val1" att2="val2"> 
In contrast to HTML, XML tags and attributes are case sensitive, so <station> and <STATION> 
are different. Also, attribute values must always be wrapped in quotes, so <station code="PAS"> 
rather than <station code=PAS>. 
SOFTWARE GUIDE 
117 
XML Formats in ShakeMap 
ShakeMap Manual 
Version 1.0  6/19/06 
In HTML, some tags are simple tags that don't contain other tags or blocks of text. For example: 
<img src="..." border="0"> 
The equivalent in XML is called an empty tag, and only differs from HTML by closing with /> 
rather than >: 
<pga value="0.25"/> 
Non-empty tags contain blocks of other tags and/or character data, such as: 
<station code="PAS">
<comp name="HLN">
<acc value="0.25"/>
</comp> 
</station> 
Example codes that demonstrate writing XML are available in the ShakeMap distribution 
package (in <shake_home>/src/xml), and because XML files are text files this consists mainly of 
simple printing of formatted output. For input, XML parsers are freely downloadable for the 
Perl, C and Java programming languages. ShakeMap is predominantly written in Perl, so we use 
a well-regarded parser library in that language. As with XML output, example codes in the 
ShakeMap distribution show how input parsing is handled. A list of XML parser libraries in 
various programming languages is available at http://www.w3.org/XML/#software
Every XML file has a set of tags used in a pattern particular to that type of file. This pattern is set 
by the developer and can be indicated in a Document Type Definition (DTD). The DTD defines 
the tags that it expects, the order it expects them in, and how tags can nest within one another. It 
also indicates what tags are optional, what tags can appear multiple times in succession, what 
attributes are associated with each tag, and (optionally) a range of values accepted for an 
attribute. There is also a concept of an XML schema, but we will not go into that here. 
Some parsers have an option to 'validate' an XML file according to its DTD, but the parser used 
by ShakeMap does not yet do so. However, we have found it useful to define DTD's for the 
various XML file types that ShakeMap works with, if only for documentation purposes during 
development. These ShakeMap DTD's will be discussed below for each file type. 
3.6.2  ShakeMap XML Files 
Before ShakeMap is run for a particular event (identified by an event id), the following set up is 
needed: 
o
a directory in <shake_home>/data/<event_id>/input 
o
an 'event.xml' file in this directory
o
one or more files with filenames ending in '_dat.xml' in this directory
SOFTWARE GUIDE 
118 
XML Formats in ShakeMap 
ShakeMap Manual 
Version 1.0  6/19/06 
The contents of the 'event.xml' file are earthquake parameters in the 'earthquake.dtd' format. This 
format is a single, empty tag with a number of attributes of the earthquake. The attributes are 
given in the following table. 
Event information 
id
the event id 
created
file creation time (Unix epoch -- seconds because Jan 1, 1970) 
Hypocenter information 
lat
latitude  (in decimal degrees, negative in southern hemisphere) 
lon
longitude (in decimal degrees,  negative in western hemisphere) 
depth
in km, positive down 
locstring
a free-form descriptive string of location relative to landmarks 
mag
magnitude 
Origin time parameters 
year
4 digit format 
month
1-12 
day
1-31 
hour
0-23 
minute
0-59 
second
0-59 
timezone
abbreviation (i.e., GMT, PST, PDT) 
Amplitudes at the epicenter 
pga
peak acceleration (units of %g) 
pgv
peak velocity (units of cm/s) 
sp03
Spectral acceleration at 0.3 sec period (units of %g) 
sp10
Spectral acceleration at 1.0 sec period (units of %g) 
sp30
Spectral acceleration at 3.0 sec period (units of %g) 
As mentioned, the amplitude attributes in 'earthquake.dtd' are estimates produced by ShakeMap 
during processing. These attributes should be left out of the 'event.xml' file input to ShakeMap, 
and will be ignored if present. 
An example 'event.xml' file look like: 
<?xml version="1.0" encoding="US-ASCII" standalone="yes"?> 
<!DOCTYPE earthquake [
... DTD description ... 
]> 
<earthquake id="14000376" lat="34.2722" lon="-118.7530" 
mag="3.6" year="2003" month="10" day="29" hour="23" minute="44" 
second="48" timezone="GMT" depth="13.81" locstring="2.6 mi W of 
Simi Valley, CA" created="1069292035" /> 
Files in the input directory named like '*_dat.xml' are station parameters in the 'stationlist.dtd' 
format. This format has a root 'stationlist' element containing one or more 'station' elements. The 
SOFTWARE GUIDE 
119 
XML Formats in ShakeMap 
ShakeMap Manual 
Version 1.0  6/19/06 
'stationlist' can have a 'created' attribute with the file creation date in Unix epoch time (seconds 
because Jan 1, 1970). Each station has a set of attributes: 
code 
the station code 
name 
station name and/or description 
insttype 
description of instrument type 
lat 
station latitude  (in decimal degrees) 
lon 
station longitude (with negative sign in western hemisphere) 
source 
agency  that  maintains  the  station  (i.e.,  SCSN,  CDMG, 
NSMP,...) 
commtype  digital or analog communications (DIG or ANA) 
loc 
free form text describing the location of the station (optional) 
Each station element contains one or more 'comp' elements. Comp elements have the following 
attributes: 
name
The name attribute must be a SEED-convention name. If the name is not known, for example if 
the source of amplitudes only gives a single summary value for the station, then use the most 
generic code for a horizontal component, HL1. Use a horizontal code rather than HLZ because 
ShakeMap uses only horizontal components in processing. 
a channel name/code in SEED convention 
originalname  the original channel name if it was not SEED (optional) 
If the amplitude is from an agency that does not use SEED component codes, you will have to 
map their codes to a comparable SEED code for the name attribute. If you would like the original 
code carried through the processing and used in the HTML, XML and text stationlists, then put 
the original code in the originalname attribute. 
Each ‘comp’ element must contain one 'acc' element, and one 'vel' element, and may contain 
‘psa03,’ ‘psa10,’ and ‘psa30’ elements (one of each). These refer to peak acceleration, velocity, 
and pseudo-spectral acceleration (at 0.3, 1.0, and 3.0 sec period) values for the named channel at 
the named station. The acc, vel, psa03, psa10, and psa30 elements are empty but have the 
following attributes: 
value
the amplitude value 
flag
flag indicating problematic data (optional) 
The value attributes are expected to have units of: 
acc
%g 
vel
cm/s 
psa
%g 
The flag attribute indicates problematic data. Any value other than “0” (zero) or “” will cause
ShakeMap to reject the amplitude (and, in fact, all the amplitudes of that type for that station).
SOFTWARE GUIDE 
120 
XML Formats in ShakeMap 
Documents you may be interested
Documents you may be interested