Skip to content
Permalink
Browse files

Merge branch 'master' into fix-wms

  • Loading branch information
tcoupin committed Jul 24, 2018
2 parents 6a68309 + 10a66da commit eec843c62d385432b250a1c1d494c896117e2143
Showing with 5,346 additions and 2,890 deletions.
  1. +1 −1 debian/qgis-providers.install.in
  2. +1 −1 debian/rules
  3. +7 −0 python/gui/auto_generated/qgisinterface.sip.in
  4. +71 −0 python/gui/auto_generated/qgssvgsourcelineedit.sip.in
  5. +1 −0 python/gui/gui_auto.sip
  6. +0 −3 python/plugins/processing/algs/help/qgis.yaml
  7. +0 −83 python/plugins/processing/algs/qgis/ExtendLines.py
  8. +0 −4 python/plugins/processing/algs/qgis/QgisAlgorithmProvider.py
  9. +0 −70 python/plugins/processing/algs/qgis/ReverseLineDirection.py
  10. +2 −2 python/plugins/processing/algs/qgis/SelectByAttribute.py
  11. BIN python/plugins/processing/tests/testdata/expected/filter_by_m.dbf
  12. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m.prj
  13. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m.qpj
  14. BIN python/plugins/processing/tests/testdata/expected/filter_by_m.shp
  15. BIN python/plugins/processing/tests/testdata/expected/filter_by_m.shx
  16. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_max.dbf
  17. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m_no_max.prj
  18. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m_no_max.qpj
  19. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_max.shp
  20. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_max.shx
  21. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_min.dbf
  22. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m_no_min.prj
  23. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_m_no_min.qpj
  24. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_min.shp
  25. BIN python/plugins/processing/tests/testdata/expected/filter_by_m_no_min.shx
  26. BIN python/plugins/processing/tests/testdata/expected/filter_by_z.dbf
  27. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z.prj
  28. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z.qpj
  29. BIN python/plugins/processing/tests/testdata/expected/filter_by_z.shp
  30. BIN python/plugins/processing/tests/testdata/expected/filter_by_z.shx
  31. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_max.dbf
  32. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z_no_max.prj
  33. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z_no_max.qpj
  34. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_max.shp
  35. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_max.shx
  36. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_min.dbf
  37. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z_no_min.prj
  38. +1 −0 python/plugins/processing/tests/testdata/expected/filter_by_z_no_min.qpj
  39. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_min.shp
  40. BIN python/plugins/processing/tests/testdata/expected/filter_by_z_no_min.shx
  41. +33 −0 python/plugins/processing/tests/testdata/expected/reverse_multiline.gml
  42. +23 −0 python/plugins/processing/tests/testdata/expected/reverse_multiline.xsd
  43. +1 −0 python/plugins/processing/tests/testdata/grass7_algorithms_imagery_tests.yaml
  44. +1 −0 python/plugins/processing/tests/testdata/lines_z.cpg
  45. BIN python/plugins/processing/tests/testdata/lines_z.dbf
  46. +1 −0 python/plugins/processing/tests/testdata/lines_z.prj
  47. +1 −0 python/plugins/processing/tests/testdata/lines_z.qpj
  48. BIN python/plugins/processing/tests/testdata/lines_z.shp
  49. BIN python/plugins/processing/tests/testdata/lines_z.shx
  50. +88 −3 python/plugins/processing/tests/testdata/qgis_algorithm_tests.yaml
  51. +4 −0 python/pyplugin_installer/qgsplugininstallerfetchingdialog.py
  52. +2 −0 python/server/auto_additions/qgsserverparameters.py
  53. +350 −0 python/server/auto_generated/qgsserverparameters.sip.in
  54. +5 −0 python/server/auto_generated/qgsserverrequest.sip.in
  55. +1 −0 python/server/server_auto.sip
  56. +1 −2 src/3d/qgs3dmapscene.cpp
  57. +1 −1 src/3d/qgsoffscreen3dengine.h
  58. +16 −21 src/3d/qgsraycastingutils_p.cpp
  59. +11 −12 src/3d/qgsraycastingutils_p.h
  60. +3 −0 src/analysis/CMakeLists.txt
  61. +1 −5 src/analysis/interpolation/NormVecDecorator.cpp
  62. +1 −1 src/analysis/processing/qgsalgorithmdifference.cpp
  63. +142 −0 src/analysis/processing/qgsalgorithmextendlines.cpp
  64. +71 −0 src/analysis/processing/qgsalgorithmextendlines.h
  65. +1 −1 src/analysis/processing/qgsalgorithmextractbylocation.cpp
  66. +194 −0 src/analysis/processing/qgsalgorithmfiltervertices.cpp
  67. +108 −0 src/analysis/processing/qgsalgorithmfiltervertices.h
  68. +1 −1 src/analysis/processing/qgsalgorithmintersection.cpp
  69. +5 −5 src/analysis/processing/qgsalgorithmreclassifybylayer.h
  70. +132 −0 src/analysis/processing/qgsalgorithmreverselinedirection.cpp
  71. +60 −0 src/analysis/processing/qgsalgorithmreverselinedirection.h
  72. +2 −2 src/analysis/processing/qgsalgorithmsymmetricaldifference.cpp
  73. +4 −4 src/analysis/processing/qgsalgorithmunion.cpp
  74. +2 −2 src/analysis/processing/qgsalgorithmvectorize.h
  75. +7 −0 src/analysis/processing/qgsnativealgorithms.cpp
  76. +2 −8 src/analysis/raster/qgsrastercalcnode.cpp
  77. +0 −4 src/app/3d/qgs3danimationsettings.cpp
  78. +1 −1 src/app/3d/qgs3danimationsettings.h
  79. +1 −1 src/app/3d/qgs3danimationwidget.h
  80. +1 −1 src/app/dwg/qgsdwgimporter.h
  81. +2 −4 src/app/gps/qgsgpsinformationwidget.cpp
  82. +0 −2 src/app/mesh/qgsmeshdatasetgrouptreeview.cpp
  83. +0 −2 src/app/mesh/qgsmeshdatasetgrouptreeview.h
  84. +0 −1 src/app/mesh/qgsmeshlayerproperties.h
  85. +4 −1 src/app/mesh/qgsmeshrendereractivedatasetwidget.cpp
  86. +0 −1 src/app/mesh/qgsmeshrendereractivedatasetwidget.h
  87. +0 −1 src/app/mesh/qgsmeshrenderermeshsettingswidget.h
  88. +0 −1 src/app/mesh/qgsmeshrendererscalarsettingswidget.h
  89. +0 −1 src/app/mesh/qgsmeshrenderervectorsettingswidget.h
  90. +4 −0 src/app/mesh/qgsrenderermeshpropertieswidget.cpp
  91. +0 −1 src/app/mesh/qgsrenderermeshpropertieswidget.h
  92. +1 −0 src/app/qgisappinterface.cpp
  93. +1 −0 src/app/qgisappinterface.h
  94. +4 −8 src/app/qgsdecorationgrid.cpp
  95. +3 −0 src/app/qgsdecorationnortharrow.cpp
  96. +3 −7 src/app/qgsidentifyresultsdialog.cpp
  97. +1 −1 src/app/qgsvariantdelegate.cpp
  98. +1 −4 src/app/vertextool/qgsvertexeditor.cpp
  99. +2 −2 src/app/vertextool/qgsvertextool.cpp
  100. +0 −12 src/auth/oauth2/qgsauthoauth2config.cpp
  101. +0 −9 src/auth/oauth2/qgsauthoauth2config.h
  102. +263 −36 src/auth/oauth2/qgsauthoauth2edit.cpp
  103. +35 −2 src/auth/oauth2/qgsauthoauth2edit.h
  104. +234 −169 src/auth/oauth2/qgsauthoauth2edit.ui
  105. +14 −3 src/auth/oauth2/qgsauthoauth2method.cpp
  106. +15 −1 src/auth/oauth2/qgsauthoauth2method.h
  107. +166 −0 src/auth/oauth2/qgso2.cpp
  108. +35 −1 src/auth/oauth2/qgso2.h
  109. +3 −3 src/auth/oauth2/qjsonwrapper/Json.cpp
  110. +2 −2 src/auth/oauth2/qjsonwrapper/Json.h
  111. +1 −1 src/core/geometry/qgsgeometry.cpp
  112. +2 −6 src/core/gps/qgsgpsdetector.cpp
  113. +2 −2 src/core/layertree/qgslayertreemodellegendnode.cpp
  114. +3 −5 src/core/mesh/qgsmeshlayer.cpp
  115. +1 −2 src/core/pal/pointset.cpp
  116. +7 −16 src/core/pal/problem.cpp
  117. +1 −2 src/core/qgslocalec.cpp
  118. +23 −23 src/core/qgsnetworkaccessmanager.cpp
  119. +0 −4 src/core/qgsnetworkcontentfetcherregistry.cpp
  120. +1 −1 src/core/qgsnetworkcontentfetcherregistry.h
  121. +1 −2 src/core/qgsproperty.cpp
  122. +1 −1 src/core/qgssqliteutils.cpp
  123. +1 −1 src/core/qgstessellator.cpp
  124. +1 −1 src/core/qgsvectorlayer.cpp
  125. +1 −3 src/core/qgsvectorlayerexporter.cpp
  126. +7 −0 src/core/symbology/qgssvgcache.cpp
  127. +2 −0 src/gui/CMakeLists.txt
  128. +1 −2 src/gui/attributetable/qgsattributetableview.cpp
  129. +9 −7 src/gui/editorwidgets/qgsrelationreferencewidget.cpp
  130. +1 −0 src/gui/editorwidgets/qgsrelationreferencewidget.h
  131. +1 −5 src/gui/effects/qgseffectstackpropertieswidget.cpp
  132. +0 −4 src/gui/processing/qgsprocessingalgorithmdialogbase.cpp
  133. +1 −1 src/gui/processing/qgsprocessingalgorithmdialogbase.h
  134. +1 −4 src/gui/processing/qgsprocessingconfigurationwidgets.cpp
  135. +6 −0 src/gui/qgisinterface.h
  136. +0 −6 src/gui/qgsadvanceddigitizingdockwidget.cpp
  137. +1 −2 src/gui/qgsattributedialog.cpp
  138. +8 −2 src/gui/qgscodeeditorhtml.cpp
  139. +1 −1 src/gui/qgsoptionsdialoghighlightwidgetsimpl.cpp
  140. +212 −0 src/gui/qgssvgsourcelineedit.cpp
  141. +92 −0 src/gui/qgssvgsourcelineedit.h
  142. +14 −3 src/gui/qgstextformatwidget.cpp
  143. +5 −6 src/gui/symbology/qgscptcitycolorrampdialog.cpp
  144. +7 −51 src/gui/symbology/qgssvgselectorwidget.cpp
  145. +1 −4 src/gui/symbology/qgssvgselectorwidget.h
  146. +15 −97 src/gui/symbology/qgssymbollayerwidget.cpp
  147. +2 −6 src/gui/symbology/qgssymbollayerwidget.h
  148. +1 −4 src/plugins/evis/evis.cpp
  149. +1 −5 src/plugins/topology/topolTest.cpp
  150. +2 −10 src/providers/ogr/qgsogrtransaction.cpp
  151. +2 −8 src/providers/virtual/qgsvirtuallayersqlitemodule.cpp
  152. +1 −1 src/providers/wfs/qgswfsnewconnection.h
  153. +1 −4 src/providers/wfs/qgswfsprovider.cpp
  154. +3 −3 src/providers/wms/qgswmscapabilities.h
  155. +1 −1 src/quickgui/qgsquickidentifykit.cpp
  156. +2 −0 src/server/CMakeLists.txt
  157. +11 −27 src/server/qgsserver.cpp
  158. +1 −1 src/server/qgsserver.h
  159. +22 −0 src/server/qgsserverexception.h
  160. +469 −0 src/server/qgsserverparameters.cpp
  161. +328 −0 src/server/qgsserverparameters.h
  162. +11 −27 src/server/qgsserverrequest.cpp
  163. +7 −4 src/server/qgsserverrequest.h
  164. +3 −3 src/server/services/wfs/qgswfs.cpp
  165. +1 −1 src/server/services/wfs/qgswfsdescribefeaturetype.cpp
  166. +1 −1 src/server/services/wfs/qgswfsgetfeature.cpp
  167. +153 −271 src/server/services/wfs/qgswfsparameters.cpp
  168. +86 −48 src/server/services/wfs/qgswfsparameters.h
  169. +7 −6 src/server/services/wfs/qgswfsutils.cpp
  170. +3 −1 src/server/services/wms/qgsdxfwriter.cpp
  171. +28 −25 src/server/services/wms/qgswms.cpp
  172. +3 −1 src/server/services/wms/qgswmsgetfeatureinfo.cpp
  173. +3 −1 src/server/services/wms/qgswmsgetlegendgraphics.cpp
  174. +3 −1 src/server/services/wms/qgswmsgetmap.cpp
  175. +2 −1 src/server/services/wms/qgswmsgetprint.cpp
  176. +662 −1,033 src/server/services/wms/qgswmsparameters.cpp
  177. +219 −77 src/server/services/wms/qgswmsparameters.h
  178. +23 −28 src/server/services/wms/qgswmsrenderer.cpp
  179. +2 −3 src/server/services/wms/qgswmsrenderer.h
  180. +159 −161 src/ui/symbollayer/widget_svgfill.ui
  181. +311 −309 src/ui/symbollayer/widget_svgmarker.ui
  182. +27 −34 src/ui/symbollayer/widget_svgselector.ui
  183. +104 −4 tests/src/auth/testqgsauthoauth2method.cpp
  184. +24 −0 tests/src/core/testqgssvgcache.cpp
  185. +1 −0 tests/src/python/CMakeLists.txt
  186. +1 −1 tests/src/python/test_qgsserver_wms.py
  187. +49 −0 tests/src/python/test_qgssvgsourcelineedit.py
  188. +1 −0 tests/testdata/auth_system/oauth2/auth_code_grant_display_code.jwt
  189. +3 −0 tests/testdata/auth_system/oauth2/auth_code_grant_display_code_get_config.json
  190. +1 −0 tests/testdata/auth_system/oauth2/auth_code_grant_display_code_registration_endpoint.jwt
  191. +4 −0 tests/testdata/auth_system/oauth2/client_information_registration_response.json
  192. BIN tests/testdata/control_images/expected_null_image/expected_null_image.png
  193. BIN tests/testdata/control_images/expected_null_image/expected_null_image_mask.png
  194. BIN tests/testdata/control_images/expected_svgcache_base64/expected_svgcache_base64.png
  195. BIN tests/testdata/control_images/expected_svgcache_base64/expected_svgcache_base64_mask.png
@@ -20,4 +20,4 @@ usr/lib/qgis/plugins/libwmsprovider.so
usr/lib/qgis/plugins/libarcgismapserverprovider.so
usr/lib/qgis/plugins/libarcgisfeatureserverprovider.so
usr/lib/qgis/plugins/libmdalprovider.so
{QT_PLUGINS_DIR}/sqldrivers/libqsqlspatialite.so
#!xenial#{QT_PLUGINS_DIR}/sqldrivers/libqsqlspatialite.so
@@ -92,7 +92,7 @@ ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MAKEFLAGS += -j$(NUMJOBS)
endif

ifneq ($(DISTRIBUTION),"xenial")
ifneq ($(DISTRIBUTION),xenial)
CMAKE_OPTS += -DWITH_QSPATIALITE=TRUE
endif

@@ -256,6 +256,13 @@ Returns a reference to the main window "File" toolbar.
virtual QToolBar *layerToolBar() = 0;
%Docstring
Returns a reference to the main window "Layer" toolbar.
%End

virtual QToolBar *dataSourceManagerToolBar() = 0;
%Docstring
Returns a reference to the main window "Data Source Manager" toolbar.

.. versionadded:: 3.4
%End

virtual QToolBar *mapNavToolToolBar() = 0;
@@ -0,0 +1,71 @@
/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgssvgsourcelineedit.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/




class QgsSvgSourceLineEdit : QWidget
{
%Docstring
A line edit widget with toolbutton for setting an SVG image path.

.. versionadded:: 3.4
%End

%TypeHeaderCode
#include "qgssvgsourcelineedit.h"
%End
public:

QgsSvgSourceLineEdit( QWidget *parent /TransferThis/ = 0 );
%Docstring
Constructor for QgsSvgSourceLineEdit, with the specified ``parent`` widget.
%End

QString source() const;
%Docstring
Returns the current SVG source.

.. seealso:: :py:func:`setSource`

.. seealso:: :py:func:`sourceChanged`
%End

void setLastPathSettingsKey( const QString &key );
%Docstring
Sets a specific settings ``key`` to use when storing the last
used path for the SVG source.
%End

public slots:

void setSource( const QString &source );
%Docstring
Sets a new ``source`` to show in the widget.

.. seealso:: :py:func:`source`

.. seealso:: :py:func:`sourceChanged`
%End

signals:

void sourceChanged( const QString &source );
%Docstring
Emitted whenever the SVG source is changed in the widget.
%End

};

/************************************************************************
* This file has been generated automatically from *
* *
* src/gui/qgssvgsourcelineedit.h *
* *
* Do not edit manually ! Edit header and run scripts/sipify.pl again *
************************************************************************/
@@ -195,6 +195,7 @@
%Include auto_generated/qgsstatusbar.sip
%Include auto_generated/qgssublayersdialog.sip
%Include auto_generated/qgssubstitutionlistwidget.sip
%Include auto_generated/qgssvgsourcelineedit.sip
%Include auto_generated/qgssymbolbutton.sip
%Include auto_generated/qgstablewidgetbase.sip
%Include auto_generated/qgstabwidget.sip
@@ -157,9 +157,6 @@ qgis:exportaddgeometrycolumns: >

Depending on the geometry type of the vector layer, the attributes added to the table will be different.

qgis:extendlines: >
This algorithm extends line geometries by a specified amount at the start and end of the line. Lines are extended using the bearing of the first and last segment in the line.

qgis:extractbyattribute: >
This algorithm creates a new vector layer that only contains matching features from an input layer. The criteria for adding features to the resulting layer is defined based on the values of an attribute from the input layer.

This file was deleted.

@@ -65,7 +65,6 @@
from .EliminateSelection import EliminateSelection
from .ExecuteSQL import ExecuteSQL
from .ExportGeometryInfo import ExportGeometryInfo
from .ExtendLines import ExtendLines
from .ExtentFromLayer import ExtentFromLayer
from .ExtractSpecificVertices import ExtractSpecificVertices
from .FieldPyculator import FieldsPyculator
@@ -118,7 +117,6 @@
from .RectanglesOvalsDiamondsVariable import RectanglesOvalsDiamondsVariable
from .RegularPoints import RegularPoints
from .Relief import Relief
from .ReverseLineDirection import ReverseLineDirection
from .Ruggedness import Ruggedness
from .SelectByAttribute import SelectByAttribute
from .SelectByExpression import SelectByExpression
@@ -182,7 +180,6 @@ def getAlgs(self):
EliminateSelection(),
ExecuteSQL(),
ExportGeometryInfo(),
ExtendLines(),
ExtentFromLayer(),
ExtractSpecificVertices(),
FieldsCalculator(),
@@ -235,7 +232,6 @@ def getAlgs(self):
RectanglesOvalsDiamondsVariable(),
RegularPoints(),
Relief(),
ReverseLineDirection(),
Ruggedness(),
SelectByAttribute(),
SelectByExpression(),

This file was deleted.

@@ -48,7 +48,7 @@ class SelectByAttribute(QgisAlgorithm):
OUTPUT = 'OUTPUT'

OPERATORS = ['=',
'!=',
'',
'>',
'>=',
'<',
@@ -80,7 +80,7 @@ def flags(self):

def initAlgorithm(self, config=None):
self.operators = ['=',
'!=',
'',
'>',
'>=',
'<',
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
GEOGCS["GCS_WGS_1984",DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137,298.257223563]],PRIMEM["Greenwich",0],UNIT["Degree",0.017453292519943295]]
@@ -0,0 +1 @@
GEOGCS["WGS 84",DATUM["WGS_1984",SPHEROID["WGS 84",6378137,298.257223563,AUTHORITY["EPSG","7030"]],AUTHORITY["EPSG","6326"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4326"]]
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="utf-8" ?>
<ogr:FeatureCollection
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ogr.maptools.org/ reverse_multiline.xsd"
xmlns:ogr="http://ogr.maptools.org/"
xmlns:gml="http://www.opengis.net/gml">
<gml:boundedBy>
<gml:Box>
<gml:coord><gml:X>-1</gml:X><gml:Y>-1</gml:Y></gml:coord>
<gml:coord><gml:X>5.58042226487524</gml:X><gml:Y>4.119769673704415</gml:Y></gml:coord>
</gml:Box>
</gml:boundedBy>

<gml:featureMember>
<ogr:reverse_multiline fid="lines.1">
<ogr:geometryProperty><gml:MultiLineString srsName="EPSG:4326"><gml:lineStringMember><gml:LineString><gml:coordinates>1,-1 -1,-1</gml:coordinates></gml:LineString></gml:lineStringMember></gml:MultiLineString></ogr:geometryProperty>
</ogr:reverse_multiline>
</gml:featureMember>
<gml:featureMember>
<ogr:reverse_multiline fid="lines.2">
<ogr:geometryProperty><gml:MultiLineString srsName="EPSG:4326"><gml:lineStringMember><gml:LineString><gml:coordinates>5,1 3,1</gml:coordinates></gml:LineString></gml:lineStringMember><gml:lineStringMember><gml:LineString><gml:coordinates>5,1 5.02418426103647,2.4147792706334</gml:coordinates></gml:LineString></gml:lineStringMember></gml:MultiLineString></ogr:geometryProperty>
</ogr:reverse_multiline>
</gml:featureMember>
<gml:featureMember>
<ogr:reverse_multiline fid="lines.3">
</ogr:reverse_multiline>
</gml:featureMember>
<gml:featureMember>
<ogr:reverse_multiline fid="lines.4">
<ogr:geometryProperty><gml:MultiLineString srsName="EPSG:4326"><gml:lineStringMember><gml:LineString><gml:coordinates>3,3 3,2 2,2 2,0</gml:coordinates></gml:LineString></gml:lineStringMember><gml:lineStringMember><gml:LineString><gml:coordinates>5.4595009596929,4.11976967370441 2.94433781190019,4.04721689059501</gml:coordinates></gml:LineString></gml:lineStringMember><gml:lineStringMember><gml:LineString><gml:coordinates>5.58042226487524,2.9468330134357 3,3</gml:coordinates></gml:LineString></gml:lineStringMember></gml:MultiLineString></ogr:geometryProperty>
</ogr:reverse_multiline>
</gml:featureMember>
</ogr:FeatureCollection>

0 comments on commit eec843c

Please sign in to comment.
You can’t perform that action at this time.