filter out non-polygons with assert_multipolygon

This commit is contained in:
Laura Klünder 2016-12-22 20:00:46 +01:00
parent 4257fc8a77
commit f064e02f1d
3 changed files with 16 additions and 19 deletions

View file

@ -1,16 +1,13 @@
FROM debian:jessie FROM python:alpine
RUN apt-get update && apt-get install -y locales git build-essential \ RUN echo "@testing http://dl-4.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
python3 python3-pip python3-dev \ && echo "@community http://dl-4.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
libpq-dev libmysqlclient-dev libmemcached-dev libgeos-dev gettext \ && apk update \
librsvg2-bin --no-install-recommends \ && apk add --update git g++ libc-dev tcl tk libpq libjpeg-turbo-dev lapack@community openblas@community postgresql-dev libmemcached geos@testing gettext librsvg-dev \
&& dpkg-reconfigure locales \ && mkdir /etc/c3nav \
&& locale-gen C.UTF-8 \ && mkdir /data \
&& /usr/sbin/update-locale LANG=C.UTF-8 \ && mkdir /data/map \
&& apt-get clean \ && ln -s /usr/include/locale.h /usr/include/xlocale.h
&& rm -rf /var/lib/apt/lists/* \
&& useradd -ms /bin/bash -d /c3nav -u 15371 c3navuser \
&& mkdir /etc/c3nav && mkdir /data && mkdir /data/map
ENV LC_ALL C.UTF-8 ENV LC_ALL C.UTF-8
@ -19,14 +16,13 @@ WORKDIR /c3nav/src
COPY deployment/docker/c3nav.bash /usr/local/bin/c3nav COPY deployment/docker/c3nav.bash /usr/local/bin/c3nav
RUN pip3 install -U pip wheel setuptools RUN pip install -r requirements.txt -r requirements/production-extra.txt -r requirements/postgres.txt \
RUN pip3 install -r requirements.txt -r requirements/mysql.txt -r requirements/postgres.txt \ -r requirements/memcached.txt -r requirements/redis.txt gunicorn \
-r requirements/memcached.txt -r requirements/redis.txt gunicorn \
&& mkdir /static \
&& chown -R c3navuser:c3navuser /static /c3nav /data \
&& chmod +x /usr/local/bin/c3nav && chmod +x /usr/local/bin/c3nav
USER c3navuser RUN python manage.py collectstatic
&& python manage.py compress
&& python manage.py compilemessages
EXPOSE 8000 EXPOSE 8000

View file

@ -29,7 +29,7 @@ def assert_multipolygon(geometry):
return [] return []
if isinstance(geometry, Polygon): if isinstance(geometry, Polygon):
return [geometry] return [geometry]
return geometry.geoms return [geom for geom in geometry.geoms if isinstance(geom, Polygon)]
def assert_multilinestring(geometry): def assert_multilinestring(geometry):

View file

@ -133,6 +133,7 @@ class GraphRoom():
points += self._add_ring(interior, want_left=True) points += self._add_ring(interior, want_left=True)
# points around steps # points around steps
print(self._built_isolated_areas)
self.add_points_on_rings(self._built_isolated_areas) self.add_points_on_rings(self._built_isolated_areas)
def _add_ring(self, geom, want_left): def _add_ring(self, geom, want_left):