일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 서비스
- khaiii
- qgis server
- 앱개발
- ODTable
- mapmatching
- PyQGIS
- ODField
- autocad
- graphhopper
- Circle
- QGIS3
- 안드로이드
- kmoran
- 스타트업
- pbf
- 도로명주소일일업데이트
- QGIS
- keypressed
- pgrouting
- ogrinfo
- qgis linux
- pluginbuilder
- qgis 설치
- 편집지적
- nifi
- split line
- Polyline
- QgsRubberBand
- 아이디어
- Today
- Total
목록GIS/QGIS (18)
개발자 이야기
1. Dockerfile 생성 FROM debian:bullseye-slim ENV LANG=en_EN.UTF-8 RUN apt-get update \ && apt-get install -y libqt5gui5 binutils && strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 RUN apt-get update \ && apt-get install --no-install-recommends --no-install-suggests --allow-unauthenticated -y \ gnupg \ ca-certificates \ wget \ locales \ && localedef -i en_US -f UTF-8 ..
if two linestring are connected by the same point, contains retruns false. intersects returns true. if two linestring are crossed, contains returns false. intersects returns false. intersections returns the point crossed.
from itertools import combinations,chain import math class CheckTest(): def __init__(self): self.str_key_name = 'gid' self.str_gen_id = "nextval('id_seq'::regclass)" self.layer = iface.activeLayer() self.fldnames = [] self.idx_key = -1 self.maxvalue = 0 flds = self.layer.fields() for idx in range(0, len(flds)): fld = flds[idx] name = fld.name() self.fldnames.append(name) if name == self.str_key_..
the yellow is showed by feature selection. and green line is created by QgsRubberBand. from qgis.gui import QgsRubberBand if self.rb != None: self.iface.mapCanvas().scene().removeItem(self.rb) self.rb = QgsRubberBand(self.iface.mapCanvas(), True) self.rb.setColor(QColor(0, 255, 0, 255)) self.rb.setWidth(2) self.rb.addGeometry(ft.geometry(), None)
class PointTool(QgsMapTool): def __init__(self, canvas): QgsMapTool.__init__(self, canvas) self.canvas = canvas def canvasPressEvent(self, event): pass def canvasMoveEvent(self, event): x = event.pos().x() y = event.pos().y() #point = self.canvas.getCoordinateTransform().toMapCoordinates(x, y) #print('move: %f, %f' % (point.x(), point.y())) def canvasReleaseEvent(self, event): #Get the click x =..