cityofnewyork / geoclient Goto Github PK
View Code? Open in Web Editor NEWGeoclient geocoder
Geoclient geocoder
Add press release & minor typo
Be able to send a CSV and get geocoded results along with exception report ala SmartyStreets
Create a Geoclient subproject whose purpose is to generate and publish various kinds of Geoclient documentation. For example:
Right now, SFS goes thru 10 steps to parse a street per https://api.cityofnewyork.us/geoclient/v1/doc#section-1.3
It'd be awesome if libpostal is included in the algorithm, so Geoclient can almost behave like Google's Geocoding API :)
Hi @mlipper,
Have been using dockerized geoclient successfully this past week - https://github.com/delner/geoclient-docker (also just found your https://github.com/mlipper/geosupport-docker this morning).
With containerization, taking a renewed interest in geoclient and was just wondering if what's the target for v2.0...
Thanks!
hi! i'm experiencing an issue where some street names are not recognized no matter how i type them in.
i am requesting results for the address "245 East 19th Street Manhattan NY 10003" but got the message "'19TH ST' NOT RECOGNIZED. THERE ARE 003 SIMILAR NAMES."
so i tried to search for every different iteration of the street name (with and without the "th" / using east vs. e and manhattan vs. new york etc) AND i tried word-for-word the "similar" names that the API result gave me... so the API told me there are several similar names:
'streetName1': 'EAST 19 STREET',
'streetName1In': '19TH ST',
'streetName2': 'WEST 19 STREET',
'streetName3': '19 PCT'
i tried searching for these verbatim and still got the same "similar names" response.. not sure what to do here! any help would be much appreciated!
It is possible to use OpenJDK to build and run geoclient but there are some caveats which need to be documented. This is an imcomplete list:
<jdk>/include/jni.h
, <jdk>/include/<os>/jni_md.h
). On some distributions, typedef
macro(s) may be necessary to properly declare jlong
in jni_md.h
.@mlipper @colinreilly great job on getting this out the door!!
If people have questions using the geoclient, maybe they should use github issues?
Labels:
Failing to run ./gradlew regenerate
Environment CentOS 7 64 bit
The Geosupport "address" function (1B) used by Geoclient returns the following point data in New York State Plane (EPSG:2263) feet:
Recent versions of Geosupport also return the first two elements above in "lat/long" (EPSG:4326). Geoclient adds lat/long point data for the third and fourth elements above using in-line sources from the legacy gis-common-geometry project which depends on GeoTools API's which, themselves, depend on several external libraries.
Investigate a simpler solution involving less code and dependencies.
Hi there,
I'm currently using python-geosupport (https://github.com/ishiland/python-geosupport) with geosupport linux version-18d_18.4 and I noticed an issue.
For some of the addresses that have address number our of range, geosupport(with the help of geosupport python wrapper here) would give the results with return code 42 without a lat lon, but in geoclient, same address would give message2 "address number out of range" but with a corresponding lat and lon. Both methods are using function 1B, however they are giving different output.
Here are some examples:
g.address(house_number='45-06', street_name='64 STREET', borough_code='QN')
would return:
{
'Geosupport Return Code 2 (GRC 2)': '42',
'Warning Code': '',
'Continuous Parity Indicator / Duplicate Address Indicator': '',
'Federal Classification Code': '',
'Return Code': '42',
'Feature Type Code': '',
'Cooperative ID Number': '',
'Bike Traffic Direction': '',
'LIST OF GEOGRAPHIC IDENTIFIERS': [],
'Reserved for Tax Map Page Number': '',
'From Actual Segment Node ID': '0066650',
'2000 Census Block': '1003',
'FDNY ID': '',
'Number of Street Frontages of Lot': '',
'Filler - Tax Lot Version No. Billing BBL': '',
'From Preferred LGCs First Set of 5': '',
'No. of Cross Streets at High Address End': '1',
'Physical ID': '0082643',
'UNIT - SORT FORMAT': {
'UNIT - SORT FORMAT': '',
'Unit - Identifier': '',
'Unit - Type': ''
},
'Irregularly-Shaped Lot Flag': '',
'Reason Code 2': '',
"High BBL of this Building's Condominium Units": '',
'High House Number of Block Face': '100046098AA',
'Low House Number - Display Format': '',
'Bike Lane': '',
'TPAD New BIN': '',
'PUMA Code': '04109',
'List of Street Codes': [],
'Radius of Circle': '',
'Fire Company Type': 'E',
'DCP Preferred LGC': '01',
'To LION Node ID': '0045277',
'Blockface ID': '0102263027',
'Community Development Eligibility Indicator': 'E',
'First Street Name Normalized': '64 STREET',
'Street Width': '30',
'Side of Street Indicator': 'R',
'BOROUGH BLOCK LOT (BBL)': {
'Tax Block': '',
'Tax Lot': '',
'BOROUGH BLOCK LOT (BBL)': '',
'Borough Code': ''
},
'Police Patrol Borough Command': '6',
'Bike Lane 2': '',
'Sanitation Regular Collection Schedule': 'WS',
'Number of Parking Lanes on the Street': '2',
'List of Geographic Identifiers Overflow Flag': '',
'LION Key for Vanity Address': '4572602010',
'Filler': '',
'Third Street Name Normalized': '',
'Filler - Tax Log Version No. of High BBL': '',
'Node Number': '',
'Street Width Irregular': '',
'Turn Restrictions': '',
'List of Cross Street Names at High Address End': 'LAUREL HILL BOULEVARD',
'Street Attribute Indicator': 'H',
'Building Identification Number (BIN)': '',
'BOE Preferred B7SC': '41349001',
'Speed Limit': '25',
'No Cross Street Calculation Flag': '',
'Segment Identifier': '0113246',
'Generic ID': '0071729',
'Atomic Polygon': '149',
'Fire Division': '14',
'2010 Census Block Suffix': '',
'RPAD Building Classification Code': '',
'DSNY Bulk Pickup Schedule': 'EWS',
'Continuous Parity Indicator/Duplicate Address Indicator': '',
'Assembly District': '30',
'Angle to To Node - Alpha Value': '',
'TPAD BIN Status': '',
'Segment Type Code': 'U',
'Building Identification Number (BIN) of Input Address or NAP': '',
'Sanitation Recycling Collection Schedule': 'EW',
'B10SC - First Borough and Street Code': '41349001010',
'Self-Check Code (SCC) of Billing BBL': '',
'Secant Location Related to Curve': '',
'Internal Use': '',
'NYPD ID': '',
'Marble Hill/Rikers Island Alternate Borough Flag': '',
'Underlying Address Number for NAPs': '',
'Alley or Cross Street List Flag': '',
'Tax Map Number Section & Volume': '',
'Reason Code Qualifier': '',
'SPATIAL COORDINATES OF ACTUAL SEGMENT': {
'Z Coordinate, High Address End': '',
'Y Coordinate, Low Address End': '0209247',
'SPATIAL COORDINATES OF ACTUAL SEGMENT': '10114960209247 10114760208598',
'Y Coordinate, High Address End': '0208598',
'X Coordinate, High Address End': '1011476',
'X Coordinate, Low Address End': '1011496',
'Z Coordinate, Low Address End': ''
},
'Filler for Tax Lot Version Number': '',
'Fire Company Number': '292',
"Low BBL of this Building's Condominium Units": '',
'Traffic Direction': 'T',
'List of 4 LGCs': '01',
'Hurricane Evacuation Zone (HEZ)': 'X',
'To Preferred LGCs First Set of 5': '01',
'Marble Hill/Rikers Island Alternative Borough Flag': '',
'COMMUNITY DISTRICT': {
'COMMUNITY DISTRICT': '402',
'Community District Number': '02',
'Community District Borough Code': '4'
},
'Underlying B7SC': '41349001',
'Right Of Way Type': '',
'Legacy Segment ID': '0113246',
'SBVP (SANBORN MAP IDENTIFIER)': {
'Volume Number': '',
'SBVP (SANBORN MAP IDENTIFIER)': '',
'Page Number Suffix': '',
'Sanborn Borough Code': '',
'Page Number': '',
'Volume Number Suffix': ''
},
'Unit - Display Format': '',
'Angle to From Node - Beta Value': '',
'Condominium Unit ID Number': '',
'Filler - Tax Lot Version No. of Low BBL': '',
'Sanitation District': '402',
'DOT Street Light Contractor Area': '4',
'Business Improvement District (BID)': '',
'Reason Code': '',
'Community School District': '24',
'List of Cross Street Names at Low Address End': 'BEND',
'SPATIAL COORDINATES OF CENTER OF CURVATURE': {
'SPATIAL COORDINATES OF CENTER OF CURVATURE': '00000000000000',
'X Coordinate': '0000000',
'Y Coordinate': '0000000',
'Z Coordinate': ''
},
'Police Patrol Borough': 'QN',
'Low House Number of Block Face': '100044000AA',
'NIN': '',
'Message': '',
'Number of Cross Streets at Low Address End': '1',
'Individual Segment Length': '',
'Number of Street Codes and Street Names in List': '',
'Number of Existing Structures on Lot': '',
'Congressional District': '14',
'Street Status': '2',
'2010 Census Tract': '245',
'Number of Total Lanes on the Street': '3',
'Curve Flag': '',
'State Senatorial District': '12',
'House Number - Display Format': '45-06',
'Number of Travel Lanes on the Street': '1',
'Longitude': '',
'B10SC - Third Borough and Street Code': '',
'X-Y Coordinates of Lot Centroid': '',
'Condominium Flag': '',
'TPAD New BIN Status': '',
'RPAD Self-Check Code (SCC) for BBL': '',
'Number of Cross Streets at High Address End': '1',
'Civil Court District': '02',
'Low House Number - Sort Format': '',
'Street Width Maximum': '30',
'From Preferred LGCs Second Set of 5': '',
'Segment Orientation': 'S',
'NTA Name': 'WOODSIDE',
'Segment Azimuth': '268',
'ZIP Code': '11377',
'List of Cross Streets at High Address End': '45309001',
'Segment Length in Feet': '00650',
'Election District': '081',
'To Actual Segment Node ID': '0045277',
'Neighborhood Tabulation Area (NTA)': 'QN63',
'Number of Entries in List of Geographic Identifiers': '',
'From LION Node ID': '0066650',
'Reserved for Possible Z Coordinate': '',
'Special Address Generated Record Flag': '',
'Health Area': '0920',
'2000 Census Block Suffix': '',
'Split Election District Flag': '',
'Low House Number of Defining Address Range': '',
'Sanitation Collection Scheduling Section and Subsection': '1E',
'2010 Census Block': '3004',
'Second Street Name Normalized': '',
'Vacant Lot Flag': '',
'Warning Code 2': '',
'Reason Code Qualifier 2': '',
'Spatial X-Y Coordinates of Address': '10114830208932',
'DSNY Snow Priority Code': 'S',
'Roadway Type': '1',
'Coincidence Segment Count': '1',
'1990 Census Tract': '245',
'SPATIAL COORDINATES OF SEGMENT': {
'Z Coordinate, High Address End': '',
'Z Coordinate, Low Address End': '',
'Y Coordinate, Low Address End': '0209247',
'Y Coordinate, High Address End': '0208598',
'X Coordinate, High Address End': '1011476',
'X Coordinate, Low Address End': '1011496',
'SPATIAL COORDINATES OF SEGMENT': '10114960209247 10114760208598'
},
'List of Cross Streets at Low Address End': '435780',
'Split Low House Number': '100045000AA',
'Interior Lot Flag': '',
'DSNY Organic Recycling Schedule': 'EW',
'Fraction for Curve Calculation': '',
'List of Street Names': [],
'Health Center District': '41',
'Fire Battalion': '46',
'TPAD Conflict Flag': '',
'2000 Census Tract': '245',
'Street Attribute Indicators': 'H',
'Geosupport Return Code (GRC)': '00',
'BOE LGC Pointer': '1',
'B10SC - Second Borough and Street Code': '',
'Latitude': '',
'Police Precinct': '108',
'First Borough Name': 'QUEENS',
'DCP Zoning Map': '',
'Message 2': 'ADDRESS NUMBER OUT OF RANGE',
'Side of Street of Vanity Address': 'R',
'List of Second Set of 5 LGCs': '',
'DOF Condominium Identification Number': '',
'House Number - Sort Format': '100045006AA',
'USPS Preferred City Name': 'WOODSIDE',
'LION KEY': {
'LION KEY': '4572602010',
'Borough Code': '4',
'Sequence Number': '02010',
'Face Code': '5726'
},
'City Council District': '26',
'DCP Commercial Study Area': '',
'To Preferred LGCs Second Set of 5': '',
'Condominium Billing BBL': '',
'BOE Preferred Street Name': '64 STREET',
'Corner Code': '',
'STROLLING KEY': {
'Side of Street Indicator': '',
'5-Digit Street Code of ON- Street': '',
'STROLLING KEY': '',
'High House Number': '',
'Borough': ''
}
}
and in geoclient
{
"address": {
"assemblyDistrict": "30",
"boardOfElectionsPreferredLgc": "1",
"boePreferredStreetName": "64 STREET",
"boePreferredstreetCode": "41349001",
"boroughCode1In": "4",
"censusBlock2000": "1003",
"censusBlock2010": "3004",
"censusTract1990": " 245 ",
"censusTract2000": " 245 ",
"censusTract2010": " 245 ",
"cityCouncilDistrict": "26",
"civilCourtDistrict": "02",
"coincidentSegmentCount": "1",
"communityDistrict": "402",
"communityDistrictBoroughCode": "4",
"communityDistrictNumber": "02",
"communitySchoolDistrict": "24",
"congressionalDistrict": "14",
"crossStreetNamesFlagIn": "E",
"dcpPreferredLgc": "01",
"dotStreetLightContractorArea": "4",
"dynamicBlock": "149",
"electionDistrict": "081",
"fireBattalion": "46",
"fireCompanyNumber": "292",
"fireCompanyType": "E",
"fireDivision": "14",
"firstBoroughName": "QUEENS",
"firstStreetCode": "41349001010",
"firstStreetNameNormalized": "64 STREET",
"fromLionNodeId": "0066650",
"genericId": "0071729",
"geosupportFunctionCode": "1B",
"geosupportReturnCode": "00",
"geosupportReturnCode2": "42",
"healthArea": "0920",
"healthCenterDistrict": "41",
"highCrossStreetB5SC1": "453090",
"highCrossStreetCode1": "45309001",
"highCrossStreetName1": "LAUREL HILL BOULEVARD",
"highHouseNumberOfBlockfaceSortFormat": "100046098AA",
"houseNumber": "45-06",
"houseNumberIn": "45-06",
"houseNumberSortFormat": "100045006AA",
"hurricaneEvacuationZone": "X",
"instructionalRegion": "QN",
"interimAssistanceEligibilityIndicator": "E",
"latitude": 40.74010473007666,
"legacySegmentId": "0113246",
"lionBoroughCode": "4",
"lionBoroughCodeForVanityAddress": "4",
"lionFaceCode": "5726",
"lionFaceCodeForVanityAddress": "5726",
"lionKey": "4572602010",
"lionKeyForVanityAddress": "4572602010",
"lionSequenceNumber": "02010",
"lionSequenceNumberForVanityAddress": "02010",
"listOf4Lgcs": "01",
"longitude": -73.9017263539154,
"lowCrossStreetB5SC1": "435780",
"lowCrossStreetCode1": "435780",
"lowCrossStreetName1": "BEND",
"lowHouseNumberOfBlockfaceSortFormat": "100044000AA",
"message2": "ADDRESS NUMBER OUT OF RANGE",
"nta": "QN63",
"ntaName": "Woodside",
"numberOfCrossStreetB5SCsHighAddressEnd": "1",
"numberOfCrossStreetB5SCsLowAddressEnd": "1",
"numberOfCrossStreetsHighAddressEnd": "1",
"numberOfCrossStreetsLowAddressEnd": "1",
"numberOfStreetCodesAndNamesInList": "02",
"physicalId": "0082643",
"policePatrolBoroughCommand": "6",
"policePrecinct": "108",
"returnCode1a": "42",
"returnCode1e": "00",
"roadwayType": "1",
"sanitationCollectionSchedulingSectionAndSubsection": "1E",
"sanitationDistrict": "402",
"sanitationOrganicsCollectionSchedule": "EW",
"sanitationRecyclingCollectionSchedule": "EW",
"sanitationRegularCollectionSchedule": "WS",
"sanitationSnowPriorityCode": "S",
"segmentAzimuth": "268",
"segmentIdentifier": "0113246",
"segmentLengthInFeet": "00650",
"segmentOrientation": "S",
"segmentTypeCode": "U",
"sideOfStreetIndicator": "R",
"sideOfStreetOfVanityAddress": "R",
"splitLowHouseNumber": "100045000AA",
"stateSenatorialDistrict": "12",
"streetCode1": "43578001",
"streetCode6": "45309001",
"streetName1": "BEND",
"streetName1In": "64 STREET",
"streetName6": "LAUREL HILL BOULEVARD",
"streetStatus": "2",
"streetWidth": "30",
"toLionNodeId": "0045277",
"toPreferredLgcsFirstSetOf5": "01",
"trafficDirection": "T",
"underlyingStreetCode": "41349001",
"uspsPreferredCityName": "WOODSIDE",
"workAreaFormatIndicatorIn": "C",
"xCoordinate": "1011483",
"xCoordinateHighAddressEnd": "1011476",
"xCoordinateLowAddressEnd": "1011496",
"xCoordinateOfCenterofCurvature": "0000000",
"yCoordinate": "0208932",
"yCoordinateHighAddressEnd": "0208598",
"yCoordinateLowAddressEnd": "0209247",
"yCoordinateOfCenterofCurvature": "0000000",
"zipCode": "11377"
}
}
Here are another sample address
houseNumber=718&street=57+STREET&borough=Brooklyn
How are the lon lat generated in geoclient for those case?
Test Summary
129 tests / 13 failures
Failed tests
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_addressWithTwoValidSimilarNames
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_addressWithZipAndNoBorough
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_blockfaceCrossStreetOneValidSimilarName
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_blockfaceCrossStreetTwoValidSimilarName
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_blockfaceExactMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_blockfaceOnStreetValidSimilarName
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_exactAddressMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_exactBblMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_exactBinMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_exactPlaceMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_intersectionExactMatch
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_intersectionWithCompassDirectionRequired
SingleFieldSearchHandlerTest. testFindLocationDefaultPolicy_intersectionWithOneValidSimilarName
Packages
Complete report:
Build_Fail.zip
Ability to specify date when geocoding. This will allow users to see how an addresses' attributes change over time (e.g. congressional district, election district, etc.)
This will require using older releases of Geosupport based on the given date.
cc @rcheetham
The /version.(json|xml) endpoint on the NYC Developer Portal is not allowing unauthenticated access. The following should be available without proving app_key and app_id on the query string:
https://api.cityofnewyork.us/geoclient/v1/version.json
https://api.cityofnewyork.us/geoclient/v1/version.xml
The /doc endpoint (https://api.cityofnewyork.us/geoclient/v1/doc) from this domain is working correctly.
https://github.com/CityOfNewYork/geoclient#documentation - only the DoITT press release remains. all others give 404 errors.
Perhaps this is expected behavior, but I get different results from these two endpoints with the same address:
https://api.cityofnewyork.us/geoclient/v1/address.json?houseNumber=219-15&street=130%20Dr&borough=queens
and
https://api.cityofnewyork.us/geoclient/v1/search.json?input=219-15%20130%20Dr%20Laurelton
Interestingly, if I try the sfs like this:
https://api.cityofnewyork.us/geoclient/v1/search.json?input=219-15%20130%20Dr%20Queens
It does work. The api docs says:
If the input string ends with a known N.Y.C. city name it is removed and kept as a <CITY_NAME> token:
So I would think this would work?
Thanks!
The current build uses MinGW-w64 to build Windows 64bit binaries. The Gradle native tasks work as expected when building from the provided Msys shell. The native tasks fail, however, when run from Eclipse using the Buildship plugin:
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':geoclient-native:assemble'.
> No buildable binaries found:
- shared library 'geoclient:linux_x64:sharedLibrary': No tool chain is available to build for platform 'linux_x64':
- Tool chain 'gcc' (GNU GCC): Don't know how to build for platform 'linux_x64'.
- static library 'geoclient:linux_x64:staticLibrary': No tool chain is available to build for platform 'linux_x64':
- Tool chain 'gcc' (GNU GCC): Don't know how to build for platform 'linux_x64'.
- shared library 'geoclient:windows_x64:sharedLibrary': No tool chain is available to build for platform 'windows_x64':
- Tool chain 'gcc' (GNU GCC): Could not find C compiler 'gcc' in system path.
- static library 'geoclient:windows_x64:staticLibrary': No tool chain is available to build for platform 'windows_x64':
- Tool chain 'gcc' (GNU GCC): Could not find C compiler 'gcc' in system path.
- shared library 'geoclientJni:linux_x64:sharedLibrary': No tool chain is available to build for platform 'linux_x64':
- Tool chain 'gcc' (GNU GCC): Don't know how to build for platform 'linux_x64'.
- static library 'geoclientJni:linux_x64:staticLibrary': No tool chain is available to build for platform 'linux_x64':
- Tool chain 'gcc' (GNU GCC): Don't know how to build for platform 'linux_x64'.
- shared library 'geoclientJni:windows_x64:sharedLibrary': No tool chain is available to build for platform 'windows_x64':
- Tool chain 'gcc' (GNU GCC): Could not find C compiler 'gcc' in system path.
- static library 'geoclientJni:windows_x64:staticLibrary': No tool chain is available to build for platform 'windows_x64':
- Tool chain 'gcc' (GNU GCC): Could not find C compiler 'gcc' in system path.
- executable 'geoclientTest:linux_x64:executable': No tool chain is available to build for platform 'linux_x64':
- Tool chain 'gcc' (GNU GCC): Don't know how to build for platform 'linux_x64'.
- executable 'geoclientTest:windows_x64:executable': No tool chain is available to build for platform 'windows_x64':
- Tool chain 'gcc' (GNU GCC): Could not find C compiler 'gcc' in system path.
This is presumably because the required tool binaries are in various directories and need to be on the PATH of the JVM Buildship configures and then uses to run Gradle. I'm guessing there's a straightforward solution to fixing this like creating an Eclipse 'run configuration' and setting environment variables. However, I don't see an obvious way of doing this for Buildship.
Although the Gradle build itself can be configured to look for gcc in a certain directory (directories?), I'd rather not have to maintain the knowledge of MinGW-w64's internal PATH configuration (I am already confused by their naming conventions, directory structure, etc.).
The fix is most likely simple, but I am tabling it until I have time to do some reading.
Right now, its maintained here - https://api.cityofnewyork.us/geoclient/v1/doc
As the community contributes to the project, that will necessarily require contributing documentation changes in their PRs, and the docs be in GH.
I'm guessing this is in the v2.0 reorg?
it might be good to enhance the "Single-field Search" Geoclient parser to ignore/remove the user input address with apartment number or floor number. For example, a real live example of valid address "37 WEST 26TH STREET - 6TH FLOOR, 10010" will return "REJECTED" status.
Create geoclient-test subproject to provide:
As DCP updates Geosupport software and data on a regular basis.
This is also related to #4.
Does the geoclient API undergo daily maintenance between 3am-4am? We have an app that calls your service. That app is continually monitored by WebSite Pulse to ensure the app is functioning. WebSite Pulse errors for this app's monitor every day, at the step that calls the geoclient api. Can you confirm that the api service is down daily for maintenance and what that maintenance window is? Many thanks!!!
Building the geoclient-service module now fails with:
/home/geoclient/git/geoclient/geoclient-service/src/main/java/gov/nyc/doitt/gis/geoclient/service/web/RestController.java:47: error: annotation CrossOrigin is missing value for the attribute
@crossorigin
^
/home/geoclient/git/geoclient/geoclient-service/src/main/java/gov/nyc/doitt/gis/geoclient/service/search/web/SingleFieldSearchController.java:34: error: annotation CrossOrigin is missing value for the attribute
@crossorigin
This appears to be a problem that is fixed only in the very most recent version of the java jdk, this post had an answer:
We faced the same issue. When using eclipse compiler to build your project (ejc) it works fine, but does NOT compile at all with javac. This is a known and resolved issue in java 1.8 and has been back-ported to java 7. So, Update to the latest java 7 version (7u80) or Java 8 version.
Here is the bug:
https://bugs.openjdk.java.net/browse/JDK-8013485
https://spring.io/blog/2015/06/08/cors-support-in-spring-framework
Upgrading did fix the compilation problem, but this has to be included in the build instructions-
PS - Or should we be building with a java 8 jdk at this point?
First off, making this open source and available to the public is amazing! Thank you so much.
I'd love to deploy this on my own server for a project, as I'm sure many others would. Creating a Docker image would make it easy for others to stand up their own Geoclient quickly, without the fuss of building it themselves.
I've had some experience with Docker, and I'd be happy to help get make an image for this. But in order to do so, it'd be helpful to have a more robust list of requirements/versions as well as a list of steps to setup and start a Geoclient instance. The README in this repo is looking a little sparse right now; is there more robust documentation on the install/build/configuration/running of Geoclient?
The geoclient-service
project and several other downstream legacy projects rely on libraries that are unmaintained and/or can be replaced with more stable API's. In particular:
com.intera.util:spring-jsonp-support
: Latest versions of Spring web API's have built-in JSONP
support options.net.sf.dozer:dozer
: Active development seems stalled, recent versions have serious bugs. Many stable candidates to replace Dozer for Value Object "copy-transform" functionality from external configuration. Apache BeanUtils likely easiest because it's already a project dependency.org.jogamp.gluegen:gluegen
: Great library but almost unnecessary given the virtually non-existent C soruce and relatively unchanging work area API.I read through https://api.cityofnewyork.us/geoclient/v1/doc, and it wasn't clear to me:
It was only through a close read of https://developer.cityofnewyork.us/api/geoclient-api that I saw
Access to the service requires registering for a free account on this website and requesting an access key.
Would be great to:
Thanks!
Is there a plan/timeline for adding the 2020 NTAs to the geoclient?
Thanks.
@mlipper In order to put some constraints on this update can you say a little about the intent of city-names.properties?
Reverse-engineering from what's listed there I see "city names" in the sense that these names are recognized by the United States Post Office as preferred or alternative USPS city names. Most people would define Jackson Heights, for example, as a neighborhood name in the Borough of Queens.
Do you have any wish to add more neighborhood names to this list?
UPPER\ WEST\ SIDE=MANHATTAN
Or stick with USPS city name alternatives only?
Add DSNY bulk pick up field to function 1B response.
Decide whether to use existing or new naming convention: sanitationBulkPickUp vs. dsnyBulkPickUp
Small step for DoITT but Big leap in linking data across agencies as Geoclient is the natural linker of data across domains.
By doing so, we define schema/data dictionary behind all the properties that Geoclient returns and downstream API consumers can automagically link data given the schema definitions.
As per https://talk.beta.nyc/t/proposal-betanyc-nyc-optimized-community-geocoder/414/22
The readme says that "details are coming soon", I'm wondering if there are any basic pointers for where to put/setup the geosupport library. I tried to build geoclient, but I get:
"java.lang.IllegalArgumentException: Neither path nor baseDir may be null or empty string. path='null' basedir='/home/git/geoclient/geoclient-native"
I suspect this has something to do with it not finding geosupport?
Given location coordinates, give the normalized address. Perhaps, can be done by integrating with other open-source projects? cc @riordan
Add support for Geosupport's Function AP (Address Point) which provides NY State Plane coords for known building entrances.
The geoclient-service module uses the geoclient-doc.xml configuration file in the geoclient-core subproject to provide dynamically rendered HTML-based documentation at runtime. This is both unnecessary and error-prone.
Originally, the Geoclient XML metadata was created by parsing Geosupport's Universal Programming Guide PDF document to produce a "base" set of field definitions for the data elements returned by the various Geoclient endpoints (address, bbl, etc.) by mapping the endpoints to their proxy targets (Geosupport functions) using the UPG's data dictionary.
Due to variance in the PDF's (which were not intended for this kind of reverse-engineering) and the use of "tech bulletins" by DCP to announce new release changes, this "automated" integration quickly became a manual process resulting neglect and inclomplete/out-of-date generated HTML.
DCP has recently communicated its intention to place this documentation content online as part of their GOAT application. As such, Geoclient should simply link returned data fields on a per-endpoint basis to the appropriate section of GOAT and get rid of the convoluted code for assembling this info using XStream.
The example JSON and XML responses on the v2 docs page don't include 2020 census results.
Since this is kind of a hot (relatively speaking) topic for users and also a source of confusion when attempting to understand v1 vs v2 I suggest adding currently returned 2020 census data to the examples.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.