mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	Ports the similar algorithm from the shape tools plugin to c++, and utilises built in QgsDistanceArea ellipsoidal calculations to split the lines. This algorithm splits a line into multiple geodesic segments, whenever the line crosses the antimeridian (±180 degrees longitude) Splitting at the antimeridian helps the visual display of the lines in some projections. The returned geometry will always be a multi-part geometry. Whenever line segments in the input geometry cross the antimeridian, they will be split into two segments, with the latitude of the breakpoint being determined using a geodesic line connecting the points either side of this segment. The current project ellipsoid setting will be used when calculating this breakpoint. If the input geometry contains M or Z values, these will be linearly interpolated for the new vertices created at the antimeridian. Supports in-place edit mode also.
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
<?xml version="1.0" encoding="UTF-8"?>
 | 
						|
<xs:schema targetNamespace="http://ogr.maptools.org/" xmlns:ogr="http://ogr.maptools.org/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:gml="http://www.opengis.net/gml" elementFormDefault="qualified" version="1.0">
 | 
						|
<xs:import namespace="http://www.opengis.net/gml" schemaLocation="http://schemas.opengis.net/gml/2.1.2/feature.xsd"/>
 | 
						|
<xs:element name="FeatureCollection" type="ogr:FeatureCollectionType" substitutionGroup="gml:_FeatureCollection"/>
 | 
						|
<xs:complexType name="FeatureCollectionType">
 | 
						|
  <xs:complexContent>
 | 
						|
    <xs:extension base="gml:AbstractFeatureCollectionType">
 | 
						|
      <xs:attribute name="lockId" type="xs:string" use="optional"/>
 | 
						|
      <xs:attribute name="scope" type="xs:string" use="optional"/>
 | 
						|
    </xs:extension>
 | 
						|
  </xs:complexContent>
 | 
						|
</xs:complexType>
 | 
						|
<xs:element name="antimeridian_multilines_split" type="ogr:antimeridian_multilines_split_Type" substitutionGroup="gml:_Feature"/>
 | 
						|
<xs:complexType name="antimeridian_multilines_split_Type">
 | 
						|
  <xs:complexContent>
 | 
						|
    <xs:extension base="gml:AbstractFeatureType">
 | 
						|
      <xs:sequence>
 | 
						|
        <xs:element name="geometryProperty" type="gml:MultiLineStringPropertyType" nillable="true" minOccurs="0" maxOccurs="1"/>
 | 
						|
        <xs:element name="pk" nillable="true" minOccurs="0" maxOccurs="1">
 | 
						|
          <xs:simpleType>
 | 
						|
            <xs:restriction base="xs:integer">
 | 
						|
              <xs:totalDigits value="10"/>
 | 
						|
            </xs:restriction>
 | 
						|
          </xs:simpleType>
 | 
						|
        </xs:element>
 | 
						|
      </xs:sequence>
 | 
						|
    </xs:extension>
 | 
						|
  </xs:complexContent>
 | 
						|
</xs:complexType>
 | 
						|
</xs:schema>
 |