Here's a trapezium fixed angles shape that is basically like the rectangle shape that simply adds triangles at both sides.
This means that the minimum width does not include these triangles.
In the example below, this is indicated by the gray rectangles (via a label in the data key).
Nodes of this shape should always have the specified angles, irregardless of text size, minimum width or minimum height.
This shape could be adjusted so that it includes the triangles when considering the minimum width but I haven't implented this. You could manually subtract minimum height/tan(60°) from minimum width but in your example the text is too wide. (And at some point a lot of the width would come from the triangles depending on the angles.)
The shape does not support shape border rotate.
A bis portion of the code for the new shape is taken from the original shape's definition
Code
\documentclass{standalone}
\usepackage[x11names]{xcolor}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric, arrows.meta, graphs, chains}
\makeatletter
\pgfset{
trapezium utils/extract points/.code n args={6}{%
\expandafter\pgfextract@process\csname #1#2point\endcsname{%
\centerpoint
\advance\pgf@x#6\halfwidth\relax
\ifdim\csname #2extension\endcsname#30pt\relax
\advance\pgf@x#4\csname #2extension\endcsname\relax
\fi
\advance\pgf@y#5\halfheight\relax}},
trapezium utils/extract miters/.code n args={5}{%
\expandafter\pgfextract@process\csname #1borderpoint\endcsname{%
\pgfpointadd{\csname #1point\endcsname}{%
\pgfmathanglebetweenlines{\csname #1point\endcsname}{\csname #2point\endcsname}{\csname #1point\endcsname}{\csname #3point\endcsname}%
\pgfmathmultiply@{\pgfmathresult}{.5}%
\pgfmathtan@{\pgfmathresult}%
\pgfmathreciprocal@{\pgfmathresult}%
\pgf@x#4\outersep\relax
\pgf@x\pgfmathresult\pgf@x
\pgf@y#5\outersep\relax}}%
\pgfmathanglebetweenpoints{\centerpoint}{\csname #1borderpoint\endcsname}%
\expandafter\let\csname angleto#1\endcsname\pgfmathresult%
\pgfmathanglebetweenpoints{\rotatedbasepoint}{\csname #1borderpoint\endcsname}%
\expandafter\let\csname baseangleto#1\endcsname\pgfmathresult
\pgfmathanglebetweenpoints{\rotatedmidpoint}{\csname #1borderpoint\endcsname}%
\expandafter\let\csname midangleto#1\endcsname\pgfmathresult
\expandafter\addtosavedmacro\csname #1point\endcsname
\expandafter\addtosavedmacro\csname #1borderpoint\endcsname
\expandafter\addtosavedmacro\csname angleto#1\endcsname
\expandafter\addtosavedmacro\csname baseangleto#1\endcsname
\expandafter\addtosavedmacro\csname midangleto#1\endcsname}}%
\pgfdeclareshape{trapezium fixed angles}{%
\savedmacro\installtrapeziumparameters{%
\def\rotate{0}% no support for shape border rotation
\pgfmathsetlength\pgf@x{\pgfkeysvalueof{/pgf/inner xsep}}%
\advance\pgf@x.5\wd\pgfnodeparttextbox
\pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/inner ysep}}%
\advance\pgf@y.5\ht\pgfnodeparttextbox
\advance\pgf@y.5\dp\pgfnodeparttextbox
%
\pgfmathsetlength\pgf@ya{\pgfkeysvalueof{/pgf/minimum height}}%
\ifdim\pgf@y<.5\pgf@ya\pgf@y=.5\pgf@ya\fi
\pgfmathsetlength\pgf@xa{\pgfkeysvalueof{/pgf/minimum width}}%
\ifdim\pgf@x<.5\pgf@xa\pgf@x=.5\pgf@xa\fi
%
\pgfmathmod{\pgfkeysvalueof{/pgf/trapezium left angle}}{360}%
\ifdim\pgfmathresult pt<0pt\relax\pgfmathadd@{\pgfmathresult}{360}\fi
\let\leftangle\pgfmathresult
\ifdim\leftangle pt=0pt\relax
\def\pgfmathresult{0}\else
\pgfmathcot@{\leftangle}\fi
\pgf@xa=2\pgf@y \pgf@xa=\pgfmathresult\pgf@xa
\edef\leftextension{\the\pgf@xa}%
%
\pgfmathmod{\pgfkeysvalueof{/pgf/trapezium right angle}}{360}%
\ifdim\pgfmathresult pt<0pt\relax\pgfmathadd@{\pgfmathresult}{360}\fi
\let\rightangle\pgfmathresult
\ifdim\rightangle pt=0pt\relax
\def\pgfmathresult{0}\else
\pgfmathcot@{\rightangle}\fi
\pgf@xa=2\pgf@y \pgf@xa=\pgfmathresult\pgf@xa
\edef\rightextension{\the\pgf@xa}%
%
\edef\halfwidth{\the\pgf@x}\edef\halfheight{\the\pgf@y}%
%
\pgfmathsetlength\pgf@x{\pgfkeysvalueof{/pgf/outer xsep}}%
\pgfmathsetlength\pgf@y{\pgfkeysvalueof{/pgf/outer ysep}}%
\ifdim\pgf@y>\pgf@x\pgf@x=\pgf@y\fi
\edef\outersep{\the\pgf@x}%
%
\advance\pgf@xc2\pgf@x
\pgf@yc\halfheight\relax
\multiply\pgf@yc2\relax
\advance\pgf@yc2\pgf@x
\edef\externalradius{\ifdim\pgf@xc<\pgf@yc\the\pgf@yc\else\the\pgf@xc\fi}%
%
\pgfextract@process\centerpoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgf@y.5\ht\pgfnodeparttextbox
\advance\pgf@y-.5\dp\pgfnodeparttextbox}%
\pgfextract@process\basepoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgf@y0pt\relax}%
\pgfextract@process\midpoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgfmathsetlength\pgf@y{+.5ex}}%
%
\let\rotatedbasepoint\basepoint
\let\rotatedmidpoint\midpoint
\pgfkeysgetvalue{/pgf/trapezium utils/extract points/.@cmd}\pgfkeys@temp
\pgfutil@for\pgf@temp:={lower}{left}>---,{upper}{left}<{}{}-,%
{upper}{right}<-{}{}, {lower}{right}>{}-{}\do{%
\expandafter\pgfkeys@temp\pgf@temp\pgfeov}%
\pgfkeysgetvalue{/pgf/trapezium utils/extract miters/.@cmd}\pgfkeys@temp
\pgfutil@for\pgf@temp:={lowerleft}{lowerright}{upperleft}--,%
{upperleft}{lowerleft}{upperright}-{},%
{upperright}{upperleft}{lowerright}{}{},%
{lowerright}{upperright}{lowerleft}{}-\do{%
\expandafter\pgfkeys@temp\pgf@temp\pgfeov}%
\addtosavedmacro\rotate
\addtosavedmacro\externalradius
}%
\savedanchor\centerpoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgf@y.5\ht\pgfnodeparttextbox
\advance\pgf@y-.5\dp\pgfnodeparttextbox}%
\savedanchor\basepoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgf@y0pt\relax}%
\savedanchor\midpoint{%
\pgf@x.5\wd\pgfnodeparttextbox
\pgfmathsetlength\pgf@y{+.5ex}}%
\pgfutil@for\pgf@temp:=center,base,base east,base west,mid,mid east,mid west,%
north,south,east,west,north east,south west,south east,north west,%
bottom left corner,top left corner,top right corner, bottom right corner,%
left side,ride side,top side,bottom side\do{%
\inheritanchor[from=trapezium]{\pgf@temp}%
}%
\inheritanchorborder[from=trapezium]%
\inheritbackgroundpath[from=trapezium]%
}
\makeatother
\begin{document}
\begin{tikzpicture}[
node distance = 1cm,
connector/.style={draw, -Latex},
common/.style ={
fill = SkyBlue1, align = center, minimum height = 1.5cm, minimum width = 3cm},
terminator/.style={process, rounded corners},
process/.style ={rectangle, common},
data/.style ={
label={[label/.code=,data,rectangle,path only,draw,help lines]center:},%
trapezium fixed angles, common,
trapezium left angle=60, trapezium right angle=120},
%
start chain=going below,
]
\graph[no placement, edges = connector]{
{[nodes={on chain, process}]
start[terminator] -> literatur -> survey -> statistics
},
{[nodes=data]
literatur -> model 1 [right=of literatur],
survey -> N88/$N = 88$ [left=of survey],
statistics -> N900/another database\\$N = 900$ [left=of statistics]
}
};
\end{tikzpicture}
\end{document}
Output

left ofandleft = of(and why not use the former anymore).\tikzstylevs\tikzset. – Qrrbrbirlbel Apr 29 '23 at 11:17trapeziumis a weird and in my opinion annoying shape to deal with: 1, 2, 3, 4. Maybe the easiest would be to set minimum width and height as required and ignore text width. Looks likeanother databaseit too wide to fit. – Qrrbrbirlbel Apr 29 '23 at 11:44