mirror of https://github.com/tidwall/tile38.git
124 lines
3.2 KiB
Go
124 lines
3.2 KiB
Go
package geojson
|
|
|
|
import (
|
|
"fmt"
|
|
"testing"
|
|
)
|
|
|
|
func TestFeature(t *testing.T) {
|
|
testJSON(t, `{
|
|
"type": "Feature",
|
|
"geometry": {
|
|
"type": "Polygon",
|
|
"coordinates": [
|
|
[
|
|
[-80.72487831115721,35.26545403190955],
|
|
[-80.72135925292969,35.26727607954368],
|
|
[-80.71517944335938,35.26769654625573],
|
|
[-80.7125186920166,35.27035945142482],
|
|
[-80.70857048034668,35.268257165144064],
|
|
[-80.70479393005371,35.268397319259996],
|
|
[-80.70324897766113,35.26503355355979],
|
|
[-80.71088790893555,35.2553619492954],
|
|
[-80.71681022644043,35.2553619492954],
|
|
[-80.7150936126709,35.26054831539319],
|
|
[-80.71869850158691,35.26026797976481],
|
|
[-80.72032928466797,35.26061839914875],
|
|
[-80.72264671325684,35.26033806376283],
|
|
[-80.72487831115721,35.26545403190955]
|
|
]
|
|
]
|
|
},
|
|
"id": "102374",
|
|
"properties": {
|
|
"name": "Plaza Road Park"
|
|
}
|
|
}`)
|
|
}
|
|
|
|
var complexFeature = `{
|
|
"id": 202418985,
|
|
"type": "Feature",
|
|
"properties": {
|
|
"addr:full":"5607 McKinley Ave Los Angeles CA 90011",
|
|
"addr:housenumber":"5607",
|
|
"addr:postcode":"90011",
|
|
"addr:street":"Mckinley Ave",
|
|
"edtf:cessation":"uuuu",
|
|
"edtf:inception":"uuuu",
|
|
"geom:area":0.0,
|
|
"geom:bbox":"-118.26089,33.99073,-118.26089,33.99073",
|
|
"geom:latitude":33.99073,
|
|
"geom:longitude":-118.26089,
|
|
"iso:country":"US",
|
|
"mz:hierarchy_label":1,
|
|
"sg:address":"5607 McKinley Ave",
|
|
"sg:city":"Los Angeles",
|
|
"sg:classifiers":[
|
|
{
|
|
"category":"Wholesale",
|
|
"subcategory":"Toys & Hobbies",
|
|
"type":"Manufacturing & Wholesale Goods"
|
|
}
|
|
],
|
|
"sg:owner":"simplegeo",
|
|
"sg:phone":"+1 323 231 0540",
|
|
"sg:postcode":"90011",
|
|
"sg:province":"CA",
|
|
"sg:tags":[
|
|
"wholesaler"
|
|
],
|
|
"src:geom":"simplegeo",
|
|
"wof:belongsto":[
|
|
85633793,
|
|
85688637
|
|
],
|
|
"wof:breaches":[],
|
|
"wof:concordances":{
|
|
"sg:id":"SG_0i3ZtGVxBmvnGGcg7wZrlY_33.990730_-118.260890@1294081369"
|
|
},
|
|
"wof:country":"US",
|
|
"wof:geomhash":"fa3426d7a9b6c92b5e2857b4daef560f",
|
|
"wof:hierarchy":[
|
|
{
|
|
"continent_id":-1,
|
|
"country_id":85633793,
|
|
"locality_id":-1,
|
|
"neighbourhood_id":-1,
|
|
"region_id":85688637,
|
|
"venue_id":202418985
|
|
}
|
|
],
|
|
"wof:id":202418985,
|
|
"wof:lastmodified":1472331065,
|
|
"wof:name":"Hotfix Wholesale Inc",
|
|
"wof:parent_id":-1,
|
|
"wof:placetype":"venue",
|
|
"wof:repo":"whosonfirst-data-venue-us-ca",
|
|
"wof:superseded_by":[],
|
|
"wof:supersedes":[],
|
|
"wof:tags":[
|
|
"wholesaler"
|
|
],
|
|
"added:by:tidwall": "\n\"\\\\15\u00f8C 3\u0111"
|
|
},
|
|
"bbox": [
|
|
-118.26089,
|
|
33.99073,
|
|
-118.26089,
|
|
33.99073
|
|
],
|
|
"geometry": {"coordinates":[-118.26089,33.99073],"type":"Point"}
|
|
}`
|
|
|
|
func TestComplexFeature(t *testing.T) {
|
|
testJSON(t, complexFeature)
|
|
o, err := ObjectJSON(complexFeature)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
return
|
|
println(len(o.(Feature).idprops), cap(o.(Feature).idprops))
|
|
fmt.Printf("%v\n", o.JSON())
|
|
}
|