From 737cc69f90ecd48965a0d83abc1c3828fc9491ec Mon Sep 17 00:00:00 2001 From: Hefni R R A Date: Mon, 16 Mar 2026 14:35:10 +0700 Subject: [PATCH] Nurbs curve feature --- .../managing_data_source/create_layers.rst | 9 ++++++--- .../editing_geometry_attributes.rst | 8 ++++++++ static/common/mActionDigitizeWithBezier.png | Bin 0 -> 1056 bytes static/common/mActionDigitizeWithNURBS.png | Bin 0 -> 1066 bytes substitutions.txt | 4 ++++ 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 static/common/mActionDigitizeWithBezier.png create mode 100644 static/common/mActionDigitizeWithNURBS.png diff --git a/docs/user_manual/managing_data_source/create_layers.rst b/docs/user_manual/managing_data_source/create_layers.rst index 8015f246635..21ef26192a0 100644 --- a/docs/user_manual/managing_data_source/create_layers.rst +++ b/docs/user_manual/managing_data_source/create_layers.rst @@ -289,10 +289,13 @@ The :guilabel:`New Temporary Scratch Layer` dialog will be displayed as shown in #. Provide the :guilabel:`Layer name` #. Select the :guilabel:`Geometry type`. Here you can create a: - * ``No geometry`` type layer, served as simple table, + * ``No Geometry`` type layer, served as simple table, * ``Point`` or ``MultiPoint`` layer, - * ``LineString/CompoundCurve`` or ``MultiLineString/MultiCurve`` layer, - * ``Polygon/CurvePolygon`` or ``MultiPolygon/MultiSurface`` layer. + * ``LineString`` or ``MultiLine`` layer, + * ``CompoundCurve``, ``MultiCurve`` or ``NurbsCurve`` layer, + * ``Polygon`` or ``MultiPolygon`` layer, + * ``CurvePolygon`` or ``MultiSurface`` layer, + * ``Triangle``, ``PolyhedralSurface`` or ``TIN`` layer. #. For geometric types, specify the dimensions of the dataset: check whether it should :guilabel:`Include Z dimension` and/or :guilabel:`Include M values` #. Specify the coordinate reference system using the |setProjection| button. diff --git a/docs/user_manual/working_with_vector/editing_geometry_attributes.rst b/docs/user_manual/working_with_vector/editing_geometry_attributes.rst index fc1bbd4733f..08fef1fc121 100644 --- a/docs/user_manual/working_with_vector/editing_geometry_attributes.rst +++ b/docs/user_manual/working_with_vector/editing_geometry_attributes.rst @@ -498,6 +498,10 @@ adding new vertices: click and the ending right click are necessary in this mode. * The |digitizeShape| :sup:`Digitize Shape`: triggers tools on the :ref:`Shape Digitizing Toolbar ` to draw a polygon of a regular shape. +* The |digitizeWithNURBS| :sup:`Digitize with NURBS Curve`: creates smooth curves using + NURBS control points and degree, allowing precise control over the curve shape. + NURBS degree controls the shape of the curve. Higher values make the curve smoother + and more flexible, while lower values create simpler curves. The selected technique remains while switching among the digitizing tools. You can combine any of the first three methods while drawing the same geometry. @@ -2387,8 +2391,12 @@ To edit features in-place: :width: 1.5em .. |digitizeShape| image:: /static/common/mActionDigitizeShape.png :width: 1.5em +.. |digitizeWithBezier| image:: /static/common/mActionDigitizeWithBezier.png + :width: 1.5em .. |digitizeWithCurve| image:: /static/common/mActionDigitizeWithCurve.png :width: 1.5em +.. |digitizeWithNURBS| image:: /static/common/mActionDigitizeWithNURBS.png + :width: 1.5em .. |digitizeWithSegment| image:: /static/common/mActionDigitizeWithSegment.png :width: 1.5em .. |editCopy| image:: /static/common/mActionEditCopy.png diff --git a/static/common/mActionDigitizeWithBezier.png b/static/common/mActionDigitizeWithBezier.png new file mode 100644 index 0000000000000000000000000000000000000000..a12e61c73c09802382da8ce5069c0f61ecf92ed6 GIT binary patch literal 1056 zcmV+*1mF9KP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;(K){{a7>y{D4^000SaNLh0L04^f{04^f|c%?sf00007 zbV*G`2kHX`2Ph_!--?<500U%6L_t(Y$GufuXdG1-J>T8golSO|U9**>Mq^DCQD{rr zZl9zGo5pAnMAe(Pv%AXBCQV{q>8PiA!{j!&=`V0L{Jp1 zg{p~@X1m>4r}Ojqpec>JNhT1ykN14{ocsNpdx0HT#*A@PD``EAFxm-$;#BbvMd*ED zi+KR>JnvgYQ6>REgudlxhNaKyuQtNC$|>nDXzV-tKrD>2!J>CWR3=oIjjoX7=y+tM~5D7{*>OKeh}!@~7`h*DR~%dalgO zVp{@{*2t42=z<^jy8(PPt!Y__sMQUEpRd+xvyvn&#)$&UvcS#Ui6m}>ZnCCnz2ZLc z5~XM`aYJbBuJ=oV=)+z`S>B{yJ1&H%D=S6mVF1@$$1Q|5+R(Y7cw4HiTe>NojVwjJWRGtF;Jv>8 zz07>(#K_1W0HDw42bp-OaJ=waC?~7u)Mz4;m;{imTGeCt4xXy2cgs>N7N2Nk9<33T zYXUYp@FMT#ua%tgY$JiX5+yUqGa$SWa4@9yt8SfZnfFy{VNjrTT zRibW+*yl;l^`0KdjZAHHNS0+MolgJb+B^8+PJ6|^s`jgHKA#tZM~-A!2!3yFZhkGhiAxg)B2r`?K);ex zJ_;@H?|d@=L;&mp@Sx-D={t4m_q+a3RZ1L7d`?XF-@bl(zxs;mgb`TRI literal 0 HcmV?d00001 diff --git a/static/common/mActionDigitizeWithNURBS.png b/static/common/mActionDigitizeWithNURBS.png new file mode 100644 index 0000000000000000000000000000000000000000..658cf4f6ce7515cc055840c15fb481523944d795 GIT binary patch literal 1066 zcmV+_1l9YAP)z@;j|==^1poj5AY({UO#lFTCIA3{ga82g0001h=l}q9FaQARU;qF* zm;eA5aGbhPJOBUy24YJ`L;(K){{a7>y{D4^000SaNLh0L04^f{04^f|c%?sf00007 zbV*G`2kHX`1}6Z=h_-9X=-!MPLp%a>y3&=Z@u;NLX;p?F8}TqG1Z!oeR0 zp`!MwPo4T8KNZwaX?Sq@$id;Sw(O#OKL428?LHd}1|`!pS*=m~X)V0AM+qyxf^dn5 z&UVjP3rrA{*XHJCCnqPJtx75afFn7IBuhdp7UR`w75a63o8*%G#Y(a30IuKWHQN{4q7IY z*&~YLVIpDxAb5pe?A^8>9M9^y{*Wxok8;L?`nrDR!5@8(m_%Rnr&8sXB{@Hne}#b! zf?;E$zOkeGJE4~w)}{W@(JL*hisSDek4mz1AeBhHUYIF-)K;ZCSKBCOXvQ1qL+M6K zyC^rE>kqB+m$eYxrhlgI^6mD$B$S1x8L|2wIrwyFXz0b8u8Qujou5Sx^{U7CW^r+m z;(O!IyChdfS4S6gT}P=@YHV`RR`Fgot4wFJ0}K%RQmI)Nx%}}L;wl`Fz=ejQD3E0t z;BYln6;tVS$nEvUIp@Y~xOU##;T_1$s+MKB$R>SD1n0-c z+g)z=J&tX!e!ktf;EVe9DuQwi3_-_n#%i;*G2D+R76C<3x(&nlvx~HUJ#sRcEZ~%LRTIgm=ru@_2i!eH4VZ)IRn5rgBgy6bJwW0Db`WUGz-V?OYT*!ZHZw zY}ltq5+fIzHN+-~_Vx4tYisy+Wd#&q504~9-d5jKw-=r(7&rafZQh3gfdB}Anoy4d kz^x4b#|HEB^Z4K4cVX#f&Sb_me*gdg07*qoM6N<$f)-orhyVZp literal 0 HcmV?d00001 diff --git a/substitutions.txt b/substitutions.txt index fa5dbeeb5d8..5370855982a 100644 --- a/substitutions.txt +++ b/substitutions.txt @@ -342,8 +342,12 @@ :width: 1.5em .. |digitizeShape| image:: /static/common/mActionDigitizeShape.png :width: 1.5em +.. |digitizeWithBezier| image:: /static/common/mActionDigitizeWithBezier.png + :width: 1.5em .. |digitizeWithCurve| image:: /static/common/mActionDigitizeWithCurve.png :width: 1.5em +.. |digitizeWithNURBS| image:: /static/common/mActionDigitizeWithNURBS.png + :width: 1.5em .. |digitizeWithSegment| image:: /static/common/mActionDigitizeWithSegment.png :width: 1.5em .. |digitizing| image:: /static/common/digitizing.png