@@ -24,6 +24,7 @@ import Feature from 'ol/Feature';
24
24
import * as olProj from 'ol/proj' ;
25
25
import proj4 from 'proj4' ;
26
26
import * as olLayer from 'ol/layer' ;
27
+ import cloneDeep from 'lodash.clonedeep' ;
27
28
28
29
window . jsonsql = { query : ( ) => { } } ;
29
30
@@ -1980,5 +1981,222 @@ describe('openlayers_WebMap', () => {
1980
1981
done ( ) ;
1981
1982
}
1982
1983
} ) ;
1983
-
1984
+
1985
+ it ( 'fix csv property length over title length' , ( done ) => {
1986
+ window . cloneDeep = function ( feature ) {
1987
+ return cloneDeep ( feature ) ;
1988
+ }
1989
+ let options = {
1990
+ server : server ,
1991
+ webMap : defaultServeRequest ,
1992
+ successCallback,
1993
+ errorCallback : function ( ) { }
1994
+ } ;
1995
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
1996
+ if ( url . indexOf ( 'map.json' ) > - 1 ) {
1997
+ var mapJson = datavizWebMap_noServerIdMarker ;
1998
+ return Promise . resolve ( new Response ( mapJson ) ) ;
1999
+ }
2000
+ return Promise . resolve ( ) ;
2001
+ } ) ;
2002
+ var datavizWebmap = new WebMap ( options ) ;
2003
+ function successCallback ( ) {
2004
+ const features = [
2005
+ {
2006
+ "geometry" : {
2007
+ "coordinates" : [
2008
+ [
2009
+ [
2010
+ 117.9612792600001 ,
2011
+ 31.50179038417261
2012
+ ] ,
2013
+ [
2014
+ 117.6538350116667 ,
2015
+ 31.36421118000805
2016
+ ] ,
2017
+ [
2018
+ 117.5036929400001 ,
2019
+ 31.00564246918011
2020
+ ] ,
2021
+ [
2022
+ 117.2036532125 ,
2023
+ 31.06033994834594
2024
+ ] ,
2025
+ [
2026
+ 117.0296223400001 ,
2027
+ 31.2610837141762
2028
+ ] ,
2029
+ [
2030
+ 117.1815134989584 ,
2031
+ 31.55480553729684
2032
+ ] ,
2033
+ [
2034
+ 116.7638726916668 ,
2035
+ 31.61569306000427
2036
+ ] ,
2037
+ [
2038
+ 116.7663789980209 ,
2039
+ 31.90478239979175
2040
+ ] ,
2041
+ [
2042
+ 117.0149495701043 ,
2043
+ 32.09548291728905
2044
+ ] ,
2045
+ [
2046
+ 116.9956159214584 ,
2047
+ 32.11601320312207
2048
+ ] ,
2049
+ [
2050
+ 117.0107175175001 ,
2051
+ 32.16395522082976
2052
+ ] ,
2053
+ [
2054
+ 117.00395803 ,
2055
+ 32.39582160415978
2056
+ ] ,
2057
+ [
2058
+ 117.1965708000001 ,
2059
+ 32.53416217415796
2060
+ ] ,
2061
+ [
2062
+ 117.3470498758334 ,
2063
+ 32.45553657999236
2064
+ ] ,
2065
+ [
2066
+ 117.3796553844792 ,
2067
+ 32.43855426426338
2068
+ ] ,
2069
+ [
2070
+ 117.4034777350001 ,
2071
+ 32.38868854999331
2072
+ ] ,
2073
+ [
2074
+ 117.3973120916668 ,
2075
+ 32.29735015499454
2076
+ ] ,
2077
+ [
2078
+ 117.5562772865626 ,
2079
+ 32.22039671520397
2080
+ ] ,
2081
+ [
2082
+ 117.8666145383334 ,
2083
+ 32.13696457999682
2084
+ ] ,
2085
+ [
2086
+ 117.8979449009376 ,
2087
+ 31.93163098958303
2088
+ ] ,
2089
+ [
2090
+ 117.9540050100001 ,
2091
+ 31.90536486416671
2092
+ ] ,
2093
+ [
2094
+ 117.9612792600001 ,
2095
+ 31.50179038417261
2096
+ ]
2097
+ ]
2098
+ ] ,
2099
+ "type" : "Polygon"
2100
+ } ,
2101
+ "properties" : {
2102
+ "Name" : "合肥市" ,
2103
+ "PAC" : 340102 ,
2104
+ "UserID" : 0 ,
2105
+ "Province" : "安徽省"
2106
+ } ,
2107
+ "type" : "Feature"
2108
+ } , {
2109
+ "geometry" : {
2110
+ "coordinates" : [
2111
+ [
2112
+ [
2113
+ 116.9620359318751 ,
2114
+ 30.63692908460247
2115
+ ] ,
2116
+ [
2117
+ 116.9626803625001 ,
2118
+ 30.63792411335244
2119
+ ] ,
2120
+ [
2121
+ 116.9636623712501 ,
2122
+ 30.63948495199823
2123
+ ] ,
2124
+ [
2125
+ 116.9647166275001 ,
2126
+ 30.64103160251904
2127
+ ] ,
2128
+ [
2129
+ 116.9655092789584 ,
2130
+ 30.64199830803986
2131
+ ] ,
2132
+ [
2133
+ 116.9661609391667 ,
2134
+ 30.64248322168568
2135
+ ] ,
2136
+ [
2137
+ 116.9668600346876 ,
2138
+ 30.64271652616482
2139
+ ] ,
2140
+ [
2141
+ 116.9676117783334 ,
2142
+ 30.64279261251899
2143
+ ] ,
2144
+ [
2145
+ 116.9683829830209 ,
2146
+ 30.64278320543566
2147
+ ] ,
2148
+ [
2149
+ 116.9691700758334 ,
2150
+ 30.64280515585233
2151
+ ]
2152
+ ]
2153
+ ] ,
2154
+ "type" : "Polygon"
2155
+ } ,
2156
+ "properties" : {
2157
+ "Name" : "安庆市" ,
2158
+ "PAC" : 340823 ,
2159
+ "UserID" : 0 ,
2160
+ "Province" : "安徽省"
2161
+ } ,
2162
+ "type" : "Feature"
2163
+ } ] ;
2164
+ const datas = [ [
2165
+ "SmUserID" ,
2166
+ "NAME" ,
2167
+ "CODE" ,
2168
+ "PROVINCE" ,
2169
+ "Geometry"
2170
+ ] , [
2171
+ "0" ,
2172
+ "安庆市" ,
2173
+ "130100" ,
2174
+ "HEBEI" ,
2175
+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2176
+ "113.8408729199999811 38.7573249546098353" ,
2177
+ "113.8452159599999476 38.7550289646109007" ,
2178
+ "113.8183570799999416 38.7584829846093086" ,
2179
+ "113.8292251199999754 38.7564389946102565" ,
2180
+ "113.8395751199999495 38.7583869546093496))"
2181
+ ] ,
2182
+ [
2183
+ "1" ,
2184
+ "合肥市" ,
2185
+ "130100" ,
2186
+ "HEBEI" ,
2187
+ "POLYGON ((113.8395751199999495 38.7583869546093496" ,
2188
+ "113.8408729199999811 38.7573249546098353" ,
2189
+ "113.8452159599999476 38.7550289646109007" ,
2190
+ "113.8183570799999416 38.7584829846093086" ,
2191
+ "113.8292251199999754 38.7564389946102565" ,
2192
+ "113.8395751199999495 38.7583869546093496))"
2193
+ ] ] ;
2194
+ const divisionType = 'City' ;
2195
+ const divisionField = 'NAME' ;
2196
+ const geojson = datavizWebmap . changeExcel2Geojson ( features , datas , divisionType , divisionField ) ;
2197
+ expect ( geojson . features . length ) . toBe ( 2 ) ;
2198
+ expect ( geojson . features [ 0 ] . properties . hasOwnProperty ( undefined ) ) . toBeFalse ( ) ;
2199
+ done ( ) ;
2200
+ }
2201
+ } ) ;
1984
2202
} ) ;
0 commit comments