All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.groupbyinc.flux.common.geo.builders.BasePolygonBuilder.class Maven / Gradle / Ivy

There is a newer version: 59
Show newest version
????36:com/groupbyinc/flux/common/geo/builders/BasePolygonBuilder{;>Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder;4com/groupbyinc/flux/common/geo/builders/ShapeBuilderBasePolygonBuilder.java?com/groupbyinc/flux/common/geo/builders/BasePolygonBuilder$RingRingAcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$GeoShapeType
GeoShapeType@com/groupbyinc/flux/common/geo/builders/ShapeBuilder$Orientation
Orientation9com/groupbyinc/flux/common/geo/builders/ShapeBuilder$EdgeEdge5com/groupbyinc/flux/common/xcontent/ToXContent$Params.com/groupbyinc/flux/common/xcontent/ToXContentParamsFcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$IntersectionOrderIntersectionOrderTYPECLcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$GeoShapeType;shellALcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder$Ring;FLcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder$Ring;holesLjava/util/ArrayList;YLjava/util/ArrayList;>;EMPTYA[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;$assertionsDisabledZE(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Orientation;)V'(
)java/util/ArrayList+()V'-
,. !	0thisALcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;()Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;point@(DD)Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;	;=(DD)Lcom/groupbyinc/flux/common/geo/builders/PointCollection;9=
>78
@	longitudeDlatitude}(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;z(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/geo/builders/PointCollection;9F
G
coordinate?Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;points~([Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;{([Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/geo/builders/PointCollection;KM
Ncoordinates@[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;hole}(Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;)Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder;add(Ljava/lang/Object;)ZTU
,VBLcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder<*>;?Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;C()Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder$Ring;9(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder;)V'[
\close8()Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder;^_
`validateHole?(Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;)V=com/groupbyinc/flux/common/geo/builders/BaseLineStringBuilderdK!	ef5com/groupbyinc/flux/common/google/common/collect/Setsh
newHashSet)(Ljava/lang/Iterable;)Ljava/util/HashSet;jk
iljava/util/HashSetn	retainAll(Ljava/util/Collection;)Zpq
orsize()Itu
ovIcom/groupbyinc/flux/common/spatial4j/core/exception/InvalidShapeExceptionxLInvalid polygon, interior cannot share more than one point with the exteriorz(Ljava/lang/String;)V'|
y}exteriorLjava/util/HashSet;interiorD()[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;	f
,vget(I)Ljava/lang/Object;??
,?bc
?56	?createEdges(ILcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Orientation;Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;I)I??
?<[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;?@f?
intersections@(D[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;)I??
?merge~([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;II[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;I)I??
??f?compose?([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;I)[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;??
?iIlengthnumEdgesedgesholeComponentsoffsetnumHolesbuild9()Lcom/groupbyinc/flux/common/spatial4j/core/shape/Shape;FACTORYDLcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;??	?wrapdateline?&	?
buildGeometry?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;Z)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Geometry;??
?jtsGeometry?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Geometry;)Lcom/groupbyinc/flux/common/spatial4j/core/shape/jts/JtsGeometry;??
?coordinatesArray?(Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;Lcom/groupbyinc/flux/common/xcontent/ToXContent$Params;)Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;java/io/IOException?coordinatesToXcontentm(Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;Z)Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;??
?iterator()Ljava/util/Iterator;??
,?java/util/Iterator?hasNext()Z????next()Ljava/lang/Object;????
e?builder5Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;params7Lcom/groupbyinc/flux/common/xcontent/ToXContent$Params;
toXContent3com/groupbyinc/flux/common/xcontent/XContentBuilder?startObject7()Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;??
??type?	?	shapenameLjava/lang/String;??	?field[(Ljava/lang/String;Ljava/lang/String;)Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;??
??P
startArrayI(Ljava/lang/String;)Lcom/groupbyinc/flux/common/xcontent/XContentBuilder;??
????
?endArray??
??	endObject??
??P?
?polygon?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;??
?B[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;?multipolygon?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/MultiPolygon;?
;com/groupbyinc/flux/common/vividsolutions/jts/geom/Geometry	toPolygon?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;
polygonsfactoryfixDateline>()Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;
linearRing?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;Ljava/util/ArrayList;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;

=com/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRingBcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory@[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;
createPolygon?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;
?Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;XLjava/util/Iterator;>;Ljava/util/Iterator;=com/groupbyinc/flux/common/vividsolutions/jts/geom/CoordinatetoArray(([Ljava/lang/Object;)[Ljava/lang/Object; !
,"QcreateLinearRing?([Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;%&
'VLjava/util/ArrayList;E()Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$GeoShapeType;:com/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon+=[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;-createMultiPolygon?([Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Polygon;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/MultiPolygon;/0
1
polygonSet	componentT(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)IIJ	6x8C	9;Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;?;	<debugEnabled>?
?LOGGER-Lcom/groupbyinc/flux/common/logging/ESLogger;AB	Cshift: {[]}Ejava/lang/ObjectGjava/lang/DoubleIvalueOf(D)Ljava/lang/Double;KL
JM+com/groupbyinc/flux/common/logging/ESLoggerOdebug((Ljava/lang/String;[Ljava/lang/Object;)VQRPSjava/util/HashMapU
V.shift?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;D)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;XY
Z4?	\containsKey^U
V_)Shape contains more than one shared pointa&(Ljava/lang/Object;)Ljava/lang/Object;?c
Vd(com/groupbyinc/flux/common/collect/Tuplefv2h?
giv1k?
glequalsnU
o'(Ljava/lang/Object;Ljava/lang/Object;)V'q
grput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;tu
VvvisitIDfirstAppearancetempedgeidRLjava/util/ArrayList;anyshiftOffsetconnectedComponents
splitIndexcurrentprevvisitedEdge?Ljava/util/HashMap;>;Ljava/util/HashMap;?(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;buildCoordinatesY(Ljava/util/ArrayList;)[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;$Component {[]}:?java/lang/Integer?(I)Ljava/lang/Integer;K?
??java/lang/StringBuilder?
?.	?append-(Ljava/lang/String;)Ljava/lang/StringBuilder;??
??java/util/Arrays?toString'([Ljava/lang/Object;)Ljava/lang/String;??
??()Ljava/lang/String;??
??WLjava/util/ArrayList<[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;>;j
componentsnLjava/util/ArrayList;>;result?([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;I)[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;#$	?45
?P?
??([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;(I)V'?
,?	mainEdges ?
???
?assign?([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;I[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;Ljava/util/ArrayList;)V??
???
?Holes: ?}(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;)V'?
?	intersect?J	?INTERSECTION_ORDERHLcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$IntersectionOrder;??	?binarySearch@([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I??
??	compareTo(Ljava/lang/Object;)I??
?)Invalid shape: Hole is not within polygon?	position (?(I)Ljava/lang/StringBuilder;??
??
) of edge ?-(Ljava/lang/Object;)Ljava/lang/StringBuilder;??
??: ?	Component: ?	Hole intersections (?(D)Ljava/lang/StringBuilder;??
??): ?possharedVertexindexMAX_COORDINATE?J	?equals3DB(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)Z??
?java/lang/Math?abs(D)D??
??connecty(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;)V??
?e1e2%&	java/lang/AssertionError
.?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)V'
inoutRIGHT
6	C(Z)[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;P
eLEFT6	ring?(IZZLcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder;[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;I[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;II)[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;
	directionjava/lang/ClassdesiredAssertionStatus?
POLYGON		SignatureCodeLocalVariableTableLocalVariableTypeTableLineNumberTable()TE;(DD)TE;D(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)TE;E([Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;)TE;G(Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder<*>;)TE;H()Lcom/groupbyinc/flux/common/geo/builders/BasePolygonBuilder$Ring;
StackMapTable
Exceptions?(Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/GeometryFactory;Ljava/util/ArrayList;)Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/LinearRing;?(Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;)I?(Ljava/util/ArrayList;>;)[[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;?([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;ILjava/util/ArrayList;>;)[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;+([Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;[[Lcom/groupbyinc/flux/common/vividsolutions/jts/geom/Coordinate;I[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;Ljava/util/ArrayList;>;)V(ILcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Orientation;Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder<*>;Lcom/groupbyinc/flux/common/geo/builders/BaseLineStringBuilder<*>;[Lcom/groupbyinc/flux/common/geo/builders/ShapeBuilder$Edge;I)I
SourceFileInnerClasses!! !!"#$%&'("_*+?**?,Y?/?1?#2456$23%85978">*?#24$23%=!&9:"c*?<')??W*?A?# 24BCDC$23%
A
B!'9E"X*?<+?HW*?A?#24IJ$23%
K	L!(?KL"X*?<+?OW*?A?#24PQ$23%
U	V!)RS"b*?1+?WW*?A?#24RY$23RX%
_	`!*RZ"o?Y*?A?]L*?1+?WW+?#24R$23R%hij!+^_"D*?#%??O24O
?C8  /?$O23 /?%??? ?-?B?H?,?#??$
"Y*++????#?$?(?#
?P!$P)%?!.?*"@??#24$23%???"?@*+2?(M+??,+?d?N6-??-*+`2?(S????N*,-??#>??! @
?@?$89 %"???? ?.?7?9?,?????"?$+??,M>,??,*+2??S????*,?2?#*??$
?$	?3-%?????,?.?
45"}*N-?7?:???-?7?:???-?=YN*??ݧ-?7?:???	??-?7?:???	??9?@??DF?HY?NS?T666*:	*:
?VY?W:		?7?[?7	?],??	?7?`???	?=*??yYb?~?t6	?7?e?g?j?:

?=:
	?=?=	?=	?]
?]
?7?e?g?m?:
?	?7
?7?p??Ԅ?	?7?gY
	?s?wW,	?WW	:
??	?=Y:	*??"?d??#??fx??Qy;
?Jz;}{;}|?}?!{~;V'Cv??y??|????;	???;
????$}?}????%?$	
(+V\sy|??!?"?$?&?'?(?.?/?2?3?4?59	:;!<1=4>7?MATBXD[ElG,D?@??,V>?7?4

A!/
P?"u=+??+*?=YK?7S????+?# ??4;PQ%QRQT,	??
??"[?*????L=+??#*???,N+--???$?#??S???ݸ@?^=+??V?D??HY??S?T>+2??0?D??Y?????+22???????H?T???΄???+?#>4!
&??V5??8Y????!???$4????%6
XYZ[*Y0^6_>`Ta^b?a?_?g,?
??%???4?!0
 ?"?9?????$M>?&*2`t??6,*2`???S????,?#4!??(??9 ?9??
,K$%"mnp
rs!t1r7w,
???'
??"+j?,Y*???N6*??J*2?]?:*2,??``t-??6?,Y?/:*2`????WW,?WW????--????#???#H1$??:4!
N??j??j??j?!
`?!$ :4?j??
`?}%&	{
}~1?:?N?U}[?,?
,?G?!1
??"??,Y?/N++??*-??-??-???#*?? ????!$??%???
??"?n?@?&?D??Y?????*???????H?T6?>?Y*2?7*2?=??:?7???7?:-??66?2-?ʸ?Y6	?+-	2???7?Қ?Y6??yYԷ~???	`t6
-
2?]tdd6?@???D??Y??ֶ?
??۶?????-
2?޶??H?T?D??Y?????ٶ??H?T?D??Y?????7?:????-???????H?T???,+2?WW???±#?
x ??	I?;a??????	d?&????
??4?,A??n ?nK$n??n??n?!$n??%N??)?2?I?S?a?d??????????????!?U?g?m?,G
)??d
???,@??
C??????,!2
??"[?6??*``2:*``2:?]???-?]d-2S-S?Ʋ?R?Ʋ?G?=?=?7?7??*?=?7?:??????7?:?????
?????l?#R??;w?;????????????? ????%6
?	???%?(?5?:?`?????????,??6?R??
??"?#??*?+??Y????*+??Y??*??*?=?7?v?Y*??*?=??M+??+?=?7?*?Y+??+?=??N*?Y*??-*?Ʒ?=?*?Y*??+?=*?Ʒ?=+?Y+??,+?Ʒ?=?{*?=+?s*?7+?ƥh?Y+??*?=+?ƷM+??+?=?7?*?Y+??+?=??N*?Y*??-*?Ʒ?=?*?Y*??+?=*?Ʒ?=+,?=?#>e?;G`?;??;?Q?;#;#	;%N??)?7?G?U?e?y?|????????????????",	?R??[?
??"L
Q??+????6-?-??,?:+???,?d?W?d?#RQ4?Q56QYQRYQ??Q??9&+&KQ$QXQRX%	+
K,]@J?ee??D$?ee?$?ee?$!3-"I????? ???$???%-/j,@!452		@@	




© 2015 - 2025 Weber Informatics LLC | Privacy Policy