~zack-krejci/healthscapes-dsp/trunk

« back to all changes in this revision

Viewing changes to static/scripts/OpenLayers/tests/Format/GML/v2.html

  • Committer: Zack
  • Date: 2011-02-28 21:37:27 UTC
  • Revision ID: zack@zack-laptop-20110228213727-tqig2kgx9vz0uhq9
Updated pages

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0" encoding="utf-8"?>
 
2
<html xmlns="http://www.w3.org/1999/xhtml"> 
 
3
<head> 
 
4
    <script src="../../../lib/OpenLayers.js"></script>
 
5
    <script src="cases.js"></script>
 
6
    <script type="text/javascript">
 
7
 
 
8
    function test_readNode_geometry(t) {
 
9
        var files = [
 
10
            "v2/point-coord.xml", "v2/point-coordinates.xml",
 
11
            "v2/linestring-coord.xml", "v2/linestring-coordinates.xml",
 
12
            "v2/polygon-coord.xml", "v2/polygon-coordinates.xml",
 
13
            "v2/multipoint-coord.xml", "v2/multipoint-coordinates.xml",
 
14
            "v2/multilinestring-coord.xml", "v2/multilinestring-coordinates.xml",
 
15
            "v2/multipolygon-coord.xml", "v2/multipolygon-coordinates.xml",
 
16
            "v2/geometrycollection-coordinates.xml"
 
17
        ];
 
18
 
 
19
        var len = files.length;
 
20
        t.plan(len);
 
21
 
 
22
        var format = new OpenLayers.Format.GML.v2({
 
23
            featureType: "feature",
 
24
            featureNS: "http://example.com/feature"
 
25
        });
 
26
        var file, doc, expect, out;
 
27
        for(var i=0; i<len; ++i) {
 
28
            file = files[i];
 
29
            expect = cases[file];
 
30
            if(expect) {
 
31
                doc = readXML(file);
 
32
                if(doc && doc.documentElement) {
 
33
                    out = format.readNode(doc.documentElement);
 
34
                    if(out.components && out.components.length == 1) {
 
35
                        t.geom_eq(out.components[0], expect, "[" + file + "] geometry read");
 
36
                    } else {
 
37
                        t.fail("[" + file + "] gml parsing");
 
38
                    }
 
39
                } else {
 
40
                    t.fail("[" + file + "] xml parsing");
 
41
                }
 
42
            } else {
 
43
                t.fail("[" + file + "] case not found");
 
44
            }
 
45
        }
 
46
        
 
47
    }
 
48
    
 
49
    function test_readNode_bounds(t) {
 
50
        var files = ["v2/box-coord.xml", "v2/box-coordinates.xml"];
 
51
 
 
52
        var len = files.length;
 
53
        t.plan(len);
 
54
        
 
55
        var file, doc, expect, got;
 
56
        var format = new OpenLayers.Format.GML.v2({
 
57
            featureType: "feature",
 
58
            featureNS: "http://example.com/feature"
 
59
        });
 
60
        for(var i=0; i<len; ++i) {
 
61
            file = files[i];
 
62
            expect = cases[file];
 
63
            if(expect) {
 
64
                doc = readXML(file);
 
65
                if(doc && doc.documentElement) {
 
66
                    out = format.readNode(doc.documentElement);
 
67
                    if(out.components && out.components.length == 1) {
 
68
                        got = out.components[0];
 
69
                        if(got instanceof OpenLayers.Bounds) {
 
70
                            t.ok(out.components[0].equals(expect), "[" + file + "] bounds read")
 
71
                        } else {
 
72
                            t.fail("[" + file + "] expected a bounds, got " + got);
 
73
                        }
 
74
                    } else {
 
75
                        t.fail("[" + file + "] gml parsing");
 
76
                    }
 
77
                } else {
 
78
                    t.fail("[" + file + "] xml parsing");
 
79
                }
 
80
            } else {
 
81
                t.fail("[" + file + "] case not found");
 
82
            }
 
83
        }
 
84
        
 
85
    }
 
86
    
 
87
    function test_writeNode_geometry(t) {
 
88
        // we only care to write the 'coordinates' variant of GML 2
 
89
        var files = [
 
90
            "v2/point-coordinates.xml",
 
91
            "v2/linestring-coordinates.xml",
 
92
            "v2/polygon-coordinates.xml",
 
93
            "v2/multipoint-coordinates.xml",
 
94
            "v2/multilinestring-coordinates.xml",
 
95
            "v2/multipolygon-coordinates.xml",
 
96
            "v2/geometrycollection-coordinates.xml"
 
97
        ];
 
98
 
 
99
        var len = files.length;
 
100
        t.plan(len);
 
101
 
 
102
        var format = new OpenLayers.Format.GML.v2({
 
103
            featureType: "feature",
 
104
            featureNS: "http://example.com/feature",
 
105
            srsName: "foo" // GML geometry collections require srsName, we only write if provided
 
106
        });
 
107
        var file, geom, doc, node;
 
108
        for(var i=0; i<len; ++i) {
 
109
            file = files[i];
 
110
            geom = cases[file];
 
111
            if(geom) {
 
112
                doc = readXML(file);
 
113
                if(doc && doc.documentElement) {
 
114
                    node = format.writeNode("feature:_geometry", geom);
 
115
                    t.xml_eq(node.firstChild, doc.documentElement, "[" + file + "] geometry written");
 
116
                } else {
 
117
                    t.fail("[" + file + "] xml parsing");
 
118
                }
 
119
            } else {
 
120
                t.fail("[" + file + "] case not found");
 
121
            }
 
122
        }
 
123
    }
 
124
 
 
125
    function test_writeNode_bounds(t) {
 
126
        // we only care to write the 'coordinates' variant of GML 2
 
127
        var files = [
 
128
            "v2/box-coordinates.xml"
 
129
        ];
 
130
 
 
131
        var len = files.length;
 
132
        t.plan(len);
 
133
 
 
134
        var format = new OpenLayers.Format.GML.v2({
 
135
            featureType: "feature",
 
136
            featureNS: "http://example.com/feature",
 
137
            srsName: "foo" // GML box does not require srsName, we only write if provided
 
138
        });
 
139
        var file, bounds, doc, node;
 
140
        for(var i=0; i<len; ++i) {
 
141
            file = files[i];
 
142
            bounds = cases[file];
 
143
            if(bounds) {
 
144
                doc = readXML(file);
 
145
                if(doc && doc.documentElement) {
 
146
                    node = format.writeNode("gml:Box", bounds);
 
147
                    t.xml_eq(node, doc.documentElement, "[" + file + "] bounds written");
 
148
                } else {
 
149
                    t.fail("[" + file + "] xml parsing");
 
150
                }
 
151
            } else {
 
152
                t.fail("[" + file + "] case not found");
 
153
            }
 
154
        }
 
155
    }
 
156
    
 
157
    function test_read(t) {
 
158
        t.plan(8);
 
159
        var doc = readXML("v2/topp-states.xml");
 
160
        var format = new OpenLayers.Format.GML.v2({
 
161
            featureType: "states",
 
162
            featureNS: "http://www.openplans.org/topp",
 
163
            geometryName: "the_geom"
 
164
        });
 
165
        var features = format.read(doc.documentElement);
 
166
        
 
167
        t.eq(features.length, 3, "read 3 features");
 
168
        var feature = features[0];
 
169
        t.eq(feature.fid, "states.1", "read fid");
 
170
        t.eq(feature.geometry.CLASS_NAME, "OpenLayers.Geometry.MultiPolygon",
 
171
             "read multipolygon geometry");
 
172
        var attributes = feature.attributes;
 
173
        t.eq(attributes["STATE_NAME"], "Illinois", "read STATE_NAME");
 
174
        t.eq(attributes["STATE_FIPS"], "17", "read STATE_FIPS");
 
175
        t.eq(attributes["SUB_REGION"], "E N Cen", "read SUB_REGION");
 
176
        t.eq(attributes["STATE_ABBR"], "IL", "read STATE_ABBR");
 
177
        t.eq(attributes["LAND_KM"], "143986.61", "read LAND_KM");
 
178
    }
 
179
 
 
180
    function test_boundedBy(t) {
 
181
        t.plan(5);
 
182
        
 
183
        var doc = readXML("v2/boundedBy.xml");
 
184
        var format = new OpenLayers.Format.GML.v2({
 
185
            featureType: "states",
 
186
            featureNS: "http://www.openplans.org/topp",
 
187
            geometryName: "the_geom",
 
188
            xy: false
 
189
        });
 
190
        var features = format.read(doc.documentElement);
 
191
        var bounds = features[0].bounds;
 
192
 
 
193
        t.ok(bounds instanceof OpenLayers.Bounds, "feature given a bounds");
 
194
        t.eq(bounds.left.toFixed(2), "-91.52", "bounds left correct");
 
195
        t.eq(bounds.bottom.toFixed(2), "36.99", "bounds bottom correct");
 
196
        t.eq(bounds.right.toFixed(2), "-87.51", "bounds right correct");
 
197
        t.eq(bounds.top.toFixed(2), "42.51", "bounds top correct");
 
198
    }
 
199
    
 
200
    function test_write(t) {
 
201
        t.plan(1);
 
202
        var doc = readXML("v2/topp-states.xml");
 
203
        var format = new OpenLayers.Format.GML.v2({
 
204
            featureType: "states",
 
205
            featureNS: "http://www.openplans.org/topp",
 
206
            geometryName: "the_geom",
 
207
            schemaLocation: "http://www.openplans.org/topp http://sigma.openplans.org:80/geoserver/wfs?service=WFS&version=1.0.0&request=DescribeFeatureType&typeName=topp:states http://www.opengis.net/wfs http://sigma.openplans.org:80/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd",
 
208
            srsName: "http://www.opengis.net/gml/srs/epsg.xml#4326"
 
209
        });
 
210
        var features = format.read(doc.documentElement);
 
211
        
 
212
        var got = format.write(features);
 
213
        t.xml_eq(got, doc.documentElement, "wfs:FeatureCollection round trip");
 
214
        
 
215
    }
 
216
 
 
217
    function test_multipleTypenames(t) {
 
218
        t.plan(5);
 
219
        var doc = readXML("v2/multipletypenames.xml");
 
220
        var format = new OpenLayers.Format.GML.v2({
 
221
            featureType: ["LKUNSTWERK", "PKUNSTWERK", "VKUNSTWERK"],
 
222
            featureNS: "http://mapserver.gis.umn.edu/mapserver",
 
223
            geometry_name: "geometry"
 
224
        });
 
225
        var features = format.read(doc.documentElement);
 
226
        t.eq(features.length, 3, "Expected 3 features from GML containing multiple typenames");
 
227
        t.eq(features[0].type, "VKUNSTWERK", "First feature type is from the VKUNSTWERK typename");
 
228
        t.eq(features[1].type, "LKUNSTWERK", "Second feature type is from the LKUNSTWERK typename");
 
229
        t.eq(features[2].type, "PKUNSTWERK", "Third feature type is from the PKUNSTWERK typename");
 
230
        t.eq(features[0].namespace, "http://mapserver.gis.umn.edu/mapserver", "Namespace is set correctly on feature");
 
231
    }
 
232
 
 
233
    function test_noGeom(t) {
 
234
        t.plan(7);
 
235
        var doc = readXML("v2/nogeom.xml");
 
236
        var format = new OpenLayers.Format.GML.v2({
 
237
            featureType: "DEPARTEMENT",
 
238
            featureNS: "http://server.fr/geoserver/loc"
 
239
        });
 
240
        var features = format.read(doc.documentElement);
 
241
        t.eq(features.length, 2, "Expected 2 features from GML with no geom");
 
242
        var feature = features[0];
 
243
        t.ok(feature.geometry == null, "feature 0 has no geometry");
 
244
        var bounds = feature.bounds;
 
245
        t.ok(bounds && (bounds instanceof OpenLayers.Bounds), "feature 0 has been assigned bounds");
 
246
        t.eq(bounds.left, 209565, "bounds left correct");
 
247
        t.eq(bounds.bottom, 6785323, "bounds bottom correct");
 
248
        t.eq(bounds.right, 337568, "bounds right correct");
 
249
        t.eq(bounds.top, 6885985, "bounds top correct");
 
250
    }
 
251
   </script>
 
252
</head>
 
253
<body>
 
254
<div id="v2/point-coord.xml"><!--
 
255
<gml:Point xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
256
  <gml:coord>
 
257
    <gml:X>1</gml:X>
 
258
    <gml:Y>2</gml:Y>
 
259
  </gml:coord>
 
260
</gml:Point>
 
261
--></div>
 
262
<div id="v2/point-coordinates.xml"><!--
 
263
<gml:Point xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
264
  <gml:coordinates decimal="." cs="," ts=" ">1,2</gml:coordinates>
 
265
</gml:Point>
 
266
--></div>
 
267
<div id="v2/linestring-coord.xml"><!--
 
268
<gml:LineString xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
269
  <gml:coord>
 
270
    <gml:X>1</gml:X>
 
271
    <gml:Y>2</gml:Y>
 
272
  </gml:coord>
 
273
  <gml:coord>
 
274
    <gml:X>3</gml:X>
 
275
    <gml:Y>4</gml:Y>
 
276
  </gml:coord>
 
277
</gml:LineString>
 
278
--></div>
 
279
<div id="v2/linestring-coordinates.xml"><!--
 
280
<gml:LineString xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
281
  <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4</gml:coordinates>
 
282
</gml:LineString>
 
283
--></div>
 
284
<div id="v2/polygon-coord.xml"><!--
 
285
<gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
286
    <gml:outerBoundaryIs>
 
287
        <gml:LinearRing>
 
288
            <gml:coord>
 
289
                <gml:X>1</gml:X>
 
290
                <gml:Y>2</gml:Y>
 
291
            </gml:coord>
 
292
            <gml:coord>
 
293
                <gml:X>3</gml:X>
 
294
                <gml:Y>4</gml:Y>
 
295
            </gml:coord>
 
296
            <gml:coord>
 
297
                <gml:X>5</gml:X>
 
298
                <gml:Y>6</gml:Y>
 
299
            </gml:coord>
 
300
            <gml:coord>
 
301
                <gml:X>1</gml:X>
 
302
                <gml:Y>2</gml:Y>
 
303
            </gml:coord>
 
304
        </gml:LinearRing>
 
305
    </gml:outerBoundaryIs>
 
306
    <gml:innerBoundaryIs>
 
307
        <gml:LinearRing>
 
308
            <gml:coord>
 
309
                <gml:X>2</gml:X>
 
310
                <gml:Y>3</gml:Y>
 
311
            </gml:coord>
 
312
            <gml:coord>
 
313
                <gml:X>4</gml:X>
 
314
                <gml:Y>5</gml:Y>
 
315
            </gml:coord>
 
316
            <gml:coord>
 
317
                <gml:X>6</gml:X>
 
318
                <gml:Y>7</gml:Y>
 
319
            </gml:coord>
 
320
            <gml:coord>
 
321
                <gml:X>2</gml:X>
 
322
                <gml:Y>3</gml:Y>
 
323
            </gml:coord>
 
324
        </gml:LinearRing>
 
325
    </gml:innerBoundaryIs>    
 
326
    <gml:innerBoundaryIs>
 
327
        <gml:LinearRing>
 
328
            <gml:coord>
 
329
                <gml:X>3</gml:X>
 
330
                <gml:Y>4</gml:Y>
 
331
            </gml:coord>
 
332
            <gml:coord>
 
333
                <gml:X>5</gml:X>
 
334
                <gml:Y>6</gml:Y>
 
335
            </gml:coord>
 
336
            <gml:coord>
 
337
                <gml:X>7</gml:X>
 
338
                <gml:Y>8</gml:Y>
 
339
            </gml:coord>
 
340
            <gml:coord>
 
341
                <gml:X>3</gml:X>
 
342
                <gml:Y>4</gml:Y>
 
343
            </gml:coord>
 
344
        </gml:LinearRing>
 
345
    </gml:innerBoundaryIs>    
 
346
</gml:Polygon>
 
347
--></div>
 
348
<div id="v2/polygon-coordinates.xml"><!--
 
349
<gml:Polygon xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
350
    <gml:outerBoundaryIs>
 
351
        <gml:LinearRing>
 
352
            <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4 5,6 1,2</gml:coordinates>
 
353
        </gml:LinearRing>
 
354
    </gml:outerBoundaryIs>
 
355
    <gml:innerBoundaryIs>
 
356
        <gml:LinearRing>
 
357
            <gml:coordinates decimal="." cs="," ts=" ">2,3 4,5 6,7 2,3</gml:coordinates>
 
358
        </gml:LinearRing>
 
359
    </gml:innerBoundaryIs>    
 
360
    <gml:innerBoundaryIs>
 
361
        <gml:LinearRing>
 
362
            <gml:coordinates decimal="." cs="," ts=" ">3,4 5,6 7,8 3,4</gml:coordinates>
 
363
        </gml:LinearRing>
 
364
    </gml:innerBoundaryIs>    
 
365
</gml:Polygon>
 
366
--></div>
 
367
<div id="v2/multipoint-coord.xml"><!--
 
368
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
369
    <gml:pointMember>
 
370
        <gml:Point>
 
371
            <gml:coord>
 
372
                <gml:X>1</gml:X>
 
373
                <gml:Y>2</gml:Y>
 
374
            </gml:coord>
 
375
        </gml:Point>
 
376
    </gml:pointMember>
 
377
    <gml:pointMember>
 
378
        <gml:Point>
 
379
            <gml:coord>
 
380
                <gml:X>2</gml:X>
 
381
                <gml:Y>3</gml:Y>
 
382
            </gml:coord>
 
383
        </gml:Point>
 
384
    </gml:pointMember>
 
385
    <gml:pointMember>
 
386
        <gml:Point>
 
387
            <gml:coord>
 
388
                <gml:X>3</gml:X>
 
389
                <gml:Y>4</gml:Y>
 
390
            </gml:coord>
 
391
        </gml:Point>
 
392
    </gml:pointMember>
 
393
</gml:MultiPoint>
 
394
--></div>
 
395
<div id="v2/multipoint-coordinates.xml"><!--
 
396
<gml:MultiPoint xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
397
    <gml:pointMember>
 
398
        <gml:Point>
 
399
            <gml:coordinates decimal="." cs="," ts=" ">1,2</gml:coordinates>
 
400
        </gml:Point>
 
401
    </gml:pointMember>
 
402
    <gml:pointMember>
 
403
        <gml:Point>
 
404
            <gml:coordinates decimal="." cs="," ts=" ">2,3</gml:coordinates>
 
405
        </gml:Point>
 
406
    </gml:pointMember>
 
407
    <gml:pointMember>
 
408
        <gml:Point>
 
409
            <gml:coordinates decimal="." cs="," ts=" ">3,4</gml:coordinates>
 
410
        </gml:Point>
 
411
    </gml:pointMember>
 
412
</gml:MultiPoint>
 
413
--></div>
 
414
<div id="v2/multilinestring-coord.xml"><!--
 
415
<gml:MultiLineString xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
416
    <gml:lineStringMember>
 
417
        <gml:LineString>
 
418
            <gml:coord>
 
419
                <gml:X>1</gml:X>
 
420
                <gml:Y>2</gml:Y>
 
421
            </gml:coord>
 
422
            <gml:coord>
 
423
                <gml:X>2</gml:X>
 
424
                <gml:Y>3</gml:Y>
 
425
            </gml:coord>
 
426
        </gml:LineString>
 
427
    </gml:lineStringMember>
 
428
    <gml:lineStringMember>
 
429
        <gml:LineString>
 
430
            <gml:coord>
 
431
                <gml:X>3</gml:X>
 
432
                <gml:Y>4</gml:Y>
 
433
            </gml:coord>
 
434
            <gml:coord>
 
435
                <gml:X>4</gml:X>
 
436
                <gml:Y>5</gml:Y>
 
437
            </gml:coord>
 
438
        </gml:LineString>
 
439
    </gml:lineStringMember>
 
440
</gml:MultiLineString>
 
441
--></div>
 
442
<div id="v2/multilinestring-coordinates.xml"><!--
 
443
<gml:MultiLineString xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
444
    <gml:lineStringMember>
 
445
        <gml:LineString>
 
446
            <gml:coordinates decimal="." cs="," ts=" ">1,2 2,3</gml:coordinates>
 
447
        </gml:LineString>
 
448
    </gml:lineStringMember>
 
449
    <gml:lineStringMember>
 
450
        <gml:LineString>
 
451
            <gml:coordinates decimal="." cs="," ts=" ">3,4 4,5</gml:coordinates>
 
452
        </gml:LineString>
 
453
    </gml:lineStringMember>
 
454
</gml:MultiLineString>
 
455
--></div>
 
456
<div id="v2/multipolygon-coord.xml"><!--
 
457
<gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
458
    <gml:polygonMember>
 
459
        <gml:Polygon>
 
460
            <gml:outerBoundaryIs>
 
461
                <gml:LinearRing>
 
462
                    <gml:coord>
 
463
                        <gml:X>1</gml:X>
 
464
                        <gml:Y>2</gml:Y>
 
465
                    </gml:coord>
 
466
                    <gml:coord>
 
467
                        <gml:X>3</gml:X>
 
468
                        <gml:Y>4</gml:Y>
 
469
                    </gml:coord>
 
470
                    <gml:coord>
 
471
                        <gml:X>5</gml:X>
 
472
                        <gml:Y>6</gml:Y>
 
473
                    </gml:coord>
 
474
                    <gml:coord>
 
475
                        <gml:X>1</gml:X>
 
476
                        <gml:Y>2</gml:Y>
 
477
                    </gml:coord>
 
478
                </gml:LinearRing>
 
479
            </gml:outerBoundaryIs>
 
480
            <gml:innerBoundaryIs>
 
481
                <gml:LinearRing>
 
482
                    <gml:coord>
 
483
                        <gml:X>2</gml:X>
 
484
                        <gml:Y>3</gml:Y>
 
485
                    </gml:coord>
 
486
                    <gml:coord>
 
487
                        <gml:X>4</gml:X>
 
488
                        <gml:Y>5</gml:Y>
 
489
                    </gml:coord>
 
490
                    <gml:coord>
 
491
                        <gml:X>6</gml:X>
 
492
                        <gml:Y>7</gml:Y>
 
493
                    </gml:coord>
 
494
                    <gml:coord>
 
495
                        <gml:X>2</gml:X>
 
496
                        <gml:Y>3</gml:Y>
 
497
                    </gml:coord>
 
498
                </gml:LinearRing>
 
499
            </gml:innerBoundaryIs>    
 
500
            <gml:innerBoundaryIs>
 
501
                <gml:LinearRing>
 
502
                    <gml:coord>
 
503
                        <gml:X>3</gml:X>
 
504
                        <gml:Y>4</gml:Y>
 
505
                    </gml:coord>
 
506
                    <gml:coord>
 
507
                        <gml:X>5</gml:X>
 
508
                        <gml:Y>6</gml:Y>
 
509
                    </gml:coord>
 
510
                    <gml:coord>
 
511
                        <gml:X>7</gml:X>
 
512
                        <gml:Y>8</gml:Y>
 
513
                    </gml:coord>
 
514
                    <gml:coord>
 
515
                        <gml:X>3</gml:X>
 
516
                        <gml:Y>4</gml:Y>
 
517
                    </gml:coord>
 
518
                </gml:LinearRing>
 
519
            </gml:innerBoundaryIs>    
 
520
        </gml:Polygon>
 
521
    </gml:polygonMember>
 
522
    <gml:polygonMember>
 
523
        <gml:Polygon>
 
524
            <gml:outerBoundaryIs>
 
525
                <gml:LinearRing>
 
526
                    <gml:coord>
 
527
                        <gml:X>1</gml:X>
 
528
                        <gml:Y>2</gml:Y>
 
529
                    </gml:coord>
 
530
                    <gml:coord>
 
531
                        <gml:X>3</gml:X>
 
532
                        <gml:Y>4</gml:Y>
 
533
                    </gml:coord>
 
534
                    <gml:coord>
 
535
                        <gml:X>5</gml:X>
 
536
                        <gml:Y>6</gml:Y>
 
537
                    </gml:coord>
 
538
                    <gml:coord>
 
539
                        <gml:X>1</gml:X>
 
540
                        <gml:Y>2</gml:Y>
 
541
                    </gml:coord>
 
542
                </gml:LinearRing>
 
543
            </gml:outerBoundaryIs>
 
544
        </gml:Polygon>
 
545
    </gml:polygonMember>
 
546
</gml:MultiPolygon>
 
547
--></div>
 
548
<div id="v2/multipolygon-coordinates.xml"><!--
 
549
<gml:MultiPolygon xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
550
    <gml:polygonMember>
 
551
        <gml:Polygon>
 
552
            <gml:outerBoundaryIs>
 
553
                <gml:LinearRing>
 
554
                    <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4 5,6 1,2</gml:coordinates>
 
555
                </gml:LinearRing>
 
556
            </gml:outerBoundaryIs>
 
557
            <gml:innerBoundaryIs>
 
558
                <gml:LinearRing>
 
559
                    <gml:coordinates decimal="." cs="," ts=" ">2,3 4,5 6,7 2,3</gml:coordinates>
 
560
                </gml:LinearRing>
 
561
            </gml:innerBoundaryIs>    
 
562
            <gml:innerBoundaryIs>
 
563
                <gml:LinearRing>
 
564
                    <gml:coordinates decimal="." cs="," ts=" ">3,4 5,6 7,8 3,4</gml:coordinates>
 
565
                </gml:LinearRing>
 
566
            </gml:innerBoundaryIs>    
 
567
        </gml:Polygon>
 
568
    </gml:polygonMember>
 
569
    <gml:polygonMember>
 
570
        <gml:Polygon>
 
571
            <gml:outerBoundaryIs>
 
572
                <gml:LinearRing>
 
573
                    <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4 5,6 1,2</gml:coordinates>
 
574
                </gml:LinearRing>
 
575
            </gml:outerBoundaryIs>
 
576
        </gml:Polygon>
 
577
    </gml:polygonMember>
 
578
</gml:MultiPolygon>
 
579
--></div>
 
580
<div id="v2/geometrycollection-coordinates.xml"><!--
 
581
<gml:GeometryCollection xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
582
    <gml:geometryMember>
 
583
        <gml:Point srsName="foo">
 
584
          <gml:coordinates decimal="." cs="," ts=" ">1,2</gml:coordinates>
 
585
        </gml:Point>
 
586
    </gml:geometryMember>
 
587
    <gml:geometryMember>
 
588
        <gml:LineString srsName="foo">
 
589
          <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4</gml:coordinates>
 
590
        </gml:LineString>
 
591
    </gml:geometryMember>
 
592
    <gml:geometryMember>
 
593
        <gml:Polygon srsName="foo">
 
594
            <gml:outerBoundaryIs>
 
595
                <gml:LinearRing>
 
596
                    <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4 5,6 1,2</gml:coordinates>
 
597
                </gml:LinearRing>
 
598
            </gml:outerBoundaryIs>
 
599
            <gml:innerBoundaryIs>
 
600
                <gml:LinearRing>
 
601
                    <gml:coordinates decimal="." cs="," ts=" ">2,3 4,5 6,7 2,3</gml:coordinates>
 
602
                </gml:LinearRing>
 
603
            </gml:innerBoundaryIs>    
 
604
            <gml:innerBoundaryIs>
 
605
                <gml:LinearRing>
 
606
                    <gml:coordinates decimal="." cs="," ts=" ">3,4 5,6 7,8 3,4</gml:coordinates>
 
607
                </gml:LinearRing>
 
608
            </gml:innerBoundaryIs>    
 
609
        </gml:Polygon>
 
610
    </gml:geometryMember>
 
611
</gml:GeometryCollection>
 
612
--></div>
 
613
<div id="v2/box-coord.xml"><!--
 
614
<gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
615
  <gml:coord>
 
616
    <gml:X>1</gml:X>
 
617
    <gml:Y>2</gml:Y>
 
618
  </gml:coord>
 
619
  <gml:coord>
 
620
    <gml:X>3</gml:X>
 
621
    <gml:Y>4</gml:Y>
 
622
  </gml:coord>
 
623
</gml:Box>
 
624
--></div>
 
625
<div id="v2/box-coordinates.xml"><!--
 
626
<gml:Box xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
627
  <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4</gml:coordinates>
 
628
</gml:Box>
 
629
--></div>
 
630
<div id="v2/linearring-coord.xml"><!--
 
631
<gml:LinearRing xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
632
    <gml:coord>
 
633
        <gml:X>1</gml:X>
 
634
        <gml:Y>2</gml:Y>
 
635
    </gml:coord>
 
636
    <gml:coord>
 
637
        <gml:X>3</gml:X>
 
638
        <gml:Y>4</gml:Y>
 
639
    </gml:coord>
 
640
    <gml:coord>
 
641
        <gml:X>5</gml:X>
 
642
        <gml:Y>6</gml:Y>
 
643
    </gml:coord>
 
644
    <gml:coord>
 
645
        <gml:X>1</gml:X>
 
646
        <gml:Y>2</gml:Y>
 
647
    </gml:coord>
 
648
</gml:LinearRing>
 
649
--></div>
 
650
<div id="v2/linearring-coordinates.xml"><!--
 
651
<gml:LinearRing xmlns:gml="http://www.opengis.net/gml" srsName="foo">
 
652
  <gml:coordinates decimal="." cs="," ts=" ">1,2 3,4 5,6 1,2</gml:coordinates>
 
653
</gml:LinearRing>
 
654
--></div>
 
655
<div id="v2/topp-states.xml"><!--
 
656
<?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns="http://www.opengis.net/wfs" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://sigma.openplans.org:80/geoserver/wfs?service=WFS&amp;version=1.0.0&amp;request=DescribeFeatureType&amp;typeName=topp:states http://www.opengis.net/wfs http://sigma.openplans.org:80/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd"><gml:featureMember><topp:states fid="states.1"><topp:the_geom><gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">37.5101,-88.0711 37.4761,-88.0871 37.4421,-88.3111 37.4091,-88.3591 37.4201,-88.4191 37.4001,-88.4671 37.2961,-88.5111 37.2571,-88.5011 37.2051,-88.4501 37.1561,-88.4221 37.0981,-88.4501 37.0721,-88.4761 37.0681,-88.4901 37.0641,-88.5171 37.0721,-88.5591 37.1091,-88.6141 37.1351,-88.6881 37.1411,-88.7391 37.1521,-88.7461 37.2021,-88.8631 37.2181,-88.9321 37.2201,-88.9931 37.1851,-89.0651 37.1121,-89.1161 37.0931,-89.1461 37.0641,-89.1691 37.0251,-89.1741 36.9981,-89.1501 36.9881,-89.1291 36.9861,-89.1931 37.0281,-89.2101 37.0411,-89.2371 37.0871,-89.2641 37.0911,-89.2841 37.0851,-89.3031 37.0601,-89.3091 37.0271,-89.2641 37.0081,-89.2621 36.9991,-89.2821 37.0091,-89.3101 37.0491,-89.3821 37.0991,-89.3791 37.1371,-89.4231 37.1651,-89.4401 37.2241,-89.4681 37.2531,-89.4651 37.2561,-89.4891 37.2761,-89.5131 37.3041,-89.5131 37.3291,-89.5001 37.3391,-89.4681 37.3551,-89.4351 37.4111,-89.4271 37.4531,-89.4531 37.4911,-89.4941 37.5711,-89.5241 37.6151,-89.5131 37.6501,-89.5191 37.6791,-89.5131 37.6941,-89.5211 37.7061,-89.5811 37.7451,-89.6661 37.7831,-89.6751 37.8041,-89.6911 37.8401,-89.7281 37.9051,-89.8511 37.9051,-89.8611 37.8911,-89.8661 37.8751,-89.9001 37.8781,-89.9371 37.9111,-89.9781 37.9631,-89.9581 37.9691,-90.0101 37.9931,-90.0411 38.0321,-90.1191 38.0531,-90.1341 38.0881,-90.2071 38.1221,-90.2541 38.1661,-90.2891 38.1881,-90.3361 38.2341,-90.3641 38.3231,-90.3691 38.3651,-90.3581 38.3901,-90.3391 38.4271,-90.3011 38.5181,-90.2651 38.5321,-90.2611 38.5621,-90.2401 38.6101,-90.1831 38.6581,-90.1831 38.7001,-90.2021 38.7231,-90.1961 38.7731,-90.1631 38.7851,-90.1351 38.8001,-90.1211 38.8301,-90.1131 38.8531,-90.1321 38.9141,-90.2431 38.9241,-90.2781 38.9241,-90.3191 38.9621,-90.4131 38.9591,-90.4691 38.8911,-90.5301 38.8711,-90.5701 38.8801,-90.6271 38.9351,-90.6681 39.0371,-90.7061 39.0581,-90.7071 39.0931,-90.6901 39.1441,-90.7161 39.1951,-90.7181 39.2241,-90.7321 39.2471,-90.7381 39.2961,-90.7791 39.3501,-90.8501 39.4001,-90.9471 39.4441,-91.0361 39.4731,-91.0641 39.5281,-91.0931 39.5521,-91.1561 39.6001,-91.2031 39.6851,-91.3171 39.7241,-91.3671 39.7611,-91.3731 39.8031,-91.3811 39.8631,-91.4491 39.8851,-91.4501 39.9011,-91.4341 39.9211,-91.4301 39.9461,-91.4471 40.0051,-91.4871 40.0661,-91.5041 40.1341,-91.5161 40.2001,-91.5061 40.2511,-91.4981 40.3091,-91.4861 40.3711,-91.4481 40.3861,-91.4181 40.3921,-91.3851 40.4021,-91.3721 40.4471,-91.3851 40.5031,-91.3741 40.5281,-91.3821 40.5471,-91.4121 40.5721,-91.4111 40.6031,-91.3751 40.6391,-91.2621 40.6431,-91.2141 40.6561,-91.1621 40.6821,-91.1291 40.7051,-91.1191 40.7611,-91.0921 40.8331,-91.0881 40.8791,-91.0491 40.9231,-90.9831 40.9501,-90.9601 41.0701,-90.9541 41.1041,-90.9571 41.1441,-90.9901 41.1651,-91.0181 41.1761,-91.0561 41.2311,-91.1011 41.2671,-91.1021 41.3341,-91.0731 41.4011,-91.0551 41.4231,-91.0271 41.4311,-91.0001 41.4211,-90.9491 41.4441,-90.8441 41.4491,-90.7791 41.4501,-90.7081 41.4621,-90.6581 41.5091,-90.6001 41.5251,-90.5401 41.5271,-90.4541 41.5431,-90.4341 41.5671,-90.4231 41.5861,-90.3481 41.6021,-90.3391 41.6491,-90.3411 41.7221,-90.3261 41.7561,-90.3041 41.7811,-90.2551 41.8061,-90.1951 41.9301,-90.1541 41.9831,-90.1421 42.0331,-90.1501 42.0611,-90.1681 42.1031,-90.1661 42.1201,-90.1761 42.1221,-90.1911 42.1591,-90.2301 42.1971,-90.3231 42.2101,-90.3671 42.2421,-90.4071 42.2631,-90.4171 42.3401,-90.4271 42.3601,-90.4411 42.3881,-90.4911 42.4211,-90.5631 42.4601,-90.6051 42.4751,-90.6481 42.4941,-90.6511 42.5091,-90.6381 42.5081,-90.4191 42.5041,-89.9231 42.5031,-89.8341 42.4971,-89.4001 42.4971,-89.3591 42.4901,-88.9391 42.4901,-88.7641 42.4891,-88.7061 42.4911,-88.2971 42.4891,-88.1941 42.4891,-87.7971 42.3141,-87.8361 42.1561,-87.7601 42.0591,-87.6701 41.8471,-87.6121 41.7231,-87.5291 41.4691,-87.5321 41.3011,-87.5321 41.1731,-87.5311 41.0091,-87.5321 40.7451,-87.5321 40.4941,-87.5371 40.4831,-87.5351 40.1661,-87.5351 39.8871,-87.5351 39.6091,-87.5351 39.4771,-87.5381 39.3501,-87.5401 39.3381,-87.5971 39.3071,-87.6251 39.2971,-87.6101 39.2811,-87.6151 39.2581,-87.6061 39.2481,-87.5841 39.2081,-87.5881 39.1981,-87.5941 39.1961,-87.6071 39.1681,-87.6441 39.1461,-87.6701 39.1301,-87.6591 39.1131,-87.6621 39.1031,-87.6311 39.0881,-87.6301 39.0841,-87.6121 39.0621,-87.5851 38.9951,-87.5811 38.9941,-87.5911 38.9771,-87.5471 38.9631,-87.5331 38.9311,-87.5301 38.9041,-87.5391 38.8691,-87.5591 38.8571,-87.5501 38.7951,-87.5071 38.7761,-87.5191 38.7691,-87.5081 38.7361,-87.5081 38.6851,-87.5431 38.6721,-87.5881 38.6421,-87.6251 38.6221,-87.6281 38.5991,-87.6191 38.5931,-87.6401 38.5731,-87.6521 38.5471,-87.6721 38.5151,-87.6511 38.5001,-87.6531 38.5041,-87.6791 38.4811,-87.6921 38.4661,-87.7561 38.4571,-87.7581 38.4451,-87.7381 38.4171,-87.7481 38.3781,-87.7841 38.3521,-87.8341 38.2861,-87.8501 38.2851,-87.8631 38.3161,-87.8741 38.3151,-87.8831 38.3001,-87.8881 38.2811,-87.9141 38.3021,-87.9131 38.3041,-87.9251 38.2411,-87.9801 38.2341,-87.9861 38.2001,-87.9771 38.1711,-87.9321 38.1571,-87.9311 38.1361,-87.9501 38.1311,-87.9731 38.1031,-88.0181 38.0921,-88.0121 38.0961,-87.9641 38.0731,-87.9751 38.0541,-88.0341 38.0451,-88.0431 38.0381,-88.0411 38.0331,-88.0211 38.0081,-88.0291 37.9751,-88.0211 37.9561,-88.0421 37.9341,-88.0411 37.9291,-88.0641 37.944,-88.0781 37.9231,-88.084 37.9171,-88.0301 37.9051,-88.0261 37.8961,-88.0441 37.9061,-88.1001 37.8951,-88.1011 37.8671,-88.0751 37.8431,-88.0341 37.8271,-88.0421 37.8311,-88.0891 37.8171,-88.0861 37.8051,-88.0351 37.7351,-88.0721 37.7001,-88.1331 37.6601,-88.1591 37.6281,-88.1571 37.5831,-88.1341 37.5101,-88.0711</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></topp:the_geom><topp:STATE_NAME>Illinois</topp:STATE_NAME><topp:STATE_FIPS>17</topp:STATE_FIPS><topp:SUB_REGION>E N Cen</topp:SUB_REGION><topp:STATE_ABBR>IL</topp:STATE_ABBR><topp:LAND_KM>143986.61</topp:LAND_KM><topp:WATER_KM>1993.335</topp:WATER_KM><topp:PERSONS>1.1431E7</topp:PERSONS><topp:FAMILIES>2924880.0</topp:FAMILIES><topp:HOUSHOLD>4202240.0</topp:HOUSHOLD><topp:MALE>5552233.0</topp:MALE><topp:FEMALE>5878369.0</topp:FEMALE><topp:WORKERS>4199206.0</topp:WORKERS><topp:DRVALONE>3741715.0</topp:DRVALONE><topp:CARPOOL>652603.0</topp:CARPOOL><topp:PUBTRANS>538071.0</topp:PUBTRANS><topp:EMPLOYED>5417967.0</topp:EMPLOYED><topp:UNEMPLOY>385040.0</topp:UNEMPLOY><topp:SERVICE>1360159.0</topp:SERVICE><topp:MANUAL>828906.0</topp:MANUAL><topp:P_MALE>0.486</topp:P_MALE><topp:P_FEMALE>0.514</topp:P_FEMALE><topp:SAMP_POP>1747776.0</topp:SAMP_POP></topp:states></gml:featureMember><gml:featureMember><topp:states fid="states.2"><topp:the_geom><gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">38.9661,-77.0081 38.8891,-76.9111 38.7881,-77.0451 38.8131,-77.0351 38.8291,-77.0451 38.8381,-77.0401 38.8621,-77.0391 38.8861,-77.0671 38.9151,-77.0781 38.9321,-77.1221 38.9931,-77.0421 38.9661,-77.0081</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></topp:the_geom><topp:STATE_NAME>District of Columbia</topp:STATE_NAME><topp:STATE_FIPS>11</topp:STATE_FIPS><topp:SUB_REGION>S Atl</topp:SUB_REGION><topp:STATE_ABBR>DC</topp:STATE_ABBR><topp:LAND_KM>159.055</topp:LAND_KM><topp:WATER_KM>17.991</topp:WATER_KM><topp:PERSONS>606900.0</topp:PERSONS><topp:FAMILIES>122087.0</topp:FAMILIES><topp:HOUSHOLD>249634.0</topp:HOUSHOLD><topp:MALE>282970.0</topp:MALE><topp:FEMALE>323930.0</topp:FEMALE><topp:WORKERS>229975.0</topp:WORKERS><topp:DRVALONE>106694.0</topp:DRVALONE><topp:CARPOOL>36621.0</topp:CARPOOL><topp:PUBTRANS>111422.0</topp:PUBTRANS><topp:EMPLOYED>303994.0</topp:EMPLOYED><topp:UNEMPLOY>23442.0</topp:UNEMPLOY><topp:SERVICE>65498.0</topp:SERVICE><topp:MANUAL>22407.0</topp:MANUAL><topp:P_MALE>0.466</topp:P_MALE><topp:P_FEMALE>0.534</topp:P_FEMALE><topp:SAMP_POP>72696.0</topp:SAMP_POP></topp:states></gml:featureMember><gml:featureMember><topp:states fid="states.3"><topp:the_geom><gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">38.5571,-75.7071 38.6491,-75.7111 38.8301,-75.7241 39.1411,-75.7521 39.2471,-75.7611 39.2951,-75.7641 39.3831,-75.7721 39.7231,-75.7911 39.7241,-75.7751 39.7741,-75.7451 39.8201,-75.6951 39.8381,-75.6441 39.8401,-75.5831 39.8261,-75.4701 39.7981,-75.4201 39.7891,-75.4121 39.7781,-75.4281 39.7631,-75.4601 39.7411,-75.4751 39.7191,-75.4761 39.7141,-75.4891 39.6121,-75.6101 39.5661,-75.5621 39.4631,-75.5901 39.3661,-75.5151 39.2571,-75.4021 39.0731,-75.3971 39.0121,-75.3241 38.9451,-75.3071 38.8081,-75.1901 38.7991,-75.0831 38.4491,-75.0451 38.4491,-75.0681 38.4501,-75.0931 38.4551,-75.3501 38.4631,-75.6991 38.5571,-75.7071</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></topp:the_geom><topp:STATE_NAME>Delaware</topp:STATE_NAME><topp:STATE_FIPS>10</topp:STATE_FIPS><topp:SUB_REGION>S Atl</topp:SUB_REGION><topp:STATE_ABBR>DE</topp:STATE_ABBR><topp:LAND_KM>5062.456</topp:LAND_KM><topp:WATER_KM>1385.022</topp:WATER_KM><topp:PERSONS>666168.0</topp:PERSONS><topp:FAMILIES>175867.0</topp:FAMILIES><topp:HOUSHOLD>247497.0</topp:HOUSHOLD><topp:MALE>322968.0</topp:MALE><topp:FEMALE>343200.0</topp:FEMALE><topp:WORKERS>247566.0</topp:WORKERS><topp:DRVALONE>258087.0</topp:DRVALONE><topp:CARPOOL>42968.0</topp:CARPOOL><topp:PUBTRANS>8069.0</topp:PUBTRANS><topp:EMPLOYED>335147.0</topp:EMPLOYED><topp:UNEMPLOY>13945.0</topp:UNEMPLOY><topp:SERVICE>87973.0</topp:SERVICE><topp:MANUAL>44140.0</topp:MANUAL><topp:P_MALE>0.485</topp:P_MALE><topp:P_FEMALE>0.515</topp:P_FEMALE><topp:SAMP_POP>102776.0</topp:SAMP_POP></topp:states></gml:featureMember></wfs:FeatureCollection>
 
657
--></div>
 
658
<div id="v2/boundedBy.xml"><!--
 
659
<?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns="http://www.opengis.net/wfs" xmlns:wfs="http://www.opengis.net/wfs" xmlns:topp="http://www.openplans.org/topp" xmlns:gml="http://www.opengis.net/gml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openplans.org/topp http://publicus.opengeo.org:80/geoserver/wfs?service=WFS&amp;version=1.0.0&amp;request=DescribeFeatureType&amp;typeName=topp:states http://www.opengis.net/wfs http://publicus.opengeo.org:80/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd"><gml:featureMember><topp:states fid="states.1"><gml:boundedBy><gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">36.9861,-91.5161 42.5091,-87.5071</gml:coordinates></gml:Box></gml:boundedBy><topp:the_geom><gml:MultiPolygon srsName="http://www.opengis.net/gml/srs/epsg.xml#4326"><gml:polygonMember><gml:Polygon><gml:outerBoundaryIs><gml:LinearRing><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">37.5101,-88.0711 37.4761,-88.0871 37.4421,-88.3111 37.4091,-88.3591 37.4201,-88.4191 37.4001,-88.4671 37.2961,-88.5111 37.2571,-88.5011 37.2051,-88.4501 37.1561,-88.4221 37.0981,-88.4501 37.0721,-88.4761 37.0681,-88.4901 37.0641,-88.5171 37.0721,-88.5591 37.1091,-88.6141 37.1351,-88.6881 37.1411,-88.7391 37.1521,-88.7461 37.2021,-88.8631 37.2181,-88.9321 37.2201,-88.9931 37.1851,-89.0651 37.1121,-89.1161 37.0931,-89.1461 37.0641,-89.1691 37.0251,-89.1741 36.9981,-89.1501 36.9881,-89.1291 36.9861,-89.1931 37.0281,-89.2101 37.0411,-89.2371 37.0871,-89.2641 37.0911,-89.2841 37.0851,-89.3031 37.0601,-89.3091 37.0271,-89.2641 37.0081,-89.2621 36.9991,-89.2821 37.0091,-89.3101 37.0491,-89.3821 37.0991,-89.3791 37.1371,-89.4231 37.1651,-89.4401 37.2241,-89.4681 37.2531,-89.4651 37.2561,-89.4891 37.2761,-89.5131 37.3041,-89.5131 37.3291,-89.5001 37.3391,-89.4681 37.3551,-89.4351 37.4111,-89.4271 37.4531,-89.4531 37.4911,-89.4941 37.5711,-89.5241 37.6151,-89.5131 37.6501,-89.5191 37.6791,-89.5131 37.6941,-89.5211 37.7061,-89.5811 37.7451,-89.6661 37.7831,-89.6751 37.8041,-89.6911 37.8401,-89.7281 37.9051,-89.8511 37.9051,-89.8611 37.8911,-89.8661 37.8751,-89.9001 37.8781,-89.9371 37.9111,-89.9781 37.9631,-89.9581 37.9691,-90.0101 37.9931,-90.0411 38.0321,-90.1191 38.0531,-90.1341 38.0881,-90.2071 38.1221,-90.2541 38.1661,-90.2891 38.1881,-90.3361 38.2341,-90.3641 38.3231,-90.3691 38.3651,-90.3581 38.3901,-90.3391 38.4271,-90.3011 38.5181,-90.2651 38.5321,-90.2611 38.5621,-90.2401 38.6101,-90.1831 38.6581,-90.1831 38.7001,-90.2021 38.7231,-90.1961 38.7731,-90.1631 38.7851,-90.1351 38.8001,-90.1211 38.8301,-90.1131 38.8531,-90.1321 38.9141,-90.2431 38.9241,-90.2781 38.9241,-90.3191 38.9621,-90.4131 38.9591,-90.4691 38.8911,-90.5301 38.8711,-90.5701 38.8801,-90.6271 38.9351,-90.6681 39.0371,-90.7061 39.0581,-90.7071 39.0931,-90.6901 39.1441,-90.7161 39.1951,-90.7181 39.2241,-90.7321 39.2471,-90.7381 39.2961,-90.7791 39.3501,-90.8501 39.4001,-90.9471 39.4441,-91.0361 39.4731,-91.0641 39.5281,-91.0931 39.5521,-91.1561 39.6001,-91.2031 39.6851,-91.3171 39.7241,-91.3671 39.7611,-91.3731 39.8031,-91.3811 39.8631,-91.4491 39.8851,-91.4501 39.9011,-91.4341 39.9211,-91.4301 39.9461,-91.4471 40.0051,-91.4871 40.0661,-91.5041 40.1341,-91.5161 40.2001,-91.5061 40.2511,-91.4981 40.3091,-91.4861 40.3711,-91.4481 40.3861,-91.4181 40.3921,-91.3851 40.4021,-91.3721 40.4471,-91.3851 40.5031,-91.3741 40.5281,-91.3821 40.5471,-91.4121 40.5721,-91.4111 40.6031,-91.3751 40.6391,-91.2621 40.6431,-91.2141 40.6561,-91.1621 40.6821,-91.1291 40.7051,-91.1191 40.7611,-91.0921 40.8331,-91.0881 40.8791,-91.0491 40.9231,-90.9831 40.9501,-90.9601 41.0701,-90.9541 41.1041,-90.9571 41.1441,-90.9901 41.1651,-91.0181 41.1761,-91.0561 41.2311,-91.1011 41.2671,-91.1021 41.3341,-91.0731 41.4011,-91.0551 41.4231,-91.0271 41.4311,-91.0001 41.4211,-90.9491 41.4441,-90.8441 41.4491,-90.7791 41.4501,-90.7081 41.4621,-90.6581 41.5091,-90.6001 41.5251,-90.5401 41.5271,-90.4541 41.5431,-90.4341 41.5671,-90.4231 41.5861,-90.3481 41.6021,-90.3391 41.6491,-90.3411 41.7221,-90.3261 41.7561,-90.3041 41.7811,-90.2551 41.8061,-90.1951 41.9301,-90.1541 41.9831,-90.1421 42.0331,-90.1501 42.0611,-90.1681 42.1031,-90.1661 42.1201,-90.1761 42.1221,-90.1911 42.1591,-90.2301 42.1971,-90.3231 42.2101,-90.3671 42.2421,-90.4071 42.2631,-90.4171 42.3401,-90.4271 42.3601,-90.4411 42.3881,-90.4911 42.4211,-90.5631 42.4601,-90.6051 42.4751,-90.6481 42.4941,-90.6511 42.5091,-90.6381 42.5081,-90.4191 42.5041,-89.9231 42.5031,-89.8341 42.4971,-89.4001 42.4971,-89.3591 42.4901,-88.9391 42.4901,-88.7641 42.4891,-88.7061 42.4911,-88.2971 42.4891,-88.1941 42.4891,-87.7971 42.3141,-87.8361 42.1561,-87.7601 42.0591,-87.6701 41.8471,-87.6121 41.7231,-87.5291 41.4691,-87.5321 41.3011,-87.5321 41.1731,-87.5311 41.0091,-87.5321 40.7451,-87.5321 40.4941,-87.5371 40.4831,-87.5351 40.1661,-87.5351 39.8871,-87.5351 39.6091,-87.5351 39.4771,-87.5381 39.3501,-87.5401 39.3381,-87.5971 39.3071,-87.6251 39.2971,-87.6101 39.2811,-87.6151 39.2581,-87.6061 39.2481,-87.5841 39.2081,-87.5881 39.1981,-87.5941 39.1961,-87.6071 39.1681,-87.6441 39.1461,-87.6701 39.1301,-87.6591 39.1131,-87.6621 39.1031,-87.6311 39.0881,-87.6301 39.0841,-87.6121 39.0621,-87.5851 38.9951,-87.5811 38.9941,-87.5911 38.9771,-87.5471 38.9631,-87.5331 38.9311,-87.5301 38.9041,-87.5391 38.8691,-87.5591 38.8571,-87.5501 38.7951,-87.5071 38.7761,-87.5191 38.7691,-87.5081 38.7361,-87.5081 38.6851,-87.5431 38.6721,-87.5881 38.6421,-87.6251 38.6221,-87.6281 38.5991,-87.6191 38.5931,-87.6401 38.5731,-87.6521 38.5471,-87.6721 38.5151,-87.6511 38.5001,-87.6531 38.5041,-87.6791 38.4811,-87.6921 38.4661,-87.7561 38.4571,-87.7581 38.4451,-87.7381 38.4171,-87.7481 38.3781,-87.7841 38.3521,-87.8341 38.2861,-87.8501 38.2851,-87.8631 38.3161,-87.8741 38.3151,-87.8831 38.3001,-87.8881 38.2811,-87.9141 38.3021,-87.9131 38.3041,-87.9251 38.2411,-87.9801 38.2341,-87.9861 38.2001,-87.9771 38.1711,-87.9321 38.1571,-87.9311 38.1361,-87.9501 38.1311,-87.9731 38.1031,-88.0181 38.0921,-88.0121 38.0961,-87.9641 38.0731,-87.9751 38.0541,-88.0341 38.0451,-88.0431 38.0381,-88.0411 38.0331,-88.0211 38.0081,-88.0291 37.9751,-88.0211 37.9561,-88.0421 37.9341,-88.0411 37.9291,-88.0641 37.944,-88.0781 37.9231,-88.084 37.9171,-88.0301 37.9051,-88.0261 37.8961,-88.0441 37.9061,-88.1001 37.8951,-88.1011 37.8671,-88.0751 37.8431,-88.0341 37.8271,-88.0421 37.8311,-88.0891 37.8171,-88.0861 37.8051,-88.0351 37.7351,-88.0721 37.7001,-88.1331 37.6601,-88.1591 37.6281,-88.1571 37.5831,-88.1341 37.5101,-88.0711</gml:coordinates></gml:LinearRing></gml:outerBoundaryIs></gml:Polygon></gml:polygonMember></gml:MultiPolygon></topp:the_geom><topp:STATE_NAME>Illinois</topp:STATE_NAME><topp:STATE_FIPS>17</topp:STATE_FIPS><topp:SUB_REGION>E N Cen</topp:SUB_REGION><topp:STATE_ABBR>IL</topp:STATE_ABBR><topp:LAND_KM>143986.61</topp:LAND_KM><topp:WATER_KM>1993.335</topp:WATER_KM><topp:PERSONS>1.1431E7</topp:PERSONS><topp:FAMILIES>2924880.0</topp:FAMILIES><topp:HOUSHOLD>4202240.0</topp:HOUSHOLD><topp:MALE>5552233.0</topp:MALE><topp:FEMALE>5878369.0</topp:FEMALE><topp:WORKERS>4199206.0</topp:WORKERS><topp:DRVALONE>3741715.0</topp:DRVALONE><topp:CARPOOL>652603.0</topp:CARPOOL><topp:PUBTRANS>538071.0</topp:PUBTRANS><topp:EMPLOYED>5417967.0</topp:EMPLOYED><topp:UNEMPLOY>385040.0</topp:UNEMPLOY><topp:SERVICE>1360159.0</topp:SERVICE><topp:MANUAL>828906.0</topp:MANUAL><topp:P_MALE>0.486</topp:P_MALE><topp:P_FEMALE>0.514</topp:P_FEMALE><topp:SAMP_POP>1747776.0</topp:SAMP_POP></topp:states></gml:featureMember></wfs:FeatureCollection>
 
660
--></div>
 
661
<div id="v2/multipletypenames.xml"><!--
 
662
<?xml version='1.0' encoding="ISO-8859-1" ?><wfs:FeatureCollection   xmlns:rws="http://mapserver.gis.umn.edu/mapserver"   xmlns:wfs="http://www.opengis.net/wfs"   xmlns:gml="http://www.opengis.net/gml"   xmlns:ogc="http://www.opengis.net/ogc"   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd                        http://mapserver.gis.umn.edu/mapserver http://intranet.rijkswaterstaat.nl/services/geoservices/kerngisnat_utre?SERVICE=WFS&amp;VERSION=1.0.0&amp;REQUEST=DescribeFeatureType&amp;TYPENAME=VKUNSTWERK,LKUNSTWERK,PKUNSTWERK&amp;OUTPUTFORMAT=XMLSCHEMA">      <gml:boundedBy>              <gml:Box srsName="EPSG:28992">                  <gml:coordinates>134503.789000,455332.337000 135149.909000,455893.926000</gml:coordinates>              </gml:Box>      </gml:boundedBy>    <gml:featureMember>      <rws:VKUNSTWERK fid="VKUNSTWERK.16">        <gml:boundedBy>                <gml:Box srsName="EPSG:28992">                  <gml:coordinates>134949.571000,455438.845000 134978.799000,455471.762000</gml:coordinates>              </gml:Box>        </gml:boundedBy>        <rws:geometry>        <gml:MultiPolygon srsName="EPSG:28992">        <gml:polygonMember>          <gml:Polygon>            <gml:outerBoundaryIs>              <gml:LinearRing>                <gml:coordinates>134974.191000,455471.587000 134973.974000,455471.762000 134973.558000,455471.248000 134973.579000,455471.230000 134963.143000,455458.768000 134962.787000,455458.653000 134960.514000,455456.003000 134960.440000,455455.539000 134950.207000,455443.320000 134950.158000,455443.360000 134949.571000,455442.638000 134949.810000,455442.462000 134951.417000,455441.223000 134951.435000,455441.209000 134954.158000,455439.108000 134954.507000,455438.845000 134955.000000,455439.420000 134954.954000,455439.458000 134965.046000,455451.520000 134965.568000,455451.606000 134968.159000,455454.642000 134968.120000,455455.195000 134978.294000,455467.355000 134978.330000,455467.326000 134978.799000,455467.881000 134978.598000,455468.042000 134975.885000,455470.224000 134974.191000,455471.587000 </gml:coordinates>              </gml:LinearRing>            </gml:outerBoundaryIs>            <gml:innerBoundaryIs>              <gml:LinearRing>                <gml:coordinates>134960.590000,455455.163000 134963.589000,455458.755000 134973.756000,455470.929000 134973.836000,455471.019000 134974.216000,455471.445000 134975.807000,455470.163000 134978.485000,455468.005000 134978.077000,455467.534000 134978.015000,455467.462000 134967.969000,455455.479000 134964.782000,455451.678000 134954.705000,455439.660000 134954.622000,455439.561000 134954.271000,455439.152000 134951.498000,455441.284000 134949.973000,455442.456000 134950.452000,455443.023000 134950.501000,455443.081000 134960.590000,455455.163000 </gml:coordinates>              </gml:LinearRing>            </gml:innerBoundaryIs>          </gml:Polygon>        </gml:polygonMember>        </gml:MultiPolygon>        </rws:geometry>        <rws:OBJECTID>16</rws:OBJECTID>        <rws:OBJECTSUBCATEGORIE>31</rws:OBJECTSUBCATEGORIE>      </rws:VKUNSTWERK>    </gml:featureMember>    <gml:featureMember>      <rws:LKUNSTWERK fid="LKUNSTWERK.14">        <gml:boundedBy>              <gml:Box srsName="EPSG:28992">                  <gml:coordinates>135080.966000,455332.337000 135149.909000,455390.384000</gml:coordinates>              </gml:Box>        </gml:boundedBy>        <rws:geometry>        <gml:MultiLineString srsName="EPSG:28992">          <gml:lineStringMember>            <gml:LineString>              <gml:coordinates>135080.966000,455390.384000 135096.654000,455377.009000 135109.082000,455366.755000 135122.769000,455355.276000 135141.565000,455339.633000 135149.909000,455332.337000 </gml:coordinates>            </gml:LineString>          </gml:lineStringMember>        </gml:MultiLineString>        </rws:geometry>        <rws:OBJECTID>14</rws:OBJECTID>        <rws:OBJECTSUBCATEGORIE>30</rws:OBJECTSUBCATEGORIE>      </rws:LKUNSTWERK>    </gml:featureMember>    <gml:featureMember>      <rws:PKUNSTWERK fid="PKUNSTWERK.29">        <gml:boundedBy>             <gml:Box srsName="EPSG:28992">                  <gml:coordinates>134832.017000,455596.187000 134832.017000,455596.187000</gml:coordinates>              </gml:Box>        </gml:boundedBy>        <rws:geometry>        <gml:MultiPoint srsName="EPSG:28992">          <gml:pointMember>            <gml:Point>              <gml:coordinates>134832.017000,455596.187000</gml:coordinates>            </gml:Point>          </gml:pointMember>        </gml:MultiPoint>        </rws:geometry>        <rws:OBJECTID>29</rws:OBJECTID>        <rws:OBJECTSUBCATEGORIE>30</rws:OBJECTSUBCATEGORIE>      </rws:PKUNSTWERK>    </gml:featureMember></wfs:FeatureCollection>
 
663
--></div>
 
664
<div id="v2/nogeom.xml"><!--
 
665
<?xml version="1.0" encoding="UTF-8"?><wfs:FeatureCollection xmlns="http://www.opengis.net/wfs" xmlns:wfs="http://www.opengis.net/wfs" xmlns:gml="http://www.opengis.net/gml" xmlns:loc="http://server.fr/geoserver/loc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wfs http://server.fr:80/geoserver/schemas/wfs/1.0.0/WFS-basic.xsd http://server.fr/geoserver/loc http://server.fr:80/geoserver/wfs?service=WFS&amp;version=1.0.0&amp;request=DescribeFeatureType&amp;typeName=loc:DEPARTEMENT"><gml:boundedBy><gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#2154"><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">199373,6704170 337568,6885985</gml:coordinates></gml:Box></gml:boundedBy><gml:featureMember><loc:DEPARTEMENT fid="DEPARTEMENT.1"><gml:boundedBy><gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#2154"><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">209565,6785323 337568,6885985</gml:coordinates></gml:Box></gml:boundedBy><loc:NOM_DEPT>COTES-D'ARMOR</loc:NOM_DEPT></loc:DEPARTEMENT></gml:featureMember><gml:featureMember><loc:DEPARTEMENT fid="DEPARTEMENT.3"><gml:boundedBy><gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#2154"><gml:coordinates xmlns:gml="http://www.opengis.net/gml" decimal="." cs="," ts=" ">199373,6704170 323518,6807542</gml:coordinates></gml:Box></gml:boundedBy><loc:NOM_DEPT>MORBIHAN</loc:NOM_DEPT></loc:DEPARTEMENT></gml:featureMember></wfs:FeatureCollection>
 
666
--></div>
 
667
</body>
 
668
</html>