Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
NMT z CODGiK. Jak zamienić punkty na linie
05-04-2018, 17:20,
#2
RE: NMT z CODGiK. Jak zamienić punkty na linie
Zakładając, że ten tekstowy plik wygląda jak wkleiłeś...

Trochę brzydki skryp, ale chyba robiący to co potrzebujesz.
Odpal konsole Pythona, edytor i wklej poniższy skrypt.
Ustaw ścieżkę do swojego pliku  (u mnie to:     'h:/python/asci/linie.txt') i odpal skrypt.

Ustawiłem domyślny układ współrzędnych na 2176   (2000/5 - jeśli dane są w innym to zmień na właściwy numer)

Kod:
from osgeo import ogr
from itertools import takewhile
from qgis.core import *

#sciezka do pliku z tekstem
plik = 'h:/python/asci/linie.txt'

warstwa_liniowa = QgsVectorLayer("LineString?crs=epsg:2176", 'test', "memory")
warstwa_liniowa.startEditing()
feat = QgsFeature(warstwa_liniowa.pendingFields())

linie = []
with open(plik) as f:
       array = []
       for line in f:
           if line.startswith('Start'):
               data = takewhile(lambda x: not x.startswith("End"),f)
               linia = ogr.Geometry(ogr.wkbLineString)
               for wiersz in data:
                   wsp = wiersz.split(' ')
                   linia.AddPoint(float(wsp[1]),float(wsp[0]) )
               gotowa_geom = linia.ExportToWkt()
               geom = QgsGeometry.fromWkt(gotowa_geom)
               feat=QgsFeature(warstwa_liniowa.pendingFields())
               feat.setGeometry(geom)
               warstwa_liniowa.addFeatures([feat])
warstwa_liniowa.commitChanges()
warstwa_liniowa.updateExtents()
QgsMapLayerRegistry.instance().addMapLayer(warstwa_liniowa, True)


Wiadomości w tym wątku
RE: NMT z CODGiK. Jak zamienić punkty na linie - przez xmaziax - 05-04-2018, 17:20

Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Konwersja poligonów na punkty (centroidy) Omega933 1 3 203 15-02-2021, 18:05
Ostatni post: jerresso
  punkty gps i dodanie nowego atrybutu czarna1991 4 13 946 30-12-2017, 11:03
Ostatni post: xmaziax
  CODGiK Punkty adresowe zmniejszenie pliku XML Loozak 5 18 588 13-10-2016, 13:09
Ostatni post: pelekPL
  Punkty na warstwach nikivor 1 10 243 17-02-2014, 00:59
Ostatni post: Roland_z_Gilead
  Punkty na linie nieznany 1 12 222 31-07-2013, 13:49
Ostatni post: [wiki]
  Punkty na poligony rewelator 3 24 751 09-10-2012, 14:36
Ostatni post: rewelator
  Jak podzielić linie,shp RobertF 1 11 261 18-05-2012, 00:37
Ostatni post: robert
  jak narysować linię telefoniczną ? tomsik 3 17 771 11-05-2012, 14:43
Ostatni post: sebaq
  Interpolacja - linie strukturalne, linie nieciągłości gregsa 4 22 471 22-09-2011, 13:41
Ostatni post: gregsa
  Jak zamienić miejscami współrzędne x,y w tabeli georeferencji koberek 1 10 774 15-04-2011, 13:25
Ostatni post: tomalos

Skocz do: