Mapnik layers-shapefiles.xml.inc中的样式中有多个规则

Mapnik layers-shapefiles.xml.inc中的样式中有多个规则,mapnik,Mapnik,我在openlayers中使用mapnik 0.7.1和Tileite。我想为shapefile层(在layers shapefile.xml.inc中)的样式下规定两条规则,但是,如果我这样做,liteserv.py将不会启动。我还尝试了这一层的两种样式(每种样式一条规则),但结果相同。以下是样式块: <Style name="wilderness_boundaries"> <Rule> &maxscale_zoom0; &

我在openlayers中使用mapnik 0.7.1和Tileite。我想为shapefile层(在layers shapefile.xml.inc中)的样式下规定两条规则,但是,如果我这样做,liteserv.py将不会启动。我还尝试了这一层的两种样式(每种样式一条规则),但结果相同。以下是样式块:

<Style name="wilderness_boundaries">
    <Rule>
      &maxscale_zoom0;
      &minscale_zoom9;
      <PolygonSymbolizer>
        <CssParameter name="fill">#72B656</CssParameter>
      </PolygonSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">grey</CssParameter>
        <CssParameter name="stroke-width">1.0</CssParameter>
        <CssParameter name="stroke-dasharray">4,2</CssParameter>
      </LineSymbolizer>
    </Rule>

    <Rule>
      &maxscale_zoom10;
      &minscale_zoom20; 
      <PolygonSymbolizer>
        <CssParameter name="fill">#72B656</CssParameter>
      </PolygonSymbolizer>
      <LineSymbolizer>
        <CssParameter name="stroke">grey</CssParameter>
        <CssParameter name="stroke-width">1.0</CssParameter>
        <CssParameter name="stroke-dasharray">4,2</CssParameter>
      </LineSymbolizer>
      <TextSymbolizer name="NAME" fontset_name="book-fonts" size="8" dy="2" fill="grey" halo_radius="1" />
    </Rule>

</Style>

&最大缩放0;
&minscale_zoom9;
#72B656
灰色
1
4,2
&最大刻度;
&minscale_zoom20;
#72B656
灰色
1
4,2
以及相应的图层定义:

<Layer name="wilderness_boundaries" status="on" srs="&srs4326;">
    <StyleName>wilderness_boundaries</StyleName>
    <Datasource>
      <Parameter name="type">shape</Parameter>
      <Parameter name="file">&world_boundaries;/wilderness_EPSG4326.shp</Parameter>
      <Parameter name="encoding">latin1</Parameter>
    </Datasource>
</Layer>

荒野边界
形状
&世界边界/荒野_EPSG4326.shp
拉丁语1
如果使用此配置执行generate_image.py,则会出现分段错误

如您所见,我尝试在所有缩放级别显示荒野区域多边形,但仅在10以上的缩放级别标记它们。osm.xml中的给定样式允许使用多个规则,我缺少什么

谢谢,
John

一个segfault表示您忘记运行
generate_xml.py
——换句话说,样式表在
inc/
目录中仍然有需要填写的文件。mapnik在后台使用的库libxml2有一个愚蠢的错误,当无法加载实体时会导致segfaults。

Dane,谢谢你的回答。我希望你能理解我的问题。原来是缩放设置(minscale_zoom20)。显然20太高了。我把它减少到了18个,现在一切正常了。还有一个问题,我运行了generate_xml.py,它只创建了一个新的my_osm.xml。我将osm.xml作为我的映射文件,这不应该也是新创建的吗?我应该指向我的_osm.xml吗?我不熟悉这些工具,但印象深刻。谢谢你的出色工作。在tilecache中摆弄了两周的分辨率设置之后,我转向了TileElite,它在inc/中使用了fantastic.osm.xml引用文件-您应该能够直接使用它。general_xml.py可以创建副本,但不需要。