Alisson, Hugo,

     I think a reason for the lack of response is that the operation
you need is a tad more involved than is supported by ogr2ogr - which
performs simple geometrical operations but is really designed to
perform format translations.

    To go from a spaghetti of lines to polygons requires the
identification of each future polygon boundary, the assembly of the
polygon boundary, ensuring that it closes and writing out the new
polygon.  This much ogr2ogr does.  To go to multipolygons, however,
requires the further assembly of the related polygons into a combined
polygon - for example, islands in a lake.  All of this relies on the
existence of attribute values to identify what belongs to what.
Further complication is involved if the resultant polygons overlap and
it is required that these overlaps be identified, although this is not
required for a polygon shapefile.

    As this process may require intelligence based upon more complex
attribute relationships, it is probably the case that a program
(Python, Java, C++, etc) is required to implement the specific logic
required.

    If you want to read up on the operations involved, one of the most
approachable texts is 'GIS Basics' by Steve Wise (Taylor & Francis,
2002).  The good news is that there are calls in the OGR API to
implement each of the steps involved.

Best wishes,

Peter

On 26 November 2012 12:24, Hugo Benicio <[email protected]> wrote:
> I'm facing a similar problem when trying to convert a shapefile containing
> lines to a shapefile containing polygons.
> No progress.
> If you solve it, please, let me know!
>
> Thanks in advance.
>
>
> On Mon, Nov 26, 2012 at 8:47 AM, Alisson Barbosa <[email protected]>
> wrote:
>>
>> Can anybody help me?
>>
>>
>> 2012/11/23 Alisson Barbosa <[email protected]>
>>>
>>> Hi friends,
>>>
>>> I would like to transform a shape with multilinestring in a shape with
>>> polygons using ogr2ogr.
>>>
>>> Polygon to multilinestring, I use:
>>> ogr2ogr -f "ESRI Shapefile" -overwrite "C:/Users/Alisson/Basins3.shp"
>>> "C:/Users/Alisson/Basins2.shp" -sql "SELECT * FROM Basins2" -skipfailures
>>> -nlt MULTILINESTRING
>>>
>>> This works.
>>>
>>> Multilinestring to multipolygon, I use:
>>> ogr2ogr -f "ESRI Shapefile" -overwrite "C:/Users/Alisson/polygon.shp"
>>> "C:/Users/AlissonContorno30.shp" -sql "SELECT * FROM Contorno30"
>>> -skipfailures -nlt MULTIPOLYGON
>>>
>>> But, this error appears:
>>> ERROR 1: Attempt to write non-polygon (LINESTRING) geometry to POLYGON
>>> type shapefile.
>>>
>>> Can you help me?
>>>
>>> Best regards,
>>> --
>>> Alisson Barbosa
>>> Systems Analyst - FUNCEME
>>> M.Sc. in Computer Science - MACC
>>> Graduate in Computer Science  - UECE
>>>
>>>
>>
>>
>>
>> --
>> Alisson Barbosa
>> Systems Analyst - FUNCEME
>> M.Sc. in Computer Science - MACC
>> Graduate in Computer Science  - UECE
>>
>>
>>
>> _______________________________________________
>> gdal-dev mailing list
>> [email protected]
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
> _______________________________________________
> gdal-dev mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/gdal-dev



-- 
----------------------------------------------------------------------------------------------------------------
Peter J Halls, GIS Advisor & Team Leader Applications Support and Training,
               Information Directorate, University of York
Telephone: 01904 323806     Fax: 01904 323740
Snail mail: Harry Fairhurst Building, University of York,
                Heslington, York YO10 5DD
This message has the status of a private and personal communication
----------------------------------------------------------------------------------------------------------------
_______________________________________________
gdal-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to