Giter VIP home page Giter VIP logo

foss4g-benchmark-style's People

Contributors

kkaefer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

foss4g-benchmark-style's Issues

rendering fewer lakes in rare cases

looking for optimizations

@ajashton - When you get back in can we sync up on getting you running with the latest patch from http://trac.mapnik.org/ticket/780 ?

I'd like you to test with it to see if you can find things that we can either be doing better in how the styles are authored, things perhaps carto could be doing in conversion, or things mapnik could do better based on what you see output.

Benchmarking is happening over the next couple of days. Technically the deadline is the 1st but I think teams will allow further testing, so if you could make any tweaks before the end of the week that would be ideal, or early next week.

where clause on waterareas?

We area using a WHERE clause like: where round(st_area(geometry)) > 1000 on the waterareas_gen* tables, which is unfair if it selects fewer features than mapserver. So, I think we should remove. Also, at least in my local db it appears these were having no affect, so it may be faster to not use the WHERE clause anyway to avoid the calculation...


osm=# select count(*) from osm_waterareas_gen0;
 count 
-------
   267
(1 row)

osm=# select count(*) from osm_waterareas_gen0 where round(st_area(geometry)) > 1000;
 count 
-------
   267
(1 row)

osm=# select count(*) from osm_waterareas_gen1 where round(st_area(geometry)) > 1000;
 count 
-------
  1840
(1 row)

osm=# select count(*) from osm_waterareas_gen1;
 count 
-------
  1840
(1 row)

shapefiles check

The mapserver mapfile I think uses some shapefiles in wgs84. Early on we discussed with the mapserver team about ensuring these would be in mercator for the main test, and then there will likely be a fully reprojected test (where map request will be in wgs84).

So, just flagging an issue that we may need to change the style first thing next week when I can get more info on this.

shapefiles should be from: http://mapserver-utils.googlecode.com/svn/branches/imposm-branch/data/

Urgent: actually use shoreline_300 and processed_p

We need to match the mapserver mapfile exactly in terms of shapefile usage. I just noticed we're not actually using these shapefiles and we need to be.

They provide the background, and their usage will definitely slow down rendering, but we need to match the mapserver mapfile.

Drawing order of places labels

I try to understand the drawing order of the places labels

You style them like this:

place::city[type='city'] {...}

place::town[type='town'] {...}

place::village[type='village'] {...}

place::small[type='suburb'] {...}

In witch order should the labels be drawn ?

I can do what i want if there is a suburb label near a city label ... the city label is not drawn and the suburb label is drawn

I cannot change that behaviour with the order of the styles or with the order of the Names in the db (with z_order)

I only can control the order of drawing when i write the style different :

place[type='city'] {...}

place[type='town'] {...}

place[type='village'] {...}

place[type='suburb'] {...}

This works and the labels are drawn in the order they appear in the db ... so if i order them there (cities first) cities are drawn first.

Not so with your kind of style. Could you explain the order of the labels in the way you used it with the places labels ?

table prefix issue

It appears you've used 'osm_new...' as a prefix for tables vs. osm. If this was just for testing would be great to switch back to the default as the benchmarking server tables just are like "osm_roads_gen0".

referencing auto-converted style

I'm starting to make progress on reflecting the syntax used in the mapserver version via a python conversion script at https://github.com/springmeyer/mapserver2mapnik/. I'll update this issue as I make progress so we can check in.

Currently I've only focused on one set of bounds but most things are working, except:

  • river order is wrong
  • labels are too dense (need to be more sparse - likely will fix upstream in mapnik via new parameters to prevent labeling short streets)
  • some primary-link filters are broken.

editing in tilemill broken

Need to look into why this is happening. With latest carto master, when trying to load the style in tilemill, tilemill renders blank blue tiles and the console outputs:


Client Error: ReferenceError: Can't find variable: id
    at http://localhost:8889/assets/bones/all.js:5645
proj_init_error:failed to initialize projection with: 'undefined'

leverage "instances"

@ajashton - can you take a look at mapbox/carto#105 and comment on what this might look like to start leveraging.

@kkaefer - I assume this could help ensure the most possible efficiency in rendering in cases where you don't need to draw features in two passes (like casings)?

small typos

water_label[zoom>15][area>125000],

water_label[zoom>16][area>612500], <- should be 62500

landuse_label[zoom>15][area>125000],

landuse_label[zoom>16][area>612500], <- should be 62500

backgrounds don't match mapserver for some requests

This is urgent.

It appears that mapnik has blue backgrounds for some requests while mapserver has white, which indicates to me that the mapnik style may be skipping rendering of some shapefiles when it should not. Ideally this could be fixed before #13.

The two requests (from http://svn.osgeo.org/osgeo/foss4g/benchmarking/wms/2011/jmeter/csv/3857.csv) that I noticed this are:

415;514;-11560133,4664945.2,-11559977,4665138.9
127;412;-11927140,4816562.7,-11927095,4816706.6

And the script I used to spot this was:

mapnik = 'http://12.189.158.78:8091/?SRS=EPSG:3857&LAYERS=__all__&STYLES=&FORMAT=image/png&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&BBOX='
mapnik_template = '%(bbox)s&WIDTH=%(width)s&HEIGHT=%(height)s'

mapserver = 'http://12.189.158.78:8081/cgi-bin/mapserv6?MAP=/benchmarking/wms/2011/mapserver/osm-google.map&layers=default&mode=map&map_imagetype=png&mapext=%(bbox)s&imgext=%(bbox)s&map_size=%(width)s+%(height)s&imgx=%(width)s&imgy=%(height)s&imgxy=%(width)s+%(height)s'

import os

# http://svn.osgeo.org/osgeo/foss4g/benchmarking/wms/2011/jmeter/csv
csv = '3857.csv'

csv_file = open(csv,'r')

csv_lines = csv_file.readlines()
#csv_lines = csv_file.readlines()[:4]

idx = 1

for line in csv_lines:
    width,height,bbox = line.split(';')
    bbox = bbox.strip()
    mapnik_url = mapnik + mapnik_template % locals()
    os.system('wget "%s" -O tiles/%s_mapnik.png' % (mapnik_url,idx))
    bbox = bbox.replace(',','+')
    mapserver_url = mapserver  % locals()
    print mapserver_url
    os.system('wget "%s" -O tiles/%s_mapserver.png' % (mapserver_url,idx))
    idx += 1
    #print width,height,bbox

sparser labels

mapserver appears to be drawing labels (in the one sample request at least) more sparsely than this style (which is now set up and viewable here)

I think we should be able to match this with a new text_symbolizer property like text-buffer-size:200 which could fast track throwing away nearby labels: http://trac.mapnik.org/ticket/840

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.