-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathPKG-INFO
More file actions
140 lines (106 loc) · 4.44 KB
/
PKG-INFO
File metadata and controls
140 lines (106 loc) · 4.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Metadata-Version: 1.1
Name: python-sld
Version: 1.0.10
Summary: A simple python library that enables dynamic SLD creation and manipulation.
Home-page: http://github.com/azavea/python-sld/
Author: David Zwarg
Author-email: david.a@zwarg.com
License: Apache 2.0
Description: python-sld
==========
A python library for reading, writing, and manipulating SLD files.
Requirements
============
The lxml library is required for XML parsing and XML Schema validation. This
requirement is listed in requirements.txt, and may be installed using pip with
this command:
> sudo pip install -r requirements.txt
Installation
============
> easy_install python-sld
OR
> pip install python-sld
Usage
=====
Using python-sld to create SLD documents is as easy as instantiating a
StyledLayerDescriptor class object.
from sld import StyledLayerDescriptor
mysld = StyledLayerDescriptor()
You may also read an existing SLD document in by passing it as a parameter:
from sld import StyledLayerDescriptor
mysld = StyledLayerDescriptor('mysld.sld')
Addition of most elements are performed on the parent element, since they are
related to parent nodes in order to preserve compliance:
nl = mysld.create_namedlayer()
ustyle = nl.create_style()
A couple class objects represent collections of nodes, such as Rules and
CssParameters. They are properties of their parent classes (FeatureTypeStyle
and Fill/Stroke/Font respectively). They behave as python lists, and you
can access any of their items using a python list pattern:
fts = ustyle.create_featuretypestyle()
rule1 = fts.Rules[0]
print len(fts.Rules)
fts.Rules[0] = rule1
Filter objects are pythonic, and when combined with the '+' operator, they
become ogc:And filters. When combined with the '|' operator, they become
ogc:Or filters.
from sld import Filter
filter_1 = Filter(rule)
# set filter 1 properties
filter_2 = Filter(rule)
# set filter 2 properties
rule.Filter = filter_1 + filter_2
You may also construct a filter from an expression when using the create_filter
method on the Rule object:
filter = rule.create_filter('population', '>', '100')
Implementation
==============
At the current time, python-sld does ''not'' support the full SLD
specification. The current implementation supports the following SLD elements:
- StyledLayerDescriptor
- NamedLayer
- Name (of NamedLayer)
- UserStyle
- Title (of UserStyle and Rule)
- Abstract
- FeatureTypeStyle
- Rule
- ogc:Filter
- ogc:And
- ogc:Or
- ogc:PropertyIsNotEqualTo
- ogc:PropertyIsLessThan
- ogc:PropertyIsLessThanOrEqualTo
- ogc:PropertyIsEqualTo
- ogc:PropertyIsGreaterThanOrEqualTo
- ogc:PropertyIsGreaterThan
- ogc:PropertyIsLike
- ogc:PropertyName
- ogc:Literal
- MinScaleDenominator
- MaxScaleDenominator
- PointSymbolizer
- LineSymbolizer
- PolygonSymbolizer
- TextSymbolizer
- Mark
- Graphic
- Fill
- Stroke
- Font
- CssParameter
Support
=======
If you have any problems or questions, please visit the python-sld project on
github: https://github.com/azavea/python-sld/
Contributors
============
@[ewsterrenburg](https://github.com/ewsterrenburg)
Keywords: ogc sld geo geoserver mapserver osgeo
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering :: GIS
Requires: lxml